/* ————————————————————————————————————————————
   Dr. Kristin Baron — KI-Recht · Bankrecht · Governance
   Typeface: Mulish only · greyish-white / navy / gold
———————————————————————————————————————————— */
:root{
  /* DCM Group brand palette. */
  --ink:#203B5C;
  --navy:#203B5C;
  --navy-light:#2B527A;
  --navy-pale:#DCE6EF;
  --gilt:#203B5C;
  --gilt-light:#B9CDDF;
  --teal:#B9CDDF;
  --slate:#52677D;
  --bg:#FFFFFF;
  --bg-2:#F4F7FA;
  --card:#FFFFFF;
  --line:rgba(32,59,92,0.09);
  --line-2:rgba(32,59,92,0.2);
  --line-w:rgba(255,255,255,0.14);
  --ease:cubic-bezier(.19,1,.22,1);
  --font:'Mulish', system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box; margin:0;}
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:132px;}
body{
  background:var(--bg); color:var(--ink);
  font-family:var(--font); font-weight:400;
  font-size:15.5px; line-height:1.75; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.locked{overflow:hidden;}
h1,h2,h3,h4{font-family:var(--font); color:var(--ink);}
a{color:inherit; text-decoration:none;}
ul{list-style:none; padding:0;}
img{max-width:100%; height:auto; display:block;}
::selection{background:var(--gilt-light); color:var(--ink);}
.wrap{max-width:1400px; margin:0 auto; padding:0 clamp(22px,4vw,64px);}
.mono{
  font-family:var(--font); font-weight:800; font-size:10.5px;
  letter-spacing:0.3em; text-transform:uppercase;
}
.gold{color:var(--gilt);}

/* display headline system: featherweight uppercase, gold bold accents */
.dsp{
  font-weight:200; text-transform:uppercase; letter-spacing:0.015em; line-height:1.16;
}
.dsp em, .hero h1 em, .page-hero h1 em, .chap h2 em, .csplit-body .ct em,
.statement h2 em, .pyr-copy h3 em, .duo-panel h3 em, .gov h2 em{
  font-style:normal; font-weight:600; color:var(--gilt);
}

/* ————— film grain ————— */
.grain{
  position:fixed; inset:-100px; z-index:2000; pointer-events:none; opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.05'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ————— intro curtain (home only) ————— */
.curtain{
  position:fixed; inset:0; z-index:3000; background:var(--ink);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:26px;
  transition:transform 1s var(--ease);
}
.curtain.lift{transform:translateY(-101%);}
.curtain .i-logo{
  display:block; width:clamp(150px,18vw,240px); height:auto;
  filter:brightness(0) invert(1);
  opacity:0; animation:iname 1s var(--ease) .15s forwards;
}
.curtain .i-sub{
  font-weight:700; font-size:9.5px; letter-spacing:0.55em; text-transform:uppercase;
  color:rgba(255,255,255,0.4); opacity:0; animation:iname .9s var(--ease) .4s forwards;
}
.curtain .i-line{width:0; height:1px; background:var(--gilt); animation:iline 1s var(--ease) .3s forwards;}
@keyframes iname{from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:none;}}
@keyframes iline{to{width:min(340px,60vw);}}

/* ————————————————————————————————————————————
   HEADER — utility strip · glass nav bar · scroll progress
———————————————————————————————————————————— */
header{
  position:sticky; top:0; z-index:960; isolation:isolate;
  background:linear-gradient(180deg, rgba(243,244,246,0.92), rgba(238,240,243,0.80));
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border-bottom:1px solid rgba(32,59,92,0.08);
  transition:box-shadow .4s ease, background .4s ease, border-color .4s ease;
}
header::after{ /* hairline of light along the bottom edge */
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(32,59,92,0.28) 22%, rgba(32,59,92,0.28) 78%, transparent);
  opacity:0; transition:opacity .4s ease; pointer-events:none;
}
header.scrolled{
  background:linear-gradient(180deg, rgba(244,245,247,0.96), rgba(240,241,243,0.92));
  border-bottom-color:rgba(32,59,92,0.1);
  box-shadow:0 22px 52px -40px rgba(32,59,92,0.9);
}
header.scrolled::after{opacity:1;}

/* ——— utility strip ——— */
.h-strip{
  background:linear-gradient(90deg, var(--ink) 0%, #203B5C 52%, var(--navy) 100%);
  color:rgba(240,241,243,0.72);
  height:36px; overflow:hidden;
  transition:height .45s var(--ease), opacity .3s ease;
}
header.scrolled .h-strip{height:0; opacity:0;}
.h-strip-in{
  max-width:1400px; margin:0 auto; padding:0 clamp(22px,4vw,64px);
  height:36px; display:flex; align-items:center; gap:clamp(14px,2vw,28px);
  font-weight:700; font-size:9.2px; letter-spacing:0.2em; text-transform:uppercase;
  white-space:nowrap;
}
.h-strip s{
  width:3px; height:3px; background:rgba(185,205,223,0.7); transform:rotate(45deg);
  display:inline-block; flex-shrink:0; margin:0 10px; vertical-align:middle;
}
.hs-lead{display:inline-flex; align-items:center; gap:10px; color:#fff; letter-spacing:0.18em;}
.hs-lead .pulse{
  width:6px; height:6px; border-radius:50%; background:var(--teal); flex-shrink:0;
  box-shadow:0 0 0 0 rgba(185,205,223,0.55); animation:pulseDot 2.6s var(--ease) infinite;
}
@keyframes pulseDot{
  0%{box-shadow:0 0 0 0 rgba(185,205,223,0.5);}
  70%{box-shadow:0 0 0 8px rgba(185,205,223,0);}
  100%{box-shadow:0 0 0 0 rgba(185,205,223,0);}
}
.hs-specs{color:rgba(240,241,243,0.5); overflow:hidden; text-overflow:ellipsis;}
.hs-specs b{color:var(--gilt-light); font-weight:800;}
.hs-right{margin-left:auto; display:inline-flex; align-items:center; gap:0;}
.hs-right a, .hs-loc{
  display:inline-flex; align-items:center; gap:7px; color:rgba(240,241,243,0.66);
  transition:color .25s ease;
}
.hs-right a:hover{color:var(--gilt-light);}
.hs-right svg{width:12px; height:12px; opacity:.75;}
.hs-ic{
  margin-left:18px; width:26px; height:26px; border-radius:5px; justify-content:center;
  border:1px solid rgba(255,255,255,0.16); background:rgba(255,255,255,0.05);
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.hs-ic svg{width:13px; height:13px; opacity:1;}
.hs-ic:hover{background:var(--gilt); border-color:var(--gilt); color:#fff;}
@media (max-width:1240px){ .hs-specs{display:none;} }
@media (max-width:1020px){ .h-strip, .h-strip-in{height:32px;} .hs-lead{letter-spacing:0.14em;} }
@media (max-width:720px){ .hs-loc, .hs-ic{display:none;} }
@media (max-width:520px){ .h-strip, .h-strip-in{height:0; display:none;} }

/* ——— main bar ——— */
.nav{
  max-width:1400px; margin:0 auto; padding:0 clamp(22px,4vw,64px);
  height:88px; display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:clamp(16px,2vw,32px);
  transition:height .45s var(--ease);
}
header.scrolled .nav{height:72px;}

/* brand lockup: real wordmark · rule · descriptor */
.brand{display:flex; align-items:center; gap:18px; min-width:0; padding:6px 0;}
.brand-logo{
  height:54px; width:auto; flex-shrink:0;
  transition:height .45s var(--ease), opacity .3s ease, transform .5s var(--ease);
}
header.scrolled .brand-logo{height:46px;}
@media (hover:hover){ .brand:hover .brand-logo{opacity:.78; transform:translateX(-1px);} }
.brand-rule{
  width:1px; height:28px; flex-shrink:0;
  background:linear-gradient(180deg, transparent, rgba(32,59,92,0.22), transparent);
  transition:height .45s var(--ease);
}
header.scrolled .brand-rule{height:24px;}
.brand-sub{
  font-weight:800; font-size:8px; letter-spacing:0.3em; line-height:1.5;
  text-transform:uppercase; color:var(--slate);
  display:flex; align-items:center; gap:8px; white-space:nowrap;
}
.brand-sub i{width:3px; height:3px; background:var(--gilt); transform:rotate(45deg); flex-shrink:0;}
@media (max-width:1420px){ .brand-rule, .brand-sub{display:none;} }

/* nav pills with sliding ink */
nav.links{
  position:relative; justify-self:end; display:flex; align-items:center; gap:2px;
  padding:5px; border:1px solid rgba(32,59,92,0.09); border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.66), rgba(255,255,255,0.36));
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset, 0 18px 40px -34px rgba(32,59,92,0.7);
}
.nav-ink{
  position:absolute; z-index:0; top:5px; left:0; height:calc(100% - 10px); width:0;
  border-radius:6px; opacity:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.72));
  box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 6px 16px -10px rgba(32,59,92,0.5);
  transition:transform .42s var(--ease), width .42s var(--ease), opacity .28s ease;
}
.nav-ink.on{opacity:1;}
.nav-ink::after{ /* gold underline that rides with the pill */
  content:''; position:absolute; left:14px; right:14px; bottom:6px; height:1.5px;
  background:linear-gradient(90deg, transparent, var(--gilt), transparent);
}
nav.links > a{
  position:relative; z-index:1;
  min-height:40px; display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; font-size:9.8px; letter-spacing:0.17em; text-transform:uppercase;
  color:var(--slate); padding:0 clamp(13px,1.1vw,19px); border-radius:6px;
  transition:color .25s ease;
}
nav.links > a:hover, nav.links > a.active{color:var(--ink);}
nav.links > a:focus:not(:focus-visible){outline:none;}
nav.links > a:focus-visible{outline:2px solid rgba(32,59,92,0.9); outline-offset:3px;}
nav.links > a.m-only{display:none;}   /* desktop: the header CTA covers Contact */

