
/* ==========================================================
   HXPERTS  v5
   Palette sampled directly from the primary logo artwork:
   teal #316061 | copper #C18161
   ========================================================== */
:root{
  --paper:  #FAF8F4;
  --mist:   #EFEBE3;
  --sand:   #E4D9C9;
  --ink:    #1C3E40;
  --ink-d:  #14302F;
  --teal:   #316061;
  --teal-l: #4E7C7C;
  --copper: #C18161;
  --copper-d:#A46443;
  --copper-l:#DCA985;
  --dim:    #6E8687;
  --line:   rgba(28,62,64,.12);
  --line-2: rgba(28,62,64,.22);

  --fallback: linear-gradient(152deg,#EDE3D5 0%,#B9BEB2 46%,#3B6465 100%);

  --f-d: 'Schibsted Grotesk','Helvetica Neue',sans-serif;
  --f-b: 'Instrument Sans','Helvetica Neue',sans-serif;

  --gut: clamp(20px,5.5vw,108px);
  --max: 1520px;
  --e:  cubic-bezier(.19,1,.22,1);
  --e2: cubic-bezier(.7,0,.2,1);
  --e3: cubic-bezier(.34,1.3,.64,1);

  --logo:  url('logo-full.png');
  --logo-w:url('logo-white.png');
  --mark:  url('logo-mark.png');
}


*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-b);font-size:16px;line-height:1.66;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;
  font-feature-settings:"kern" 1,"liga" 1}
::selection{background:var(--copper);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:5px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
section{position:relative}
.pad{padding-top:clamp(84px,12vh,172px);padding-bottom:clamp(84px,12vh,172px)}

/* logo assets */
.logo-img{background:var(--logo) left center/contain no-repeat;display:block}
.logo-img.white{background-image:var(--logo-w)}
.logo-mark{background:var(--mark) center/contain no-repeat;display:block}

/* ---------- type ---------- */
.d{font-family:var(--f-d);font-weight:600;letter-spacing:-.028em;line-height:1.04;text-wrap:balance}
.d-hero{font-size:clamp(38px,6.2vw,94px);letter-spacing:-.042em;line-height:.99}
.d-xl{font-size:clamp(27px,3.6vw,54px);letter-spacing:-.032em;line-height:1.07}
.d-lg{font-size:clamp(23px,2.75vw,39px);letter-spacing:-.028em;line-height:1.1}
.lede{font-size:clamp(15.5px,1.12vw,17.2px);line-height:1.68;color:var(--teal);max-width:56ch}
.dimtext{color:var(--dim);font-size:14.8px;line-height:1.68;max-width:52ch}
.eyebrow{font-weight:600;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);
  display:inline-flex;align-items:center;gap:11px}
.eyebrow i{width:6px;height:6px;background:var(--copper);transform:rotate(45deg);flex:none;animation:pulse 3.4s var(--e) infinite}
@keyframes pulse{0%,100%{transform:rotate(45deg) scale(1);opacity:1}50%{transform:rotate(45deg) scale(.68);opacity:.5}}

/* ---------- ambient aurora (brand-coloured light) ---------- */
.aura{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;opacity:.5;will-change:transform}
.aura.a1{width:46vw;height:46vw;background:radial-gradient(circle,rgba(193,129,97,.34),transparent 68%);
  top:-12%;right:-8%;animation:drift1 22s ease-in-out infinite alternate}
.aura.a2{width:38vw;height:38vw;background:radial-gradient(circle,rgba(49,96,97,.26),transparent 68%);
  bottom:-14%;left:-10%;animation:drift2 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate3d(-5vw,4vh,0) scale(1.12)}}
@keyframes drift2{to{transform:translate3d(5vw,-4vh,0) scale(1.1)}}

/* ---------- word-stagger reveal ---------- */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.07em;margin-bottom:-.07em}
.sw > i{display:inline-block;font-style:inherit;transform:translateY(105%) rotate(2.2deg);opacity:0;
  transition:transform 1.05s var(--e),opacity .8s var(--e)}
.in .sw > i{transform:none;opacity:1}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.05s var(--e),transform 1.05s var(--e)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}

/* ---------- photo primitive ---------- */
.ph{position:relative;overflow:hidden;background:var(--fallback);isolation:isolate}
.ph .ph-img{position:absolute;inset:-9% 0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.07);filter:blur(14px);
  transition:opacity 1.2s var(--e),filter 1.4s var(--e),transform 1.6s var(--e);will-change:transform,opacity}
.ph.loaded .ph-img{opacity:1;filter:blur(0);transform:scale(1)}
.ph::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(176deg,rgba(250,248,244,.06) 0%,rgba(28,62,64,.12) 42%,rgba(17,42,41,.55) 100%),
             linear-gradient(28deg,rgba(193,129,97,.12),transparent 56%)}
.ph .grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.09;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.iv::before{content:"";position:absolute;inset:-1px;z-index:6;background:var(--paper);
  transform:translateY(0);transition:transform 1.25s var(--e2)}
.iv.in::before{transform:translateY(-101.5%)}
.sheen::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:4;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-16deg);opacity:0}
.sheen:hover::before{animation:sweep 1s var(--e2) forwards}
@keyframes sweep{0%{left:-60%;opacity:1}100%{left:120%;opacity:0}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:14px;
  padding:17px 33px;border-radius:100px;overflow:hidden;isolation:isolate;white-space:nowrap;
  transition:color .5s var(--e),border-color .5s var(--e),box-shadow .5s var(--e);will-change:transform}
.btn .lbl{position:relative;display:inline-block;overflow:hidden;height:1.28em}
.btn .lbl span{display:block;transition:transform .55s var(--e)}
.btn .lbl span:last-child{position:absolute;top:100%;left:0;width:100%}
.btn:hover .lbl span{transform:translateY(-100%)}
.btn .arr{transition:transform .5s var(--e)}
.btn:hover .arr{transform:translateX(6px)}
.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 14px 32px -18px rgba(28,62,64,.6)}
.btn-ink::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:linear-gradient(100deg,var(--copper),var(--copper-d));transform:scale(.2);opacity:0;
  transition:transform .6s var(--e),opacity .4s var(--e)}
.btn-ink:hover::before{transform:scale(1);opacity:1}
.btn-ink:hover{box-shadow:0 18px 40px -16px rgba(193,129,97,.62)}
.btn-line{border:1.4px solid var(--line-2);color:var(--ink)}
.btn-line::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--ink);
  transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--e2)}
.btn-line:hover{color:var(--paper);border-color:var(--ink)}
.btn-line:hover::before{transform:scaleY(1)}
.tlink{position:relative;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:13.5px;padding-bottom:4px}
.tlink::after{content:"";position:absolute;left:0;bottom:0;height:1.4px;width:100%;background:var(--copper);
  transform:scaleX(.22);transform-origin:left;transition:transform .55s var(--e)}
.tlink:hover::after{transform:scaleX(1)}
.tlink .arr{color:var(--copper);transition:transform .5s var(--e)}
.tlink:hover .arr{transform:translateX(5px)}

/* ---------- diamond section divider ---------- */
.div-d{display:flex;align-items:center;gap:16px;justify-content:center;padding:0 var(--gut)}
.div-d span{height:1px;flex:1;max-width:230px;background:var(--line-2);transform:scaleX(0);transition:transform 1.2s var(--e)}
.div-d.in span{transform:scaleX(1)}
.div-d i{width:8px;height:8px;border:1.4px solid var(--copper);transform:rotate(45deg) scale(0);
  transition:transform .8s var(--e3) .3s;flex:none}
.div-d.in i{transform:rotate(45deg) scale(1)}


/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .6s var(--e),background .5s var(--e),box-shadow .5s var(--e)}
.nav.scrolled{background:rgba(250,248,244,.82);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 1px 0 var(--line)}
.nav{will-change:auto}
.nav-in{max-width:var(--max);margin:0 auto;padding:15px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:22px}
.nav-prog{position:absolute;left:0;bottom:0;height:1.5px;width:0;background:linear-gradient(90deg,var(--copper),var(--copper-d));opacity:0;transition:opacity .5s}
.nav.scrolled .nav-prog{opacity:1}
.brand{display:block}
.brand .logo-img{width:clamp(146px,13vw,178px);aspect-ratio:1736/375;transition:opacity .4s}
.brand:hover .logo-img{opacity:.78}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--dim);position:relative;padding:6px 0;transition:color .35s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1.4px;background:var(--copper);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--e)}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:12px 24px;font-size:13px}
.burger{display:none;flex-direction:column;gap:5.5px;padding:8px;z-index:1002}
.burger span{width:25px;height:2px;background:var(--ink);border-radius:2px;transition:.45s var(--e)}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.m-menu{position:fixed;inset:0;background:var(--paper);z-index:1001;display:flex;flex-direction:column;justify-content:center;padding:0 var(--gut);
  clip-path:circle(0% at calc(100% - 44px) 34px);transition:clip-path .9s var(--e2)}
.m-menu.open{clip-path:circle(150% at calc(100% - 44px) 34px)}
.m-menu a{font-family:var(--f-d);font-weight:600;font-size:clamp(26px,7.4vw,39px);letter-spacing:-.03em;padding:13px 0;
  border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;
  opacity:0;transform:translateY(22px);transition:opacity .6s var(--e),transform .6s var(--e)}
.m-menu.open a{opacity:1;transform:none}
.m-menu.open a:nth-child(1){transition-delay:.16s}.m-menu.open a:nth-child(2){transition-delay:.22s}
.m-menu.open a:nth-child(3){transition-delay:.28s}.m-menu.open a:nth-child(4){transition-delay:.34s}
.m-menu.open a:nth-child(5){transition-delay:.4s}
.m-menu a small{font-size:11px;letter-spacing:.24em;color:var(--copper);font-family:var(--f-b);font-weight:600}

/* ============ HERO ============ */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:118px;padding-bottom:16px;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero-mark{position:absolute;top:17%;left:-9%;width:min(27vw,300px);aspect-ratio:260/229;opacity:.045;z-index:1;
  animation:markFloat 18s ease-in-out infinite alternate}
@keyframes markFloat{to{transform:translate3d(2vw,3vh,0) rotate(6deg)}}
.hero-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:clamp(26px,3.6vw,72px);align-items:center}
.hero h1 .thin{font-weight:400;color:var(--teal-l)}
.hero h1 .dot{color:var(--copper)}
.hero-sub{margin-top:clamp(22px,3vh,36px);display:flex;flex-direction:column;gap:28px}
.hero-sub .lede{max-width:50ch}
.hero-ctas{display:flex;gap:13px;flex-wrap:wrap}
.hero-stage{position:relative;aspect-ratio:1/1.08;min-height:360px}
.hero-a{position:absolute;inset:0 13% 15% 0;border-radius:190px 190px 20px 20px;box-shadow:0 54px 100px -50px rgba(28,62,64,.5)}
.hero-b{position:absolute;right:0;bottom:0;width:51%;aspect-ratio:4/3.1;border-radius:18px;
  box-shadow:0 36px 74px -40px rgba(28,62,64,.46);border:5px solid var(--paper)}
.hero-chip{position:absolute;left:-5%;bottom:27%;z-index:8;background:rgba(250,248,244,.94);backdrop-filter:blur(12px);
  border-radius:100px;padding:11px 21px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--teal);display:flex;align-items:center;gap:10px;box-shadow:0 16px 36px -18px rgba(28,62,64,.42);
  animation:float 6.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hero-chip i{width:6px;height:6px;background:var(--copper);transform:rotate(45deg)}
