/* ==========================================================================
   GEOLUSTRE MINING — Design System
   GEO (earth, strata, fieldwork)  +  LUSTRE (light, precision, gemstones)
   ========================================================================== */

/* ---------- Fonts (self-hosted, OFL) ---------- */
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant.woff") format("woff");font-weight:300 700;font-style:normal;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-italic.woff") format("woff");font-weight:300 700;font-style:italic;font-display:swap;}
@font-face{font-family:"DM Sans";src:url("../fonts/dmsans.woff") format("woff");font-weight:100 1000;font-style:normal;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
  --obsidian:#090B0C;
  --graphite:#111516;
  --mineral:#18221F;
  --gold:#C5A05A;
  --champagne:#DCC58B;
  --crystal:#F5F3EC;
  --stone:#D8D3C7;
  --emerald:#173D34;
  --sapphire:#18354A;

  --tx:rgba(245,243,236,.94);
  --tx-2:rgba(216,211,199,.70);
  --tx-3:rgba(216,211,199,.46);
  --line:rgba(216,211,199,.13);
  --line-2:rgba(216,211,199,.24);
  --gold-line:rgba(197,160,90,.42);

  --ink:#0F1213;           /* text on crystal */
  --ink-2:rgba(15,18,19,.68);
  --ink-line:rgba(15,18,19,.14);

  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --gutter:clamp(1rem,4vw,3.5rem);
  --maxw:1440px;
  --section:clamp(5.5rem,11vw,10.5rem);
  --header-h:92px;

  --ease:cubic-bezier(.22,.8,.2,1);
  --ease-io:cubic-bezier(.7,0,.2,1);
  --facet:18px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;}
body{
  margin:0;background:var(--obsidian);color:var(--tx);
  font-family:var(--sans);font-size:clamp(.98rem,.94rem + .15vw,1.0625rem);line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:clip;text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
p{margin:0 0 1.2em;}
p:last-child{margin-bottom:0;}
h1,h2,h3,h4,h5{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.012em;line-height:1.02;color:var(--crystal);}
ul,ol{margin:0;padding:0;list-style:none;}
figure,dl,dd{margin:0;}
::selection{background:var(--gold);color:var(--obsidian);}
:focus-visible{outline:1px solid var(--champagne);outline-offset:4px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:300;background:var(--gold);color:var(--obsidian);padding:.7rem 1rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:top .3s var(--ease);}
.skip-link:focus{top:1rem;}

/* film grain over the whole experience */
body::after{
  content:"";position:fixed;inset:-50%;z-index:200;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.wrap--narrow{max-width:1080px;}
.section{padding-block:var(--section);position:relative;}
.section--tight{padding-block:clamp(4rem,8vw,7rem);}
.bg-obsidian{background:var(--obsidian);}
.bg-graphite{background:var(--graphite);}
.bg-mineral{background:var(--mineral);}
.bg-crystal{background:var(--crystal);color:var(--ink);}
.bg-crystal h1,.bg-crystal h2,.bg-crystal h3,.bg-crystal h4{color:var(--ink);}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);}

/* ---------- Type ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;
  font-family:var(--sans);font-size:.6875rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-bottom:1.6rem;
}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:currentColor;opacity:.7;}
.eyebrow--plain::before{display:none;}
.bg-crystal .eyebrow{color:#8E6F33;}
.label{font-size:.6875rem;letter-spacing:.26em;text-transform:uppercase;color:var(--tx-3);font-weight:500;}
.bg-crystal .label{color:rgba(15,18,19,.5);}
.display{font-size:clamp(3.1rem,1.6rem + 6.6vw,9rem);line-height:.9;letter-spacing:-.022em;font-weight:300;}
.h1{font-size:clamp(2.8rem,1.9rem + 4.6vw,6.6rem);line-height:.94;font-weight:300;letter-spacing:-.018em;}
.h2{font-size:clamp(2.3rem,1.6rem + 3.2vw,4.9rem);line-height:.98;font-weight:300;}
.h3{font-size:clamp(1.65rem,1.3rem + 1.4vw,2.6rem);line-height:1.05;font-weight:400;}
.h4{font-size:clamp(1.3rem,1.15rem + .6vw,1.65rem);line-height:1.15;font-weight:500;}
.caps{text-transform:uppercase;letter-spacing:.06em;}
em,.it{font-style:italic;}
.accent{color:var(--champagne);font-style:italic;}
.bg-crystal .accent{color:#8E6F33;}
.lede{font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.6;color:var(--tx-2);font-weight:300;}
.bg-crystal .lede{color:var(--ink-2);}
.muted{color:var(--tx-2);}
.bg-crystal .muted{color:var(--ink-2);}
.measure{max-width:34rem;}
.num{font-family:var(--serif);font-feature-settings:"lnum";}

/* ---------- Buttons ---------- */
.btn{
  --bh:3.4rem;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;
  height:var(--bh);padding:0 1.6rem 0 1.8rem;
  font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;
  isolation:isolate;overflow:hidden;transition:color .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease);
}
.btn .arrow{width:1.6rem;height:.7rem;flex:none;transition:transform .5s var(--ease);}
.btn:hover .arrow,.btn:focus-visible .arrow{transform:translateX(.35rem);}
.btn--gold{
  background:var(--gold);color:var(--obsidian);
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
}
.btn--gold::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--champagne);transform:translateX(-101%);transition:transform .6s var(--ease);}
.btn--gold:hover::before,.btn--gold:focus-visible::before{transform:none;}
.btn--line{border:1px solid var(--line-2);color:var(--crystal);}
.btn--line::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(197,160,90,.16),rgba(197,160,90,.04));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.btn--line:hover{border-color:var(--gold-line);}
.btn--line:hover::before{transform:none;}
.bg-crystal .btn--line{border-color:var(--ink-line);color:var(--ink);}
.btn--sm{--bh:2.75rem;padding:0 1.1rem 0 1.3rem;font-size:.66rem;gap:.8rem;}
.btn--block{width:100%;}

.link-arrow{
  display:inline-flex;align-items:center;gap:.9rem;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);
  padding-bottom:.45rem;position:relative;
}
.link-arrow::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.35;transform-origin:right;transition:transform .6s var(--ease);}
.link-arrow:hover::after{transform:scaleX(.35);}
.link-arrow .arrow{width:1.4rem;height:.6rem;transition:transform .5s var(--ease);}
.link-arrow:hover .arrow{transform:translateX(.3rem);}
.bg-crystal .link-arrow{color:#7A5E27;}

/* ---------- Header ---------- */
.gl-header{
  position:fixed;inset:0 0 auto 0;z-index:120;height:var(--header-h);
  transition:height .6s var(--ease),background-color .6s var(--ease),border-color .6s var(--ease),transform .6s var(--ease),backdrop-filter .6s;
  border-bottom:1px solid transparent;
}
.gl-header::before{content:"";position:absolute;inset:0 0 -40px 0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(9,11,12,.62),rgba(9,11,12,0));transition:opacity .6s;}
.gl-header.is-scrolled{
  --header-h:72px;
  background:rgba(12,15,16,.72);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
}
.gl-header.is-scrolled::before{opacity:0;}
.gl-header.is-hidden{transform:translateY(-100%);}
.gl-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.gl-brand{display:grid;align-items:center;flex:none;position:relative;z-index:2;}
.gl-brand img{grid-area:1/1;width:auto;transition:opacity .5s var(--ease),transform .6s var(--ease);}
.gl-brand .brand-full{height:42px;}
.gl-brand .brand-compact{height:30px;opacity:0;}
.gl-header.is-scrolled .brand-full{opacity:0;transform:translateY(-4px);}
.gl-header.is-scrolled .brand-compact{opacity:1;}
.gl-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.2vw,2.4rem);margin-left:auto;}
.gl-nav a{
  position:relative;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-2);
  padding:.6rem 0;transition:color .4s var(--ease);
}
.gl-nav a::after{content:"";position:absolute;left:0;right:0;bottom:.25rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease);}
.gl-nav a:hover{color:var(--crystal);}
.gl-nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.gl-nav a[aria-current="page"]{color:var(--crystal);}
.gl-nav a[aria-current="page"]::before{content:"";position:absolute;left:50%;top:-.2rem;width:5px;height:5px;background:var(--gold);transform:translateX(-50%) rotate(45deg);}
.gl-header__cta{flex:none;}
.gl-burger{display:none;position:relative;z-index:2;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line-2);}
.gl-burger span{position:absolute;left:14px;right:14px;height:1px;background:var(--crystal);transition:transform .6s var(--ease),opacity .3s;}
.gl-burger span:nth-child(1){transform:translateY(-4px);}
.gl-burger span:nth-child(2){transform:translateY(4px);right:20px;}
.menu-open .gl-burger span:nth-child(1){transform:rotate(45deg);}
.menu-open .gl-burger span:nth-child(2){transform:rotate(-45deg);right:14px;}