/* header CTA */
.h-tools{display:flex; align-items:center; gap:14px;}
.h-cta{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; gap:11px; height:50px; padding:0 26px;
  border-radius:10px; background:var(--ink); color:#fff;
  border:1px solid rgba(32,59,92,0.9);
  font-weight:800; font-size:9.5px; letter-spacing:0.22em; text-transform:uppercase;
  box-shadow:0 16px 30px -22px rgba(32,59,92,0.95);
  transition:height .45s var(--ease), box-shadow .35s ease, border-color .35s ease, transform .35s var(--ease);
}
header.scrolled .h-cta{height:44px;}
.h-cta::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(115deg, var(--gilt) 0%, #2B527A 45%, var(--navy) 100%);
  opacity:0; transform:translateX(-101%);
  transition:opacity .1s ease, transform .55s var(--ease);
}
.h-cta:hover::before{opacity:1; transform:none;}
.h-cta:hover{border-color:rgba(32,59,92,0.7); transform:translateY(-1px); box-shadow:0 20px 34px -22px rgba(32,59,92,0.85);}
.h-cta svg{width:14px; height:14px; transition:transform .38s var(--ease);}
.h-cta:hover svg{transform:translateX(4px);}
.h-cta:focus-visible{outline:2px solid rgba(32,59,92,0.9); outline-offset:3px;}
@media (max-width:1180px){
  nav.links > a{letter-spacing:0.14em; padding-inline:12px;}
  .h-cta{padding-inline:18px; letter-spacing:0.18em;}
  .h-cta span{display:none;}
  .h-cta{width:50px; justify-content:center; padding:0;}
  header.scrolled .h-cta{width:44px;}
}

/* scroll progress */
.h-progress{
  position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:rgba(32,59,92,0.06); overflow:hidden; z-index:3;
}
.h-progress i{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg, var(--navy), var(--gilt) 60%, var(--gilt-light));
  box-shadow:0 0 12px rgba(32,59,92,0.55);
}