.hero-marq{margin-top:clamp(34px,5.6vh,70px);border-top:1px solid var(--line);overflow:hidden;position:relative;z-index:2}
.marq-track{display:flex;width:max-content;animation:marq 34s linear infinite;padding:16px 0}
.hero-marq:hover .marq-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.marq-item{display:inline-flex;align-items:center;gap:32px;padding-right:32px;white-space:nowrap;
  font-family:var(--f-d);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);transition:color .4s}
.marq-item:hover{color:var(--ink)}
.marq-item i{width:5px;height:5px;border:1.4px solid var(--copper);transform:rotate(45deg)}

/* ============ INTRO + STATS ============ */
.intro{overflow:visible}
.intro .wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(30px,4.5vw,84px);position:relative;z-index:2}
.intro-left{align-self:stretch;display:flex;flex-direction:column}
.intro-copy .d-xl{margin-bottom:26px}
.intro-copy .d-xl em{font-style:normal;color:var(--copper)}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,30px);margin-top:clamp(42px,5.6vh,72px)}
.stat{padding-top:19px;position:relative}
.stat .top{position:absolute;top:0;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--e),background .4s}
.stat.in .top{transform:scaleX(1)}
.stat:hover .top{background:var(--copper)}
.stat .n{font-family:var(--f-d);font-weight:700;font-size:clamp(35px,4vw,62px);letter-spacing:-.045em;line-height:1;
  display:flex;align-items:baseline;font-variant-numeric:tabular-nums}
.stat .n .u{font-size:.38em;color:var(--copper);margin-left:4px;font-weight:600;letter-spacing:-.02em}
.stat p{margin-top:12px;color:var(--dim);font-size:13.4px;line-height:1.56}

/* ============ BAND ============ */
.band{height:clamp(370px,70vh,660px);display:flex;align-items:flex-end;isolation:isolate}
.band .wrap{padding-bottom:clamp(36px,5.6vh,72px);width:100%;position:relative;z-index:4}
.band .d-lg{color:#FAF8F4;max-width:19ch}
.band .eyebrow{color:#E9CDB4;margin-bottom:17px}
.band .eyebrow i{background:#E9CDB4}
.band::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,38,37,.50),rgba(20,48,47,.32) 38%,rgba(12,31,30,.90))}

/* ============ CAPABILITY STACK ============ */
.caps-head{max-width:760px;margin-bottom:clamp(38px,5.2vh,70px)}
.caps-head .d-xl{margin-top:19px}
.stack{display:flex;flex-direction:column;gap:22px}
.scard{position:sticky;border-radius:26px;overflow:hidden;border:1px solid var(--line);
  display:grid;grid-template-columns:1.04fr .96fr;min-height:min(60vh,500px);
  box-shadow:0 34px 78px -46px rgba(28,62,64,.34);will-change:transform;transform-origin:center top}
.scard-body{padding:clamp(26px,3.2vw,54px);display:flex;flex-direction:column;justify-content:center}
.scard:nth-child(1){top:94px;background:linear-gradient(140deg,#FFFFFF,#F6F1E8)}
.scard:nth-child(2){top:112px;background:linear-gradient(140deg,#F3EDE3,#E8DCCB)}
.scard:nth-child(3){top:130px;background:linear-gradient(140deg,var(--teal),var(--ink-d));color:var(--paper);border-color:transparent}
.scard:nth-child(3) .dimtext{color:rgba(250,248,244,.74)}
.scard:nth-child(3) .tlink{color:var(--paper)}
.scard .num{font-family:var(--f-d);font-weight:700;font-size:11.5px;letter-spacing:.26em;color:var(--copper);
  display:flex;align-items:center;gap:13px;margin-bottom:19px;text-transform:uppercase}
.scard .num::after{content:"";height:1.4px;flex:1;max-width:190px;background:currentColor;opacity:.26;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--e) .2s}
.scard.in .num::after{transform:scaleX(1)}
.scard h3{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,2.3vw,34px);letter-spacing:-.032em;line-height:1.08;margin-bottom:14px}
.scard .dimtext{font-size:14.8px;max-width:44ch}
.scard .tlink{margin-top:23px;align-self:flex-start}
.scard-visual{position:relative;min-height:260px}
.scard-visual .tag{position:absolute;left:18px;bottom:16px;z-index:7;background:rgba(250,248,244,.96);
  border-radius:100px;padding:8px 16px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}


/* ============ WHY ============ */
.why{background:var(--mist);border-radius:38px 38px 0 0;margin-top:32px;overflow:hidden}
.why .wrap{position:relative;z-index:2}
.why-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.6vw,72px);align-items:end;margin-bottom:clamp(38px,5.6vh,70px)}
.why-head .d-xl{margin-top:19px}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.pillar{background:var(--paper);padding:clamp(22px,2.3vw,38px);min-height:0;display:flex;flex-direction:column;justify-content:flex-start;
  position:relative;transition:background .55s var(--e);overflow:hidden}
.pillar::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(193,129,97,.08));
  transform:translateY(100%);transition:transform .7s var(--e)}
.pillar:hover::before{transform:translateY(0)}
.pillar>*{position:relative}
.pillar .gem{width:12px;height:12px;border:2px solid var(--copper);transform:rotate(45deg);margin-bottom:22px;transition:.7s var(--e3)}
.pillar:hover .gem{background:var(--copper);transform:rotate(225deg) scale(1.15)}
.pillar h4{font-family:var(--f-d);font-weight:600;font-size:clamp(16.5px,1.35vw,20.5px);letter-spacing:-.024em;margin:0 0 10px}
.pillar p{color:var(--dim);font-size:13.4px;line-height:1.62}

/* ============ PROCESS ============ */
.process{background:var(--mist);padding-bottom:clamp(84px,12vh,166px)}
.proc-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(30px,4.5vw,92px)}
.proc-left{position:sticky;top:116px;align-self:start}
.proc-left .d-xl{margin:19px 0 21px}
.proc-media{margin-top:28px;aspect-ratio:4/3;border-radius:18px}
.pstep{display:grid;grid-template-columns:64px 1fr;gap:clamp(16px,2.2vw,34px);padding:clamp(25px,3.6vh,42px) 0;
  border-top:1.4px solid var(--line);position:relative}
.pstep .pn{font-family:var(--f-d);font-weight:700;font-size:clamp(26px,2.6vw,40px);letter-spacing:-.05em;
  color:var(--sand);transition:color .7s var(--e);line-height:1;font-variant-numeric:tabular-nums}
.pstep h4{font-family:var(--f-d);font-weight:600;font-size:clamp(17.5px,1.6vw,23px);letter-spacing:-.028em;margin-bottom:8px;transition:transform .7s var(--e)}
.pstep p{color:var(--dim);font-size:14.4px;max-width:48ch;opacity:.55;transition:opacity .7s var(--e)}
.pstep::after{content:"";position:absolute;top:-1.4px;left:0;height:1.4px;width:100%;background:var(--copper);
  transform:scaleX(0);transform-origin:left;transition:transform 1s var(--e)}
.pstep.lit .pn{color:var(--copper)}
.pstep.lit p{opacity:1}
.pstep.lit h4{transform:translateX(5px)}
.pstep.lit::after{transform:scaleX(1)}

/* ============ INDUSTRIES ============ */
.ind{background:var(--paper);padding-top:clamp(56px,8vh,104px)}
.ind-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.ind-head{max-width:var(--max);margin:0 auto clamp(22px,3.2vh,40px);padding:0 var(--gut);width:100%;
  display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.ind-head .d-lg{margin-top:15px}
.ind-head .dimtext{max-width:38ch;font-size:13.8px}
.ind-rail{display:flex;gap:clamp(14px,1.5vw,24px);padding-left:var(--gut);will-change:transform}
.icard{position:relative;flex:none;width:clamp(228px,23vw,314px);aspect-ratio:4/5.05;border-radius:20px;overflow:hidden;
  display:flex;align-items:flex-end;border:1px solid var(--line);transition:transform .8s var(--e),box-shadow .8s var(--e)}
.icard:hover{transform:translateY(-12px);box-shadow:0 40px 78px -40px rgba(28,62,64,.5)}
.icard .ph-img{transition:opacity 1.2s var(--e),filter 1.4s var(--e),transform 1.1s var(--e)}
.icard:hover .ph-img{transform:scale(1.07)}
.icard-body{position:relative;padding:clamp(18px,1.6vw,26px);width:100%;color:#FAF8F4;z-index:7}
.icard-body .idx{font-size:10px;font-weight:600;letter-spacing:.26em;color:#E9CDB4;display:flex;justify-content:space-between;margin-bottom:10px}
.icard-body h3{font-family:var(--f-d);font-weight:600;font-size:clamp(17.5px,1.45vw,22px);letter-spacing:-.028em;line-height:1.12;margin-bottom:8px}
.icard-body p{font-size:12.4px;line-height:1.58;color:rgba(250,248,244,.82);
  max-height:0;opacity:0;overflow:hidden;transition:max-height .75s var(--e),opacity .6s var(--e),margin .75s var(--e)}
.icard:hover p,.icard:focus-within p{max-height:130px;opacity:1;margin-bottom:11px}
.icard-body .go{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#E9CDB4}
.icard-body .go .arr{transition:transform .45s var(--e)}
.icard:hover .go .arr{transform:translateX(5px)}
.ind-prog{max-width:var(--max);margin:clamp(18px,3.2vh,36px) auto 0;padding:0 var(--gut);width:100%;display:flex;align-items:center;gap:18px}
.ind-prog .bar{flex:1;height:1.5px;background:var(--line);position:relative;border-radius:2px}
.ind-prog .bar i{position:absolute;left:0;top:0;height:100%;width:0;background:var(--copper);border-radius:2px}
.ind-prog .cnt{font-size:10.5px;font-weight:600;letter-spacing:.24em;color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ============ HEALTHCARE FLAGSHIP ============ */
.hcflag{position:relative;overflow:hidden;background:linear-gradient(180deg,#F5EFE5 0%,#FBF7F0 58%,var(--paper) 100%)}
.hc-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:clamp(30px,4.5vw,86px);align-items:center;position:relative;z-index:2}
.hc-copy .lede{max-width:52ch}
.hc-chips{display:flex;flex-wrap:wrap;gap:10px}
.hc-chips span{font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--teal);
  background:rgba(49,96,97,.07);border:1px solid rgba(49,96,97,.16);border-radius:999px;padding:8px 15px}
.hc-img{aspect-ratio:4/5;border-radius:22px;box-shadow:0 46px 92px -52px rgba(28,62,64,.5)}
.hc-img .ph-img{background-position:center 30%}
.hc-tag{position:absolute;left:18px;bottom:16px;z-index:7;background:rgba(250,248,244,.96);
  color:var(--ink);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:9px 15px;border-radius:999px;box-shadow:0 10px 26px -14px rgba(28,62,64,.4)}

/* ============ FOUNDER (landscape portrait plate) ============ */
.founder{overflow:hidden}
.founder .wrap{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(30px,4.5vw,86px);align-items:center;position:relative;z-index:2}
.f-stage{position:relative}
.f-img{aspect-ratio:1080/851;border-radius:22px;box-shadow:0 46px 92px -52px rgba(28,62,64,.48)}
.f-img .ph-img{background-position:center 18%}
.f-badge{position:absolute;left:-4%;bottom:-6%;z-index:8;background:var(--paper);border:1px solid var(--line);
  border-radius:16px;padding:16px 22px;box-shadow:0 26px 56px -32px rgba(28,62,64,.42);
  display:flex;align-items:center;gap:14px}
.f-badge .logo-mark{width:34px;height:30px;flex:none;opacity:.9}
.f-badge b{display:block;font-family:var(--f-d);font-weight:700;font-size:15.5px;letter-spacing:-.02em;color:var(--ink)}
.f-badge span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper);margin-top:4px}
.founder-copy .d-xl{margin:19px 0 19px}
.founder-copy blockquote{border-left:2px solid var(--copper);padding-left:20px;margin:22px 0 24px;
  font-family:var(--f-d);font-weight:500;font-size:clamp(15px,1.2vw,18px);line-height:1.46;letter-spacing:-.02em;color:var(--teal)}

/* ============ CLIENTS & ASSOCIATES (real logos) ============ */
.eco{padding-bottom:clamp(76px,10.5vh,146px);overflow:hidden}
.eco-head{text-align:center;max-width:680px;margin:0 auto clamp(34px,5vh,62px);position:relative;z-index:2}
.eco-head .eyebrow{margin-bottom:17px}
.lbl-row{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.lbl-row .eyebrow{flex:none}
.lbl-row .ln{height:1px;flex:1;background:var(--line-2);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--e)}
.lbl-row.in .ln{transform:scaleX(1)}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.3vw,18px)}
.client{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;height:clamp(108px,11vw,148px);
  display:flex;align-items:center;justify-content:center;padding:22px 26px;overflow:hidden;
  transition:transform .6s var(--e),box-shadow .6s var(--e),border-color .6s var(--e)}
.client::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(193,129,97,.10),transparent 62%);opacity:0;transition:opacity .55s}
.client img{max-width:100%;max-height:100%;object-fit:contain;filter:none;
  transition:transform .6s var(--e);position:relative;z-index:2}