@media (max-width:1180px){
  .gl-nav{gap:1.3rem;}
  .gl-header__cta .btn{padding:0 1rem 0 1.2rem;}
}
@media (max-width:1080px){
  .gl-nav,.gl-header__cta{display:none;}
  .gl-burger{display:inline-flex;}
}
@media (max-width:560px){
  :root{--header-h:76px;}
  .gl-brand .brand-full{height:34px;}
}

/* ---------- Mobile menu ---------- */
.gl-menu{
  position:fixed;inset:0;z-index:110;background:var(--obsidian);
  display:flex;flex-direction:column;
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .9s var(--ease-io),visibility 0s .9s;
  overflow:hidden;
}
.menu-open .gl-menu{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .9s var(--ease-io),visibility 0s;}
.gl-menu .contour-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.gl-menu .contour-svg path{stroke:rgba(197,160,90,.14);}
.gl-menu__inner{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 2.5rem) var(--gutter) 2rem;overflow-y:auto;}
.gl-menu__list li{border-bottom:1px solid var(--line);overflow:hidden;}
.gl-menu__list a{display:flex;align-items:baseline;gap:1.2rem;padding:1rem 0;font-family:var(--serif);font-size:clamp(2rem,9vw,3.4rem);line-height:1;font-weight:300;color:var(--crystal);
  transform:translateY(105%);transition:transform .9s var(--ease),color .3s;}
.gl-menu__list a small{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;color:var(--gold);min-width:1.6rem;}
.gl-menu__list a[aria-current="page"]{color:var(--champagne);font-style:italic;}
.menu-open .gl-menu__list a{transform:none;}
.menu-open .gl-menu__list li:nth-child(1) a{transition-delay:.25s}
.menu-open .gl-menu__list li:nth-child(2) a{transition-delay:.3s}
.menu-open .gl-menu__list li:nth-child(3) a{transition-delay:.35s}
.menu-open .gl-menu__list li:nth-child(4) a{transition-delay:.4s}
.menu-open .gl-menu__list li:nth-child(5) a{transition-delay:.45s}
.menu-open .gl-menu__list li:nth-child(6) a{transition-delay:.5s}
.menu-open .gl-menu__list li:nth-child(7) a{transition-delay:.55s}
.gl-menu__foot{display:grid;gap:1.4rem;margin-top:2.5rem;opacity:0;transform:translateY(12px);transition:opacity .6s .5s,transform .8s .5s var(--ease);}
.menu-open .gl-menu__foot{opacity:1;transform:none;}
.gl-menu__foot .label{display:block;margin-bottom:.35rem;}
.gl-menu__mark{display:flex;align-items:center;gap:.8rem;color:var(--tx-3);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;}
.gl-menu__mark img{height:26px;width:auto;}
html.menu-open,html.menu-open body{overflow:hidden;}

/* ---------- Image frames ---------- */
.frame{position:relative;overflow:hidden;background:var(--graphite);}
.frame img{width:100%;height:100%;object-fit:cover;}
.frame--facet{clip-path:polygon(0 0,calc(100% - var(--facet)*2) 0,100% calc(var(--facet)*2),100% 100%,0 100%);}
.frame--shade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,12,0) 45%,rgba(9,11,12,.55));pointer-events:none;}
.frame--mono img{filter:grayscale(1) contrast(1.05) brightness(.9);}
.frame__cap{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;font-size:.625rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(245,243,236,.72);}

/* ---------- Reveal animation language ---------- */
.js [data-reveal]{opacity:0;transform:translate3d(0,34px,0);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s);}
.js [data-reveal].is-in{opacity:1;transform:none;}
.js [data-reveal="fade"]{transform:none;}
.js [data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path 1.5s var(--ease-io);transition-delay:var(--d,0s);}
.js [data-reveal="clip"] img{transform:scale(1.18);transition:transform 2.2s var(--ease);transition-delay:var(--d,0s);}
.js [data-reveal="clip"].is-in{clip-path:inset(0 0 0 0);}
.js [data-reveal="clip"].is-in img{transform:scale(1);}
.js [data-reveal="clip"].frame--facet{clip-path:polygon(0 0,100% 0,100% 0,100% 0,0 0);}
.js [data-reveal="clip"].frame--facet.is-in{clip-path:polygon(0 0,calc(100% - var(--facet)*2) 0,100% calc(var(--facet)*2),100% 100%,0 100%);}
.js [data-reveal="line"]{opacity:1;transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-io);}
.js [data-reveal="line"].is-in{transform:none;}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em;}
.split .w > span{display:inline-block;transform:translate3d(0,110%,0);transition:transform 1.2s var(--ease);transition-delay:calc(var(--i) * 45ms + var(--d,0s));}
.split.is-in .w > span{transform:none;}
.no-js .split .w > span{transform:none;}

/* parallax targets get their own layer */
[data-parallax]{will-change:transform;}

/* ---------- Section heads ---------- */
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem);}
.sec-head__title{grid-column:1 / span 8;}
.sec-head__aside{grid-column:9 / span 4;color:var(--tx-2);}
.bg-crystal .sec-head__aside{color:var(--ink-2);}
@media (max-width:900px){
  .sec-head{grid-template-columns:1fr;row-gap:1.6rem;}
  .sec-head__title,.sec-head__aside{grid-column:auto;}
}
.index-mark{display:flex;align-items:center;gap:1rem;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--tx-3);}
.index-mark b{font-family:var(--serif);font-size:1.05rem;font-weight:400;letter-spacing:.04em;color:var(--gold);}
.index-mark::after{content:"";flex:1;max-width:5rem;height:1px;background:var(--line-2);}

/* ==========================================================================
   HOME — HERO
   ========================================================================== */
.hero{position:relative;min-height:max(100svh,660px);display:flex;align-items:flex-end;overflow:hidden;background:var(--obsidian);isolation:isolate;}
.hero__media{position:absolute;inset:0;z-index:-2;}
.hero__media img{position:absolute;inset:-4% -2% -4% 0;width:104%;height:108%;object-fit:cover;object-position:68% 50%;transform:scale(1.08);transition:transform 3.2s var(--ease),opacity 1.6s var(--ease);opacity:0;}
.is-loaded .hero__media img{transform:scale(1);opacity:1;}
.hero__media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(9,11,12,.94) 0%,rgba(9,11,12,.78) 30%,rgba(9,11,12,.12) 62%,rgba(9,11,12,.35) 100%),
  linear-gradient(0deg,rgba(9,11,12,1) 0%,rgba(9,11,12,0) 38%),
  linear-gradient(180deg,rgba(9,11,12,.55) 0%,rgba(9,11,12,0) 22%);}