/* ——— burger ——— */
.menu-toggle{
  display:none; width:50px; height:50px; place-items:center; position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,0.66), rgba(255,255,255,0.36));
  border:1px solid rgba(32,59,92,0.12);
  border-radius:10px; cursor:pointer; padding:0;
  transition:background .25s ease, border-color .25s ease;
}
.menu-toggle span{
  position:absolute; width:19px; height:1.5px; background:var(--ink); border-radius:2px;
  transition:transform .32s var(--ease), opacity .22s ease, width .32s var(--ease);
}
.menu-toggle span:nth-child(1){transform:translateY(-6px);}
.menu-toggle span:nth-child(3){transform:translateY(6px);}
.menu-toggle:focus:not(:focus-visible){outline:none;}
.menu-toggle:focus-visible{outline:2px solid rgba(32,59,92,0.9); outline-offset:3px;}
.menu-toggle.open{background:var(--ink); border-color:var(--ink);}
.menu-toggle.open span{background:#fff;}
.menu-toggle.open span:nth-child(1){transform:rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0; width:0;}
.menu-toggle.open span:nth-child(3){transform:rotate(-45deg);}
body.nav-open{overflow:hidden;}

/* ——— mobile drawer ——— */
@media (max-width:1020px){
  .nav{height:74px; grid-template-columns:1fr auto;}
  header.scrolled .nav{height:68px;}
  .nav-ink{display:none;}
  nav.links > a.m-only{display:inline-flex;}
  .h-cta{display:none;}
  .menu-toggle{display:grid;}
  nav.links{
    counter-reset:nav-item;
    position:absolute; top:calc(100% + 10px); left:clamp(14px,4vw,28px); right:clamp(14px,4vw,28px);
    justify-self:auto; flex-direction:column; align-items:stretch; gap:0; padding:10px;
    max-height:calc(100vh - 130px); overflow:auto;
    background:linear-gradient(165deg, rgb(32,59,92), rgb(24,45,70));
    border:1px solid rgba(255,255,255,0.12); border-radius:12px;
    box-shadow:0 30px 74px -32px rgba(32,59,92,0.92);
    opacity:0; visibility:hidden; transform:translateY(-14px) scale(.985); pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease, transform .38s var(--ease);
  }
  nav.links.open{opacity:1; visibility:visible; transform:none; pointer-events:auto;}
  nav.links > a{
    counter-increment:nav-item; width:100%; min-height:58px; justify-content:flex-start;
    color:rgba(240,241,243,0.76); padding:0 16px; border-radius:8px;
    border-bottom:1px solid rgba(255,255,255,0.07);
    font-size:11px; letter-spacing:0.2em;
  }
  nav.links > a:last-of-type{border-bottom:0;}
  nav.links > a::before{
    content:'0' counter(nav-item); order:2; margin-left:auto;
    font-weight:800; font-size:10px; letter-spacing:0.16em; color:rgba(185,205,223,0.75);
  }
  nav.links > a:hover, nav.links > a.active{color:#fff; background:rgba(255,255,255,0.06);}
  nav.links > a.active::before{color:var(--gilt-light);}
  nav.links.open > a{animation:navItemIn .52s var(--ease) both;}
  nav.links.open > a:nth-of-type(2){animation-delay:.04s;}
  nav.links.open > a:nth-of-type(3){animation-delay:.08s;}
  nav.links.open > a:nth-of-type(4){animation-delay:.12s;}
  nav.links.open > a:nth-of-type(5){animation-delay:.16s;}
  nav.links.open > a:nth-of-type(6){animation-delay:.2s;}
  .m-only{
    margin-top:10px; min-height:58px; justify-content:center !important;
    background:var(--gilt); color:#fff !important; border-radius:8px; border-bottom:0 !important;
  }
  .m-only::before{content:none !important;}
}
@keyframes navItemIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
@media (max-width:720px){
  section[id]{scroll-margin-top:92px;}
  .nav{height:70px;}
}
@media (max-width:520px){
  .brand-logo{height:42px;}
  header.scrolled .brand-logo{height:38px;}
  .menu-toggle{width:46px; height:46px;}
}

/* ————— buttons / eyebrow / reveals ————— */
.eyebrow{
  font-weight:800; font-size:10px; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--gilt);
  display:flex; align-items:center; gap:12px; margin-bottom:38px;
}
.eyebrow i{width:6px; height:6px; background:var(--gilt); transform:rotate(45deg); flex-shrink:0;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  padding:19px 36px; font-family:var(--font); font-weight:800;
  font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  border:1px solid transparent; cursor:pointer;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  text-align:center;
}
.btn svg{width:15px; height:15px; transition:transform .3s var(--ease);}
.btn:hover svg{transform:translateX(5px);}
.btn-gold{background:var(--gilt); color:#fff;}
.btn-gold:hover{background:var(--ink);}
.btn-line{border-color:var(--line-2); color:var(--ink);}
.btn-line:hover{border-color:var(--ink); background:var(--ink); color:#fff;}
.btn-line-light{border-color:rgba(255,255,255,0.4); color:#fff;}
.btn-line-light:hover{background:#fff; border-color:#fff; color:var(--ink);}

.reveal{opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in{opacity:1; transform:none;}
.d1{transition-delay:.1s;} .d2{transition-delay:.2s;}
.lm{display:block; overflow:hidden; padding-bottom:0.14em; margin-bottom:-0.14em;}
.lm > span{display:block; transform:translateY(110%); transition:transform 1.1s var(--ease);}
.lm.in > span{transform:none;}

/* ————————————————————————————————————————————
   HERO — cinematic full-bleed Sentinus footage
   Copy sits in the lower band: the clip's own PiP inspection
   inset occupies the upper-left, the BAR watermark the upper-right.
———————————————————————————————————————————— */
.vhero{
  --vh-h: calc(100vh - 125px);
  position:relative; min-height:var(--vh-h); background:#203B5C;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden; isolation:isolate;
}
@media (max-width:1020px){ .vhero{--vh-h:calc(100vh - 106px);} }
@media (max-width:520px){ .vhero{--vh-h:calc(100vh - 71px);} }

/* — hero image layer — */
.vh-stage{position:absolute; inset:0; z-index:0; overflow:hidden;}
.vh-image{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 42%;
  transform:scale(1.06); opacity:0;
  transition:opacity 1.5s var(--ease), transform 12s linear;
}
.ready .vh-image{opacity:1; transform:scale(1.005);}

/* Frosted copy panel. The clip carries its own cyan PiP inspection inset in the
   upper-left; blurring that half turns it into depth-of-field instead of a
   rectangle fighting the headline, and the ROV side stays sharp. */
.vh-veil{
  position:absolute; top:0; bottom:0; left:0; right:26%; pointer-events:none;
  backdrop-filter:blur(26px) saturate(118%);
  -webkit-backdrop-filter:blur(26px) saturate(118%);
  background:linear-gradient(to right, rgba(32,59,92,0.66), rgba(32,59,92,0.40) 62%, rgba(32,59,92,0.16));
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 70%, transparent 100%);
          mask-image:linear-gradient(to right, #000 0%, #000 70%, transparent 100%);
}
/* base grade: anchors the bottom bar, keeps the top open for the watermark */
.vh-scrim{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to top, rgba(32,59,92,0.88) 0%, rgba(32,59,92,0.52) 26%, rgba(32,59,92,0.10) 58%, rgba(32,59,92,0.30) 100%),
    radial-gradient(120% 80% at 88% 40%, transparent 40%, rgba(32,59,92,0.42) 100%);
}
.vh-rule{
  position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(185,205,223,0.55) 30%, rgba(185,205,223,0.55) 70%, transparent);
}

/* — copy band — */
.vh-body{position:relative; z-index:2; width:100%; padding:clamp(40px,7vh,90px) 0 clamp(26px,3.5vh,44px);}
.vh-grid{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(32px,5vw,86px); align-items:flex-end;
}
@media (max-width:1080px){ .vh-grid{grid-template-columns:1fr;} }

.vh-eyebrow{
  font-weight:800; font-size:10px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gilt-light); display:flex; align-items:center; gap:12px; margin-bottom:26px;
  opacity:0; transform:translateY(20px);
}
.vh-eyebrow i{width:6px; height:6px; background:var(--gilt-light); transform:rotate(45deg); flex-shrink:0;}
.vh-title{
  font-weight:200; text-transform:uppercase; letter-spacing:0.012em; color:#fff;
  font-size:clamp(38px,6.4vw,104px); line-height:1.02; margin-bottom:30px;
  text-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.vh-title em{font-style:normal; font-weight:500; color:var(--gilt-light);}
.vh-lede{
  font-size:clamp(14.5px,1.12vw,17px); color:rgba(238,241,245,0.76);
  max-width:600px; margin-bottom:38px; line-height:1.72;
  opacity:0; transform:translateY(20px);
}
.vh-lede b{font-weight:700; color:#fff;}
.vh-cta{display:flex; gap:14px; flex-wrap:wrap; opacity:0; transform:translateY(20px);}
.btn-ghost{
  background:rgba(255,255,255,0.05); color:#fff;
  border:1px solid rgba(255,255,255,0.3); backdrop-filter:blur(8px);
}
.btn-ghost:hover{background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.6);}

/* — spec readout — */
.vh-readout{
  width:min(340px, 32vw); padding:22px 26px 20px;
  background:rgba(32,59,92,0.42); backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:0 30px 70px -40px rgba(0,0,0,0.9);
  opacity:0; transform:translateY(20px);
}
.ro-head{
  display:flex; align-items:center; gap:9px; padding-bottom:15px;
  border-bottom:1px solid rgba(255,255,255,0.14);
  font-weight:800; font-size:8.5px; letter-spacing:0.26em; text-transform:uppercase;
  color:rgba(238,241,245,0.66);
}
.ro-head .pulse{
  width:6px; height:6px; border-radius:50%; background:var(--teal); flex-shrink:0;
  animation:pulseDot 2.6s var(--ease) infinite;
}
.vh-readout dl{display:grid; grid-template-columns:1fr 1fr;}
.vh-readout dl > div{
  padding:15px 0 13px; border-bottom:1px solid rgba(255,255,255,0.09);
}
.vh-readout dl > div:nth-child(odd){padding-right:18px; border-right:1px solid rgba(255,255,255,0.09);}
.vh-readout dl > div:nth-child(even){padding-left:18px;}
.vh-readout dl > div:nth-last-child(-n+2){border-bottom:0; padding-bottom:2px;}
.vh-readout dt{
  font-weight:800; font-size:8px; letter-spacing:0.24em; text-transform:uppercase;
  color:rgba(238,241,245,0.5); margin-bottom:6px;
}
.vh-readout dd{
  margin:0; font-weight:200; font-size:27px; line-height:1; color:#fff;
  display:flex; align-items:baseline; gap:4px;
}
.vh-readout dd i{
  font-style:normal; font-weight:800; font-size:9.5px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--gilt-light);
}
.ro-note{
  margin-top:16px; font-weight:700; font-size:8.5px; letter-spacing:0.16em;
  text-transform:uppercase; color:rgba(238,241,245,0.4); line-height:1.7;
}
@media (max-width:1080px){
  .vh-readout{justify-self:start; min-width:0; width:100%; max-width:520px;}
}
@media (max-width:640px){ .vh-readout{display:none;} }

/* — foot bar — */
.vh-bar{
  position:relative; z-index:2; width:100%;
  border-top:1px solid rgba(255,255,255,0.12);
  background:linear-gradient(to top, rgba(32,59,92,0.72), rgba(32,59,92,0.18));
  backdrop-filter:blur(6px);
}
.vh-bar-in{
  height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px;
  opacity:0; transition:opacity .9s var(--ease) 1.1s;
}
.ready .vh-bar-in{opacity:1;}
.vh-scroll{
  display:inline-flex; align-items:center; gap:14px;
  font-weight:800; font-size:9px; letter-spacing:0.26em; text-transform:uppercase;
  color:rgba(238,241,245,0.66); transition:color .3s ease;
}
.vh-scroll:hover{color:#fff;}
.vs-line{position:relative; width:46px; height:1px; background:rgba(255,255,255,0.24); overflow:hidden;}
.vs-line i{
  position:absolute; inset:0; width:16px; background:var(--gilt-light);
  animation:vsRun 2.6s var(--ease) infinite;
}
@keyframes vsRun{0%{transform:translateX(-18px);} 100%{transform:translateX(48px);}}
.vh-caption{
  font-weight:700; font-size:8.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(238,241,245,0.42); white-space:nowrap;
}
@media (max-width:900px){ .vh-caption{display:none;} }
/* — entrance, gated on .ready — */
.ready .vh-eyebrow{opacity:1; transform:none; transition:opacity .9s var(--ease) .1s, transform .9s var(--ease) .1s;}
.ready .vh-lede{opacity:1; transform:none; transition:opacity .9s var(--ease) .62s, transform .9s var(--ease) .62s;}
.ready .vh-cta{opacity:1; transform:none; transition:opacity .9s var(--ease) .74s, transform .9s var(--ease) .74s;}
.ready .vh-readout{opacity:1; transform:none; transition:opacity 1s var(--ease) .86s, transform 1s var(--ease) .86s;}
.vh-title .lm > span{transform:translateY(112%);}
.ready .vh-title .lm > span{transform:none; transition:transform 1.15s var(--ease);}

/* short viewports: let the hero breathe instead of squashing */
@media (max-height:720px) and (min-width:1081px){
  .vh-title{font-size:clamp(34px,4.6vw,64px); margin-bottom:22px;}
  .vh-lede{margin-bottom:26px; font-size:14.5px;}
  .vh-readout{padding:16px 20px 14px;}
  .vh-readout dd{font-size:22px;}
}
/* narrow viewports: the frame turns portrait, so re-aim at the vehicle and
   switch the veil from a left panel to a bottom band under the copy */
@media (max-width:1080px){
  .vh-veil{
    right:0;
    backdrop-filter:blur(16px) saturate(115%);
    -webkit-backdrop-filter:blur(16px) saturate(115%);
    background:linear-gradient(to bottom, rgba(32,59,92,0.26), rgba(32,59,92,0.70));
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 32%, #000 100%);
            mask-image:linear-gradient(to bottom, transparent 0%, #000 32%, #000 100%);
  }
}
@media (max-width:640px){
  .vh-image{object-position:74% 46%;}
  /* blurring a full-bleed image costs more than it's worth on a phone */
  .vh-veil{
    backdrop-filter:none; -webkit-backdrop-filter:none;
    background:linear-gradient(to bottom, rgba(32,59,92,0.20), rgba(32,59,92,0.88) 48%);
    -webkit-mask-image:none; mask-image:none;
  }
}
@media (max-width:520px){
  .vh-body{padding-top:clamp(28px,5vh,50px);}
  .vh-title{font-size:clamp(34px,10.4vw,50px); margin-bottom:20px;}
  .vh-lede{margin-bottom:28px;}
  .vh-cta{width:100%; flex-direction:column; gap:12px;}
  .vh-cta .btn{width:100%; padding-inline:24px;}
  .vh-bar-in{height:56px;}
  .vh-scroll{letter-spacing:0.2em; font-size:8.5px;}
}

/* legacy shared bits still used by inner-page heroes */
.cta-row{display:flex; gap:16px; flex-wrap:wrap;}
.page-hero .fade{opacity:0; transform:translateY(28px);}
.ready .page-hero .fade{opacity:1; transform:none; transition:opacity .9s var(--ease), transform .9s var(--ease);}
.page-hero .lm > span{transform:translateY(112%);}
.ready .page-hero .lm > span{transform:none; transition:transform 1.1s var(--ease);}

/* ————— ticker ————— */
.ticker{
  position:relative; z-index:6; border-bottom:1px solid var(--line);
  background:var(--bg); overflow:hidden; padding:22px 0;
}
.ticker-track{display:flex; width:max-content; animation:tick 40s linear infinite;}
.ticker span{
  font-weight:700; font-size:11px; letter-spacing:0.34em; text-transform:uppercase;
  color:var(--slate); white-space:nowrap;
  display:inline-flex; align-items:center; gap:38px; padding-right:38px;
}
.ticker i{width:6px; height:6px; background:var(--gilt); transform:rotate(45deg); flex-shrink:0;}
@keyframes tick{to{transform:translateX(-50%);}}

/* ————— page hero (inner pages) ————— */
.page-hero{
  padding:clamp(70px,11vh,130px) 0 clamp(50px,8vh,90px);
  border-bottom:1px solid var(--line); position:relative; overflow:hidden;
}
.page-hero h1{
  font-weight:200; text-transform:uppercase; letter-spacing:0.015em;
  font-size:clamp(32px,4.2vw,64px); line-height:1.14; max-width:1100px;
}
.page-hero h1 em{font-style:normal; font-weight:600; color:var(--gilt);}
.page-hero .lede{
  font-size:16.5px; font-weight:400; color:var(--slate); max-width:640px; margin-top:34px;
}
.page-hero .lede b{font-weight:800; color:var(--ink);}
.page-hero .ph-meta{
  margin-top:44px; padding-top:24px; border-top:1px solid var(--line-2);
  font-weight:700; font-size:9.5px; letter-spacing:0.24em;
  text-transform:uppercase; color:var(--slate);
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.page-hero .ph-meta i{width:4px; height:4px; background:var(--gilt); transform:rotate(45deg); flex-shrink:0;}

/* ————— chapter head ————— */
.chap{display:flex; align-items:baseline; gap:30px; margin-bottom:clamp(56px,8vh,90px);}
.chap .no{
  font-weight:200; font-size:clamp(60px,8vw,120px); line-height:0.85;
  color:transparent; -webkit-text-stroke:1px rgba(32,59,92,0.28);
  flex-shrink:0; letter-spacing:-0.02em;
}
.chap .cw{flex:1;}
.chap .cw .mono{color:var(--gilt); display:flex; align-items:center; gap:16px; margin-bottom:20px;}
.chap .cw .mono::after{content:''; flex:1; height:1px; background:var(--line-2);}
.chap h2{
  font-weight:200; text-transform:uppercase; letter-spacing:0.015em;
  font-size:clamp(26px,3.4vw,48px); line-height:1.18; max-width:960px;
}
.chap.on-dark .no{-webkit-text-stroke-color:rgba(255,255,255,0.25);}
.chap.on-dark h2{color:#fff;}
.chap.on-dark h2 em{color:var(--gilt-light);}
.chap.on-dark .cw .mono{color:var(--gilt-light);}
.chap.on-dark .cw .mono::after{background:var(--line-w);}
@media (max-width:720px){ .chap{flex-direction:column; gap:16px;} }

/* ————— statement ————— */
.statement{padding:clamp(110px,16vh,190px) 0;}
.st-label{display:flex; align-items:center; gap:18px; margin-bottom:54px;}
.st-label .mono{color:var(--gilt);}
.st-label::after{content:''; flex:1; height:1px; background:var(--line-2);}
.st-label .idx{font-weight:600; font-size:11px; letter-spacing:0.14em; color:var(--slate); text-transform:uppercase;}
.statement h2{
  font-weight:200; font-size:clamp(28px,3.9vw,58px); line-height:1.28; max-width:1180px;
  letter-spacing:-0.005em;
}
.statement h2 em{font-style:normal; font-weight:600; color:var(--gilt);}
.statement h2 .accent{color:var(--navy); font-weight:500;}
.st-creds{margin-top:76px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-2);}
@media (max-width:860px){ .st-creds{grid-template-columns:repeat(2,1fr);} }
.st-cred{
  padding:34px 30px 8px 0; border-right:1px solid var(--line);
  display:flex; flex-direction:column; gap:6px;
}
.st-cred:last-child{border-right:none;}
@media (max-width:860px){ .st-cred:nth-child(2){border-right:none;} }
.st-cred b{font-weight:300; font-size:clamp(20px,2.1vw,28px); color:var(--ink); letter-spacing:0.01em;}
.st-cred b em{font-style:normal; font-weight:600; color:var(--gilt);}
.st-cred span{font-weight:700; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--slate);}
.st-more{
  display:inline-flex; align-items:center; gap:12px; margin-top:56px;
  font-weight:800; font-size:10px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--ink); border-bottom:1px solid var(--gilt); padding-bottom:9px;
}
.st-more svg{width:15px; height:15px; transition:transform .3s var(--ease);}
.st-more:hover svg{transform:translateX(6px);}

/* ————— international expertise (dark) ————— */
.intl{background:var(--ink); color:#fff; position:relative; overflow:hidden; padding:clamp(110px,15vh,180px) 0;}
.intl::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 90% 0%, rgba(185,205,223,0.15), transparent 50%),
             radial-gradient(ellipse at 0% 100%, rgba(43,82,122,0.45), transparent 55%);
}
.intl .watermark{
  position:absolute; right:-2vw; bottom:-6vh; pointer-events:none; user-select:none;
  font-weight:200; font-size:clamp(160px,24vw,380px); line-height:1; letter-spacing:-0.02em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.05);
}
/* services: strategy families on light (body) background — inner cards unchanged */
#strategies.intl{background:var(--bg); color:var(--ink);}
#strategies.intl::before{display:none;}
#strategies.intl .watermark{-webkit-text-stroke-color:rgba(32,59,92,0.05);}
#strategies .chap.on-dark h2{color:#000;}
#strategies .chap.on-dark h2 em{color:var(--navy-light);}
#strategies .chap.on-dark .cw .mono{color:var(--gilt);}
#strategies .chap.on-dark .cw .mono::after{background:var(--line-2);}

.intl-lead{
  font-weight:300; font-size:clamp(17px,1.7vw,22px); line-height:1.75;
  color:rgba(240,241,243,0.85); max-width:860px;
  margin-bottom:clamp(50px,7vh,80px); position:relative; z-index:2;
}
.intl-lead b{color:#fff; font-weight:700;}
.jur3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line-w); border:1px solid var(--line-w);
  position:relative; z-index:2;
}
@media (max-width:840px){ .jur3{grid-template-columns:1fr;} }
.jur-card{
  background:var(--ink); padding:clamp(36px,4vw,54px) clamp(28px,3vw,44px);
  position:relative; overflow:hidden; transition:background .4s ease;
}
.jur-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gilt-light); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.jur-card:hover{background:#2B527A;}
.jur-card:hover::before{transform:none;}
.jur-card .code{
  display:block; font-weight:200; font-size:clamp(54px,6vw,84px); line-height:1;
  letter-spacing:0.02em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.3);
  margin-bottom:32px; transition:color .5s ease, -webkit-text-stroke-color .5s ease;
}
.jur-card:hover .code{color:rgba(185,205,223,0.45); -webkit-text-stroke-color:var(--gilt-light);}
.jur-card h4{
  font-weight:800; font-size:11px; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--gilt-light); margin-bottom:14px;
}
.jur-card p{font-size:13.5px; font-weight:400; color:rgba(240,241,243,0.65);}
.intl-close{
  margin-top:clamp(50px,7vh,80px); border-left:2px solid var(--gilt-light);
  padding:10px 0 10px 30px; max-width:820px;
  font-weight:300; font-size:clamp(16px,1.6vw,20px); line-height:1.75;
  color:rgba(240,241,243,0.85); position:relative; z-index:2;
}
.intl-close b{font-weight:800; color:var(--gilt-light);}