.client:hover{transform:translateY(-6px);box-shadow:0 26px 52px -28px rgba(28,62,64,.32);border-color:var(--copper)}
.client:hover::before{opacity:1}
.client:hover img{filter:none;transform:scale(1.05)}
.assoc-band{position:relative;overflow:hidden;padding:6px 0;
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.assoc-track{display:flex;width:max-content;align-items:center;gap:clamp(28px,3.4vw,56px);animation:marq 46s linear infinite}
.assoc-band:hover .assoc-track{animation-play-state:paused}
.assoc{flex:none;height:clamp(64px,7vw,92px);width:clamp(130px,14vw,186px);display:flex;align-items:center;justify-content:center}
.assoc img{max-width:100%;max-height:100%;object-fit:contain;filter:none;transition:transform .5s var(--e)}
.assoc:hover img{filter:none;transform:scale(1.06)}
.client-band{position:relative;overflow:hidden;padding:4px 0;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.client-track{display:flex;width:max-content;align-items:center;gap:clamp(12px,1.3vw,18px);animation:marq 52s linear infinite reverse}
.client-band:hover .client-track{animation-play-state:paused}
.client-track .client{flex:none;width:clamp(180px,17vw,220px);background:none;border:none;border-radius:0;box-shadow:none;padding:14px 18px;overflow:visible}
.client-track .client::before{display:none}
.client-track .client:hover{transform:none;box-shadow:none;border-color:transparent}

/* ============ CLOSING ============ */
.closing{position:relative;overflow:hidden;isolation:isolate;text-align:center;color:#FAF8F4}
.closing::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,36,35,.78) 0%,rgba(20,48,47,.55) 48%,rgba(10,27,26,.9) 100%)}
.closing::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(90% 70% at 50% 42%, transparent 30%, rgba(10,27,26,.42) 100%);mix-blend-mode:multiply}
.closing.ph::after{background:linear-gradient(28deg,rgba(193,129,97,.10),transparent 56%)}
.closing .wrap{max-width:960px;padding-top:clamp(92px,13.5vh,184px);padding-bottom:clamp(92px,13.5vh,184px);position:relative;z-index:4}
.closing .logo-mark{width:52px;height:46px;margin:0 auto 24px;opacity:.9}
.closing .eyebrow{color:#E9CDB4}
.closing .eyebrow i{background:#E9CDB4}
.closing .d-xl{margin:22px auto 19px;max-width:17ch;color:#FAF8F4}
.closing p.lede{color:rgba(250,248,244,.86);margin:0 auto 36px}
.closing-ctas{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.closing .btn-ink{background:#FAF8F4;color:var(--ink)}
.closing .btn-line{border-color:rgba(250,248,244,.44);color:#FAF8F4}
.closing .btn-line::before{background:#FAF8F4}
.closing .btn-line:hover{color:var(--ink);border-color:#FAF8F4}

/* ============ FOOTER ============ */
footer{background:var(--ink-d);color:var(--paper)}
.foot-grid{display:grid;grid-template-columns:1.5fr .8fr .9fr 1fr;gap:clamp(26px,3.6vw,64px);padding:clamp(54px,7.6vh,90px) 0 clamp(36px,5.2vh,54px)}
.foot-brand .logo-img{width:clamp(170px,15vw,210px);aspect-ratio:1736/375;margin-bottom:18px}
.foot-brand p{color:rgba(250,248,244,.6);font-size:13.4px;max-width:34ch}
.foot-col h5{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper-l);margin-bottom:17px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-col a,.foot-col li{color:rgba(250,248,244,.62);font-size:13.4px;transition:color .3s,transform .35s var(--e);display:inline-block}
.foot-col a:hover{color:var(--paper);transform:translateX(3px)}
.foot-mark{font-family:var(--f-d);font-weight:800;letter-spacing:-.055em;line-height:.84;
  font-size:clamp(54px,12.2vw,192px);text-align:center;user-select:none;padding-top:6px;display:flex;justify-content:center;overflow:hidden}
.foot-mark span{display:inline-block;color:rgba(250,248,244,.07);transform:translateY(105%);transition:transform 1s var(--e),color .5s}
.foot-mark.in span{transform:none}
.foot-mark span:nth-child(1){transition-delay:.02s}.foot-mark span:nth-child(2){transition-delay:.06s}
.foot-mark span:nth-child(3){transition-delay:.1s}.foot-mark span:nth-child(4){transition-delay:.14s}
.foot-mark span:nth-child(5){transition-delay:.18s}.foot-mark span:nth-child(6){transition-delay:.22s}
.foot-mark span:nth-child(7){transition-delay:.26s}
.foot-mark:hover span{color:rgba(193,129,97,.22)}
.foot-base{border-top:1px solid rgba(250,248,244,.12);padding:21px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(250,248,244,.44);font-size:12px}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .pillars,.client-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:940px){
  .nav-links,.nav>.nav-in>.btn{display:none}
  .nav-in > .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-stage{aspect-ratio:4/3.3;min-height:280px}
  .hero-a{inset:0 25% 11% 0;border-radius:150px 150px 18px 18px}
  .hero-b{width:44%}
  .hero-chip{left:2%}
  .hero-mark{display:none}
  .intro .wrap,.proc-grid,.founder .wrap,.why-head,.hc-grid{grid-template-columns:1fr;gap:34px}
  .hc-img{order:-1;aspect-ratio:16/12;max-height:56vh}
  .hc-chips{margin-top:4px}
  .intro-left,.proc-left{position:static}
  .intro-left{height:auto}
  .proc-media{max-width:440px}
  .scard{grid-template-columns:1fr;min-height:0}
  .scard:nth-child(1){top:74px}.scard:nth-child(2){top:86px}.scard:nth-child(3){top:98px}
  .scard-visual{min-height:215px;order:-1}
  /* pinned scroll-driven horizontal rail stays enabled on mobile:
     an upward swipe advances the industry cards sideways, card by card.
     Base .ind-sticky / .ind-track / .ind-rail rules already provide it;
     JS (sizeRail/frame) drives the transform on all widths. */
  .ind-rail{padding-right:var(--gut)}
  .icard{width:min(76vw,300px);max-width:none}
  .icard p{max-height:none;opacity:1;margin-bottom:11px}
  .f-badge{left:2%;bottom:-8%}
}
@media (max-width:620px){
  .stats-row{grid-template-columns:1fr;gap:24px}
  .pillars,.client-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-ctas .btn,.closing-ctas .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  .rv,.sw>i,.foot-mark span{opacity:1 !important;transform:none !important}
  .div-d span,.lbl-row .ln,.stat .top,.scard .num::after{transform:none !important}
  .div-d i{transform:rotate(45deg) !important}
  .ph .ph-img{opacity:1;filter:none;transform:none}
  .marq-track,.assoc-track,.client-track{animation:none;flex-wrap:wrap}
  .pstep p{opacity:1}.pstep .pn{color:var(--copper)}
  .ind-sticky{position:static;height:auto}
  .ind-rail{overflow-x:auto;transform:none !important}
  .aura{display:none}
  html{scroll-behavior:auto}
}


/* ============ V6: LIVING LATTICE (thesis column) ============ */
.lattice-stage{position:relative;margin-top:14px;flex:1 1 auto;height:auto;min-height:300px}
@media (min-width:941px){.lattice-stage{transform:translateX(-5.5%)}}
.lattice{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.6s var(--e)}
.lattice.on{opacity:1}

/* ============ V6: INSTRUMENT HUD ============ */
@media (max-width:940px){.lattice-stage{flex:none;height:36vh;min-height:220px;margin:4px 0 10px}}
@media (prefers-reduced-motion:reduce){.lattice-stage{display:none}}

/* ================================================================
   MULTIPAGE MODULES
   ================================================================ */

/* ---------- interior page heroes ---------- */
.crumb{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper)}
.crumb a{color:var(--dim);transition:color .3s}
.crumb a:hover{color:var(--ink)}
.crumb i{width:5px;height:5px;background:var(--copper);transform:rotate(45deg)}
.phero{padding-top:clamp(140px,20vh,220px);padding-bottom:clamp(56px,8vh,110px);overflow:hidden}
.phero .wrap{position:relative;z-index:2}
.phero h1{margin:22px 0 24px;max-width:19ch}
.phero .lede{max-width:62ch}
.phero-ctas{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}
/* full-bleed photographic hero (practice pages) */
.phero-band{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(620px,96svh,940px);color:#FAF8F4;padding-top:120px}
.phero-band::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,38,37,.56),rgba(20,48,47,.36) 40%,rgba(12,31,30,.92))}
.phero-band .wrap{position:relative;z-index:4;width:100%;padding-bottom:clamp(40px,6.5vh,76px)}
.phero-band .crumb{color:#E9CDB4}.phero-band .crumb a{color:rgba(250,248,244,.72)}.phero-band .crumb a:hover{color:#fff}
.phero-band .crumb i{background:#E9CDB4}
.phero-band h1{margin:20px 0 20px;max-width:18ch;color:#FAF8F4}
.phero-band .lede{color:rgba(250,248,244,.88);max-width:60ch}
.phero-band .btn-ink{background:#FAF8F4;color:var(--ink)}
.phero-band .btn-line{border-color:rgba(250,248,244,.44);color:#FAF8F4}
.phero-band .btn-line::before{background:#FAF8F4}
.phero-band .btn-line:hover{color:var(--ink);border-color:#FAF8F4}
/* dark inverted hero (AI practice) */
.phero-dark{background:linear-gradient(160deg,var(--ink-d),var(--teal) 120%);color:#FAF8F4;position:relative;overflow:hidden}
.phero-dark::after{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.phero-dark .aura.a1{opacity:.4}
.phero-dark h1{color:#FAF8F4}
.phero-dark .lede{color:rgba(250,248,244,.86)}
.phero-dark .crumb a{color:rgba(250,248,244,.66)}.phero-dark .crumb a:hover{color:#fff}
.phero-dark .btn-ink{background:#FAF8F4;color:var(--ink)}
.phero-dark .btn-line{border-color:rgba(250,248,244,.44);color:#FAF8F4}
.phero-dark .btn-line::before{background:#FAF8F4}
.phero-dark .btn-line:hover{color:var(--ink);border-color:#FAF8F4}
/* section header helper */
.sec-h{max-width:820px;margin-bottom:clamp(34px,5vh,62px)}
.sec-h .d-xl,.sec-h .d-lg{margin-top:18px}
.sec-h .lede{margin-top:20px}
.sec-h.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-h.center .eyebrow{justify-content:center;display:inline-flex}

/* ---------- pills & jump nav ---------- */
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{border:1px solid var(--line);border-radius:100px;padding:10px 20px;font-size:13px;font-weight:500;color:var(--dim);background:transparent;
  transition:color .4s var(--e),border-color .4s var(--e),background .4s var(--e),transform .4s var(--e)}
.pill:hover{color:var(--ink);border-color:var(--copper);background:#fff;transform:translateY(-2px)}
.jump-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.jump-pills .pill{font-size:12px;padding:9px 17px}
.phero-band .jump-pills .pill{border-color:rgba(250,248,244,.34);color:rgba(250,248,244,.85)}
.phero-band .jump-pills .pill:hover{background:rgba(250,248,244,.14);color:#fff;border-color:#fff}

/* ================================================================
   SERVICES  ·  "The Practice Index"
   ================================================================ */
.svc-ch{padding:clamp(60px,8.5vh,112px) 0;position:relative}
.svc-ch.alt{background:var(--mist)}
.svc-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(30px,4.5vw,90px)}
.svc-side{align-self:start}
@media (min-width:941px){
  .svc-side{position:sticky;top:94px;display:flex;flex-direction:column;max-height:calc(100vh - 118px)}
  .svc-side .lede,.svc-side .dimtext{flex:none}
  .svc-media{flex:none;aspect-ratio:auto;height:clamp(250px,34vh,340px);width:100%;max-width:none}
  .svc-media .ph-img{inset:-6% 0}
  .svc-side .btn{display:flex;width:100%;justify-content:center;text-align:center;
    font-size:clamp(11.5px,.92vw,13px);padding:16px 18px;letter-spacing:.02em}
}
@media (min-width:941px) and (max-height:800px){
  .svc-media{height:clamp(200px,26vh,260px)}
}
.svc-no{font-family:var(--f-d);font-weight:800;font-size:clamp(56px,7vw,110px);line-height:.9;letter-spacing:-.05em;color:var(--sand);display:block}
.svc-ch.alt .svc-no{color:#DACBB4}
.svc-side h2{margin-top:14px}
.svc-side .lede{margin-top:18px;font-size:15px}
.svc-side .btn{margin-top:26px}
.svc-media{margin-top:30px;aspect-ratio:4/2.9;border-radius:18px}
.svc-group{border-top:1.4px solid var(--line-2);padding:clamp(22px,3.4vh,34px) 0}
.svc-group:last-of-type{border-bottom:1.4px solid var(--line-2)}
.svc-group h4{font-family:var(--f-d);font-weight:600;font-size:clamp(17px,1.5vw,21px);letter-spacing:-.024em;display:flex;align-items:center;gap:14px;margin-bottom:16px}
.svc-group h4 .gi{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--copper);font-family:var(--f-b)}
.svc-list{list-style:none;columns:2;column-gap:clamp(20px,3vw,44px)}
.svc-list li{break-inside:avoid;padding:9px 0 9px 20px;position:relative;color:var(--dim);font-size:14px;line-height:1.5;
  border-bottom:1px solid var(--line);transition:color .35s,padding-left .35s var(--e)}
.svc-list li::before{content:"";position:absolute;left:2px;top:16px;width:5px;height:5px;border:1.2px solid var(--copper);transform:rotate(45deg);transition:background .35s}
.svc-list li:hover{color:var(--ink);padding-left:26px}
.svc-list li:hover::before{background:var(--copper)}
.svc-start{margin-top:30px}
.svc-start h5{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.svc-start h5::after{content:"";height:1px;flex:1;background:var(--line-2)}
.ways-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.cross-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(13px,1.4vw,20px)}
.cross-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.2vw,34px);transition:transform .55s var(--e),box-shadow .55s var(--e),border-color .55s var(--e)}
.cross-card:hover{transform:translateY(-6px);box-shadow:0 26px 52px -28px rgba(28,62,64,.3);border-color:var(--copper)}
.cross-card h4{font-family:var(--f-d);font-weight:600;font-size:clamp(16.5px,1.35vw,20px);letter-spacing:-.024em;margin-bottom:10px}
.cross-card p{color:var(--dim);font-size:13.6px;line-height:1.62}

/* ================================================================
   INDUSTRIES HUB  ·  "The Atlas"
   ================================================================ */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(13px,1.4vw,20px)}
.mtile{position:relative;border-radius:22px;overflow:hidden;display:flex;align-items:flex-end;border:1px solid var(--line);
  min-height:330px;transition:transform .7s var(--e),box-shadow .7s var(--e)}
.mtile:hover{transform:translateY(-8px);box-shadow:0 40px 78px -40px rgba(28,62,64,.5)}
.mtile .ph-img{transition:opacity 1.2s var(--e),filter 1.4s var(--e),transform 1.2s var(--e)}
.mtile:hover .ph-img{transform:scale(1.06)}
.mtile.s4{grid-column:span 4;min-height:420px}
.mtile.s2{grid-column:span 2}
.mtile.s3{grid-column:span 3}
.mtile.s6{grid-column:span 6;min-height:300px}
.mtile-body{position:relative;z-index:7;padding:clamp(20px,2vw,32px);width:100%;color:#FAF8F4}
.mtile-body .idx{font-size:10px;font-weight:600;letter-spacing:.26em;color:#E9CDB4;display:flex;justify-content:space-between;margin-bottom:10px}
.mtile-body h3{font-family:var(--f-d);font-weight:600;font-size:clamp(19px,1.8vw,28px);letter-spacing:-.028em;line-height:1.1;margin-bottom:9px}
.mtile-body p{font-size:13px;line-height:1.6;color:rgba(250,248,244,.84);max-width:52ch;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--e),opacity .6s var(--e),margin .7s var(--e)}
.mtile:hover p,.mtile:focus-within p{max-height:120px;opacity:1;margin-bottom:11px}
.mtile.s4 p,.mtile.s6 p{max-height:none;opacity:1;margin-bottom:11px}
.mtile-body .go{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#E9CDB4}
.mtile-body .go .arr{transition:transform .45s var(--e)}
.mtile:hover .go .arr{transform:translateX(5px)}

/* ================================================================
   PRACTICE PAGES  ·  "The Sector File"
   ================================================================ */
.who-band{background:var(--mist);border-radius:26px;padding:clamp(26px,3vw,46px)}
.who-band h3{font-family:var(--f-d);font-weight:600;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.024em;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.who-band h3 i{width:6px;height:6px;background:var(--copper);transform:rotate(45deg)}
.who-chips{display:flex;flex-wrap:wrap;gap:9px}
.who-chips span{border:1px solid var(--line-2);background:var(--paper);border-radius:100px;padding:9px 18px;font-size:13px;font-weight:500;color:var(--teal);
  transition:border-color .4s,transform .4s var(--e)}
.who-chips span:hover{border-color:var(--copper);transform:translateY(-2px)}
.ledger-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,52px)}
.intel{background:linear-gradient(160deg,var(--ink-d),var(--teal) 130%);color:#FAF8F4;border-radius:32px;padding:clamp(44px,6vh,84px) clamp(24px,3.4vw,64px)}
.intel .eyebrow{color:#E9CDB4}.intel .eyebrow i{background:#E9CDB4}
.intel .sec-h .d-lg{color:#FAF8F4}
.intel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(13px,1.4vw,20px);margin-top:clamp(30px,4.5vh,52px)}
.intel-card{border:1px solid rgba(250,248,244,.16);border-radius:18px;padding:clamp(20px,2vw,30px);background:rgba(250,248,244,.04);
  transition:background .5s,border-color .5s,transform .55s var(--e)}
.intel-card:hover{background:rgba(250,248,244,.09);border-color:rgba(233,205,180,.5);transform:translateY(-5px)}
.intel-card .ii{font-family:var(--f-d);font-weight:700;font-size:11px;letter-spacing:.24em;color:#E9CDB4;display:block;margin-bottom:14px}
.intel-card h4{font-family:var(--f-d);font-weight:600;font-size:clamp(16px,1.3vw,19.5px);letter-spacing:-.022em;margin-bottom:9px}
.intel-card p{font-size:13.2px;line-height:1.62;color:rgba(250,248,244,.76)}
.partner-band{border-left:2px solid var(--copper);padding-left:clamp(20px,2.4vw,36px);max-width:840px}
.partner-band p{font-family:var(--f-d);font-weight:500;font-size:clamp(16px,1.4vw,20.5px);line-height:1.5;letter-spacing:-.02em;color:var(--teal)}
.pn-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1.4px solid var(--line-2)}
.pn-nav a{padding:clamp(28px,4.5vh,48px) 0;display:flex;flex-direction:column;gap:9px;transition:background .4s}
.pn-nav a:last-child{text-align:right;align-items:flex-end;border-left:1.4px solid var(--line-2);padding-left:24px}
.pn-nav a:first-child{padding-right:24px}
.pn-nav small{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper)}
.pn-nav b{font-family:var(--f-d);font-weight:600;font-size:clamp(18px,1.9vw,28px);letter-spacing:-.028em;color:var(--ink);transition:color .35s}
.pn-nav a:hover b{color:var(--copper-d)}
.stat-chip{position:absolute;right:0;bottom:0;z-index:5;background:rgba(250,248,244,.94);backdrop-filter:blur(12px);
  border-radius:18px;padding:18px 24px;color:var(--ink);box-shadow:0 24px 52px -26px rgba(20,48,47,.5);max-width:250px}
.stat-chip b{font-family:var(--f-d);font-weight:700;font-size:30px;letter-spacing:-.04em;display:block}
.stat-chip b i{font-style:normal;color:var(--copper);font-size:.55em}
.stat-chip span{font-size:11.5px;color:var(--dim);line-height:1.5;display:block;margin-top:4px}

/* ================================================================
   ABOUT  ·  "The Record"
   ================================================================ */
.story-ch{display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(26px,4vw,80px);padding:clamp(30px,4.6vh,52px) 0;border-top:1.4px solid var(--line)}
.story-ch:first-of-type{border-top:none;padding-top:0}
.story-no{font-family:var(--f-d);font-weight:800;font-size:clamp(40px,4.6vw,72px);line-height:.9;letter-spacing:-.05em;color:var(--sand)}
.story-ch h3{font-family:var(--f-d);font-weight:600;font-size:clamp(19px,1.9vw,28px);letter-spacing:-.028em;margin-bottom:14px}
.story-ch p{color:var(--dim);font-size:15px;line-height:1.7;max-width:66ch}
.story-ch p+p{margin-top:14px}
.pmv{background:var(--mist);border-radius:32px;padding:clamp(38px,5.6vh,72px) clamp(24px,3.4vw,60px);text-align:center}
.pmv .d-lg{max-width:22ch;margin:18px auto 16px}
.pmv .lede{margin:0 auto}
.pmv-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(13px,1.4vw,20px);margin-top:clamp(30px,4.5vh,48px);text-align:left}
.pmv-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.2vw,34px)}
.pmv-card h4{font-family:var(--f-d);font-weight:600;font-size:17px;letter-spacing:-.02em;margin-bottom:9px;color:var(--copper-d)}
.pmv-card p{color:var(--dim);font-size:14px;line-height:1.66}
.leader{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,76px);padding:clamp(38px,5.6vh,66px) 0;border-top:1.4px solid var(--line)}
.leader:first-of-type{border-top:none}
.leader-visual{position:relative}
.leader-visual .ph{aspect-ratio:4/4.4;border-radius:20px;box-shadow:0 40px 84px -48px rgba(28,62,64,.46)}
.leader-mono{aspect-ratio:4/4.4;border-radius:20px;background:linear-gradient(160deg,var(--teal),var(--ink-d));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  box-shadow:0 40px 84px -48px rgba(28,62,64,.46)}
.leader-mono .logo-mark{width:64px;height:56px;opacity:.9}
.leader-mono b{font-family:var(--f-d);font-weight:700;font-size:clamp(34px,3.4vw,52px);letter-spacing:.06em;color:rgba(250,248,244,.92)}
.leader-copy .role{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper);margin:8px 0 16px;display:block}
.leader-copy h3{font-family:var(--f-d);font-weight:600;font-size:clamp(23px,2.4vw,36px);letter-spacing:-.032em}
.leader-copy p{color:var(--dim);font-size:14.8px;line-height:1.7;max-width:64ch}
.leader-copy p+p{margin-top:13px}
.cred{margin-top:20px}
.cred h5{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper);margin-bottom:12px}
.cred ul{list-style:none}
.cred li{padding:8px 0 8px 20px;position:relative;color:var(--dim);font-size:13.6px;border-bottom:1px solid var(--line)}
.cred li::before{content:"";position:absolute;left:2px;top:15px;width:5px;height:5px;border:1.2px solid var(--copper);transform:rotate(45deg)}
.leader-copy blockquote{border-left:2px solid var(--copper);padding-left:20px;margin-top:22px;
  font-family:var(--f-d);font-weight:500;font-size:clamp(14.5px,1.15vw,17px);line-height:1.5;letter-spacing:-.018em;color:var(--teal)}
.net-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(13px,1.4vw,20px)}
.net-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.2vw,32px);position:relative;overflow:hidden;
  transition:transform .55s var(--e),box-shadow .55s var(--e),border-color .55s var(--e)}
.net-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px -26px rgba(28,62,64,.28);border-color:var(--copper)}
.net-card .gem{width:11px;height:11px;border:2px solid var(--copper);transform:rotate(45deg);display:block;margin-bottom:20px;transition:.6s var(--e3)}
.net-card:hover .gem{background:var(--copper);transform:rotate(225deg)}
.net-card h4{font-family:var(--f-d);font-weight:600;font-size:17px;letter-spacing:-.022em;margin-bottom:5px}
.net-card b{display:block;font-weight:500;font-size:13.2px;color:var(--teal);margin-bottom:8px}
.net-card span{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}

/* ================================================================
   CONTACT  ·  "The Console"
   ================================================================ */
.ct-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,80px);align-items:start}
.ct-card{position:sticky;top:112px;background:linear-gradient(160deg,var(--ink-d),var(--teal) 140%);color:#FAF8F4;border-radius:26px;
  padding:clamp(26px,3vw,44px);overflow:hidden}
.ct-card .eyebrow{color:#E9CDB4}.ct-card .eyebrow i{background:#E9CDB4}
.ct-card h3{font-family:var(--f-d);font-weight:600;font-size:clamp(20px,1.9vw,28px);letter-spacing:-.028em;margin:16px 0 22px}
.ct-line{display:block;padding:14px 0;border-top:1px solid rgba(250,248,244,.14)}
.ct-line small{display:block;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#E9CDB4;margin-bottom:6px}
.ct-line a,.ct-line span{font-family:var(--f-d);font-weight:600;font-size:clamp(16px,1.4vw,20px);letter-spacing:-.02em;color:#FAF8F4;transition:color .3s}
.ct-line a:hover{color:#E9CDB4}
.ct-geo{margin-top:20px;padding-top:16px;border-top:1px solid rgba(250,248,244,.14);
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:9.5px;letter-spacing:.14em;color:rgba(250,248,244,.5);text-transform:uppercase}
.ct-promise{margin-top:18px;font-size:13px;line-height:1.6;color:rgba(250,248,244,.72)}
.form{display:flex;flex-direction:column;gap:26px}
.fgroup{border-top:1.4px solid var(--line-2);padding-top:20px}
.fgroup>h4{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper);margin-bottom:18px;display:flex;gap:12px;align-items:baseline}
.fgroup>h4 b{font-family:ui-monospace,Menlo,monospace;font-weight:400;color:var(--dim);letter-spacing:.1em}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{position:relative}
.fld input,.fld textarea{width:100%;background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:22px 16px 10px;
  font:inherit;font-size:14.5px;color:var(--ink);transition:border-color .35s,box-shadow .35s;outline:none}
.fld textarea{min-height:130px;resize:vertical;line-height:1.6}
.fld label{position:absolute;left:16px;top:16px;font-size:13.5px;color:var(--dim);pointer-events:none;transition:.3s var(--e);transform-origin:left}
.fld input:focus,.fld textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(193,129,97,.14)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,
.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{transform:translateY(-9px) scale(.74);color:var(--copper)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips button{border:1px solid var(--line-2);border-radius:100px;padding:10px 19px;font-size:13px;font-weight:500;color:var(--dim);background:#fff;
  transition:.35s var(--e)}
.chips button:hover{border-color:var(--copper);color:var(--ink)}
.chips button.sel{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;color:var(--dim);line-height:1.6}
.consent input{margin-top:3px;accent-color:var(--copper);width:16px;height:16px}
.form-note{font-size:12.5px;color:var(--dim)}
.form-ok{background:linear-gradient(140deg,#EDF3EE,#E2EDE4);border:1px solid rgba(49,96,97,.24);border-radius:14px;padding:18px 20px;color:var(--teal);font-size:14px;display:none}
.form-ok.show{display:block}

/* ================================================================
   STARTING POINT  ·  "The Instrument"
   ================================================================ */
.quiz-shell{max-width:920px;margin:0 auto;padding:0 var(--gut)}
.quiz-top{display:flex;align-items:center;gap:18px;margin-bottom:clamp(26px,4vh,44px)}
.quiz-gems{display:flex;gap:9px}
.quiz-gems i{width:8px;height:8px;border:1.5px solid var(--line-2);transform:rotate(45deg);transition:.45s var(--e)}
.quiz-gems i.done{background:var(--copper);border-color:var(--copper)}
.quiz-gems i.cur{border-color:var(--copper);box-shadow:0 0 0 4px rgba(193,129,97,.16)}
.quiz-top .bar{flex:1;height:2px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.quiz-top .bar i{position:absolute;left:0;top:0;height:100%;background:var(--copper);width:0;transition:width .6s var(--e)}
.quiz-top .cnt{font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.2em;color:var(--dim)}
.qcard{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(26px,3.4vw,52px);
  box-shadow:0 34px 78px -46px rgba(28,62,64,.28)}
.qcard .eyebrow{margin-bottom:16px}
.qcard h2{margin-bottom:26px}
.opts{display:flex;flex-direction:column;gap:10px}
.opts button{display:flex;align-items:center;gap:16px;text-align:left;width:100%;border:1px solid var(--line-2);border-radius:14px;
  padding:16px 18px;background:var(--paper);font-size:14.5px;font-weight:500;color:var(--teal);transition:.35s var(--e)}
.opts button .k{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;letter-spacing:.1em;color:var(--copper);border:1px solid var(--line-2);
  border-radius:7px;padding:4px 8px;flex:none;transition:.35s}
.opts button:hover{border-color:var(--copper);background:#fff;transform:translateX(4px)}
.opts button:hover .k{background:var(--copper);color:#fff;border-color:var(--copper)}
.quiz-sig{margin-top:clamp(24px,3.6vh,38px);border-top:1.4px solid var(--line);padding-top:20px}
.quiz-sig h5{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.sig-row{display:grid;grid-template-columns:210px 1fr 34px;gap:14px;align-items:center;padding:7px 0}
.sig-row small{font-size:12px;font-weight:600;color:var(--teal)}
.sig-row .sbar{height:5px;background:var(--mist);border-radius:4px;position:relative;overflow:hidden}
.sig-row .sbar i{position:absolute;left:0;top:0;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--copper),var(--copper-d));transition:width .7s var(--e)}
.sig-row b{font-family:ui-monospace,Menlo,monospace;font-weight:400;font-size:10.5px;color:var(--dim);text-align:right}
.quiz-back{margin-top:20px;font-size:12.5px;font-weight:600;color:var(--dim);display:inline-flex;gap:8px;align-items:center;transition:color .3s}
.quiz-back:hover{color:var(--ink)}
.rcard{text-align:center}
.rcard .logo-mark{width:46px;height:41px;margin:0 auto 20px}
.rcard h2{max-width:16ch;margin-left:auto;margin-right:auto}
.rcard .lede{margin:18px auto 26px}
.r-eng{display:inline-flex;flex-direction:column;gap:6px;background:var(--mist);border:1px solid var(--line);border-radius:16px;padding:18px 30px;margin-bottom:30px}
.r-eng small{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--copper)}
.r-eng b{font-family:var(--f-d);font-weight:600;font-size:clamp(16px,1.5vw,21px);letter-spacing:-.02em;color:var(--ink)}
.r-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.quiz-note{text-align:center;font-size:12px;color:var(--dim);margin-top:24px}
[data-step]{display:none}
[data-step].on{display:block;animation:qin .7s var(--e)}
@keyframes qin{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- responsive for modules ---------- */
@media (max-width:1080px){
  .intel-grid,.cross-grid,.net-grid{grid-template-columns:1fr 1fr}
  .ways-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:940px){
  .svc-grid,.ct-grid,.leader,.story-ch{grid-template-columns:1fr;gap:26px}
  .svc-side,.ct-card{position:static}
  .svc-media{max-width:440px}
  .ledger-cols,.pmv-cards,.frow{grid-template-columns:1fr}
  .mtile.s4,.mtile.s3,.mtile.s2{grid-column:span 6;min-height:300px}
  .mtile p{max-height:none;opacity:1;margin-bottom:11px}
  .stat-chip{position:static;margin-top:26px;max-width:none;display:inline-block;background:rgba(250,248,244,.92)}
  .sig-row{grid-template-columns:130px 1fr 30px}
  .leader-visual .ph,.leader-mono{max-width:400px}
}
@media (max-width:620px){
  .intel-grid,.cross-grid,.net-grid,.ways-grid,.svc-list{grid-template-columns:1fr;columns:1}
  .pn-nav{grid-template-columns:1fr}
  .pn-nav a:last-child{border-left:none;border-top:1.4px solid var(--line-2);text-align:left;align-items:flex-start;padding-left:0}
  .r-ctas .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  [data-step].on{animation:none}
}


/* ---------- nav over dark heroes ---------- */
body.dark-hero .nav:not(.scrolled) .nav-links a{color:rgba(250,248,244,.72)}
body.dark-hero .nav:not(.scrolled) .nav-links a:hover,
body.dark-hero .nav:not(.scrolled) .nav-links a.active{color:#FAF8F4}
body.dark-hero .nav:not(.scrolled) .brand .logo-img{background-image:var(--logo-w)}
body.dark-hero .nav:not(.scrolled) .btn-ink{background:#FAF8F4;color:var(--ink)}
body.dark-hero .nav:not(.scrolled) .burger span{background:#FAF8F4}

/* practice context grid */
.ctx-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(30px,4.5vw,90px)}
@media (max-width:940px){.ctx-grid{grid-template-columns:1fr;gap:20px}}


/* ---------- photo-card text scrims ---------- */
.icard::before,.mtile::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,38,37,.22),rgba(20,48,47,.30) 45%,rgba(12,31,30,.90))}

/* ================================================================
   ICON SYSTEM
   ================================================================ */
.ico{width:46px;height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex:none;
  color:var(--copper-d);background:linear-gradient(140deg,#FFFFFF,#F3ECE0);border:1px solid var(--line);
  transition:transform .55s var(--e3),background .5s var(--e),color .5s var(--e),border-color .5s var(--e)}
.ico svg{width:22px;height:22px}
.cross-card .ico,.pillar .ico{margin-bottom:20px}
.cross-card:hover .ico,.pillar:hover .ico{color:#fff;background:linear-gradient(140deg,var(--copper),var(--copper-d));
  border-color:transparent;transform:rotate(-8deg) scale(1.07)}
.ic-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ic-top .ii{margin:0}
.intel-card .ico{background:rgba(250,248,244,.07);border-color:rgba(250,248,244,.22);color:#E9CDB4}
.intel-card:hover .ico{background:rgba(233,205,180,.18);color:#F3DCC5;transform:rotate(-8deg) scale(1.07);border-color:rgba(233,205,180,.4)}
@media (prefers-reduced-motion:reduce){.ico{transition:none}}

/* ================================================================
   BARE ICON SECTIONS  ·  glyphs on positive space, no holders
   ================================================================ */
.ico-b{display:inline-flex;color:var(--ink);flex:none}
.ico-b svg{width:30px;height:30px;stroke-width:2.05px}
.bare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(34px,4.6vh,56px) clamp(26px,3.4vw,60px)}
.bare-it{display:flex;flex-direction:column;align-items:flex-start}
.bare-it .ico-b{margin-bottom:18px;transition:transform .55s var(--e3),color .5s var(--e)}
.bare-it:hover .ico-b{color:var(--copper-d);transform:translateY(-3px)}
.bare-it h4{font-family:var(--f-d);font-weight:600;font-size:clamp(17px,1.45vw,21px);letter-spacing:-.024em;margin-bottom:9px}
.bare-it p{color:var(--dim);font-size:13.8px;line-height:1.64;max-width:38ch}
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(30px,4.2vh,48px) clamp(24px,3vw,52px)}
.who-it{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.who-it .ico-b{transition:transform .55s var(--e3),color .5s var(--e)}
.who-it:hover .ico-b{color:var(--copper-d);transform:translateY(-3px)}
.who-it span:last-child{font-weight:500;font-size:14.5px;line-height:1.45;color:var(--teal);letter-spacing:-.01em}
@media (max-width:1080px){.who-grid{grid-template-columns:repeat(3,1fr)}.bare-grid{grid-template-columns:1fr 1fr}}
@media (max-width:940px){.who-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){
  .bare-grid{grid-template-columns:1fr;gap:26px}
  .who-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .who-it{background:linear-gradient(150deg,#1E4345 0%,#142F2E 70%);border:1px solid rgba(250,248,244,.13);
    border-radius:16px;padding:18px 15px 16px;gap:11px}
  .who-it .ico-b{color:#E4B393}
  .who-it span:last-child{font-size:13.2px;line-height:1.4;color:rgba(250,248,244,.9)}
}

/* ================================================================
   AI OPPORTUNITY  ·  split editorial section
   ================================================================ */
.opp-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,4.5vw,88px);align-items:center}
.opp-media{aspect-ratio:4/3.15;border-radius:24px;box-shadow:0 40px 84px -48px rgba(28,62,64,.48)}
.opp-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.opp-copy .d-lg{max-width:17ch}
.opp-copy .lede{max-width:54ch}
@media (max-width:940px){
  .opp-grid{grid-template-columns:1fr;gap:28px}
  .opp-media{aspect-ratio:4/2.9;max-width:520px}
  .opp-copy{align-items:flex-start;text-align:left}
}

/* ================================================================
   THE MERIDIAN  ·  scroll-driven signal rail
   ================================================================ */
.mtrack{position:relative}
.mstage{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:40px 0}
.m-head{margin-bottom:clamp(30px,5vh,54px)}
.m-head .eyebrow{margin-bottom:14px}
.m-head h2{max-width:22ch}
.mer-rail{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:clamp(12px,1.6vw,30px)}
.mer-line{position:absolute;left:6px;right:6px;top:44px;height:2px;background:var(--line)}
.mer-flow{position:absolute;left:6px;right:6px;top:44px;height:2px;pointer-events:none;overflow:hidden}
.mer-flow i{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(193,129,97,.5) 0 7px,transparent 7px 15px);
  will-change:transform;animation:merflow 2.4s linear infinite}
@keyframes merflow{to{transform:translateX(15px)}}
.mer-prog{position:absolute;left:6px;top:44px;height:2px;width:0;background:linear-gradient(90deg,var(--copper-d),var(--copper));
  box-shadow:0 0 10px rgba(193,129,97,.35)}
.mer-dot{position:absolute;top:39px;left:6px;width:12px;height:12px;border-radius:50%;margin-left:-6px;
  background:radial-gradient(circle at 32% 28%,#F0C4A6,var(--copper-d));
  box-shadow:0 0 0 5px rgba(193,129,97,.18),0 0 18px rgba(193,129,97,.55)}
.mer-dot::after{content:"";position:absolute;inset:-7px;border:1.6px solid var(--copper);border-radius:50%;
  animation:merdotring 1.9s var(--e3) infinite}
@keyframes merdotring{0%{opacity:.7;transform:scale(.7)}80%,100%{opacity:0;transform:scale(1.9)}}
.mer-step{position:relative;padding:88px 18px 26px;z-index:1}
.mer-step::before{content:"";position:absolute;left:-8px;right:-8px;top:68px;bottom:0;border-radius:18px;z-index:-1;
  background:linear-gradient(165deg,#1E4345,#14302F);opacity:0;transform:translateY(8px);
  transition:opacity .5s var(--e3),transform .5s var(--e3);
  box-shadow:0 30px 60px -30px rgba(20,48,47,.55)}
.mer-gem{position:absolute;top:38px;left:0;width:13px;height:13px;border:2px solid var(--copper);
  background:var(--paper);transform:rotate(45deg);transition:.45s var(--e3)}
.mer-no{position:absolute;top:0;left:0;font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:11px;letter-spacing:.2em;color:var(--copper-d);transition:color .45s var(--e3)}
.mer-step h4{font-family:var(--f-d);font-weight:600;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.026em;margin-bottom:10px;transition:color .45s var(--e3)}
.mer-step p{color:var(--dim);font-size:13.4px;line-height:1.64;transition:color .45s var(--e3)}
.mer-step.on::before{opacity:1;transform:none}
.mer-step.on .mer-gem{background:var(--copper);box-shadow:0 0 0 7px rgba(193,129,97,.16)}
.mer-step.on .mer-no{color:var(--copper);font-weight:600}
.mer-step.on h4{color:#FAF8F4}
.mer-step.on p{color:rgba(250,248,244,.76)}
.mphase{margin-top:clamp(26px,4.5vh,44px);font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:9.5px;letter-spacing:.16em;
  color:var(--dim);text-transform:uppercase;display:flex;gap:12px;align-items:center}
.mphase b{color:var(--copper-d);font-weight:400;white-space:nowrap}
.mphase .ln{flex:1;height:1px;background:var(--line)}
.m-cta{margin-top:clamp(22px,4vh,38px)}
@media (min-width:821px){
  .mtrack{height:calc(100vh + var(--n)*40vh)}
  .mstage{position:sticky;top:0;height:100svh}
}
@media (max-width:820px){
  .mstage{min-height:0;padding:64px 0 56px}
  .mer-rail{display:block;position:relative;padding-left:44px}
  .mer-line{left:12px;top:8px;bottom:8px;right:auto;width:2px;height:auto}
  .mer-flow{left:12px;top:8px;bottom:8px;right:auto;width:2px;height:auto}
  .mer-flow i{background:repeating-linear-gradient(180deg,rgba(193,129,97,.5) 0 7px,transparent 7px 15px);animation:merflowv 2.4s linear infinite}
  @keyframes merflowv{to{transform:translateY(15px)}}
  .mer-prog{left:12px;top:8px;width:2px;height:0;background:linear-gradient(180deg,var(--copper-d),var(--copper))}
  .mer-dot{left:12px;top:8px;margin-left:-5px;margin-top:-6px}
  .mer-step{padding:0 0 30px 16px}
  .mer-step:last-child{padding-bottom:0}
  .mer-step::before{left:-6px;right:-6px;top:-10px;bottom:16px}
  .mer-step:last-child::before{bottom:-10px}
  .mer-gem{top:6px;left:-38px}
  .mer-no{position:static;display:inline-block;margin-bottom:8px}
  .mer-step h4{margin-top:0}
  .m-cta .btn{padding:13px 24px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .mtrack{height:auto !important}
  .mstage{position:static;height:auto}
  .mer-flow i{animation:none}
  .mer-dot{display:none}
  .mer-step.on::before{transform:none}
}

/* ================================================================
   WHY HXPERTS  ·  mirrored spread
   ================================================================ */
.why-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,4.5vw,84px);align-items:center}
.why-points{grid-template-columns:1fr 1fr}
.why-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.why-copy .d-lg{max-width:18ch}
.why-copy .lede{max-width:52ch}
@media (max-width:940px){
  .why-grid{grid-template-columns:1fr;gap:36px}
  .why-copy{align-items:flex-start;text-align:left;order:-1}
}

/* ================================================================
   CINEMATIC HERO  ·  four-scene silent film
   ================================================================ */
.hero-cine{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  isolation:isolate;color:var(--paper)}
.hc-film{position:absolute;inset:0;z-index:0;background:#122A2A}
.hc-poster{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.92)}
.hc-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s var(--e3)}
.hc-film video.live{opacity:1}
.hc-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(178deg,rgba(14,36,35,.66) 0%,rgba(18,44,43,.44) 46%,rgba(11,29,28,.78) 100%)}
.hc-scrim::after{content:"";position:absolute;inset:0;
  background:linear-gradient(76deg,rgba(11,29,28,.55) 0%,transparent 52%)}
.hc-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.hc-wrap{position:relative;z-index:3;padding-top:132px;padding-bottom:110px;width:100%}
.hero-cine .eyebrow{color:#E4B393}
.hero-cine h1{color:var(--paper);max-width:13ch;text-wrap:balance;text-shadow:0 2px 40px rgba(11,29,28,.35)}
.hero-cine h1 .dot{color:var(--copper)}
.hero-cine .lede{color:rgba(250,248,244,.84);max-width:56ch;margin-top:26px}
.hero-cine .hero-ctas{margin-top:36px}
.btn-copper{background:var(--copper);color:#fff;border:1.6px solid var(--copper)}
.btn-copper:hover{background:var(--copper-d);border-color:var(--copper-d)}
.hero-cine .btn-line{color:var(--paper);border-color:rgba(250,248,244,.5)}
.hero-cine .btn-line:hover{border-color:var(--paper);background:rgba(250,248,244,.08)}
.hc-cue{position:absolute;left:50%;bottom:66px;z-index:3;transform:translateX(-50%);
  width:1.6px;height:44px;background:rgba(250,248,244,.28);overflow:hidden}
.hc-cue::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;
  background:var(--copper);animation:hccue 2.2s var(--e3) infinite}
@keyframes hccue{to{top:110%}}
.hc-foot{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;
  justify-content:space-between;padding:22px var(--gut);
  font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(250,248,244,.55)}
.hc-reel{display:flex;gap:8px}
.hc-reel i{width:22px;height:2px;background:rgba(250,248,244,.28);border-radius:2px;overflow:hidden;position:relative}
.hc-reel i b{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--copper)}
@media (max-width:940px){
  .hc-wrap{padding-top:112px;padding-bottom:120px}
  .hc-foot{font-size:8.5px}
}
@media (prefers-reduced-motion:reduce){
  .hc-film video{display:none}
  .hc-cue::after{animation:none}
}

/* nav over the film: light mode until the frosted backdrop engages */
.nav.on-film .nav-links a{color:rgba(250,248,244,.82)}
.nav.on-film .nav-links a:hover,.nav.on-film .nav-links a.act{color:#fff}
.nav.on-film .logo-img{background-image:var(--logo-w)}
.nav.on-film .burger span{background:var(--paper)}

/* ================================================================
   IMAGE BREAKER  ·  full-bleed editorial pause
   ================================================================ */
.breaker{position:relative;min-height:clamp(320px,54vh,540px);display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate;color:var(--paper)}
.breaker .ph-img{z-index:0}
.breaker-scrim{position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(14,36,35,.22) 0%,rgba(12,31,30,.7) 82%)}
.breaker-in{position:relative;z-index:4;width:100%;padding-top:clamp(70px,12vh,120px);padding-bottom:clamp(34px,6vh,60px)}
.breaker .eyebrow{color:#E4B393}
.breaker-line{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,2.6vw,36px);
  letter-spacing:-.03em;line-height:1.16;max-width:26ch;margin-top:14px;text-wrap:balance;
  text-shadow:0 2px 30px rgba(11,29,28,.4)}
@media (max-width:940px){.breaker{min-height:clamp(280px,46svh,420px)}}

/* ---- mobile choreography cleanup ---- */
@media (max-width:940px){
  /* keep the pinned horizontal rail active on mobile so an upward swipe
     drives the cards sideways with the same smooth glide as desktop */
  .ind-prog{display:none}
  .mphase{display:none}
}

/* ================================================================
   V6.5 CINEMA · fluid motion layer
   momentum scroll, instrument cursor, scene choreography, HUD
   ================================================================ */

/* momentum scroll takes over easing; disable native smooth to avoid fights */
html.vlv{scroll-behavior:auto}

/* ---------- instrument cursor (fine pointers only) ---------- */
@media (hover:hover) and (pointer:fine){
  body.cx-on, body.cx-on a, body.cx-on button, body.cx-on .tilt{cursor:none}
  body.cx-on input, body.cx-on textarea, body.cx-on select, body.cx-on label{cursor:auto}
}
.cx{position:fixed;top:0;left:0;z-index:2147483647;pointer-events:none;opacity:0;transition:opacity .5s var(--e)}
.cx.on{opacity:1}
.cx-dot{position:fixed;top:-2.5px;left:-2.5px;width:5px;height:5px;background:var(--copper);
  transform:rotate(45deg);will-change:transform}
.cx-ring{position:fixed;top:-13px;left:-13px;width:26px;height:26px;border:1.3px solid rgba(193,129,97,.55);
  border-radius:3px;transform:rotate(45deg);will-change:transform;
  transition:width .45s var(--e),height .45s var(--e),top .45s var(--e),left .45s var(--e),
    border-color .45s var(--e),background .45s var(--e),border-radius .45s var(--e)}
.cx.is-link .cx-ring{width:44px;height:44px;top:-22px;left:-22px;border-color:var(--copper);
  background:rgba(193,129,97,.08);border-radius:6px}
.cx.is-press .cx-ring{width:20px;height:20px;top:-10px;left:-10px}
.cx.is-text .cx-ring,.cx.is-text .cx-dot{opacity:0}
.cx-ring,.cx-dot{transition-property:opacity,width,height,top,left,border-color,background,border-radius}

/* ---------- hero exit choreography ---------- */
.hero-cine .hc-film,.hero-cine .hc-wrap{will-change:transform}
.hc-bar{position:absolute;left:0;right:0;height:12vh;background:#0B1D1C;z-index:5;pointer-events:none;
  transform:scaleY(0);will-change:transform}
.hc-bar.t{top:0;transform-origin:top}
.hc-bar.b{bottom:0;transform-origin:bottom}

/* ---------- window-expand scenes ---------- */
.band,.closing,.breaker{will-change:clip-path}

/* ---------- instrument HUD ---------- */
.ihud{text-shadow:0 1px 4px rgba(250,248,244,.75);position:fixed;left:clamp(16px,2vw,26px);bottom:18px;z-index:900;pointer-events:none;
  display:flex;flex-direction:column;gap:7px;opacity:0;transform:translateY(10px);
  transition:opacity 1s var(--e) .3s,transform 1s var(--e) .3s,color .6s var(--e);
  font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(28,62,64,.52)}
.ihud.on{opacity:1;transform:none}
.ihud .row{display:flex;align-items:center;gap:10px;white-space:nowrap}
.ihud b{font-weight:600;color:var(--copper)}
.ihud .gem{width:5px;height:5px;background:var(--copper);transform:rotate(45deg);flex:none}
.ihud .vm{width:52px;height:2px;background:rgba(28,62,64,.16);overflow:hidden;border-radius:2px}
.ihud .vm i{display:block;height:100%;width:0;background:var(--copper);transition:width .25s linear}
.ihud.lt{text-shadow:0 1px 4px rgba(10,26,25,.65);color:rgba(250,248,244,.62)}
.ihud.lt .vm{background:rgba(250,248,244,.22)}
@media (max-width:940px){.ihud{display:none}}

@media (prefers-reduced-motion:reduce){
  .cx,.ihud,.hc-bar{display:none !important}
  .band,.closing,.breaker{clip-path:none !important}
  .hero-cine .hc-film,.hero-cine .hc-wrap{transform:none !important}
}

/* ================================================================
   V7-SEED PHENOMENON · scene system
   brand gradient chapters, curtain scene, frame scene, light beams
   ================================================================ */

/* ---------- gradient scene (dark teal chapter with living light) ---------- */
.gsec{position:relative;color:var(--paper);isolation:isolate;overflow:clip;
  background:
    radial-gradient(120% 90% at 86% -12%, rgba(193,129,97,.26), transparent 54%),
    radial-gradient(95% 75% at -12% 112%, rgba(78,124,124,.4), transparent 62%),
    linear-gradient(168deg,#17383A 0%,#0E2423 52%,#132F2D 100%)}
.gsec::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
.gsec::after{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg at 72% 20%,
    transparent 0 58%, rgba(193,129,97,.05) 68%, rgba(193,129,97,.11) 75%,
    rgba(228,179,147,.06) 81%, transparent 92%);
  transform:rotate(calc(var(--gspin,0)*1deg));transform-origin:72% 20%;will-change:transform}
.gsec > .wrap{position:relative;z-index:2}
.gsec .mstage{z-index:2}
.gsec .d{color:var(--paper)}
.gsec .lede{color:rgba(250,248,244,.78)}
.gsec .dimtext{color:rgba(250,248,244,.62)}
.gsec .eyebrow{color:#E4B393}
.gsec .eyebrow i{background:#E4B393}
.gsec .btn-line{color:var(--paper);border-color:rgba(250,248,244,.42)}
.gsec .btn-line::before{background:var(--paper)}
.gsec .btn-line:hover{color:var(--ink);border-color:var(--paper)}
.gsec .tlink{color:var(--paper)}

/* ---------- curtain scene · the signal ---------- */
.cine-curtain{position:relative;min-height:92svh;overflow:hidden;isolation:isolate;
  display:flex;align-items:flex-end;color:var(--paper)}
.cc-media{position:absolute;inset:0;z-index:0;will-change:transform;transform:scale(1.14)}
.cc-media::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(176deg,rgba(14,36,35,.18) 0%,rgba(14,36,35,.08) 44%,rgba(11,29,28,.6) 100%)}
.cc-veil{position:absolute;inset:0;z-index:3;will-change:transform;
  background:
    radial-gradient(110% 90% at 90% 0%, rgba(193,129,97,.24), transparent 52%),
    linear-gradient(160deg,#1B4143 0%,#122E2C 58%,#0E2423 100%)}
.cc-veil::after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:2px;
  background:linear-gradient(180deg,transparent,var(--copper),transparent);opacity:.8}
.cc-panel{position:relative;z-index:4;margin-left:auto;width:min(560px,92%);
  margin-right:var(--gut);margin-bottom:clamp(40px,7vh,88px);
  background:rgba(12,30,29,.5);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);
  border:1px solid rgba(250,248,244,.14);border-radius:20px;
  padding:clamp(26px,3vw,44px);opacity:0;will-change:transform,opacity}
.cc-panel .eyebrow{color:#E4B393;margin-bottom:16px}
.cc-panel .eyebrow i{background:#E4B393}
.cc-panel .d-lg{color:var(--paper)}
.cc-corner{position:absolute;z-index:4;left:var(--gut);bottom:clamp(40px,7vh,88px);
  font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(250,248,244,.5);display:flex;align-items:center;gap:12px}
.cc-corner i{width:32px;height:1px;background:rgba(250,248,244,.35)}
@media (max-width:940px){
  .cine-curtain{min-height:86svh}
  .cc-panel{margin:0 var(--gut) 40px;width:auto}
  .cc-corner{display:none}
}

/* ---------- dark capabilities chapter ---------- */
.caps-dark .scard{border-color:rgba(250,248,244,.12);box-shadow:none}
.caps-dark .scard:nth-child(1){
  background:linear-gradient(150deg,#1E4345 0%,#142F2E 62%,#122B2A 100%);color:var(--paper)}
.caps-dark .scard:nth-child(2){
  background:linear-gradient(150deg,#1A3B3C 0%,#112928 60%,#0F2625 100%);color:var(--paper)}
.caps-dark .scard:nth-child(3){
  background:linear-gradient(150deg,#BE7E5E 0%,#A2653F 58%,#8F5634 100%);
  border-color:rgba(250,248,244,.2)}
.caps-dark .scard h3{color:var(--paper)}
.caps-dark .scard .dimtext{color:rgba(250,248,244,.7)}
.caps-dark .scard:nth-child(3) .dimtext{color:rgba(250,248,244,.88)}
@media (min-width:1180px){.caps-dark .scard:nth-child(3) h3{font-size:clamp(23px,1.95vw,29px);letter-spacing:-.012em}}
.caps-dark .scard .num{color:#E4B393}
.caps-dark .scard:nth-child(3) .num{color:var(--paper)}
.caps-dark .scard .tlink{color:var(--paper)}
.caps-dark .scard-body{position:relative;z-index:1}
.caps-dark .ghost{position:absolute;right:-8px;top:-34px;z-index:0;pointer-events:none;user-select:none;
  font-family:var(--f-d);font-weight:800;font-size:clamp(120px,13vw,210px);line-height:1;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1.2px rgba(250,248,244,.09);
}
.caps-dark .scard:nth-child(3) .ghost{-webkit-text-stroke-color:rgba(250,248,244,.16)}
@supports not (-webkit-text-stroke:1px black){.caps-dark .ghost{color:rgba(250,248,244,.05)}}

/* ---------- dark meridian instrument ---------- */
.mtrack.gsec .mer-line{background:rgba(250,248,244,.15)}
.mtrack.gsec .mer-gem{background:#132F2D}
.mtrack.gsec .mer-step.on .mer-gem{background:var(--copper)}
.mtrack.gsec .mer-no{color:#E4B393;opacity:.75}
.mtrack.gsec .mer-step.on .mer-no{color:#E4B393;opacity:1}
.mtrack.gsec .mer-step h4{color:rgba(250,248,244,.88)}
.mtrack.gsec .mer-step p{color:rgba(250,248,244,.52)}
.mtrack.gsec .mer-step::before{background:linear-gradient(165deg,rgba(250,248,244,.09),rgba(250,248,244,.03));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.5);border:1px solid rgba(250,248,244,.1)}
.mtrack.gsec .mphase{color:rgba(250,248,244,.48)}
.mtrack.gsec .mphase b{color:#E4B393}
.mtrack.gsec .mphase .ln{background:rgba(250,248,244,.2)}

/* ---------- warm conic wash for light interludes ---------- */
.warmwash::after{content:"";position:absolute;inset:-18% -8%;z-index:0;pointer-events:none;
  background:conic-gradient(from 208deg at 82% 8%,transparent 0 42%,rgba(193,129,97,.1) 52%,transparent 62%),
    radial-gradient(56% 48% at 8% 92%,rgba(49,96,97,.09),transparent 70%)}

/* ---------- founder frame scene ---------- */
.f-stage[data-frame]{transform-origin:center 58%;will-change:transform}
.f-stage[data-frame]::after{content:"";position:absolute;inset:-16px;border-radius:30px;pointer-events:none;
  border:1px solid rgba(193,129,97,calc(.6*var(--fr,0)));
  box-shadow:0 0 44px calc(18px*var(--fr,0)) rgba(193,129,97,calc(.12*var(--fr,0)))}

/* ---------- closing copper beam ---------- */
.closing .beam{position:absolute;inset:-25%;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.65;
  background:conic-gradient(from 0deg at 50% 42%,transparent 0 70%,rgba(193,129,97,.18) 79%,rgba(228,179,147,.09) 84%,transparent 93%);
  animation:beamspin 30s linear infinite;will-change:transform}
@keyframes beamspin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  .cc-veil{display:none}
  .cc-media{transform:none !important}
  .cc-panel{opacity:1 !important;transform:none !important}
  .f-stage[data-frame]{transform:none !important}
  .f-stage[data-frame]::after{display:none}
  .gsec::after{display:none}
  .closing .beam{display:none}
}

/* ================================================================
   V7 VOICE · new type system, gradient ink, editorial capability
   chips, expanded chapter color rhythm
   ================================================================ */

/* ---------- type voice: Fraunces display, Manrope utility ---------- */
:root{
  --f-d:'Fraunces','Times New Roman',Georgia,serif;
  --f-b:'Manrope','Helvetica Neue',sans-serif;
}
.d{font-weight:560;letter-spacing:-.012em}
.d-hero{font-weight:520;letter-spacing:-.02em;line-height:1.09}
.d-xl{font-weight:550;letter-spacing:-.014em;line-height:1.1}
.d-lg{font-weight:560;letter-spacing:-.012em;line-height:1.14}
.scard h3{letter-spacing:-.014em;font-weight:560}
.icard h3{letter-spacing:-.012em;font-weight:560}
.m-menu a{letter-spacing:-.012em;font-weight:520}
.mer-step h4{letter-spacing:-.01em;font-weight:560}
.svc-group h4{letter-spacing:-.01em;font-weight:560}
.intel-card h4{letter-spacing:-.008em;font-weight:560}
.breaker-line{letter-spacing:-.012em;font-weight:520}
.foot-mark{letter-spacing:-.02em;font-weight:600}
.caps-dark .ghost{font-weight:600;letter-spacing:-.02em}
.hero-cine h1 .thin{font-weight:420}
.d em,.d .gx,.d .gx-w{font-style:italic;font-weight:480}

/* ---------- gradient ink ---------- */
.gx,.gx-w{background-size:130% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.gx{background-image:linear-gradient(96deg,var(--teal) 0%,var(--teal-l) 34%,var(--copper-d) 66%,var(--copper) 100%)}
.gx-w{background-image:linear-gradient(96deg,#FAF8F4 0%,#F3DCC5 36%,#E4B393 68%,#DCA985 100%)}
.split .gx .sw,.split .gx-w .sw{background-image:inherit;background-size:inherit;
  -webkit-background-clip:text;background-clip:text}
.split .gx .sw>i,.split .gx-w .sw>i{background-image:inherit;background-size:inherit;
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- capability chips: the end of the monotonous column ---------- */
.svc-list{columns:auto;column-gap:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:9px}
.svc-list li{break-inside:auto;margin:0;padding:12px 16px 12px 37px;position:relative;
  display:flex;align-items:center;min-height:52px;
  background:linear-gradient(150deg,#FFFFFF,#F7F2E9);border:1px solid var(--line);border-radius:13px;
  color:var(--teal);font-size:13.6px;line-height:1.45;font-weight:500;
  opacity:0;transform:translateY(16px);
  transition:transform .45s var(--e),border-color .4s var(--e),
    box-shadow .45s var(--e),color .35s,background .4s}
.svc-list li::before{content:"";position:absolute;left:15px;top:50%;margin-top:-3px;width:6px;height:6px;
  border:1.3px solid var(--copper);transform:rotate(45deg);transition:background .35s,transform .45s var(--e3)}
.svc-list.in li{opacity:1;transform:none;animation:chipin .65s var(--e) backwards;animation-delay:var(--cd,0s)}
@keyframes chipin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.svc-list li:hover{color:var(--ink);border-color:rgba(193,129,97,.55);padding-left:37px;
  box-shadow:0 14px 30px -18px rgba(28,62,64,.35);transform:translateY(-3px)}
.svc-list li:hover::before{background:var(--copper);transform:rotate(225deg)}
.svc-group{border-top:none;padding:clamp(24px,3.6vh,38px) 0}
.svc-group:last-of-type{border-bottom:none}
.svc-group h4{margin-bottom:18px}
.svc-group h4 .gi{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;
  padding:0 8px;border:1px solid rgba(193,129,97,.5);border-radius:8px;color:var(--copper-d);
  font-size:10.5px;letter-spacing:.16em;background:rgba(193,129,97,.07)}

/* dark chapter variants of the chip system */
.gsec .svc-list li{background:linear-gradient(150deg,rgba(250,248,244,.08),rgba(250,248,244,.03));
  border-color:rgba(250,248,244,.14);color:rgba(250,248,244,.82)}
.gsec .svc-list li::before{border-color:#E4B393}
.gsec .svc-list li:hover{color:#FAF8F4;border-color:rgba(228,179,147,.6);
  box-shadow:0 16px 34px -18px rgba(0,0,0,.5)}
.gsec .svc-list li:hover::before{background:#E4B393}
.gsec .svc-group h4{color:var(--paper)}
.gsec .svc-group h4 .gi{border-color:rgba(228,179,147,.5);color:#E4B393;background:rgba(228,179,147,.08)}
.gsec .sec-h .lede{color:rgba(250,248,244,.78)}
.gsec .crumb,.gsec .crumb a{color:rgba(250,248,244,.66)}

/* dark chapter variants of value and cross cards */
.gsec .cross-card{background:linear-gradient(150deg,rgba(250,248,244,.07),rgba(250,248,244,.025));
  border:1px solid rgba(250,248,244,.13)}
.gsec .cross-card h4{color:var(--paper)}
.gsec .cross-card p{color:rgba(250,248,244,.66)}
.gsec .cross-card .ico{background:rgba(250,248,244,.06);border-color:rgba(250,248,244,.2);color:#E4B393}
.gsec .cross-card:hover{border-color:rgba(228,179,147,.45)}

/* ---------- caps stack: three unique voices ---------- */
.caps-dark .scard:nth-child(2){
  background:linear-gradient(150deg,#FBF7EF 0%,#EFE4D2 58%,#E7D8C0 100%);color:var(--ink);
  border-color:rgba(28,62,64,.1)}
.caps-dark .scard:nth-child(2) h3{color:var(--ink)}
.caps-dark .scard:nth-child(2) .dimtext{color:var(--dim)}
.caps-dark .scard:nth-child(2) .num{color:var(--copper-d)}
.caps-dark .scard:nth-child(2) .tlink{color:var(--ink)}
.caps-dark .scard:nth-child(2) .ghost{-webkit-text-stroke-color:rgba(28,62,64,.1)}
@supports not (-webkit-text-stroke:1px black){.caps-dark .scard:nth-child(2) .ghost{color:rgba(28,62,64,.05)}}

/* ---------- intel panel joins the living-light system ---------- */
.intel{position:relative;overflow:hidden;isolation:isolate}
.intel::after{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg at 76% 16%,
    transparent 0 60%, rgba(193,129,97,.07) 70%, rgba(193,129,97,.15) 77%, transparent 90%);
  transform:rotate(calc(var(--gspin,0)*1deg));transform-origin:76% 16%;will-change:transform}
.intel > *{position:relative;z-index:1}

@media (prefers-reduced-motion:reduce){
  .svc-list li{opacity:1 !important;transform:none !important;animation:none !important}
  .intel::after{display:none}
}

/* ---------- layout hardening: tracks may always shrink ---------- */
.svc-grid > *,.ctx-grid > *,.who-grid > *,.hero-grid > *,.founder .wrap > *,.why-grid > *{min-width:0}
@media (max-width:620px){
  .btn{font-size:12.5px;padding:15px 22px;max-width:100%}
  .svc-side .btn,.phero-ctas .btn{width:100%;justify-content:center}
}

/* ---------- seam rhythm: sections following a dark chapter breathe less ---------- */
.gsec + .pad{padding-top:clamp(64px,9vh,124px)}

/* ================================================================
   STICKY COLUMN CTA · travel stop, contrast, label wrapping
   ================================================================ */

/* the sticky column stops travelling before it can touch the
   section boundary, keeping the CTA with the copy */
@media (min-width:941px){
  .svc-side{margin-bottom:clamp(64px,9vh,130px)}
}

/* long CTA labels in the sticky column wrap gracefully instead of
   clipping; the hover swap is retired for these buttons only */
.svc-side .btn .lbl{height:auto;white-space:normal;overflow:visible;line-height:1.35}
.svc-side .btn .lbl span{white-space:normal}
.svc-side .btn .lbl span:last-child{display:none}
.svc-side .btn:hover .lbl span{transform:none}

/* dark chapters invert the ink CTA for contrast, copper hover kept */
.gsec .btn-ink{background:var(--paper);color:var(--ink);
  box-shadow:0 16px 34px -18px rgba(0,0,0,.55)}
.gsec .btn-ink:hover{color:var(--ink)}

/* dark chapter pills: visible borders and text on the gradient */
.gsec .pill{border-color:rgba(250,248,244,.28);color:rgba(250,248,244,.85);
  background:rgba(250,248,244,.05)}
.gsec .pill:hover{border-color:rgba(228,179,147,.6);color:#FAF8F4;background:rgba(250,248,244,.12)}

/* stack cards never fade: they arrive opaque, by rise alone, so
   overlapping cards can never ghost through one another mid-reveal */
.caps-dark .scard.rv{opacity:1}
.caps-dark .scard.rv:not(.in){transform:translateY(34px)}

/* ================================================================
   CONTENT SYNC · associate network, text client marks, cap labels
   ================================================================ */
.client-name{display:flex;align-items:center;justify-content:center;height:100%;min-height:58px;
  font-family:var(--f-d);font-weight:560;font-size:clamp(14px,1.2vw,17px);letter-spacing:-.01em;
  color:var(--teal);text-align:center;padding:6px 10px}
.cap-lbl{font-family:var(--f-b);font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--copper-d);margin:2px 0 12px}
.gsec .cap-lbl{color:#E4B393}
.anet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.anet-grid.anet-wide{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.anet-card{background:linear-gradient(150deg,#FFFFFF,#F7F2E9);border:1px solid var(--line);border-radius:16px;
  padding:22px 22px 20px;transition:border-color .4s var(--e),box-shadow .45s var(--e),transform .45s var(--e)}
.anet-card:hover{border-color:rgba(193,129,97,.5);transform:translateY(-3px);
  box-shadow:0 18px 38px -22px rgba(28,62,64,.35)}
.anet-card h4{font-family:var(--f-d);font-weight:600;font-size:17px;letter-spacing:-.012em;color:var(--ink)}
.anet-role{font-family:var(--f-b);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--copper-d);margin:7px 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.anet-card p{font-size:13.2px;line-height:1.6;color:var(--dim)}
@media (max-width:620px){
  .lbl-row{flex-wrap:wrap;row-gap:8px}
  .lbl-row .eyebrow{flex:1 1 auto;min-width:0;display:flex;line-height:1.7}
  .lbl-row .ln{flex-basis:100%}
}