.hero__contours{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;}
.hero__contours .contour-svg{width:100%;height:100%;}
.contour-svg path{stroke:rgba(197,160,90,.13);stroke-width:1;vector-effect:non-scaling-stroke;}
.contour-svg path.cm{stroke:rgba(220,197,139,.24);}
.js .draw .contour-svg path{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 4.5s var(--ease);transition-delay:calc(var(--i,0) * 18ms);}
.js .draw.is-drawn .contour-svg path{stroke-dashoffset:0;}
.hero__inner{width:100%;padding-top:calc(var(--header-h) + 3rem);padding-bottom:clamp(2.5rem,6vh,4.5rem);}
.hero__title{grid-column:1 / -1;font-size:clamp(2.9rem,1rem + 7vw,9rem);line-height:.88;font-weight:300;letter-spacing:-.025em;text-transform:uppercase;}
.hero__title .row{display:block;}
.hero__title .row--2{padding-left:clamp(0rem,8vw,9rem);}
.hero__title .accent{text-transform:none;font-weight:300;letter-spacing:-.02em;}
.hero__eyebrow{grid-column:1 / -1;margin-bottom:clamp(1.6rem,3vh,2.4rem);}
.hero__foot{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:inherit;align-items:end;margin-top:clamp(2rem,5vh,3.6rem);padding-top:clamp(1.6rem,3vh,2.2rem);border-top:1px solid var(--line);}
.hero__lede{grid-column:1 / span 5;color:var(--tx-2);font-size:clamp(1rem,.95rem + .25vw,1.18rem);font-weight:300;line-height:1.65;margin:0;}
.hero__actions{grid-column:7 / span 6;display:flex;justify-content:flex-end;gap:1rem;flex-wrap:wrap;}
.hero__meta{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--tx-3);display:flex;gap:1.6rem;align-items:center;}
.hero__meta::before{content:"";width:1px;height:4rem;background:var(--line-2);}
.hero__scroll{position:absolute;left:50%;bottom:0;width:1px;height:clamp(2rem,6vh,4rem);background:var(--line);overflow:hidden;}
.hero__scroll::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--gold);animation:scrollcue 2.4s var(--ease-io) infinite;}
@keyframes scrollcue{to{top:100%;}}
@media (max-width:900px){
  .hero__title{grid-column:1 / -1;}
  .hero__lede{grid-column:1 / -1;margin-bottom:1.8rem;}
  .hero__actions{grid-column:1 / -1;justify-content:flex-start;}
  .hero__meta{display:none;}
  .hero__media img{object-position:72% 40%;}
  .hero__media::after{background:linear-gradient(0deg,rgba(9,11,12,1) 8%,rgba(9,11,12,.72) 45%,rgba(9,11,12,.25) 75%,rgba(9,11,12,.6) 100%);}
}
@media (max-width:520px){
  .hero__actions .btn{width:100%;}
  .hero__title .row--2{padding-left:0;}
}

/* ==========================================================================
   INTRO — editorial split
   ========================================================================== */
.intro__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);align-items:start;}
.intro__media{grid-column:1 / span 6;position:relative;}
.intro__media .frame{aspect-ratio:4/5;}
.intro__media .frame img{height:124%;margin-top:-12%;}
.intro__caption{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between;margin-top:1rem;font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-3);}
.intro__body{grid-column:8 / span 5;position:relative;padding-left:clamp(1.5rem,3vw,3rem);padding-top:clamp(0rem,6vw,6rem);}
.intro__rule{position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--gold),var(--line) 30%,transparent);}
.intro__num{position:absolute;left:-.45rem;top:0;width:.9rem;height:.9rem;border:1px solid var(--gold);background:var(--obsidian);transform:rotate(45deg);}
.intro__marker{font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:.08em;margin-bottom:2.2rem;display:block;}
.intro__body h2{margin-bottom:2rem;}
.intro__defs{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;border-top:1px solid var(--line);padding-top:1.8rem;}
.intro__defs dt{font-family:var(--serif);font-size:1.6rem;letter-spacing:.14em;color:var(--crystal);margin-bottom:.35rem;}
.intro__defs dt span{color:var(--gold);}
.intro__defs dd{margin:0;font-size:.85rem;color:var(--tx-3);line-height:1.6;}
@media (max-width:900px){
  .intro__media,.intro__body{grid-column:1 / -1;}
  .intro__body{margin-top:3rem;padding-top:0;}
  .intro__media .frame{aspect-ratio:5/6;}
}

/* ==========================================================================
   EXPERTISE — interactive list
   ========================================================================== */
.xlist{border-top:1px solid var(--line);position:relative;}
.xrow{position:relative;border-bottom:1px solid var(--line);}
.xrow__btn{
  width:100%;display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:1.5rem;
  padding:clamp(1.6rem,2.6vw,2.4rem) 0;text-align:left;
  transition:padding .7s var(--ease);
}
.xrow__num{font-family:var(--serif);font-size:1.05rem;color:var(--tx-3);letter-spacing:.08em;position:relative;height:1.4em;overflow:hidden;}
.xrow__num span{display:block;transition:transform .6s var(--ease),color .5s;}
.xrow__num span + span{color:var(--gold);position:absolute;top:100%;left:0;}
.xrow__title{font-family:var(--serif);font-size:clamp(1.8rem,1.2rem + 2.5vw,3.7rem);font-weight:300;line-height:1.02;color:var(--tx-2);transition:color .5s var(--ease),transform .7s var(--ease);}
.xrow__icon{width:3.2rem;height:3.2rem;border:1px solid var(--line-2);display:grid;place-items:center;transition:border-color .5s,background-color .5s,transform .7s var(--ease);}
.xrow__icon svg{width:1.1rem;height:1.1rem;transition:transform .6s var(--ease);}
.xrow__line{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease-io);}
.xrow__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease);}
.xrow__panel > div{overflow:hidden;}
.xrow__panel-inner{display:grid;grid-template-columns:5.5rem minmax(0,1fr) minmax(0,1fr);gap:1.5rem;padding-bottom:2.4rem;}
.xrow__panel p{grid-column:2;color:var(--tx-2);max-width:36rem;margin:0;}
.xrow__panel .link-arrow{grid-column:3;justify-self:end;align-self:end;}
.xrow__thumb{display:none;}
.xrow.is-active .xrow__btn,.xrow:hover .xrow__btn{padding-left:1.4rem;}
.xrow.is-active .xrow__title,.xrow:hover .xrow__title{color:var(--crystal);}
.xrow.is-active .xrow__num span,.xrow:hover .xrow__num span{transform:translateY(-100%);}
.xrow.is-active .xrow__line,.xrow:hover .xrow__line{transform:none;}
.xrow.is-active .xrow__icon,.xrow:hover .xrow__icon{border-color:var(--gold);background:rgba(197,160,90,.1);}
.xrow.is-active .xrow__icon svg{transform:rotate(45deg);}
.xrow.is-active .xrow__panel{grid-template-rows:1fr;}
/* floating image that follows the pointer (desktop) */
.xfloat{position:fixed;left:0;top:0;z-index:40;width:clamp(260px,24vw,380px);aspect-ratio:4/3;pointer-events:none;
  clip-path:inset(50% 50% 50% 50%);transition:clip-path .7s var(--ease);will-change:transform;}