/* ————— duo panels ————— */
.duo{padding:clamp(110px,15vh,180px) 0;}
.duo-flex{display:flex; gap:2px; min-height:560px;}
@media (max-width:880px){ .duo-flex{flex-direction:column;} }
.duo-panel{
  flex:1; position:relative; overflow:hidden; padding:64px 56px;
  display:flex; flex-direction:column; justify-content:flex-end;
  transition:flex 0.9s var(--ease); text-decoration:none;
}
@media (min-width:881px){ .duo-flex:hover .duo-panel{flex:0.75;} .duo-flex .duo-panel:hover{flex:1.6;} }
@media (max-width:720px){ .duo-panel{padding:44px 26px; min-height:480px;} }
.duo-panel.p1{background:var(--ink);}
.duo-panel.p2{background:var(--navy);}
/* photographic underlay + gold wash; artwork lifts on hover */
.duo-panel::before{
  content:''; position:absolute; inset:0; opacity:.85; transition:opacity .6s ease, transform 1.2s var(--ease);
  background:radial-gradient(ellipse at 80% 0%, rgba(185,205,223,0.16), transparent 55%);
  z-index:1;
}
.duo-panel:hover::before{opacity:1; transform:scale(1.1);}
.duo-panel::after{
  content:''; position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:50% 34%; background-repeat:no-repeat;
  opacity:.22; mix-blend-mode:luminosity;
  transform:scale(1.04); transition:opacity .7s ease, transform 1.4s var(--ease);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, rgba(0,0,0,0.55) 46%, transparent 82%);
          mask-image:linear-gradient(to bottom, #000 0%, rgba(0,0,0,0.55) 46%, transparent 82%);
}
.duo-panel.p1::after{background-image:url("img/vessel-hull.webp");}
.duo-panel.p2::after{background-image:url("img/reconstruction.webp");}
.duo-panel:hover::after{opacity:.36; transform:scale(1.1);}
.duo-panel > *{position:relative; z-index:2;}
.duo-panel .dp-num{
  position:absolute; top:34px; right:44px;
  font-weight:200; font-size:clamp(80px,9vw,130px);
  line-height:1; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.22);
  transition:-webkit-text-stroke-color .5s ease, color .5s ease;
}
.duo-panel:hover .dp-num{color:rgba(185,205,223,0.5); -webkit-text-stroke-color:rgba(185,205,223,0.7);}
.duo-panel h3{
  color:#fff; font-weight:200; text-transform:uppercase; letter-spacing:0.02em;
  font-size:clamp(22px,2.4vw,34px); margin-bottom:16px; position:relative;
}
.duo-panel h3 em{color:var(--gilt-light);}
.duo-panel p{color:rgba(240,241,243,0.65); font-size:14.5px; max-width:460px; margin-bottom:34px; position:relative;}
.duo-panel .dp-go{
  display:inline-flex; align-items:center; gap:14px; position:relative;
  font-weight:800; font-size:9.5px; letter-spacing:0.3em; text-transform:uppercase; color:#fff;
}
.duo-panel .dp-go .arr{
  width:52px; height:52px; border:1px solid rgba(255,255,255,0.35); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:background .4s ease, border-color .4s ease, transform .4s var(--ease);
}
.duo-panel:hover .dp-go .arr{background:var(--gilt); border-color:var(--gilt); transform:rotate(-45deg);}
.duo-panel .dp-go svg{width:18px; height:18px;}
.duo-panel .dp-tag{
  position:absolute; top:44px; left:56px;
  font-weight:800; font-size:9px; letter-spacing:0.36em; text-transform:uppercase;
  color:var(--gilt-light);
}
@media (max-width:720px){ .duo-panel .dp-tag{left:26px;} }

/* ————— pyramid ————— */
.leist{padding:clamp(110px,15vh,180px) 0 0;}
.pyr-zone{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(44px,6vw,110px);
  align-items:center; margin-bottom:clamp(90px,12vh,150px);
}
@media (max-width:900px){ .pyr-zone{grid-template-columns:1fr;} }
.pyramid{display:flex; flex-direction:column; gap:6px; align-items:center;}
.tier{
  color:#fff; padding:20px 26px; width:var(--w,100%);
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  transform-origin:center; transform:scaleX(0); transition:transform 1s var(--ease);
}
.pyr-zone.in .tier{transform:none;}
.tier:nth-child(1){transition-delay:.05s;} .tier:nth-child(2){transition-delay:.15s;}
.tier:nth-child(3){transition-delay:.25s;} .tier:nth-child(4){transition-delay:.35s;}
.tier .tn{font-weight:800; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap;}
.tier .td{font-size:11px; opacity:.7; text-align:right; font-weight:400;}
.tier-1{background:var(--ink); --w:46%;}
.tier-2{background:var(--navy); --w:64%;}
.tier-3{background:var(--navy-light); --w:82%;}
.tier-4{background:var(--navy-pale); color:var(--ink); --w:100%;}
@media (max-width:560px){ .tier .td{display:none;} .tier-1{--w:58%;} .tier-2{--w:72%;} .tier-3{--w:86%;} }
.pyr-cap{margin-top:26px; display:flex; align-items:center; gap:16px; width:100%;}
.pyr-cap .mono{color:var(--gilt);}
.pyr-cap::before,.pyr-cap::after{content:''; flex:1; height:1px; background:var(--line-2);}
.pyr-copy h3{
  font-weight:200; text-transform:uppercase; letter-spacing:0.02em;
  font-size:clamp(22px,2.4vw,34px); line-height:1.25; margin-bottom:24px;
}
.pyr-copy h3 em{font-style:normal; font-weight:600; color:var(--navy);}
.pyr-copy p{color:var(--slate); font-size:15px; margin-bottom:18px; max-width:520px;}
.pyr-copy .call{
  border-left:2px solid var(--gilt); background:var(--card); padding:20px 26px;
  font-size:13.5px; color:var(--ink); font-weight:500; max-width:520px;
}
.pyr-copy .call b{font-weight:800;}

/* ————— service rows ————— */
.svc-rows{border-top:1px solid var(--line-2); margin-bottom:clamp(90px,12vh,150px);}
.svc-row{
  position:relative; overflow:hidden; border-bottom:1px solid var(--line-2);
  display:grid; grid-template-columns:clamp(90px,12vw,170px) 1fr auto; gap:clamp(20px,3vw,60px);
  align-items:center; padding:clamp(28px,4vh,44px) 8px; isolation:isolate;
}
.svc-row::before{
  content:''; position:absolute; inset:0; background:var(--ink); z-index:0;
  transform:scaleY(0); transform-origin:top; transition:transform .5s var(--ease);
}
.svc-row:hover::before{transform:none; transform-origin:bottom;}
.svc-row > *{position:relative; z-index:1;}
.svc-row .idx{
  font-weight:200; font-size:clamp(36px,4.8vw,72px); line-height:1; letter-spacing:-0.02em;
  color:transparent; -webkit-text-stroke:1px rgba(32,59,92,0.35);
  transition:-webkit-text-stroke-color .4s ease, color .4s ease;
}
.svc-row:hover .idx{color:var(--gilt-light); -webkit-text-stroke-color:var(--gilt-light);}
.svc-row .body h4{
  font-weight:300; font-size:clamp(19px,2.1vw,27px); letter-spacing:0.02em;
  margin-bottom:8px; transition:color .4s ease;
}
.svc-row .body p{font-size:14px; color:var(--slate); max-width:640px; transition:color .4s ease;}
.svc-row:hover .body h4{color:#fff;}
.svc-row:hover .body p{color:rgba(240,241,243,0.66);}
.svc-row .plus{
  width:56px; height:56px; border:1px solid var(--line-2); border-radius:50%;
  display:flex; align-items:center; justify-content:center; justify-self:end;
  font-weight:200; font-size:28px; color:var(--ink);
  transition:all .5s var(--ease);
}
.svc-row:hover .plus{background:var(--gilt); border-color:var(--gilt); color:#fff; transform:rotate(135deg);}
@media (max-width:640px){ .svc-row{grid-template-columns:1fr; gap:10px;} .svc-row .plus{display:none;} .svc-row .idx{font-size:30px;} }

/* ————— expertise ledger ————— */
.ledger{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,90px); padding-bottom:clamp(110px,15vh,180px);}
@media (max-width:780px){ .ledger{grid-template-columns:1fr;} }
.ledger .mono{color:var(--gilt); display:flex; align-items:center; gap:16px; margin-bottom:14px;}
.ledger .mono::after{content:''; flex:1; height:1px; background:var(--line-2);}
.ledger li{
  display:flex; gap:18px; align-items:baseline; padding:15px 2px;
  border-bottom:1px solid var(--line); font-size:15px;
  transition:padding-left .35s var(--ease), background .35s ease;
}
.ledger li:hover{padding-left:14px; background:rgba(255,255,255,0.6);}
.ledger li i{
  font-style:normal; font-weight:800; font-size:9.5px; letter-spacing:0.1em;
  color:var(--gilt); min-width:26px; text-transform:uppercase; position:relative; top:-1px;
}

/* ————— governance (dark) ————— */
.gov{background:var(--ink); color:#fff; position:relative; overflow:hidden; padding:clamp(110px,15vh,180px) 0;}
.gov::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 15% 0%, rgba(43,82,122,0.5), transparent 55%),
             radial-gradient(ellipse at 100% 100%, rgba(185,205,223,0.14), transparent 50%);
}
.gov-watermark{
  position:absolute; right:-2vw; top:50%; transform:translateY(-50%);
  font-weight:200; font-size:clamp(180px,26vw,420px); line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.06);
  pointer-events:none; user-select:none;
}
.gov-grid{display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(50px,7vw,110px); align-items:center; position:relative; z-index:2;}
@media (max-width:940px){ .gov-grid{grid-template-columns:1fr;} }
.gov-photo{position:relative;}
.gov-photo .ph{overflow:hidden; position:relative;}
.gov-photo .ph{background:#EDEFF1;}
.gov-photo img{
  width:100%; aspect-ratio:1/1; object-fit:cover; object-position:50% 52%;
  filter:contrast(1.04) saturate(1.04); transform:scale(1.05);
  will-change:transform;
}
.gov-photo::after{
  content:''; position:absolute; top:28px; left:28px; right:-28px; bottom:-28px;
  border:1px solid rgba(185,205,223,0.45); pointer-events:none;
}
.gov-photo .cap{
  position:absolute; z-index:3; left:-1px; bottom:38px; background:var(--gilt); color:#fff;
  padding:16px 26px; font-weight:800; font-size:9px; letter-spacing:0.3em; text-transform:uppercase;
}
.gov h2{color:#fff;}
.gov-copy .intro{color:rgba(240,241,243,0.66); font-size:15.5px; max-width:560px; margin-bottom:44px;}
.gov-list{border-top:1px solid var(--line-w); columns:2; column-gap:44px;}
@media (max-width:640px){ .gov-list{columns:1;} }
.gov-list li{
  break-inside:avoid; padding:15px 2px; border-bottom:1px solid var(--line-w);
  font-size:14px; color:rgba(240,241,243,0.85); display:flex; gap:14px; align-items:baseline;
}
.gov-list li i{
  font-style:normal; font-weight:800; font-size:9.5px; letter-spacing:0.1em;
  color:var(--gilt-light); min-width:28px; text-transform:uppercase; position:relative; top:-1px;
}
.gov-note{
  margin-top:40px; padding:24px 30px; border:1px solid var(--line-w);
  background:rgba(255,255,255,0.04); backdrop-filter:blur(4px);
  font-size:13px; color:rgba(240,241,243,0.62); max-width:600px;
}

/* ————— publication ————— */
.pub{padding:clamp(110px,15vh,180px) 0;}
.pub-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(50px,7vw,120px); align-items:center;}
@media (max-width:900px){ .pub-grid{grid-template-columns:1fr;} }
.book-stage{perspective:1400px; display:flex; justify-content:center;}
.book{
  background:linear-gradient(145deg, #2B527A, var(--navy) 55%, #182D45);
  color:#fff; padding:0;   overflow:hidden; position:relative;
  transform:rotateY(-14deg) rotateX(2deg); transform-style:preserve-3d;
  box-shadow:-40px 50px 80px -40px rgba(32,59,92,0.55);
  transition:transform 1s var(--ease), box-shadow 1s ease;
}
.book > img{width:100%; height:100%; object-fit:cover; object-position:center;}
.book:hover{transform:rotateY(-4deg); box-shadow:-20px 40px 70px -38px rgba(32,59,92,0.5);}
.book::before{content:''; position:absolute; inset:20px; border:1px solid rgba(255,255,255,0.25); pointer-events:none;}
.book::after{
  content:''; position:absolute; top:0; bottom:0; left:-14px; width:14px;
  background:linear-gradient(to right, #182D45, #203B5C);
  transform:rotateY(-70deg); transform-origin:right;
}
.book .ed{font-weight:800; font-size:9px; letter-spacing:0.34em; text-transform:uppercase; color:var(--gilt-light);}
.book h3{
  color:#fff; font-weight:200; font-size:26px; letter-spacing:0.04em; text-transform:uppercase;
  margin:24px 0 10px; line-height:1.3;
}
.book .by{font-size:12.5px; font-weight:400; color:rgba(240,241,243,0.6); margin-bottom:34px;}
.book .chapname{
  font-weight:600; font-size:15px; letter-spacing:0.06em; color:var(--gilt-light);
  border-top:1px solid rgba(255,255,255,0.22); padding-top:26px; line-height:1.6;
}
.pub-copy > p{font-size:15.5px; color:var(--slate); margin-bottom:20px; max-width:640px;}
.pub-copy > p b{color:var(--ink); font-weight:800;}
.pub-copy .note{font-size:12px; font-weight:600; color:var(--navy-light);}
.pub-rows{margin-top:44px;}
.pub-rows li{
  display:grid; grid-template-columns:56px 1fr; gap:22px; padding:22px 0;
  border-top:1px solid var(--line-2); align-items:baseline;
  transition:padding-left .35s var(--ease);
}
.pub-rows li:hover{padding-left:12px;}
.pub-rows li i{
  font-style:normal; font-weight:800; font-size:9.5px; letter-spacing:0.12em;
  color:var(--gilt); text-transform:uppercase;
}
.pub-rows .t{font-size:15px; font-weight:600;}
.pub-rows .m{display:block; font-weight:700; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--slate); margin-top:6px;}

/* ————— about: profile ————— */
.profile{padding:clamp(110px,15vh,180px) 0;}
.profile-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(50px,7vw,120px); align-items:start;}
@media (max-width:920px){ .profile-grid{grid-template-columns:1fr;} }
.profile-photo{position:relative; max-width:440px;}
.profile-photo img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:46% 46%; filter:saturate(0.94) contrast(1.05);}
.profile-photo::after{
  content:''; position:absolute; top:22px; left:-22px; right:22px; bottom:-22px;
  border:1px solid var(--gilt); z-index:-1;
}
.profile-photo .cap{
  position:absolute; right:-12px; bottom:30px; background:var(--ink); color:#fff;
  padding:15px 24px; font-weight:800; font-size:9px;
  letter-spacing:0.26em; text-transform:uppercase;
}
.profile-copy p{font-size:15.5px; color:var(--slate); margin-bottom:14px; max-width:640px;}
.profile-copy p b{color:var(--ink); font-weight:800;}
.profile-copy .pull{
  font-weight:300; font-size:clamp(18px,1.9vw,23px); color:var(--ink); line-height:1.6;
  letter-spacing:0.01em;
  border-left:2px solid var(--gilt); padding:8px 0 8px 28px; margin:24px 0;
}