.xfloat.is-on{clip-path:inset(0 0 0 0);}
.xfloat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .5s,transform .9s var(--ease);}
.xfloat img.is-current{opacity:1;transform:none;}
.xfloat::after{content:"";position:absolute;inset:0;border:1px solid rgba(220,197,139,.35);}
@media (hover:none),(max-width:900px){
  .xfloat{display:none;}
  .xrow__thumb{display:block;grid-column:1 / -1;aspect-ratio:16/9;margin-bottom:1.2rem;}
  .xrow__btn{grid-template-columns:3rem minmax(0,1fr) auto;gap:1rem;}
  .xrow__panel-inner{grid-template-columns:1fr;gap:1.2rem;}
  .xrow__panel p,.xrow__panel .link-arrow{grid-column:1;justify-self:start;}
  .xrow:hover .xrow__btn{padding-left:0;}
  .xrow.is-active .xrow__btn{padding-left:0;}
  .xrow__icon{width:2.6rem;height:2.6rem;}
}

/* ==========================================================================
   GEOLOGICAL STORY — scroll-drawn strata line
   ========================================================================== */
.story{overflow:hidden;}
.story__bg{position:absolute;inset:0;opacity:.8;pointer-events:none;}
.story__bg .contour-svg{width:100%;height:100%;}
.story__bg .contour-svg path{stroke:rgba(220,197,139,.07);}
.story__bg .contour-svg path.cm{stroke:rgba(220,197,139,.13);}
.story__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);}
.story__head{grid-column:1 / span 5;align-self:start;position:sticky;top:calc(var(--header-h) + 3rem);}
.story__head p{margin-top:1.8rem;}
.story__strata{margin-top:3rem;display:grid;gap:4px;max-width:18rem;}
.story__strata span{height:6px;background:var(--c);opacity:.85;transform-origin:left;}
.story__track{grid-column:7 / span 6;position:relative;padding-left:clamp(2.5rem,5vw,4.5rem);}
.story__line{position:absolute;left:0;top:.6rem;bottom:.6rem;width:1px;background:var(--line-2);}
.story__line i{position:absolute;inset:0;background:linear-gradient(180deg,var(--champagne),var(--gold));transform-origin:top;transform:scaleY(var(--p,0));}
.story__step{position:relative;padding-bottom:clamp(3.2rem,7vw,5.5rem);}
.story__step:last-child{padding-bottom:0;}
.story__node{position:absolute;left:calc(clamp(2.5rem,5vw,4.5rem) * -1 - 6px);top:.55rem;width:13px;height:13px;border:1px solid var(--line-2);background:var(--mineral);transform:rotate(45deg);transition:border-color .5s,background-color .5s,box-shadow .6s;}
.story__step.is-lit .story__node{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 6px rgba(197,160,90,.12);}
.story__idx{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--tx-3);display:block;margin-bottom:.9rem;}
.story__step h3{font-size:clamp(2rem,1.4rem + 2.6vw,3.8rem);font-weight:300;text-transform:uppercase;letter-spacing:.04em;color:var(--tx-3);transition:color .6s var(--ease);}
.story__step.is-lit h3{color:var(--crystal);}
.story__step p{margin-top:1rem;color:var(--tx-2);max-width:28rem;}
.story__arrow{display:block;margin-top:1.4rem;color:var(--gold);opacity:.5;}
@media (max-width:900px){
  .story__head{grid-column:1 / -1;position:relative;top:0;margin-bottom:3.5rem;}
  .story__track{grid-column:1 / -1;}
}

/* ==========================================================================
   THE STONES — asymmetric editorial gallery
   ========================================================================== */
.stones{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:clamp(3rem,6vw,6rem);}
.stone{position:relative;display:block;}
.stone .frame{aspect-ratio:4/5;}
.stone .frame img{transition:transform 1.6s var(--ease),filter .8s;}
.stone:hover .frame img{transform:scale(1.07);}
.stone__meta{display:flex;flex-direction:column;gap:.55rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);}
.stone__name{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem);font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1;}
.stone__origin{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.stone__text{margin-top:.8rem;color:var(--tx-2);font-size:.92rem;max-width:26rem;}
.stone__idx{position:absolute;top:1rem;left:1rem;z-index:2;font-family:var(--serif);font-size:.95rem;color:rgba(245,243,236,.7);}
.stone:nth-child(1){grid-column:1 / span 5;}
.stone:nth-child(2){grid-column:7 / span 3;margin-top:clamp(4rem,12vw,12rem);}
.stone:nth-child(3){grid-column:10 / span 3;margin-top:clamp(1rem,4vw,4rem);}
.stone:nth-child(4){grid-column:2 / span 3;}
.stone:nth-child(5){grid-column:6 / span 4;margin-top:clamp(2rem,7vw,7rem);}
.stone:nth-child(6){grid-column:10 / span 3;margin-top:clamp(-2rem,-2vw,0rem);}
.stones__foot{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:2rem;border-top:1px solid var(--line);flex-wrap:wrap;}
@media (max-width:900px){
  .stones{grid-template-columns:1fr 1fr;row-gap:3rem;}
  .stone:nth-child(n){grid-column:auto;margin-top:0;}
  .stone:nth-child(1){grid-column:1 / -1;}
  .stone:nth-child(even){margin-top:3rem;}
}
@media (max-width:520px){
  .stones{grid-template-columns:1fr;}
  .stone:nth-child(even){margin-top:0;}
  .stone .frame{aspect-ratio:5/5.4;}
}

/* ==========================================================================
   ATLAS — world map
   ========================================================================== */
.atlas{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(1.5rem,3vw,3rem);align-items:stretch;}
.atlas__map{position:relative;border:1px solid var(--line);background:
  radial-gradient(ellipse at 50% 40%,rgba(23,61,52,.35),transparent 70%),var(--obsidian);padding:clamp(.8rem,2vw,1.6rem);}
.atlas__map::before,.atlas__map::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold);}
.atlas__map::before{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.atlas__map::after{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.atlas-svg{width:100%;height:auto;overflow:visible;}
.atlas-grat{fill:none;stroke:rgba(216,211,199,.07);stroke-width:.5;}
.atlas-land{fill:#1B2321;stroke:rgba(216,211,199,.16);stroke-width:.35;}
.atlas-country{fill:#2A3935;stroke:rgba(220,197,139,.55);stroke-width:.5;cursor:pointer;transition:fill .45s var(--ease);}
.atlas-country:hover,.atlas-country.is-active{fill:var(--gold);}
.atlas-country.is-dim{fill:#1F2926;stroke:rgba(216,211,199,.2);}
.atlas-pin{pointer-events:none;}
.atlas-pin-dot{fill:var(--champagne);}
.atlas-pin-ring{fill:none;stroke:var(--champagne);stroke-width:.8;opacity:.7;}
.atlas-pin-pulse{fill:rgba(220,197,139,.18);transform-origin:center;transform-box:fill-box;animation:pinpulse 3s var(--ease) infinite;}
.atlas-pin.is-active .atlas-pin-dot{fill:var(--crystal);}
.atlas-pin.is-dim{opacity:.2;}
@keyframes pinpulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.atlas__legend{position:absolute;left:clamp(1rem,2vw,1.6rem);bottom:clamp(.8rem,1.6vw,1.2rem);display:flex;gap:1.2rem;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tx-3);}
.atlas__legend i{display:inline-block;width:8px;height:8px;margin-right:.5rem;vertical-align:1px;transform:rotate(45deg);}
.atlas__panel{border:1px solid var(--line);padding:clamp(1.6rem,2.6vw,2.4rem);display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(24,34,31,.55),rgba(17,21,22,.2));min-height:100%;}
.atlas__panel-body{transition:opacity .35s var(--ease),transform .5s var(--ease);}
.atlas__panel-body.is-swapping{opacity:0;transform:translateY(8px);}
.atlas__country{font-family:var(--serif);font-size:clamp(2.2rem,1.6rem + 1.6vw,3.3rem);font-weight:300;line-height:1;text-transform:uppercase;letter-spacing:.04em;margin:.8rem 0 1.8rem;}
.atlas__known{font-family:var(--serif);font-size:1.45rem;line-height:1.25;color:var(--champagne);font-style:italic;margin:.4rem 0 1.4rem;}
.atlas__context{color:var(--tx-2);font-size:.92rem;}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;}
.tag{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem .8rem;border:1px solid var(--line-2);color:var(--tx-2);}
.bg-crystal .tag{border-color:var(--ink-line);color:var(--ink-2);}
.atlas__note{margin-top:auto;padding-top:1.6rem;font-size:.72rem;line-height:1.6;color:var(--tx-3);}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem;}
.chip{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;padding:.7rem 1rem;border:1px solid var(--line);color:var(--tx-2);transition:border-color .4s,color .4s,background-color .4s;white-space:nowrap;}
.chip:hover{border-color:var(--gold-line);color:var(--crystal);}
.chip.is-active,.chip[aria-selected="true"],.chip[aria-pressed="true"]{border-color:var(--gold);color:var(--obsidian);background:var(--gold);}
@media (max-width:1000px){
  .atlas{grid-template-columns:1fr;}
  .chips--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);}
  .chips--scroll::-webkit-scrollbar{display:none;}
}

/* ==========================================================================
   GEMOLOGY — science of lustre (light editorial section)
   ========================================================================== */
.lustre__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:3rem;align-items:start;}
.lustre__title{grid-column:1 / span 7;}
.lustre__title .display{color:var(--ink);text-transform:uppercase;letter-spacing:-.01em;}
.lustre__intro{grid-column:9 / span 4;align-self:end;}
.lustre__figure{grid-column:1 / span 7;position:relative;margin-top:2rem;}
.lustre__figure .frame{aspect-ratio:16/11;background:#0b0d0e;}
.lustre__diagram{position:absolute;inset:0;z-index:2;pointer-events:none;}
.lustre__diagram line,.lustre__diagram polyline{stroke:rgba(245,243,236,.55);stroke-width:1;fill:none;vector-effect:non-scaling-stroke;}
.lustre__diagram circle{fill:var(--champagne);}
.lustre__diagram text{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;fill:rgba(245,243,236,.85);}
.js .lustre__diagram{opacity:0;transition:opacity 1.2s .9s var(--ease);}
.js .is-in .lustre__diagram{opacity:1;}
.lustre__topics{grid-column:9 / span 4;margin-top:2rem;}
.lustre__topics li{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;padding:1rem 0;border-top:1px solid var(--ink-line);}
.lustre__topics li:last-child{border-bottom:1px solid var(--ink-line);}
.lustre__topics b{font-family:var(--serif);font-weight:500;font-size:.95rem;color:#8E6F33;}
.lustre__topics h3{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:.35rem;line-height:1.4;}
.lustre__topics p{font-size:.88rem;color:var(--ink-2);line-height:1.6;}
@media (max-width:1000px){
  .lustre__title,.lustre__intro,.lustre__figure,.lustre__topics{grid-column:1 / -1;}
  .lustre__figure,.lustre__topics{margin-top:0;}
}

/* ==========================================================================
   FIELD — cinematic full-width
   ========================================================================== */
.field{position:relative;min-height:max(92svh,620px);display:flex;align-items:center;overflow:hidden;isolation:isolate;}
.field__bg{position:absolute;inset:-12% 0;z-index:-2;}
.field__bg img{width:100%;height:100%;object-fit:cover;}
.field::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,11,12,.86),rgba(9,11,12,.35) 60%,rgba(9,11,12,.6)),linear-gradient(0deg,rgba(9,11,12,.9),transparent 40%);}
.field__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:2.5rem;width:100%;padding-block:var(--section);}
.field__title{grid-column:1 / span 8;text-transform:uppercase;}
.field__copy{grid-column:1 / span 5;}
.field__list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-2);margin-top:2rem;}
.field__list li{padding:1.4rem 1.2rem 0 0;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-2);display:flex;flex-direction:column;gap:.7rem;}
.field__list li b{font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:.04em;color:var(--gold);}
@media (max-width:900px){
  .field__title,.field__copy{grid-column:1 / -1;}
  .field__list{grid-template-columns:1fr 1fr;}
  .field__list li{padding-bottom:1.2rem;border-bottom:1px solid var(--line);}
}

/* ==========================================================================
   PROCESS — horizontal timeline
   ========================================================================== */
.process{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);padding-top:3.2rem;}
.process__rail{position:absolute;left:0;right:0;top:.55rem;height:1px;background:var(--line-2);}
.process__rail i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .2s linear;}
.pstep{position:relative;}
.pstep__node{position:absolute;top:-3.2rem;left:0;width:1.15rem;height:1.15rem;border:1px solid var(--line-2);background:var(--obsidian);transform:rotate(45deg);transition:all .6s var(--ease);}
.pstep.is-lit .pstep__node{border-color:var(--gold);background:var(--gold);}
.pstep__num{font-family:var(--serif);font-size:clamp(2.6rem,2rem + 2vw,4rem);font-weight:300;line-height:1;color:var(--tx-3);transition:color .6s;}
.pstep.is-lit .pstep__num{color:var(--champagne);}
.pstep__name{font-size:.74rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--crystal);margin:1.2rem 0 .7rem;}
.pstep__lead{font-family:var(--serif);font-size:1.3rem;line-height:1.25;color:var(--crystal);margin-bottom:.8rem;}
.pstep p{font-size:.88rem;color:var(--tx-2);}
@media (max-width:900px){
  .process{grid-template-columns:1fr;padding-top:0;padding-left:2.6rem;gap:2.6rem;}
  .process__rail{left:.55rem;right:auto;top:.4rem;bottom:.4rem;width:1px;height:auto;}
  .process__rail i{transform-origin:top;transform:scaleY(var(--p,0));}
  .pstep__node{top:.5rem;left:-2.6rem;}
}

/* ==========================================================================
   JOURNAL (shared cards)
   ========================================================================== */
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);}
.jcard{display:flex;flex-direction:column;}
.jcard .frame{aspect-ratio:3/2;margin-bottom:1.4rem;}
.jcard .frame img{transition:transform 1.4s var(--ease);}
.jcard:hover .frame img{transform:scale(1.06);}
.jcard__meta{display:flex;gap:1rem;align-items:center;font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-3);margin-bottom:.9rem;}
.jcard__meta b{color:var(--gold);font-weight:500;}
.jcard h3{font-size:clamp(1.45rem,1.2rem + .8vw,1.9rem);line-height:1.12;font-weight:400;transition:color .4s;}
.jcard:hover h3{color:var(--champagne);}
.jcard p{margin-top:.8rem;font-size:.9rem;color:var(--tx-2);}
@media (max-width:900px){.jgrid{grid-template-columns:1fr;}}

/* ==========================================================================
   CLOSING CTA
   ========================================================================== */