/* ————— six investment pillars ————— */
.qualifications{padding:clamp(80px,12vh,150px) 0 clamp(80px,12vh,150px); background:#fff;}
.qual-heading{margin-bottom:48px;}
.qual-eyebrow{
  display:inline-block; color:#526481; border-bottom:1px solid currentColor;
  padding-bottom:3px; margin-bottom:12px; font-size:12px; font-weight:500;
  letter-spacing:.16em; line-height:1.4; text-transform:uppercase;
}
.qual-heading h2{
  color:#263A5B; font-size:clamp(30px,3.4vw,48px); font-weight:400;
  letter-spacing:0; line-height:1.2;
}
.qual-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;
  scroll-margin-top:132px;
}
.qual-item{
  display:grid; grid-template-columns:80px minmax(0,1fr); align-items:center; gap:32px;
  min-height:186px; padding:36px 40px; border-radius:7px;
  background:#263A5B; color:#fff;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.qual-item:hover{
  transform:translateY(-6px);
  background:#2E4669;
  box-shadow:0 18px 40px rgba(38,58,91,.28);
}
.qual-item:hover .qual-icon{color:#fff;}
.qual-icon{display:block; width:80px; height:88px; color:#E8EDF5;}
.qual-copy h3{
  margin-bottom:10px; color:#fff; font-size:20px; font-weight:600; line-height:1.35;
}
.qual-copy p{color:#F4F5F8; font-size:16px; font-weight:400; line-height:1.5;}
@media (min-width:761px) and (max-width:1100px){
  .qual-item{grid-template-columns:64px minmax(0,1fr); gap:22px; padding:28px;}
  .qual-icon{width:64px; height:72px;}
}
@media (max-width:760px){
  .qual-heading{margin-bottom:30px;}
  .qual-grid{grid-template-columns:1fr; gap:20px;}
  .qual-item{grid-template-columns:64px minmax(0,1fr); gap:24px; min-height:174px; padding:28px;}
  .qual-icon{width:64px; height:72px;}
}
@media (max-width:420px){
  .qual-item{grid-template-columns:48px minmax(0,1fr); gap:18px; padding:24px 20px;}
  .qual-icon{width:48px; height:56px;}
  .qual-copy h3{font-size:18px;}
  .qual-copy p{font-size:15px;}
}

/* ————— timeline ————— */
.cv{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:clamp(110px,15vh,180px) 0;}
.cv-cols{display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(50px,7vw,110px); align-items:start;}
@media (max-width:920px){ .cv-cols{grid-template-columns:1fr; gap:70px;} }
.cv-col > .mono{color:var(--gilt); display:flex; align-items:center; gap:16px; margin-bottom:34px;}
.cv-col > .mono::after{content:''; flex:1; height:1px; background:var(--line-2);}
.tl{position:relative; padding-left:clamp(30px,4vw,60px);}
.tl::before{content:''; position:absolute; left:6px; top:0; bottom:0; width:1px; background:var(--line-2);}
.tl .tl-progress{position:absolute; left:6px; top:0; width:1px; height:0; background:var(--gilt); z-index:1;}
.tl-row{
  position:relative; padding:26px 0; border-bottom:1px solid var(--line);
  display:grid; grid-template-columns:110px 1fr; gap:26px;
}
@media (max-width:600px){ .tl-row{grid-template-columns:1fr; gap:4px;} }
.tl-row::before{
  content:''; position:absolute; left:calc(-1 * clamp(30px,4vw,60px) + 2px); top:40px;
  width:9px; height:9px; background:var(--bg-2); border:1.5px solid var(--gilt);
  transform:rotate(45deg); z-index:2;
}
.tl-row .yr{
  font-weight:200; font-size:clamp(17px,1.7vw,21px); color:var(--gilt); line-height:1.4;
  letter-spacing:0.02em;
}
.tl-row b{display:block; font-weight:800; font-size:14.5px; letter-spacing:0.02em; color:var(--ink);}
.tl-row span{font-size:13px; color:var(--slate);}
.cv-lang{margin-top:44px; font-size:13.5px; color:var(--slate);}
.cv-lang b{color:var(--ink); font-weight:800;}

/* ————— contact split (concept 2) ————— */
.csplit{background:var(--ink); color:#fff; position:relative; overflow:hidden;}
.csplit-grid{display:grid; grid-template-columns:1fr 1fr; min-height:640px;}
@media (max-width:920px){ .csplit-grid{grid-template-columns:1fr;} }
.csplit.tall .csplit-grid{min-height:calc(100vh - 86px);}
.csplit-photo{position:relative; overflow:hidden; min-height:640px;}
@media (max-width:920px){ .csplit-photo{min-height:56vh;} }
.csplit-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 46%;}
.csplit-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(to right, transparent 55%, var(--ink));}
@media (max-width:920px){ .csplit-photo::after{background:linear-gradient(to bottom, transparent 60%, var(--ink));} }
.csplit-body{
  padding:clamp(70px,10vh,120px) clamp(28px,5vw,90px);
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  position:relative; z-index:2;
}
.csplit-body .mono{color:var(--gilt-light);}
.csplit-body .ct{
  color:#fff; font-weight:200; text-transform:uppercase; letter-spacing:0.02em;
  font-size:clamp(30px,3.8vw,54px); line-height:1.16;
  margin:24px 0 26px;
}
.csplit-body .ct em{font-style:normal; font-weight:600; color:var(--gilt-light);}
.csplit-body .lede{font-size:15.5px; font-weight:400; color:rgba(240,241,243,0.72); max-width:480px; margin-bottom:38px;}
.c-rows{border-top:1px solid var(--line-w); margin-bottom:44px; max-width:520px; width:100%;}
.c-rows .row{
  display:grid; grid-template-columns:130px 1fr; gap:20px; padding:16px 2px;
  border-bottom:1px solid var(--line-w); align-items:baseline;
}
@media (max-width:520px){ .c-rows .row{grid-template-columns:1fr; gap:2px;} }
.c-rows dt{font-weight:800; font-size:9px; letter-spacing:0.26em; text-transform:uppercase; color:var(--gilt-light);}
.c-rows dd{margin:0; font-size:15px; font-weight:400; color:rgba(240,241,243,0.9);}
.c-rows dd a{border-bottom:1px solid transparent; transition:border-color .25s ease, color .25s ease;}
.c-rows dd a:hover{border-bottom-color:var(--gilt-light); color:#fff;}

/* ————— process steps (contact page) ————— */
.steps{padding:clamp(110px,15vh,180px) 0;}
.steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-2); border:1px solid var(--line-2);}
@media (max-width:840px){ .steps-grid{grid-template-columns:1fr;} }
.step{background:var(--card); padding:50px 44px; transition:background .35s ease;}
.step:hover{background:var(--bg);}
.step .sn{
  font-weight:200; font-size:56px; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(32,59,92,0.6); display:block; margin-bottom:28px;
}
.step h4{
  font-weight:800; font-size:12.5px; letter-spacing:0.2em; text-transform:uppercase;
  margin-bottom:14px;
}
.step p{font-size:14px; color:var(--slate);}

/* ————— footer (concept 2) ————— */
footer{background:var(--ink); border-top:1px solid var(--line-w); padding:40px 0; color:rgba(244,244,245,0.45);}
.foot{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px 24px; font-size:11.5px; font-weight:400;}
.foot .foot-copy{justify-self:start;}
.foot .foot-brand{justify-self:center; display:inline-flex; align-items:center;}
.foot .foot-brand img{height:30px; width:auto; object-fit:contain; display:block; filter:brightness(0) invert(1); opacity:.5; transition:opacity .25s ease;}
@media (hover:hover){ .foot .foot-brand:hover img{opacity:.85;} }
.foot-links{justify-self:end; display:flex; gap:24px;}
.foot-links a{transition:color .25s ease;}
.foot-links a:hover{color:#fff;}
@media (max-width:760px){
  .foot{grid-template-columns:1fr; justify-items:center; text-align:center; gap:22px;}
  .foot .foot-copy, .foot .foot-brand, .foot-links{justify-self:center;}
  .foot .foot-brand{order:-1;}
  .foot-links{flex-wrap:wrap; justify-content:center; gap:14px 20px;}
}

/* ————————————————————————————————————————————
   INNER PAGES — hero accent · legal prose · contact form · breadcrumb
   (additive; reuses the brand palette + Mulish system above)
———————————————————————————————————————————— */
.page-hero::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse at 92% -20%, rgba(185,205,223,0.22), transparent 55%);
}
.page-hero > *{position:relative; z-index:1;}
.page-hero .ph-watermark{
  position:absolute; right:-1vw; bottom:-5vh; z-index:0; pointer-events:none; user-select:none;
  font-weight:200; font-size:clamp(120px,19vw,320px); line-height:1; letter-spacing:-0.02em;
  color:transparent; -webkit-text-stroke:1px rgba(32,59,92,0.06);
}
.page-hero .eyebrow{margin-bottom:30px;}
.crumbs{
  display:flex; align-items:center; gap:10px; margin-bottom:30px;
  font-weight:800; font-size:9px; letter-spacing:0.24em; text-transform:uppercase; color:var(--slate);
}
.crumbs a{color:var(--slate); transition:color .25s ease;}
.crumbs a:hover{color:var(--gilt);}
.crumbs span{color:var(--gilt);}
.crumbs i{width:4px; height:4px; background:var(--line-2); transform:rotate(45deg); flex-shrink:0;}