.closing{position:relative;overflow:hidden;text-align:center;}
.closing .contour-svg{position:absolute;inset:0;width:100%;height:100%;}
.closing .contour-svg path{stroke:rgba(197,160,90,.09);}
.closing__inner{position:relative;}
.closing h2{max-width:14ch;margin:0 auto 2.6rem;text-transform:uppercase;}
.closing .lede{max-width:34rem;margin:0 auto 2.8rem;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.gl-footer{position:relative;background:var(--obsidian);border-top:1px solid var(--line);padding-top:clamp(4rem,8vw,7rem);overflow:hidden;}
.gl-footer__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:3rem;padding-bottom:clamp(3rem,6vw,5rem);}
.gl-footer__brand{grid-column:1 / span 5;}
.gl-footer__brand img{height:58px;width:auto;margin-bottom:1.6rem;}
.gl-footer__brand p{color:var(--tx-2);max-width:24rem;}
.gl-footer__tag{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block;}
.gl-footer__col{grid-column:span 2;}
.gl-footer__col:nth-of-type(2){grid-column:7 / span 2;}
.gl-footer__col h2{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--tx-3);margin-bottom:1.4rem;}
.gl-footer__col li{margin-bottom:.7rem;}
.gl-footer__col a{color:var(--tx-2);font-size:.95rem;transition:color .3s;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease),color .3s;}
.gl-footer__col a:hover{color:var(--crystal);background-size:100% 1px;}
.gl-footer__col address{font-style:normal;color:var(--tx-2);font-size:.95rem;}
.gl-footer__cta{grid-column:11 / span 2;}
.gl-footer__word{
  font-family:var(--serif);font-weight:300;text-transform:uppercase;white-space:nowrap;
  font-size:clamp(2.2rem,7.6vw,9rem);line-height:.86;letter-spacing:-.01em;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(220,197,139,.42);
  padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(1rem,2vw,1.6rem);border-top:1px solid var(--line);
  user-select:none;
}
.gl-footer__word span{color:var(--gold);-webkit-text-stroke:0;font-style:italic;text-transform:none;}
.gl-footer__base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem 0 2rem;border-top:1px solid var(--line);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-3);}
@media (max-width:1000px){
  .gl-footer__brand{grid-column:1 / -1;}
  .gl-footer__col,.gl-footer__col:nth-of-type(2){grid-column:span 6;}
  .gl-footer__cta{grid-column:1 / -1;}
}
@media (max-width:520px){
  .gl-footer__col,.gl-footer__col:nth-of-type(2){grid-column:1 / -1;}
}

/* ==========================================================================
   INNER PAGES — page hero
   ========================================================================== */
.phero{position:relative;min-height:clamp(560px,86svh,900px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;}
.phero--short{min-height:clamp(460px,64svh,680px);}
.phero__bg{position:absolute;inset:-8% 0;z-index:-2;}
.phero__bg img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.6s var(--ease),transform 3s var(--ease);}
.is-loaded .phero__bg img{opacity:1;transform:none;}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--obsidian) 3%,rgba(9,11,12,.35) 55%,rgba(9,11,12,.55)),linear-gradient(90deg,rgba(9,11,12,.8),rgba(9,11,12,.05) 70%);}
.phero .contour-svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;}
.phero__inner{width:100%;padding-top:calc(var(--header-h) + 4rem);padding-bottom:clamp(3rem,7vw,6rem);}
.phero__title{max-width:15ch;text-transform:uppercase;}
.phero__row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);align-items:end;margin-top:clamp(2rem,4vw,3.4rem);padding-top:1.8rem;border-top:1px solid var(--line);}
.phero__lede{grid-column:1 / span 6;margin:0;}
.phero__crumb{grid-column:9 / span 4;justify-self:end;font-size:.625rem;letter-spacing:.26em;text-transform:uppercase;color:var(--tx-3);display:flex;gap:.8rem;align-items:center;}
.phero__crumb a:hover{color:var(--champagne);}
@media (max-width:900px){
  .phero__lede,.phero__crumb{grid-column:1 / -1;}
  .phero__crumb{justify-self:start;margin-top:1.4rem;}
}

/* ---------- Editorial split (about / expertise) ---------- */
.split-ed{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:2.5rem;align-items:center;}
.split-ed__media{grid-column:1 / span 6;}
.split-ed__body{grid-column:8 / span 5;}
.split-ed--rev .split-ed__media{grid-column:7 / span 6;order:2;}
.split-ed--rev .split-ed__body{grid-column:1 / span 5;order:1;}
.split-ed__media .frame{aspect-ratio:5/4;}
.split-ed__media--tall .frame{aspect-ratio:4/5;}
.split-ed h2{margin-bottom:1.8rem;}
@media (max-width:900px){
  .split-ed__media,.split-ed__body,.split-ed--rev .split-ed__media,.split-ed--rev .split-ed__body{grid-column:1 / -1;order:0;}
}
.pull{font-family:var(--serif);font-size:clamp(1.7rem,1.3rem + 1.6vw,2.9rem);line-height:1.18;font-weight:300;color:var(--crystal);font-style:italic;}
.pull::before{content:"";display:block;width:3rem;height:1px;background:var(--gold);margin-bottom:1.6rem;}
.bg-crystal .pull{color:var(--ink);}

/* principles list (about) */
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);}
.principles li{padding:2.2rem 1.6rem 0 0;}
.principles li + li{padding-left:1.6rem;border-left:1px solid var(--line);}
.principles b{display:block;font-family:var(--serif);font-weight:300;font-size:3rem;line-height:1;color:var(--gold);margin-bottom:1.4rem;}
.principles h3{font-size:1.5rem;margin-bottom:.8rem;}
.principles p{font-size:.9rem;color:var(--tx-2);}
@media (max-width:1000px){
  .principles{grid-template-columns:1fr 1fr;row-gap:2.5rem;}
  .principles li:nth-child(3){padding-left:0;border-left:0;}
}
@media (max-width:560px){
  .principles{grid-template-columns:1fr;}
  .principles li + li{padding-left:0;border-left:0;border-top:1px solid var(--line);}
}

/* areas list (about) */
.areas li{border-bottom:1px solid var(--line);}
.areas li:first-child{border-top:1px solid var(--line);}
.areas a{display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;align-items:center;padding:1.4rem 0;transition:padding .6s var(--ease);}
.areas a:hover{padding-left:1rem;}
.areas b{font-family:var(--serif);font-weight:400;color:var(--gold);}
.areas span{font-family:var(--serif);font-size:clamp(1.4rem,1.1rem + 1vw,2.1rem);font-weight:300;}
.areas svg{width:1.4rem;height:.6rem;color:var(--tx-3);transition:transform .5s var(--ease),color .3s;}
.areas a:hover svg{transform:translateX(.4rem);color:var(--gold);}

/* ---------- Service feature (expertise page) ---------- */
.service{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:2.4rem;padding-block:clamp(4rem,9vw,8rem);border-top:1px solid var(--line);}
.service:first-of-type{border-top:0;padding-top:0;}
.service__num{grid-column:1 / span 2;font-family:var(--serif);font-weight:300;font-size:clamp(4rem,3rem + 5vw,9rem);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold-line);}
.service__head{grid-column:3 / span 8;}
.service__head h2{text-transform:uppercase;letter-spacing:.01em;}
.service__media{grid-column:3 / span 5;}
.service__media .frame{aspect-ratio:4/3;}
.service__body{grid-column:9 / span 4;}
.service__body .lede{margin-bottom:2rem;}
.service__scope{border-top:1px solid var(--line);margin-bottom:2.4rem;}
.service__scope li{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--tx-2);}
.service__scope li::before{content:"";flex:none;width:6px;height:6px;margin-top:.62em;background:var(--gold);transform:rotate(45deg);}
.service:nth-of-type(even) .service__media{grid-column:8 / span 5;order:2;}
.service:nth-of-type(even) .service__body{grid-column:3 / span 4;order:1;}
@media (max-width:1000px){
  .service__num{grid-column:1 / -1;}
  .service__head,.service__media,.service__body,.service:nth-of-type(even) .service__media,.service:nth-of-type(even) .service__body{grid-column:1 / -1;order:0;}
}

/* ---------- Gem directory ---------- */
.gindex{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gindex a{flex:1 1 auto;text-align:center;padding:1.2rem 1rem;font-family:var(--serif);font-size:1.15rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-2);border-right:1px solid var(--line);transition:color .3s,background-color .4s;}
.gindex a:last-child{border-right:0;}
.gindex a:hover{color:var(--crystal);background:rgba(197,160,90,.07);}
.gem{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:2.4rem;padding-block:clamp(4.5rem,9vw,8.5rem);border-bottom:1px solid var(--line);scroll-margin-top:var(--header-h);align-items:start;}
.gem__media{grid-column:1 / span 5;position:sticky;top:calc(var(--header-h) + 2rem);}
.gem__media .frame{aspect-ratio:4/5;}
.gem__body{grid-column:7 / span 6;}
.gem:nth-child(even) .gem__media{grid-column:8 / span 5;order:2;}
.gem:nth-child(even) .gem__body{grid-column:1 / span 6;order:1;}
.gem__name{font-size:clamp(2.6rem,1.4rem + 4.4vw,6.6rem);overflow-wrap:anywhere;font-weight:300;text-transform:uppercase;letter-spacing:.02em;line-height:.9;}
.gem__origin{display:block;margin-top:1.2rem;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);}
.gem__short{margin:2rem 0 2.4rem;}
.gem__data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2.4rem;}
.gem__data div{padding:1.1rem 1rem 1.1rem 0;}
.gem__data div + div{padding-left:1rem;border-left:1px solid var(--line);}
.gem__data dt{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-3);margin-bottom:.4rem;}
.gem__data dd{margin:0;font-family:var(--serif);font-size:1.2rem;line-height:1.25;color:var(--crystal);}
.gem__block{margin-bottom:2rem;}
.gem__block h3{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--champagne);margin-bottom:.7rem;}
.gem__block p{color:var(--tx-2);}
@media (max-width:1000px){
  .gem__media,.gem__body,.gem:nth-child(even) .gem__media,.gem:nth-child(even) .gem__body{grid-column:1 / -1;order:0;position:relative;top:0;}
  .gem__media .frame{aspect-ratio:5/4;}
}
@media (max-width:560px){
  .gem__data{grid-template-columns:1fr;}
  .gem__data div + div{padding-left:0;border-left:0;border-top:1px solid var(--line);}
  .gindex a{flex:1 1 33%;font-size:1rem;padding:1rem .5rem;border-bottom:1px solid var(--line);}
}

/* ---------- Atlas page region index ---------- */
.rindex{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);}
.rcard{padding:2rem 2rem 2.2rem 0;border-bottom:1px solid var(--line);text-align:left;display:block;width:100%;transition:background-color .4s;}
.rcard:nth-child(3n+2),.rcard:nth-child(3n+3){padding-left:2rem;border-left:1px solid var(--line);}
.rcard:hover{background:rgba(197,160,90,.04);}
.rcard__n{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-3);}
.rcard h3{font-size:clamp(1.7rem,1.4rem + 1vw,2.4rem);font-weight:300;text-transform:uppercase;letter-spacing:.03em;margin:.8rem 0 .5rem;}
.rcard__known{font-family:var(--serif);font-style:italic;color:var(--champagne);font-size:1.15rem;margin-bottom:.9rem;}
.rcard p{font-size:.88rem;color:var(--tx-2);}
@media (max-width:1000px){
  .rindex{grid-template-columns:1fr 1fr;}
  .rcard:nth-child(n){padding-left:0;border-left:0;}
  .rcard:nth-child(even){padding-left:1.6rem;border-left:1px solid var(--line);}
}
@media (max-width:600px){
  .rindex{grid-template-columns:1fr;}
  .rcard:nth-child(even){padding-left:0;border-left:0;}
}

/* ---------- Journal pages ---------- */
.jfeature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:2rem;align-items:end;padding-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line);}
.jfeature .frame{grid-column:1 / span 7;aspect-ratio:16/10;}
.jfeature .frame img{transition:transform 1.6s var(--ease);}
.jfeature:hover .frame img{transform:scale(1.05);}
.jfeature__body{grid-column:9 / span 4;}
.jfeature h2{font-size:clamp(2rem,1.5rem + 2vw,3.4rem);font-weight:300;line-height:1.05;margin:1rem 0 1.4rem;transition:color .4s;}
.jfeature:hover h2{color:var(--champagne);}
.jlist{margin-top:clamp(2rem,4vw,3rem);}
.jrow{display:grid;grid-template-columns:9rem minmax(0,1fr) 12rem;gap:clamp(1rem,3vw,3rem);align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);}
.jrow .frame{aspect-ratio:4/3;}
.jrow h3{font-size:clamp(1.5rem,1.2rem + 1vw,2.2rem);font-weight:300;line-height:1.1;transition:color .4s;}
.jrow:hover h3{color:var(--champagne);}
.jrow p{margin-top:.6rem;color:var(--tx-2);font-size:.92rem;}
.jrow__meta{font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tx-3);text-align:right;line-height:2;}
.jrow__meta b{color:var(--gold);font-weight:500;display:block;}
@media (max-width:900px){
  .jfeature .frame,.jfeature__body{grid-column:1 / -1;}
  .jrow{grid-template-columns:6rem 1fr;}
  .jrow__meta{grid-column:2;text-align:left;}
}
.jempty{padding:4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.article-head{padding-top:calc(var(--header-h) + clamp(3rem,7vw,6rem));padding-bottom:clamp(2.5rem,5vw,4rem);}
.article-head h1{font-size:clamp(2.6rem,1.8rem + 3.6vw,5.6rem);font-weight:300;line-height:.98;max-width:18ch;margin:1.4rem 0 2rem;}
.article-meta{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-3);padding-top:1.4rem;border-top:1px solid var(--line);}
.article-meta b{color:var(--gold);font-weight:500;}
.article-cover{aspect-ratio:21/9;}
.prose{max-width:42rem;margin:0 auto;font-size:clamp(1.02rem,.98rem + .2vw,1.14rem);line-height:1.8;color:rgba(245,243,236,.82);}
.prose > p:first-child::first-letter{font-family:var(--serif);float:left;font-size:5.2em;line-height:.8;padding:.08em .12em 0 0;color:var(--champagne);}
.prose h2{font-size:clamp(1.7rem,1.4rem + 1vw,2.4rem);font-weight:400;margin:2.6em 0 .8em;}
.prose p{margin:0 0 1.4em;}
.prose ul{margin:0 0 1.6em;border-top:1px solid var(--line);}
.prose li{padding:.8rem 0 .8rem 1.6rem;border-bottom:1px solid var(--line);position:relative;}
.prose li::before{content:"";position:absolute;left:0;top:1.35rem;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.prose blockquote{margin:2.4em 0;padding:0;}
.prose blockquote p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.4rem);line-height:1.25;color:var(--crystal);}
.prose blockquote::before{content:"";display:block;width:3rem;height:1px;background:var(--gold);margin-bottom:1.4rem;}