/* ————— legal / prose pages ————— */
.legal{padding:clamp(56px,8vh,100px) 0 clamp(90px,13vh,160px);}
.legal-grid{display:grid; grid-template-columns:clamp(200px,22vw,290px) 1fr; gap:clamp(40px,6vw,100px); align-items:start;}
@media (max-width:900px){ .legal-grid{grid-template-columns:1fr; gap:44px;} }
.legal-toc{position:sticky; top:120px;}
@media (max-width:900px){ .legal-toc{position:static;} }
.legal-toc .mono{color:var(--gilt); display:flex; align-items:center; gap:14px; margin-bottom:20px;}
.legal-toc .mono::after{content:''; flex:1; height:1px; background:var(--line-2);}
.legal-toc ol{list-style:none; counter-reset:toc; padding:0; margin:0;}
.legal-toc li{counter-increment:toc; border-bottom:1px solid var(--line);}
.legal-toc a{
  display:flex; gap:12px; align-items:baseline; padding:12px 2px; font-size:13px;
  color:var(--slate); transition:color .25s ease, padding-left .3s var(--ease);
}
.legal-toc a::before{
  content:counter(toc,decimal-leading-zero); font-weight:800; font-size:9px;
  letter-spacing:0.1em; color:var(--gilt); min-width:22px;
}
.legal-toc a:hover{color:var(--ink); padding-left:8px;}
.legal-body > section{
  padding-bottom:clamp(34px,5vh,54px); margin-bottom:clamp(34px,5vh,54px);
  border-bottom:1px solid var(--line); scroll-margin-top:132px;
}
.legal-body > section:last-child{border-bottom:0; margin-bottom:0;}
.legal-body h2{
  font-weight:300; text-transform:uppercase; letter-spacing:0.02em;
  font-size:clamp(20px,2.3vw,30px); line-height:1.22; margin-bottom:20px;
  display:flex; align-items:baseline; gap:16px;
}
.legal-body h2 .ln{font-weight:200; font-size:0.66em; color:var(--gilt);}
.legal-body h3{
  font-weight:800; font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--ink); margin:28px 0 12px;
}
.legal-body p{font-size:15px; color:var(--slate); margin-bottom:16px; max-width:760px;}
.legal-body p b{color:var(--ink); font-weight:800;}
.legal-body a{color:var(--gilt); border-bottom:1px solid transparent; transition:border-color .25s ease;}
.legal-body a:hover{border-bottom-color:var(--gilt);}
.legal-body ul.bullets{margin:0 0 18px; padding:0; max-width:760px;}
.legal-body ul.bullets li{
  position:relative; padding:9px 0 9px 26px; font-size:14.5px; color:var(--slate);
  border-bottom:1px solid var(--line);
}
.legal-body ul.bullets li:last-child{border-bottom:0;}
.legal-body ul.bullets li::before{
  content:''; position:absolute; left:4px; top:17px; width:6px; height:6px;
  background:var(--gilt); transform:rotate(45deg);
}
.legal-note{
  margin-top:14px; padding:22px 28px; border-left:2px solid var(--gilt);
  background:var(--bg-2); font-size:13.5px; color:var(--slate); max-width:760px;
}
.legal-note b{color:var(--ink);}

/* ————— contact form (sits on the dark csplit panel) ————— */
.cform{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; max-width:560px; width:100%;}
.cform .fld{display:flex; flex-direction:column; gap:9px;}
.cform .fld.full{grid-column:1 / -1;}
.cform label{font-weight:800; font-size:9px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gilt-light);}
.cform input, .cform textarea, .cform select{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.16);
  color:#fff; font-family:var(--font); font-size:14px; padding:14px 16px; border-radius:8px;
  transition:border-color .25s ease, background .25s ease;
}
.cform input::placeholder, .cform textarea::placeholder{color:rgba(240,241,243,0.4);}
.cform input:focus, .cform textarea:focus, .cform select:focus{
  outline:none; border-color:var(--gilt-light); background:rgba(255,255,255,0.08);
}
.cform select{appearance:none; cursor:pointer;}
.cform select option{color:var(--ink);}
.cform textarea{resize:vertical; min-height:120px;}
.cform .fld.full .btn{width:100%; cursor:pointer;}
.cform .consent{flex-direction:row; align-items:flex-start; gap:12px;}
.cform .consent input{width:16px; height:16px; margin-top:2px; flex:0 0 auto; padding:0;}
.cform .consent label{
  font-weight:400; font-size:12px; letter-spacing:0.01em; text-transform:none;
  color:rgba(240,241,243,0.62); line-height:1.6;
}
@media (max-width:520px){ .cform{grid-template-columns:1fr;} }

/* ————— map / info strip (contact) ————— */
.info-band{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:clamp(70px,10vh,120px) 0;}
.info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-2); border:1px solid var(--line-2);}
@media (max-width:840px){ .info-grid{grid-template-columns:1fr;} }
.info-card{background:var(--card); padding:clamp(36px,4vw,52px) clamp(28px,3vw,42px); transition:background .4s ease;}
.info-card:hover{background:var(--bg);}
.info-card .mono{color:var(--gilt); margin-bottom:18px; display:block;}
.info-card b{display:block; font-weight:300; font-size:clamp(19px,2vw,25px); color:var(--ink); margin-bottom:8px; letter-spacing:0.01em;}
.info-card p{font-size:14px; color:var(--slate);}
.info-card a{color:var(--navy-light); border-bottom:1px solid transparent; transition:border-color .25s ease;}
.info-card a:hover{border-bottom-color:var(--gilt);}

/* ————— stats band (dark) ————— */
.stats-band{background:var(--ink); color:#fff; position:relative; overflow:hidden; padding:clamp(66px,9vh,110px) 0;}
.stats-band::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 12% 0%, rgba(43,82,122,0.55), transparent 55%),
             radial-gradient(ellipse at 100% 100%, rgba(185,205,223,0.12), transparent 50%);
}
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line-w); border:1px solid var(--line-w); position:relative; z-index:2;
}
@media (max-width:820px){ .stats-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .stats-grid{grid-template-columns:1fr;} }
.stat{
  background:var(--ink); padding:clamp(34px,3.6vw,50px) clamp(26px,2.6vw,40px);
  position:relative; overflow:hidden; transition:background .45s ease;
}
.stat::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gilt-light); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.stat:hover{background:#2B527A;}
.stat:hover::before{transform:none;}
.stat .sv{
  font-weight:200; font-size:clamp(44px,5vw,72px); line-height:1; letter-spacing:-0.01em; color:#fff;
  display:flex; align-items:baseline; gap:4px;
}
.stat .sv i{font-style:normal; font-weight:600; font-size:0.42em; color:var(--gilt-light);}
.stat span{
  display:block; margin-top:14px; font-weight:700; font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; color:rgba(240,241,243,0.6); line-height:1.7;
}

/* ————— founders — premium feature cards ————— */
.team{padding:clamp(90px,13vh,170px) 0 clamp(70px,10vh,120px);}
.founders-stack{display:flex; flex-direction:column; gap:clamp(38px,6vh,80px);}
.founder{
  position:relative; display:grid; grid-template-columns:minmax(0,420px) 1fr;
  gap:clamp(34px,5vw,80px); align-items:center;
}
@media (max-width:880px){ .founder{grid-template-columns:1fr; gap:38px;} }
.founder:nth-child(even) .founder-media{order:2;}
@media (max-width:880px){ .founder:nth-child(even) .founder-media{order:0;} }

.founder-media{position:relative; isolation:isolate;}
.founder-shot{
  position:relative; border-radius:16px; overflow:hidden;
  box-shadow:0 44px 84px -48px rgba(32,59,92,0.9);
}
.founder-shot img{
  width:100%; aspect-ratio:1/1; object-fit:cover; object-position:50% 20%;
  display:block; transition:transform 1.1s var(--ease);
}
.founder:hover .founder-shot img{transform:scale(1.045);}
.founder-shot::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14);
  background:linear-gradient(to top, rgba(22,41,62,0.55), transparent 42%);
}
.founder-frame{
  content:''; position:absolute; z-index:-1; top:22px; left:-18px; right:18px; bottom:-18px;
  border:1px solid var(--gilt); border-radius:16px;
}
.founder:nth-child(even) .founder-frame{left:18px; right:-18px;}
.founder-no{
  position:absolute; top:-26px; left:-10px; z-index:3;
  font-weight:200; font-size:clamp(66px,8vw,116px); line-height:1; letter-spacing:-0.02em;
  color:transparent; -webkit-text-stroke:1px rgba(32,59,92,0.2);
}
.founder:nth-child(even) .founder-no{left:auto; right:-10px;}
.founder-tag{
  position:absolute; bottom:24px; left:-1px; z-index:3; background:var(--gilt); color:#fff;
  padding:13px 24px; font-weight:800; font-size:9px; letter-spacing:0.3em; text-transform:uppercase;
  box-shadow:0 20px 40px -24px rgba(32,59,92,0.9);
}
.founder:nth-child(even) .founder-tag{left:auto; right:-1px;}

.founder-content .m-role{
  font-weight:800; font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gilt); display:flex; align-items:center; gap:12px; margin-bottom:16px;
}
.founder-content .m-role::before{content:''; width:28px; height:1px; background:var(--gilt);}
.founder-content h3{
  font-weight:200; font-size:clamp(32px,4vw,54px); letter-spacing:0.01em; line-height:1.04;
  text-transform:uppercase; color:var(--ink); margin-bottom:14px;
}
.founder-content h3 b{font-weight:500;}
.founder-content .m-creds{
  display:inline-flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;
}
.founder-content .m-creds span{
  font-weight:800; font-size:9px; letter-spacing:0.16em; text-transform:uppercase; color:var(--navy);
  background:var(--bg-2); border:1px solid var(--line-2); border-radius:999px; padding:7px 14px;
}
.founder-content p{font-size:14.5px; color:var(--slate); margin-bottom:16px; max-width:600px; line-height:1.72;}
.founder-content p b{color:var(--ink); font-weight:800;}
.founder-focus{display:flex; align-items:baseline; gap:18px; margin-top:26px; flex-wrap:wrap;}
.founder-focus .fl{font-weight:800; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--slate);}
.m-tags{display:flex; flex-wrap:wrap; gap:8px;}
.m-tags span{
  font-weight:700; font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:var(--slate);
  border:1px solid var(--line-2); border-radius:999px; padding:7px 14px;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.m-tags span:hover{background:var(--ink); border-color:var(--ink); color:#fff;}
.member-meta{border-top:1px solid var(--line-2); margin-top:28px; padding-top:4px; max-width:600px;}
.member-meta .row{
  display:grid; grid-template-columns:clamp(96px,9vw,120px) 1fr; gap:16px; align-items:baseline;
  padding:13px 2px; border-bottom:1px solid var(--line);
}
@media (max-width:420px){ .member-meta .row{grid-template-columns:1fr; gap:2px;} }
.member-meta dt{font-weight:800; font-size:8.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gilt);}
.member-meta dd{margin:0; font-size:13.5px; color:var(--ink); font-weight:600;}
.member-meta dd span{color:var(--slate); font-weight:400;}
.m-link{
  display:inline-flex; align-items:center; gap:11px; margin-top:28px;
  font-weight:800; font-size:9px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ink); border-bottom:1px solid var(--gilt); padding-bottom:9px;
}
.m-link svg{width:14px; height:14px; transition:transform .3s var(--ease);}
.m-link:hover svg{transform:translateX(5px);}

/* ————— service cards — dynamic navy panels (CSS background, cursor-reactive) ————— */
.svc-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:clamp(90px,12vh,150px);}
@media (max-width:980px){ .svc-cards{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .svc-cards{grid-template-columns:1fr;} }
.svc-card{
  position:relative; overflow:hidden; isolation:isolate; color:#fff;
  border:1px solid rgba(255,255,255,0.1); border-radius:5px;
  padding:clamp(32px,2.8vw,46px); min-height:304px; display:flex; flex-direction:column;
  background:linear-gradient(158deg, #2B527A 0%, var(--navy) 56%, #152840 100%);
  box-shadow:0 22px 46px -34px rgba(32,59,92,0.8);
  transition:transform .6s var(--ease), box-shadow .6s ease, border-color .45s ease;
}
/* layer 1 — dot texture + cursor-following aurora (updated via --mx/--my in JS) */
.svc-card::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(280px 280px at var(--mx,50%) var(--my,-12%), rgba(185,205,223,0.32), transparent 68%),
    radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1.4px);
  background-size:100% 100%, 20px 20px;
  opacity:.9; transition:opacity .5s ease;
  animation:scGlow 7s var(--ease) infinite;
}
@keyframes scGlow{0%,100%{opacity:.72;} 50%{opacity:.95;}}
/* layer 2 — gold hairline that draws across on hover */
.svc-card::after{
  content:''; position:absolute; top:0; left:0; right:0; height:2px; z-index:2;
  background:linear-gradient(90deg, transparent, var(--gilt-light) 18%, var(--gilt-light) 82%, transparent);
  transform:scaleX(0); transform-origin:center; transition:transform .6s var(--ease);
}
.svc-card > *{position:relative; z-index:1;}
.svc-card .sc-ico{
  width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(185,205,223,0.34); border-radius:14px; color:var(--gilt-light);
  background:rgba(185,205,223,0.05);
  transition:color .5s ease, border-color .5s ease, background .5s ease, transform .5s var(--ease);
}
.svc-card .sc-ico svg{width:27px; height:27px;}
.svc-card h4{
  font-weight:800; font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:#fff; margin:26px 0 12px;
}
.svc-card p{font-size:13.5px; color:rgba(240,241,243,0.68); line-height:1.7; margin-bottom:22px;}
/* hover — lift, brighten aurora, draw gold line, light the icon */
.svc-card:hover{transform:translateY(-10px); border-color:rgba(185,205,223,0.42); box-shadow:0 52px 84px -40px rgba(32,59,92,0.95);}
.svc-card:hover::before{opacity:1; animation:none;}
.svc-card:hover::after{transform:none;}
.svc-card:hover .sc-ico{border-color:var(--gilt-light); background:var(--gilt-light); color:var(--ink); transform:translateY(-2px);}

/* ————— reduced motion ————— */
@media (prefers-reduced-motion:reduce){
  *{transition:none !important; animation:none !important;}
  html{scroll-behavior:auto;}
  .reveal,.lm > span,.page-hero .fade,
  .vh-eyebrow,.vh-lede,.vh-cta,.vh-readout,.vh-bar-in{opacity:1 !important; transform:none !important;}
  .vh-image{opacity:1 !important; transform:none !important;}
  .vs-line i{animation:none !important;}
  .curtain{display:none;}
  .tier{transform:none !important;}
  .ticker-track{animation:none !important;}
}