/* ---------- Contact ---------- */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);row-gap:4rem;align-items:start;}
.contact__form{grid-column:1 / span 7;}
.contact__aside{grid-column:9 / span 4;position:sticky;top:calc(var(--header-h) + 2rem);}
.contact__aside .frame{aspect-ratio:4/3;margin-bottom:2rem;}
.contact__list li{padding:1.1rem 0;border-bottom:1px solid var(--line);}
.contact__list li:first-child{border-top:1px solid var(--line);}
.contact__list .label{display:block;margin-bottom:.35rem;}
.contact__list a,.contact__list span:not(.label){font-family:var(--serif);font-size:1.3rem;color:var(--crystal);}
.contact__list a:hover{color:var(--champagne);}
.contact__steps li{display:grid;grid-template-columns:2rem 1fr;gap:.6rem;padding:.7rem 0;font-size:.9rem;color:var(--tx-2);}
.contact__steps b{font-family:var(--serif);color:var(--gold);font-weight:400;}
@media (max-width:1000px){
  .contact__form,.contact__aside{grid-column:1 / -1;position:relative;top:0;}
}
.form{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(1.2rem,3vw,2.6rem);row-gap:.4rem;}
.fld{position:relative;padding-top:1.4rem;}
.fld--full{grid-column:1 / -1;}
.fld input,.fld select,.fld textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;
  color:var(--crystal);font:inherit;font-size:1.08rem;padding:.9rem 0 .85rem;outline:none;
  transition:border-color .4s var(--ease);-webkit-appearance:none;appearance:none;
}
.fld textarea{resize:vertical;min-height:9rem;line-height:1.6;}
.fld select{cursor:pointer;padding-right:2rem;}
.fld select option{background:var(--graphite);color:var(--crystal);}
.fld--select::after{content:"";position:absolute;right:.3rem;bottom:1.45rem;width:7px;height:7px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);pointer-events:none;}
.fld label{position:absolute;left:0;top:2.3rem;font-size:1.02rem;color:var(--tx-3);pointer-events:none;transform-origin:left top;transition:transform .5s var(--ease),color .4s,top .5s var(--ease);}
.fld input:focus + label,.fld input:not(:placeholder-shown) + label,
.fld textarea:focus + label,.fld textarea:not(:placeholder-shown) + label,
.fld--select label{top:.2rem;transform:scale(.72);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.fld::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.fld:not(.fld--select)::after{bottom:0;}
.fld:focus-within:not(.fld--select)::after{transform:scaleX(1);}
.fld--select:focus-within select{border-bottom-color:var(--gold);}
.fld__err{display:block;font-size:.75rem;color:#E0A27A;margin-top:.5rem;letter-spacing:.04em;}
.fld.has-error input,.fld.has-error select,.fld.has-error textarea{border-bottom-color:#B9724B;}
.form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form__foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-top:2.4rem;}
.form__note{font-size:.78rem;color:var(--tx-3);max-width:24rem;}
@media (max-width:640px){.form{grid-template-columns:1fr;}.form__foot .btn{width:100%;}}

/* ---------- Alerts / messages ---------- */
.notice{display:flex;gap:1.2rem;align-items:flex-start;padding:1.6rem 1.8rem;border:1px solid var(--gold-line);background:linear-gradient(90deg,rgba(197,160,90,.12),rgba(197,160,90,.02));margin-bottom:2.4rem;}
.notice__mark{flex:none;width:12px;height:12px;margin-top:.45rem;background:var(--gold);transform:rotate(45deg);}
.notice h2{font-size:1.8rem;margin-bottom:.4rem;}
.notice p{color:var(--tx-2);margin:0;}
.notice--error{border-color:rgba(224,162,122,.45);background:linear-gradient(90deg,rgba(224,162,122,.1),transparent);}
.notice--error .notice__mark{background:#E0A27A;}

/* ---------- Pagination (journal) ---------- */
.pager{display:flex;justify-content:center;gap:.5rem;margin-top:3rem;}
.pager a,.pager span{min-width:3rem;height:3rem;display:grid;place-items:center;border:1px solid var(--line);font-size:.8rem;letter-spacing:.1em;}
.pager .is-current{border-color:var(--gold);color:var(--gold);}

/* ---------- 404 ---------- */
.lost{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;}
.lost .contour-svg{position:absolute;inset:0;width:100%;height:100%;}
.lost__code{font-family:var(--serif);font-weight:300;font-size:clamp(7rem,22vw,20rem);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold-line);}

/* ==========================================================================
   Cursor + page transition
   ========================================================================== */
.cursor{position:fixed;left:0;top:0;z-index:250;pointer-events:none;width:0;height:0;display:none;}
.has-cursor .cursor{display:block;}
.cursor__ring{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border:1px solid rgba(220,197,139,.55);border-radius:50%;transition:transform .5s var(--ease),background-color .4s,border-color .4s,opacity .4s;opacity:0;}
.cursor.is-visible .cursor__ring{opacity:1;}
.cursor.is-link .cursor__ring{transform:scale(.45);background:var(--gold);border-color:var(--gold);}
.cursor.is-label .cursor__ring{transform:scale(2.3);background:rgba(197,160,90,.92);border-color:transparent;}
.cursor__label{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.6);font-size:.56rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--obsidian);opacity:0;transition:opacity .3s,transform .5s var(--ease);white-space:nowrap;}
.cursor.is-label .cursor__label{opacity:1;transform:translate(-50%,-50%) scale(1);}
.has-cursor [data-cursor]{cursor:none;}

.curtain{position:fixed;inset:0;z-index:260;pointer-events:none;background:var(--obsidian);transform:scaleY(0);transform-origin:bottom;}
.curtain img{position:absolute;left:50%;top:50%;width:42px;height:auto;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s;}
.is-leaving .curtain{transform:scaleY(1);transition:transform .55s var(--ease-io);}
.is-leaving .curtain img{opacity:1;transition-delay:.25s;}
.js body{animation:pagein .9s var(--ease) both;}
@keyframes pagein{from{opacity:0;}to{opacity:1;}}

/* ==========================================================================
   Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;}
  .js [data-reveal],.js [data-reveal="clip"],.split .w > span{opacity:1!important;transform:none!important;clip-path:none!important;}
  .js [data-reveal="clip"] img{transform:none!important;}
  [data-parallax]{transform:none!important;}
  .js .draw .contour-svg path{stroke-dashoffset:0!important;}
}

/* contour images used as decorative backgrounds */
img.contour-svg{object-fit:cover;pointer-events:none;}
.gl-menu img.contour-svg{opacity:.55;}
.story__bg img.contour-svg{position:absolute;inset:0;opacity:.45;}
.closing img.contour-svg{opacity:.6;}
.phero img.contour-svg{opacity:.5;mix-blend-mode:screen;}
.lost img.contour-svg{opacity:.5;}

/* explicit column placements that collapse on small screens */
.col-1-6{grid-column:1 / span 6;}
.col-8-5{grid-column:8 / span 5;}
.col-1-4{grid-column:1 / span 4;}
.col-6-7{grid-column:6 / span 7;}
@media (max-width:900px){.col-1-6,.col-8-5,.col-1-4,.col-6-7{grid-column:1 / -1;}}
.areas a{grid-template-columns:3rem minmax(0,1fr) auto;}
@media (max-width:560px){
  .gl-footer__word{white-space:normal;font-size:clamp(2.4rem,14vw,4rem);line-height:.92;text-align:left;}
}




/* ---- Leadership ---- */
.leader__card{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--panel);border:1px solid var(--line);padding:clamp(1.4rem,4vw,3rem);}
.leader__media{display:grid;gap:1rem;}
.leader__photo{margin:0;aspect-ratio:1/1;overflow:hidden;background:var(--graphite);border:1px solid var(--line-2);}
.leader__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
.leader__social{display:flex;gap:.6rem;}
.leader__social a{width:32px;height:32px;display:grid;place-items:center;background:var(--obsidian);border:1px solid var(--line-2);color:var(--crystal);font-size:.8rem;transition:border-color .3s,color .3s;}
.leader__social a:hover{border-color:var(--gold);color:var(--champagne);}
.leader__social b{font-weight:700;line-height:1;}
.leader__name{margin:1.2rem 0 .9rem;}
.leader__role{margin:0 0 1.6rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tx-3);}
.leader__bio p{max-width:46rem;margin:0 0 1rem;color:var(--tx-2);}
.leader__stats{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;}
.leader__stats li{padding:1.1rem 1.2rem;border:1px solid var(--line);}
.leader__stats strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.1;color:var(--crystal);}
.leader__stats span{display:block;margin-top:.5rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-3);}
@media (max-width:900px){
  .leader__card{grid-template-columns:1fr;}
  .leader__media{max-width:300px;}
}
@media (max-width:640px){
  .leader__stats{grid-template-columns:1fr;}
}

