@charset "utf-8";
/* ==========================================================================
   Quantum Heights Limited — corporate site
   Design system: institutional serif display + neo-grotesque UI,
   warm paper ground, navy mass, teal signal.
   ========================================================================== */

:root{
  /* ink */
  --ink:#0A1B31;
  --ink-2:#061120;
  --ink-3:#12294a;
  --ink-soft:#33465f;
  --muted:#5C6B7E;
  --muted-2:#667385;
  --teal-dk:#0C7476;

  /* paper */
  --paper:#FCFAF6;
  --paper-2:#F4F0E8;
  --paper-3:#EDE7DB;
  --sand:#F7EFE2;
  --sand-2:#EFE3D0;
  --amber:#B4762E;
  --white:#fff;

  /* rules */
  --line:#E3DFD6;
  --line-2:#D2CDC1;
  --line-dark:rgba(255,255,255,.16);
  --line-dark-2:rgba(255,255,255,.08);

  /* signal */
  --teal:#0F8B8D;
  --teal-2:#14A3A5;
  --teal-3:#5FD0D8;
  --teal-wash:#E7F1F1;

  /* metrics */
  --wrap:1300px;
  --gut:clamp(20px,4vw,44px);
  --r:2px;

  --sans:"Inter","Inter var",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Newsreader",'Iowan Old Style',Georgia,"Times New Roman",serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.6;
  font-feature-settings:"kern" 1,"liga" 1,"cv05" 1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--teal-2);outline-offset:3px;border-radius:1px}
::selection{background:var(--ink);color:var(--paper)}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap-n{max-width:1060px;margin-inline:auto;padding-inline:var(--gut)}

/* ---------- typography ------------------------------------------------- */
.d1,.d2,.d3{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;
  text-wrap:balance;hyphens:none;-webkit-hyphens:none}
.d1{font-size:clamp(33px,4.3vw,58px);line-height:1.08;letter-spacing:-.018em}
.d2{font-size:clamp(26px,3.0vw,42px);line-height:1.14;letter-spacing:-.015em}
.d3{font-size:clamp(20px,1.9vw,27px);line-height:1.24;letter-spacing:-.01em}
.d1 em,.d2 em,.d3 em{font-style:italic;color:var(--ink-soft)}
.d1 .q,.d2 .q{color:inherit}

.eyebrow{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-dk);display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none;opacity:.55}
.eyebrow.plain::before{display:none}
.on-dark .eyebrow,.dark .eyebrow{color:var(--teal-3)}

.lede{font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.62;color:var(--ink-soft);
  max-width:58ch;font-weight:400;text-wrap:pretty}
.body{font-size:16px;line-height:1.7;color:var(--muted);max-width:72ch;text-wrap:pretty}
.body + .body{margin-top:1.1em}
.small{font-size:13.5px;line-height:1.55;color:var(--muted-2)}
.mono{font-family:var(--sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.num{font-family:var(--serif);font-weight:300;font-variant-numeric:lining-nums;line-height:1}

/* ---------- section rhythm --------------------------------------------- */
.sec{padding-block:clamp(64px,8vw,116px)}
.sec-sm{padding-block:clamp(48px,5vw,72px)}
.sec-top{border-top:1px solid var(--line)}
.dark{background:var(--ink);color:var(--paper)}
.dark .body,.dark .lede{color:#A9B6C6}
.dark .small{color:#7F8FA3}
.dark .sec-top,.dark.sec-top{border-color:var(--line-dark)}

.head{display:grid;gap:clamp(16px,1.9vw,24px);max-width:820px}
.head-wide{max-width:1000px}

/* ---------- header ------------------------------------------------------ */
.hdr{
  position:sticky;top:0;z-index:80;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
}
.hdr-in{display:flex;align-items:center;gap:24px;min-height:74px}
.hdr-logo{display:flex;align-items:center;gap:13px;margin-right:auto}
.hdr-logo img{height:40px;width:auto}
.hdr-logo .wm{display:none}
@media(min-width:520px){
  .hdr-logo .wm{display:block;border-left:1px solid var(--line-2);padding-left:13px;line-height:1.15}
  .hdr-logo .wm b{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.005em}
  .hdr-logo .wm span{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
}
.nav{display:none;gap:2px}
@media(min-width:1160px){.nav{display:flex}}
.nav a{
  padding:9px 13px;font-size:14px;font-weight:500;color:var(--ink-soft);
  border-radius:var(--r);transition:color .18s,background .18s;position:relative;
}
.nav a:hover{color:var(--ink);background:var(--paper-2)}
.nav a[aria-current="page"]{color:var(--ink)}
.nav a[aria-current="page"]::after{
  content:"";position:absolute;left:13px;right:13px;bottom:2px;height:1.5px;background:var(--teal);
}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 19px;font-size:13.5px;font-weight:600;letter-spacing:-.005em;
  background:var(--ink);color:var(--paper);border-radius:var(--r);
  transition:background .18s,transform .18s;white-space:nowrap;
}
.btn:hover{background:var(--ink-3)}
.btn svg{width:13px;height:13px;flex:none}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dark .btn{background:var(--paper);color:var(--ink)}
.dark .btn:hover{background:var(--teal-3)}
.dark .btn-ghost{background:transparent;color:var(--paper);border-color:var(--line-dark)}
.dark .btn-ghost:hover{background:var(--paper);color:var(--ink)}
.hdr .btn{display:none}
@media(min-width:620px){.hdr .btn{display:inline-flex}}

.burger{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-2);border-radius:var(--r)}
@media(min-width:1160px){.burger{display:none}}
.burger span{display:block;width:16px;height:1.5px;background:var(--ink);transition:transform .22s,opacity .22s}
.burger span+span{margin-top:4.5px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none;border-top:1px solid var(--line);background:var(--paper)}
.mnav.open{display:block}
.mnav a{display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);font-size:18px;font-family:var(--serif);font-weight:400}
.mnav a:last-of-type{border-bottom:0}
.mnav .idx{font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--muted-2)}

/* ---------- hero -------------------------------------------------------- */
.hero{padding-block:clamp(52px,7vw,92px) clamp(40px,5vw,66px);position:relative}
.hero-h{max-width:21ch;margin-block:clamp(22px,2.6vw,32px) clamp(34px,4.4vw,58px)}
.hero-grid{display:grid;gap:clamp(30px,4vw,64px);align-items:start}
@media(min-width:940px){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.85fr)}}
.hero .lede{max-width:52ch}
.pagehero{padding-block:clamp(52px,7vw,92px) clamp(30px,3.6vw,48px)}
.pagehero .d1{max-width:19ch}

.jump{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.jump a{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:17px 0;border-bottom:1px solid var(--line);
  transition:color .2s,background .2s;position:relative;
}
.jump a:hover{color:var(--teal-dk)}
.jump a::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1.5px;
  background:var(--teal);transition:width .28s cubic-bezier(.2,.7,.3,1)}
.jump a:hover::after{width:100%}
.jump .t{font-size:16px;font-weight:500;letter-spacing:-.005em}
.jump .d{font-size:13px;color:var(--muted-2);flex:none;max-width:46%;text-align:right}

/* ---------- full-bleed image band -------------------------------------- */
.band{position:relative;background:var(--ink-2);color:var(--paper);overflow:hidden;isolation:isolate}
.band-img{position:absolute;inset:0;z-index:-2}
.band-img img{width:100%;height:100%;object-fit:cover;display:block;object-position:60% 42%}
.hero-band img{object-position:66% 62%}
.band-img::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(6,17,32,.88) 0%,rgba(6,17,32,.55) 48%,rgba(6,17,32,.14) 100%),
    linear-gradient(180deg,rgba(6,17,32,.42) 0%,rgba(6,17,32,.06) 40%,rgba(6,17,32,.48) 100%);
}
.band-grid-tex{display:none;
  background-image:linear-gradient(var(--line-dark-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark-2) 1px,transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 25%,#000 70%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 25%,#000 70%,transparent);
}

/* stat row (Mercor-style overlay figures) */
.stats{display:grid;gap:0;border-top:1px solid var(--line-dark)}
@media(min-width:860px){.stats{grid-template-columns:repeat(3,1fr);border-top:0}}
.stat{padding:26px 0;border-bottom:1px solid var(--line-dark)}
@media(min-width:860px){
  .stat{padding:30px 34px 30px 0;border-bottom:0;border-left:1px solid var(--line-dark);padding-left:28px}
  .stat:first-child{border-left:0;padding-left:0}
}
.stat .v{font-family:var(--serif);font-weight:300;font-size:clamp(52px,6vw,82px);line-height:.92;letter-spacing:-.02em}
.stat .v .u{font-size:.38em;letter-spacing:0;margin-left:.12em;color:var(--teal-3);font-family:var(--sans);font-weight:500}
.stat .k{margin-top:14px;font-size:14px;line-height:1.5;color:#A9B6C6;max-width:30ch}

/* ---------- cards / tiles ---------------------------------------------- */
.grid{display:grid;gap:clamp(16px,2vw,22px)}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr}
@media(min-width:700px){.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}

.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:14px;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.card:hover{border-color:var(--line-2);box-shadow:0 1px 0 var(--line-2),0 18px 40px -30px rgba(10,27,49,.5)}
.card h3{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.34;text-wrap:balance}
.card .body{font-size:15px;line-height:1.62}
.dark .card{background:rgba(255,255,255,.035);border-color:var(--line-dark)}
.dark .card:hover{border-color:rgba(255,255,255,.3);box-shadow:none}





/* illustration tile (the isometric set) */










/* numbered editorial rows */
.rows{border-top:1px solid var(--line)}
.row{
  display:grid;gap:14px 40px;padding-block:clamp(28px,3.4vw,42px);
  border-bottom:1px solid var(--line);align-items:start;
}
@media(min-width:900px){.row{grid-template-columns:64px minmax(0,1fr) minmax(0,1.25fr)}}
.row .n{font-family:var(--serif);font-weight:300;font-size:29px;line-height:1;color:var(--teal-dk);letter-spacing:-.02em}
.row h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,25px);line-height:1.22;letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.row .body{font-size:16px}
.dark .rows,.dark .row{border-color:var(--line-dark)}
.dark .row .n{color:var(--teal-3)}

/* deliverables list */
.deliv{display:grid;gap:9px;margin-top:18px}
.deliv li{display:flex;gap:11px;font-size:14.5px;line-height:1.5;color:var(--ink-soft)}
.deliv li::before{
  content:"";width:5px;height:5px;flex:none;margin-top:8px;
  background:var(--teal);transform:rotate(45deg);
}
.dark .deliv li{color:#A9B6C6}
.dark .deliv li::before{background:var(--teal-3)}
.deliv-h{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:12px}

/* label chips */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{
  border:1px solid var(--line-2);border-radius:999px;padding:6px 13px;
  font-size:12.5px;font-weight:500;color:var(--ink-soft);background:var(--white);
}
.dark .chip{border-color:var(--line-dark);color:#C3CEDB;background:rgba(255,255,255,.04)}

/* pull quote / callout */
.note{
  border-left:2px solid var(--teal);padding:4px 0 4px 22px;
  font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--ink-soft);
  text-wrap:pretty;
}
.dark .note{border-color:var(--teal-3);color:#C3CEDB}

/* figure frame for diagrams */
.fig{border:1px solid var(--line);border-radius:var(--r);background:var(--white);overflow:hidden}
.fig .fig-b{padding:clamp(18px,2.6vw,34px)}
.fig svg{width:100%;height:auto}
.fig figcaption{
  border-top:1px solid var(--line);padding:13px clamp(18px,2.6vw,34px);
  font-size:12.5px;color:var(--muted-2);display:flex;gap:10px;align-items:baseline;
}
.fig figcaption b{font-weight:600;color:var(--ink-soft);letter-spacing:.03em;font-size:11px;text-transform:uppercase;flex:none}
.dark .fig{background:rgba(255,255,255,.03);border-color:var(--line-dark)}
.dark .fig figcaption{border-color:var(--line-dark);color:#8494A8}
.dark .fig figcaption b{color:#C3CEDB}

/* image figure */
.imgfig{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--ink-2)}
.imgfig img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.imgfig.tall img{aspect-ratio:4/5}
.imgfig.wide img{aspect-ratio:21/9}

/* split feature */
.split{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media(min-width:960px){
  .split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split.rev>*:first-child{order:2}
}

/* marquee */


@media (prefers-reduced-motion:reduce){.marq-t{animation:none}}




/* table-ish definition rows */
.dl{border-top:1px solid var(--line)}
.dl>div{display:grid;gap:4px 32px;padding-block:18px;border-bottom:1px solid var(--line)}
@media(min-width:700px){.dl>div{grid-template-columns:190px minmax(0,1fr)}}
.dl dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);padding-top:3px}
.dl dd{font-size:15.5px;line-height:1.65;color:var(--ink-soft);text-wrap:pretty}
.dark .dl,.dark .dl>div{border-color:var(--line-dark)}
.dark .dl dt{color:#8FA2B8}
.dark .dl dd{color:#DCE4EC}

/* checklist strip */
.checks{display:grid;gap:11px}
@media(min-width:640px){.checks{grid-template-columns:repeat(2,1fr);gap:11px 30px}}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45}
.checks svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--teal-3)}

/* CTA */
.cta{border-top:1px solid var(--line)}
.cta-in{display:grid;gap:26px;align-items:center;padding-block:clamp(52px,6vw,84px)}
@media(min-width:900px){.cta-in{grid-template-columns:minmax(0,1fr) auto;gap:48px}}
.cta .d2{max-width:22ch}

/* footer */
.ftr{background:var(--ink);color:#94A3B5;padding-block:clamp(48px,5.5vw,72px) 30px}
.ftr a{color:#C3CEDB;transition:color .18s}
.ftr a:hover{color:var(--teal-3)}
.ftr-top{display:grid;gap:38px}
@media(min-width:640px){.ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.ftr-top{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr))}}
.ftr-logo img{height:44px;width:auto;margin-bottom:18px}
.ftr h4,.ftr-h{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8B9CB1;margin-bottom:15px}
.ftr li+li{margin-top:9px}
.ftr li,.ftr address{font-size:14.5px;line-height:1.6;font-style:normal}
.ftr-btm{
  margin-top:clamp(36px,4vw,54px);padding-top:24px;border-top:1px solid var(--line-dark);
  display:grid;gap:14px;font-size:12.5px;line-height:1.6;color:#7A8AA0;
}
@media(min-width:820px){.ftr-btm{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
.ftr-disc{max-width:74ch}

/* reveal */
.rv{opacity:0;transform:translateY(14px)}
.rv.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--gut);top:10px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:var(--r)}

/* contact: give the locator more room */
@media(min-width:960px){.contact-split{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr)}}

/* horizontally scrollable figures ---------------------------------------- */
.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;padding-bottom:2px}
.scroll-x::-webkit-scrollbar{height:6px}
.scroll-x::-webkit-scrollbar-track{background:transparent}
.scroll-x::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
.dark .scroll-x{scrollbar-color:rgba(255,255,255,.24) transparent}
.dark .scroll-x::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24)}
.scroll-hint{display:none;margin-top:12px;font-size:12px;color:var(--muted-2);
  align-items:center;gap:8px}
.scroll-hint svg{width:14px;height:14px;flex:none;opacity:.8}
.dark .scroll-hint{color:#7F8FA3}
@media(max-width:960px){.scroll-hint{display:flex}}

/* a card that reads as a different category */
.span2{grid-column:span 1}
.kcards .span2{grid-column:span 1}
@media(min-width:960px){.span2{grid-column:span 2}}
@media(min-width:1020px){.kcards-3 .span2{grid-column:span 2}}
.card-alt{background:var(--paper-2);border-style:dashed}
.card-alt:hover{background:var(--paper-2)}
.dark .card-alt{background:rgba(255,255,255,.05)}


/* ==========================================================================
   HERO BANNER — full-bleed warm photography with the headline over it
   ========================================================================== */
.hb{position:relative;isolation:isolate;background:#0B1728;color:#fff;overflow:hidden}
.hb-img{position:absolute;inset:0;z-index:-2}
.hb-img img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.hb-img::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(22,15,8,.34) 0%,rgba(22,15,8,.04) 30%,rgba(14,12,10,.62) 78%,rgba(12,10,9,.80) 100%),
    linear-gradient(96deg,rgba(20,14,8,.58) 0%,rgba(20,14,8,.18) 46%,rgba(20,14,8,0) 78%);
}
.hb-rule{display:none}
.hb-in{position:relative;display:grid;align-content:end;gap:clamp(18px,2.2vw,26px);
  min-height:clamp(390px,52vh,540px);
  padding-block:clamp(118px,14vw,168px) clamp(42px,5.5vw,68px)}
.hb-home .hb-in{min-height:clamp(510px,74vh,700px)}
.hb .eyebrow{color:#B8C6D6}
.hb .q{color:inherit}
.hb .d1{color:#fff;max-width:24ch;text-shadow:0 2px 26px rgba(24,14,6,.5)}
.hb-home .d1{font-size:clamp(35px,4.8vw,64px);max-width:26ch}
.hb .lede{color:#F0E9DF;max-width:60ch;text-shadow:0 1px 16px rgba(24,14,6,.55)}
.hb-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hb .btn{background:#fff;color:var(--ink)}
.hb .btn:hover{background:var(--teal-3);color:var(--ink)}
.hb .btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.42);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hb .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

/* figures overlaid at the foot of the home hero */
.hb-stats{display:grid;gap:0;margin-top:clamp(22px,3vw,38px);
  border-top:1px solid rgba(255,255,255,.26)}
@media(min-width:860px){.hb-stats{grid-template-columns:repeat(3,1fr)}}
.hb-stats .stat{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}
@media(min-width:860px){
  .hb-stats .stat{padding:24px 30px 4px 26px;border-bottom:0;
    border-left:1px solid rgba(255,255,255,.22)}
  .hb-stats .stat:first-child{border-left:0;padding-left:0}
}
.hb-stats .v{font-family:var(--serif);font-weight:300;font-size:clamp(38px,3.8vw,52px);
  line-height:.95;letter-spacing:-.02em;color:#fff}
.hb-stats .k{margin-top:10px;font-size:13.5px;line-height:1.5;color:#E4DCD1;max-width:32ch;text-shadow:0 1px 12px rgba(24,14,6,.6)}

/* transparent header while the hero is under it */
body.has-hero .hdr{position:fixed;left:0;right:0;top:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom-color:transparent;transition:background .28s,border-color .28s,backdrop-filter .28s}
body.has-hero .hdr .nav a{color:rgba(255,255,255,.86)}
body.has-hero .hdr .nav a:hover{color:#fff;background:rgba(255,255,255,.12)}
body.has-hero .hdr .nav a[aria-current="page"]{color:#fff}
body.has-hero .hdr .nav a[aria-current="page"]::after{background:var(--teal-3)}
body.has-hero .hdr .btn{background:rgba(255,255,255,.1);color:#fff;
  border:1px solid rgba(255,255,255,.44);backdrop-filter:blur(6px)}
body.has-hero .hdr .btn:hover{background:#fff;color:var(--ink)}
body.has-hero .hdr-logo .wm b{color:#fff}
body.has-hero .hdr-logo .wm span{color:rgba(255,255,255,.68)}
body.has-hero .hdr-logo .wm{border-left-color:rgba(255,255,255,.3)}
body.has-hero .burger{border-color:rgba(255,255,255,.44)}
body.has-hero .burger span{background:#fff}
body.has-hero .lg-d{display:none}
body.has-hero .lg-l{display:block}
body.has-hero .hdr.solid{background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom-color:var(--line)}
body.has-hero .hdr.solid .nav a{color:var(--ink-soft)}
body.has-hero .hdr.solid .nav a:hover{color:var(--ink);background:var(--paper-2)}
body.has-hero .hdr.solid .nav a[aria-current="page"]{color:var(--ink)}
body.has-hero .hdr.solid .nav a[aria-current="page"]::after{background:var(--teal)}
body.has-hero .hdr.solid .btn{background:var(--ink);color:var(--paper);border:0}
body.has-hero .hdr.solid .btn:hover{background:var(--ink-3)}
body.has-hero .hdr.solid .hdr-logo .wm b{color:var(--ink)}
body.has-hero .hdr.solid .hdr-logo .wm span{color:var(--muted-2)}
body.has-hero .hdr.solid .hdr-logo .wm{border-left-color:var(--line-2)}
body.has-hero .hdr.solid .burger{border-color:var(--line-2)}
body.has-hero .hdr.solid .burger span{background:var(--ink)}
body.has-hero .hdr.solid .lg-d{display:block}
body.has-hero .hdr.solid .lg-l{display:none}
.lg-l{display:none}
.mnav{background:var(--paper)}

/* ---------- warm CTA ---------------------------------------------------- */
.cta{border-top:1px solid var(--line);background:var(--paper-2)}

/* ---------- at-a-glance discipline grid (replaces the matrix) ----------- */











/* ---------- clean lifecycle stepper ------------------------------------- */
.steps{display:grid;gap:0;counter-reset:st}
@media(min-width:620px){.steps{grid-template-columns:repeat(2,1fr);column-gap:34px}}
@media(min-width:980px){.steps{grid-template-columns:repeat(3,1fr);column-gap:44px}}
.step{position:relative;padding:26px 18px 34px 0}
.step::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--line)}
.dark .step::before{background:var(--line-dark)}
.step::after{content:"";position:absolute;left:0;top:-4.5px;width:9px;height:9px;
  background:var(--teal-2);border-radius:50%}
.step .n{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--teal-dk);margin-bottom:12px}
.dark .step .n{color:var(--teal-3)}
.step h3{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.26;
  letter-spacing:-.008em;margin-bottom:10px;text-wrap:balance}
.dark .step h3{color:#fff}
.step p{font-size:14.5px;line-height:1.62;color:var(--muted);max-width:34ch}
.dark .step p{color:#A9B6C6}
.step .bar{position:absolute;left:0;top:-4px;height:8px;background:var(--teal-2);opacity:.28}

/* jump list as a row under the hero */
@media(min-width:900px){
  .jump-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)}
  .jump-row a{flex-direction:column;align-items:flex-start;gap:7px;
    padding:26px 34px 28px 32px;border-bottom:0;border-left:1px solid var(--line)}
  .jump-row a:first-child{border-left:0;padding-left:0}
  /* hover must not shift the text off its divider */
  .jump-row a:hover{padding-inline-start:32px}
  .jump-row a:first-child:hover{padding-inline-start:0}
  .jump-row .d{text-align:left;max-width:none}
}
/* two-column deliverable lists */
@media(min-width:820px){.deliv-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* check icons need the darker teal on light grounds */
.checks svg{color:var(--teal-dk)}
.dark .checks svg{color:var(--teal-3)}

/* image crop hints */
.imgfig.wide-src img{object-position:50% 62%}

/* nothing should end on a single-word line */
p,li,figcaption,dd,.small{text-wrap:pretty}


/* ==========================================================================
   CONSULTING COMPONENT LAYER — flat fields, accent bars, chevrons.
   No illustration, no gradient furniture.
   ========================================================================== */

/* section label bar */
.lbl{background:var(--ink);color:#fff}
.lbl .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-block:13px}
@media(max-width:640px){.lbl .wrap{display:grid;gap:5px}}
.lbl b{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.lbl span{font-size:12.5px;color:#9DB0C6}

/* accent-bar cards */
.kcards{display:grid;gap:clamp(14px,1.6vw,20px)}
@media(min-width:680px){.kcards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.kcards-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1020px){.kcards-4{grid-template-columns:repeat(4,1fr)}}
.kcard{
  position:relative;background:var(--white);border:1px solid var(--line);
  padding:clamp(24px,2.4vw,32px) clamp(22px,2.2vw,28px) clamp(22px,2.2vw,28px);
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .2s,background .2s;
}
.kcard::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--teal)}
.kcard:hover{border-color:var(--line-2);background:var(--paper-2)}
.kcard .n{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--muted-2)}
.kcard h3{font-size:18px;font-weight:600;letter-spacing:-.008em;line-height:1.32;
  color:var(--ink);text-wrap:balance}
.kcard p{font-size:15px;line-height:1.62;color:var(--muted);text-wrap:pretty}
.kcard .chev{margin-top:auto;padding-top:6px}

/* dark variant — KPMG's navy card wall */
.kwall{background:var(--ink);color:#fff}
.kwall .kcard{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.kwall .kcard::before{background:var(--teal-3)}
.kwall .kcard:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3)}
.kwall .kcard h3{color:#fff}
.kwall .kcard p{color:#A9B8C9}
.kwall .kcard .n{color:#7E90A6}
.kwall .chev{color:#fff}

/* chevron link */
.chev{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;
  color:var(--ink);letter-spacing:-.005em}
.chev::after{content:"›";font-size:19px;line-height:1;transform:translateY(-1px);
  transition:transform .18s}
a:hover .chev::after,.chev:hover::after{transform:translate(4px,-1px)}

/* flat numbered process line */
.stepline{display:grid;gap:0;border-top:1px solid var(--line)}
@media(min-width:640px){.stepline{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.stepline-6{grid-template-columns:repeat(3,1fr)}}
.dark .stepline,.kwall .stepline{border-color:rgba(255,255,255,.18)}
.stepline .s{position:relative;padding:26px 30px 30px 0;border-bottom:1px solid var(--line)}
.dark .stepline .s,.kwall .stepline .s{border-color:rgba(255,255,255,.14)}
.stepline .s::before{content:"";position:absolute;left:0;top:-1px;width:34px;height:2px;background:var(--teal)}
.kwall .stepline .s::before,.dark .stepline .s::before{background:var(--teal-3)}
.stepline .n{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--muted-2);margin-bottom:12px}
.dark .stepline .n,.kwall .stepline .n{color:#8496AC}
.stepline h3{font-size:17px;font-weight:600;line-height:1.34;letter-spacing:-.008em;margin-bottom:9px}
.dark .stepline h3,.kwall .stepline h3{color:#fff}
.stepline p{font-size:14.5px;line-height:1.62;color:var(--muted);max-width:38ch}
.dark .stepline p,.kwall .stepline p{color:#A9B8C9}

/* three-part structural block (replaces the hub diagram) */
.struct{display:grid;gap:0;border-top:1px solid var(--line)}
@media(min-width:900px){.struct{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.15fr)}}
.dark .struct{border-color:var(--line-dark)}
.struct > div{padding:30px 36px 34px 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){
  .struct > div{border-bottom:0;border-left:1px solid var(--line);padding-left:36px}
  .struct > div:first-child{border-left:0;padding-left:0}
}
.dark .struct > div{border-color:var(--line-dark)}
.kwall .struct,.kwall .struct > div{border-color:var(--line-dark)}
.kwall .struct h3{color:#fff}
.kwall .struct p{color:#A9B8C9}
.kwall .struct .role{color:var(--teal-3)}
.kwall .struct li{color:#C0CDDB}
.kwall .struct li::before{background:var(--teal-3)}
.struct .role{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-dk);margin-bottom:14px}
.dark .struct .role{color:var(--teal-3)}
.struct h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.24;
  letter-spacing:-.01em;margin-bottom:12px}
.dark .struct h3{color:#fff}
.struct p{font-size:15px;line-height:1.65;color:var(--muted)}
.dark .struct p{color:#A9B8C9}
.struct ul{margin-top:14px;display:grid;gap:8px}
.struct li{font-size:14.5px;line-height:1.5;color:var(--ink-soft);
  padding-left:15px;position:relative}
.struct li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:1.5px;background:var(--teal)}
.dark .struct li{color:#C0CDDB}
.dark .struct li::before{background:var(--teal-3)}

/* plain figure row (replaces the drawn journey) */
.journey{display:grid;gap:0;border-top:1px solid var(--line);margin-top:8px}
@media(min-width:700px){.journey{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1060px){.journey{grid-template-columns:repeat(6,1fr)}}
.journey li{padding:22px 22px 26px 0;border-bottom:1px solid var(--line);position:relative}
.journey li::before{content:"";position:absolute;left:0;top:-1px;width:26px;height:2px;background:var(--teal)}
.journey .n{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--muted-2);margin-bottom:9px}
.journey p{font-size:14.5px;line-height:1.5;color:var(--ink-soft);max-width:24ch}

/* bookends either side of the journey */
.ends{display:grid;gap:22px;margin-top:clamp(30px,3.4vw,44px)}
@media(min-width:820px){.ends{grid-template-columns:repeat(2,1fr);gap:48px}}
.ends div{border-top:2px solid var(--ink)}
.ends div:last-child{border-top-color:var(--teal)}
.ends dt{padding-top:16px;font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted-2)}
.ends dd{margin:8px 0 0;font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.26;
  letter-spacing:-.01em;color:var(--ink)}

/* plain address / detail block */
.plainlist{border-top:1px solid var(--line)}
.plainlist li{display:grid;gap:4px 34px;padding-block:17px;border-bottom:1px solid var(--line)}
@media(min-width:640px){.plainlist li{grid-template-columns:180px minmax(0,1fr)}}
.plainlist b{font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted-2);padding-top:3px}
.plainlist span{font-size:15.5px;line-height:1.62;color:var(--ink-soft);text-wrap:pretty}


/* ==========================================================================
   CREDENTIALS LAYER — people, figures and capability notes.
   Generated by build.js from content/credentials.json + content/sections.json.
   Typographic only: no new colour, no illustration, no icon, no gradient.
   ========================================================================== */

/* screen-reader-only text (accessible names on repeated profile links) */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* flat three-cell figures strip — .stepline geometry, serif figures, no chrome */
.figs{display:grid;gap:0;border-top:1px solid var(--line)}
@media(min-width:700px){
  .figs{grid-template-columns:repeat(3,1fr)}
  /* one or two published figures must fill the row, never strand an empty third */
  .figs.figs-1{grid-template-columns:1fr}
  .figs.figs-2{grid-template-columns:repeat(2,1fr)}
  .figs.figs-1 .k,.figs.figs-1 .src{max-width:56ch}
  .figs.figs-2 .k,.figs.figs-2 .src{max-width:44ch}
}
.figs .f{position:relative;padding:26px 30px 30px 0;border-bottom:1px solid var(--line)}
.figs .f::before{content:"";position:absolute;left:0;top:-1px;width:34px;height:2px;background:var(--teal)}
.figs .v{font-family:var(--serif);font-weight:300;font-size:clamp(36px,3.8vw,52px);
  line-height:1;letter-spacing:-.02em;color:var(--ink)}
.figs .k{margin-top:13px;font-size:14.5px;line-height:1.6;color:var(--muted);max-width:34ch}
.figs .src{margin-top:10px;font-size:12px;line-height:1.5;color:var(--muted-2);max-width:34ch}
.dark .figs,.dark .figs .f{border-color:var(--line-dark)}
.dark .figs .f::before{background:var(--teal-3)}
.dark .figs .v{color:#fff}
.dark .figs .k{color:#A9B8C9}
.dark .figs .src{color:#8496AC}

/* home credentials band */
.cred-band{padding-block:clamp(40px,4.4vw,60px) clamp(32px,3.4vw,48px)}

/* people: one continuous grid of accent-bar cards, ordered by group. The group
   is named on the card itself, so the row never breaks for a one-person group. */
.pfigs{margin-bottom:clamp(40px,4.6vw,64px)}
.kcards.people .kcard{gap:10px}
.kcard .grp{font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal-dk)}
.kwall .kcard .grp{color:var(--teal-3)}
.kcard .pface{width:64px;height:64px;border-radius:50%;object-fit:cover;
  background:var(--paper-3);margin-bottom:2px}
.kcard .plink{
  margin-top:auto;padding-top:10px;font-size:13.5px;font-weight:600;
  color:var(--teal-dk);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;align-self:flex-start;
}
.kcard .plink:hover{color:var(--ink)}
.kwall .kcard .plink{color:var(--teal-3)}
.kwall .kcard .plink:hover{color:#fff}

/* capability notes — three labelled lines inside a .kcard */
.kcard .qa{display:grid;gap:12px;margin-top:2px}
.kcard .qa > div{position:relative;padding-left:15px;
  font-size:14.5px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.kcard .qa > div::before{content:"";position:absolute;left:0;top:10px;
  width:5px;height:1.5px;background:var(--teal)}
.kcard .qa b{display:block;margin-bottom:3px;font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.kwall .kcard .qa > div{color:#A9B8C9}
.kwall .kcard .qa > div::before{background:var(--teal-3)}
.kwall .kcard .qa b{color:#C3CEDB}


/* ==========================================================================
   SITE LAYER — header CTA, footer, credentials band, people, partners,
   equipment, legal pages. Typographic; no new colour, no illustration.
   ========================================================================== */

/* row headings are h2 for document outline, styled as before */
.row .row-h{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,25px);line-height:1.22;
  letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.nav a{padding:9px 11px}
.mnav-cta{font-weight:500}

/* footer */
.ftr-brand p{max-width:36ch;font-size:15px;line-height:1.6}
.ftr address{margin-top:14px;font-size:14px}
.ftr-btm{grid-template-columns:1fr !important;gap:10px}
.ftr-reg{color:#A9B6C6;font-size:13px}
.ftr-reg a{color:#C3CEDB}
.ftr-legal{display:flex;flex-wrap:wrap;gap:6px 22px}
.ftr-legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3)}

/* home credentials band */
.cred-band{background:var(--paper);border-bottom:1px solid var(--line);padding-block:0}
.creds{display:grid;gap:0}
@media(min-width:900px){.creds{grid-template-columns:repeat(3,1fr)}}
.creds li{position:relative;display:grid;gap:12px;align-content:start;
  padding:clamp(26px,3vw,40px) 30px clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--line)}
.creds li:last-child{border-bottom:0}
@media(min-width:900px){
  .creds li{border-bottom:0;border-left:1px solid var(--line);padding-left:30px}
  .creds li:first-child{border-left:0;padding-left:0}
}
.creds li::before{content:"";position:absolute;top:-1px;width:34px;height:2px;background:var(--teal)}
.cred-n{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--muted-2)}
.creds p{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.75vw,25px);line-height:1.25;
  letter-spacing:-.01em;color:var(--ink);max-width:22ch;text-wrap:balance}
.creds .chev{color:var(--teal-dk)}

/* home logo strip */
.logostrip{border-bottom:1px solid var(--line);background:var(--paper)}
.logostrip-in{display:grid;gap:10px;padding-block:22px}
.logostrip .deliv-h{margin:0}
.logostrip-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px}
.logostrip-row img{height:30px;width:auto;max-width:130px;object-fit:contain;
  filter:grayscale(1);opacity:.62;transition:filter .2s,opacity .2s}
.logostrip-row:hover img,.logostrip-row:focus-visible img{filter:none;opacity:1}
.logostrip-row .chev{margin-left:auto}

/* what we do: discipline index */
.wwd-index{padding-bottom:clamp(30px,3vw,44px)}
@media(min-width:900px){
  .jump-row.jump-6{grid-template-columns:repeat(6,1fr)}
  .jump-row.jump-6 a{padding:20px 16px 22px 18px}
  .jump-row.jump-6 a:hover{padding-inline-start:18px}
  .jump-row.jump-6 .t{font-size:14.5px}
}

/* people */
.people-note{max-width:78ch;margin-bottom:clamp(40px,4.6vw,64px)}
.pgroups{display:grid;gap:clamp(48px,5.4vw,80px)}
.pgroup-h{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:clamp(22px,2.4vw,32px);
  display:flex;align-items:center;gap:12px}
.pgroup-h::before{content:"";width:26px;height:1px;background:var(--teal-dk);flex:none}
.pgrid{display:grid;gap:clamp(18px,2vw,28px);align-items:start}
@media(min-width:620px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1240px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcard{display:grid;gap:18px;align-content:start}
.pphoto{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink);border:1px solid var(--line)}
.pphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.pphoto .mono{position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--serif);font-weight:500;font-size:clamp(48px,5vw,68px);letter-spacing:.02em;color:var(--paper)}
.pphoto .mono::after{content:"";position:absolute;left:22px;bottom:22px;width:34px;height:2px;background:var(--teal-3)}
.pbody{display:grid;gap:8px;align-content:start}
.pcard .grp{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk)}
.pname{font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.9vw,26px);line-height:1.18;letter-spacing:-.01em;color:var(--ink)}
.paff{font-size:14px;line-height:1.5;color:var(--ink-soft);font-weight:500}
.pshort{font-size:15px;line-height:1.6;color:var(--muted)}
.pmore{margin-top:6px;border-top:1px solid var(--line)}
.pmore summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  padding:12px 0 2px;font-size:13.5px;font-weight:600;color:var(--ink)}
.pmore summary::-webkit-details-marker{display:none}
.pmore summary::after{content:"+";font-size:18px;line-height:1;color:var(--teal-dk);transition:transform .2s}
.pmore[open] summary::after{content:"−"}
.pmore summary:hover{color:var(--teal-dk)}
.pfull{display:grid;gap:.9em;padding-top:12px}
.pfull p{font-size:14.5px;line-height:1.65;color:var(--ink-soft)}
@media(max-width:619px){
  .pcard{grid-template-columns:112px minmax(0,1fr);gap:16px}
  .pmore{grid-column:1 / -1}
  .pname{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.pmore summary::after{transition:none}}

/* partners: logo wall, named cards, categories */
.partners-body{display:grid;gap:clamp(30px,3.4vw,48px);margin-top:clamp(28px,3vw,40px)}
.logos{display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media(min-width:760px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.logo{display:grid;gap:10px;align-content:start;padding:clamp(18px,2vw,26px);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.logo-box{height:88px;display:grid;place-items:center}
.logo-box img{max-height:52px;max-width:78%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.7;transition:filter .22s,opacity .22s}
.logo:hover .logo-box img{filter:none;opacity:1}
.logo-cap{display:grid;gap:2px;font-size:14px;line-height:1.4}
.logo-cap b{color:var(--ink);font-weight:600}
.logo-cap span{font-size:12px;color:var(--muted-2)}
.logo-desc{font-size:13.5px;line-height:1.5;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.logo-box img,.logostrip-row img{transition:none}}
.pnamed .grp{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk)}
.pcat-n{font-size:13.5px !important;font-weight:600;color:var(--ink-soft) !important}

/* equipment platforms */
.equip{display:grid;gap:clamp(28px,3.4vw,44px);margin-top:clamp(30px,3.4vw,44px)}
@media(min-width:960px){.equip{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}
.equip-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-dark)}
@media(min-width:620px){.equip-names{grid-template-columns:repeat(3,minmax(0,1fr))}}
.equip-names li{font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.01em;
  color:#fff;padding:20px 16px 20px 0;border-bottom:1px solid var(--line-dark)}
.kwall .deliv-h{color:#8FA2B8}
.equip-notice{margin-top:clamp(26px,3vw,38px);max-width:80ch;color:#8496AC}

/* legal pages */
body:not(.has-hero) .pagehero{border-bottom:1px solid var(--line)}
.pagehero .d1{max-width:20ch;margin-block:18px 16px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.8vw,25px);line-height:1.25;
  letter-spacing:-.01em;margin-top:clamp(30px,3.2vw,42px);margin-bottom:10px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16px;line-height:1.72;color:var(--ink-soft);max-width:72ch}
.prose p + p{margin-top:.9em}
.prose a,.ulink,.hb-mail{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.hb-mail{color:#fff}
.legal{padding-top:clamp(44px,5vw,72px)}

/* people: roomier grid; the office's own people in a wider two-up row */
@media(min-width:960px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}}
@media(min-width:1240px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pbody{gap:10px}
.pphoto .mono{font-size:clamp(44px,4vw,60px)}
@media(min-width:760px){
  .pgrid-lead{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pgrid-lead .pcard{grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:26px;align-items:start}
  .pgrid-lead .pshort{font-size:15.5px;line-height:1.65;color:var(--ink-soft)}
}

/* home: two-column list inside the dark sector band; four-step stepline */
.struct-2{border-top:1px solid var(--line-dark)}
@media(min-width:900px){.struct-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kwall .struct-2 > div{border-color:var(--line-dark)}
@media(min-width:1000px){.stepline-4{grid-template-columns:repeat(4,1fr)}}
.kwall .head .chev{color:var(--teal-3)}

/* people: advisers and other groups as a full-width list — thumbnail, then text across the container */
.pgrid:not(.pgrid-lead){grid-template-columns:1fr !important;gap:0}
.pgrid:not(.pgrid-lead) .pcard{grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start;
  padding-block:clamp(22px,2.4vw,30px);border-bottom:1px solid var(--line)}
@media(min-width:760px){.pgrid:not(.pgrid-lead) .pcard{grid-template-columns:140px minmax(0,1fr);gap:clamp(24px,3vw,40px)}}
.pgrid:not(.pgrid-lead) .pmore{grid-column:auto}
.pgrid:not(.pgrid-lead) .pphoto .mono{font-size:clamp(30px,3vw,40px)}
.pgrid:not(.pgrid-lead) .pphoto .mono::after{left:14px;bottom:14px;width:24px}
.pgrid:not(.pgrid-lead) .pshort,.pgrid:not(.pgrid-lead) .pfull p{max-width:90ch}
.pgroup-h:has(+ .pgrid:not(.pgrid-lead)){margin-bottom:0}
.pgrid:not(.pgrid-lead) .pcard:last-child{border-bottom:0}
.pcard p{text-wrap:wrap}

/* ==========================================================================
   HOME HERO — brand line, path strip across the foot of the banner
   ========================================================================== */
.hb-home .hb-in{min-height:clamp(600px,92vh,820px);padding-bottom:clamp(28px,3.4vw,44px);gap:clamp(20px,2.4vw,28px)}
.hb-home .hb-title{font-size:clamp(38px,5.6vw,78px);line-height:1.02;letter-spacing:-.024em;max-width:17ch}
.hb-home .lede{font-size:clamp(17px,1.3vw,20px);max-width:56ch}
.hb-home .eyebrow{color:#DCE6EE}
.hb-path{display:grid;grid-template-columns:1fr;margin-top:clamp(18px,3vw,40px);
  border-top:1px solid rgba(255,255,255,.28)}
@media(min-width:620px){.hb-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.hb-path{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hb-path a{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;
  padding:18px 22px 6px 0;color:#fff}
.hb-path a::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:28px;background:var(--teal-3);
  transition:width .35s cubic-bezier(.2,.7,.3,1)}
.hb-path a:hover::before,.hb-path a:focus-visible::before{width:calc(100% - 22px)}
.hb-path .n{grid-row:1 / span 2;font-size:11.5px;font-weight:600;letter-spacing:.14em;color:#B8C6D6;padding-top:5px}
.hb-path b{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.6vw,23px);letter-spacing:-.01em;line-height:1.2}
.hb-path .d{font-size:13.5px;line-height:1.45;color:#E4DCD1;text-shadow:0 1px 12px rgba(24,14,6,.6)}
@media(max-width:619px){.hb-path a{padding:14px 0 4px}.hb-path a+a{border-top:1px solid rgba(255,255,255,.14)}}

/* gentle entrance, staggered; off for reduced motion */
@keyframes hbUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hb-anim{animation:hbUp .8s cubic-bezier(.2,.7,.3,1) both}
.hb-anim:nth-child(2){animation-delay:.08s}
.hb-anim:nth-child(3){animation-delay:.16s}
.hb-anim:nth-child(4){animation-delay:.24s}
.hb-anim:nth-child(5){animation-delay:.34s}
@media (prefers-reduced-motion:reduce){.hb-anim{animation:none}.hb-path a::before{transition:none}}

/* people: co-founder designation */
.prole{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk);margin-top:-2px}

/* partners: specialist services from a named partner */
.svc-head{display:grid;gap:22px;align-items:start}
@media(min-width:900px){.svc-head{grid-template-columns:200px minmax(0,1fr);gap:48px}}
.svc-logo{width:180px;height:auto;padding:16px 18px;background:var(--white);border:1px solid var(--line)}
.svcs{display:grid;gap:clamp(16px,1.8vw,24px);margin-top:clamp(28px,3vw,40px)}
@media(min-width:700px){.svcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.svcs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.svc{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.svc-img{aspect-ratio:16/9;overflow:hidden;background:var(--paper-3);border-bottom:1px solid var(--line)}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-b{padding:clamp(18px,2vw,24px);display:grid;gap:8px;align-content:start}
.svc .grp{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk)}
.svc h3{font-size:17px;font-weight:600;line-height:1.32;color:var(--ink)}
.svc p:not(.grp){font-size:14.5px;line-height:1.6;color:var(--muted)}
.pshort p{font-size:inherit;line-height:inherit;color:inherit}
.pshort p + p{margin-top:.8em}

/* ==========================================================================
   PEOPLE — structured profiles: portrait beside a scannable profile
   ========================================================================== */
.plist{display:grid}
.prof{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"photo head" "body body";
  column-gap:20px;row-gap:22px;align-items:end;padding-block:clamp(28px,3.4vw,52px);border-top:1px solid var(--line)}
.plist .prof:first-child{border-top:0;padding-top:clamp(20px,2.4vw,32px)}
.prof-photo{grid-area:photo}
.prof-head{grid-area:head;display:grid;gap:6px;align-content:end}
.prof-head .prole{margin:0}
.prof .pname{font-size:clamp(24px,2.3vw,34px);line-height:1.12}
.prof-body{grid-area:body;display:grid;gap:clamp(22px,2.4vw,32px)}
.prof .pphoto .mono{font-size:clamp(30px,3vw,52px)}
.prof .pphoto .mono::after{left:14px;bottom:14px;width:24px}

.prof-sum{font-family:var(--serif);font-weight:400;font-size:clamp(19px,1.6vw,23px);line-height:1.42;
  letter-spacing:-.005em;color:var(--ink);max-width:46ch;padding-left:18px;border-left:2px solid var(--teal)}

.prof-cols{display:grid;gap:clamp(24px,2.6vw,36px)}
.prof-sec{display:grid;gap:14px;align-content:start}
.prof-h{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}
.prof-text{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:62ch}

.prof-items,.prof-roles{display:grid;gap:0}
.prof-items li,.prof-roles li{display:grid;gap:3px;padding:12px 0;border-bottom:1px dashed var(--line-2)}
.prof-items li:first-child,.prof-roles li:first-child{padding-top:2px}
.prof-items li:last-child,.prof-roles li:last-child{border-bottom:0;padding-bottom:0}
.prof-items b{font-size:15px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px}
.prof-items b::before{content:"";width:7px;height:7px;background:var(--teal);flex:none}
.prof-items span{font-size:14.5px;line-height:1.6;color:var(--ink-soft);padding-left:17px}
.prof-roles b{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4}
.prof-roles span{font-size:13.5px;color:var(--muted)}

.prof-tags{display:flex;flex-wrap:wrap;gap:8px}
.prof-tags li{font-size:13px;line-height:1.3;color:var(--ink-soft);padding:7px 12px;
  background:var(--white);border:1px solid var(--line)}

@media(min-width:760px){
  .prof{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"photo head" "photo body";
    column-gap:clamp(32px,4vw,64px);row-gap:20px;align-items:start}
  .prof-photo{position:sticky;top:110px;align-self:start}
  .prof-head{align-content:start}
}
@media(min-width:1000px){
  .prof{grid-template-columns:240px minmax(0,1fr)}
  .prof-cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,3.6vw,56px)}
}

/* people: the two co-founders side by side on desktop, equal weight */
@media(min-width:1000px){
  .plist-lead{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;column-gap:0}
  .plist-lead .prof{grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:150px minmax(0,1fr);
    grid-template-areas:"photo head" "body body";column-gap:28px;row-gap:28px;align-items:end;
    border-top:0;padding-top:clamp(20px,2.4vw,32px);padding-bottom:0}
  .plist-lead .prof:first-child{padding-right:clamp(28px,3vw,48px)}
  .plist-lead .prof + .prof{padding-left:clamp(28px,3vw,48px);border-left:1px solid var(--line)}
  .plist-lead .prof-photo{position:static}
  .plist-lead .prof-head{align-content:end}
  .plist-lead .prof-body{align-self:start}
  .plist-lead .prof-cols{grid-template-columns:1fr}
  .plist-lead .prof-sum{font-size:clamp(19px,1.5vw,21px)}
}

/* ==========================================================================
   HOME HERO (hx) — film background, pointer light, step cycle
   ========================================================================== */
.hx{background:#07111F}
.hx-media{position:absolute;inset:-4% -3%;z-index:-4;overflow:hidden;
  transform:translate3d(var(--px,0),calc(var(--py,0px) + var(--sy,0px)),0) scale(1.04);
  transition:transform .9s cubic-bezier(.2,.7,.3,1);will-change:transform}
.hx-video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;
  background:#07111F}
.hx-video.ready{opacity:1}
.hx-shade{position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,12,24,.55) 0%,rgba(5,12,24,.08) 26%,rgba(5,12,24,.30) 56%,rgba(4,10,20,.88) 100%),
    linear-gradient(95deg,rgba(5,12,24,.78) 0%,rgba(5,12,24,.40) 42%,rgba(5,12,24,0) 74%)}
.hx-glow{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(560px circle at var(--gx,70%) var(--gy,40%),rgba(95,208,216,.16),rgba(95,208,216,.05) 40%,transparent 70%);
  mix-blend-mode:screen}
.hx:hover .hx-glow{opacity:1}
.hx-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.10;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.hb-home.hx .hb-in{min-height:100vh;min-height:100svh;max-height:none;
  padding-top:clamp(120px,16vh,180px);padding-bottom:clamp(84px,10vh,112px);
  opacity:var(--fade,1);transform:translate3d(0,var(--lift,0px),0)}
.hx .hb-title{font-size:clamp(40px,6.2vw,92px);line-height:1;letter-spacing:-.028em;max-width:15ch;text-shadow:none}
.hx .lede{text-shadow:0 1px 18px rgba(4,10,20,.6);color:#E9EEF3}

/* eyebrow with rotating facility type */
.hx-eyebrow{color:#DCE6EE;flex-wrap:wrap;row-gap:4px}
.hx-rot{position:relative;display:inline-grid;color:var(--teal-3);min-width:16ch}
.hx-rot span{grid-area:1/1;opacity:0;transform:translateY(.7em);filter:blur(4px);
  transition:opacity .55s,transform .55s cubic-bezier(.2,.7,.3,1),filter .55s}
.hx-rot span.on{opacity:1;transform:none;filter:none}
.hx-rot span.out{opacity:0;transform:translateY(-.7em);filter:blur(4px)}

/* headline: word-by-word rise from a mask */
.hx-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hx-title .w > span{display:inline-block;transform:translateY(105%);
  animation:hxRise 1.05s cubic-bezier(.16,.84,.24,1) forwards;animation-delay:calc(.25s + var(--i) * .065s)}
.hx-title .w.em > span{font-style:italic;color:var(--teal-3)}
@keyframes hxRise{to{transform:none}}

/* steps: auto-advancing progress across the four stages */
.hx-path{border-top-color:rgba(255,255,255,.18)}
.hx-path a::before{display:none}
.hx-path .hx-bar{position:absolute;left:0;right:22px;top:-1px;height:2px;background:transparent;overflow:hidden}
.hx-path .hx-bar::after{content:"";position:absolute;inset:0;background:var(--teal-3);transform:scaleX(0);transform-origin:left}
.hx-path a.done .hx-bar::after{transform:scaleX(1);opacity:.45}
.hx-path a.on .hx-bar::after{animation:hxFill var(--step,3.6s) linear forwards}
.hx-path.paused a.on .hx-bar::after{animation:none;transform:scaleX(1);opacity:1}
@keyframes hxFill{to{transform:scaleX(1)}}
.hx-path a{opacity:.62;transition:opacity .4s}
.hx-path a.on,.hx-path a:hover,.hx-path a:focus-visible{opacity:1}
.hx-path a.on .n{color:var(--teal-3)}
.hx-path .d{color:#D5DEE7;text-shadow:0 1px 12px rgba(4,10,20,.7)}

/* bottom controls: scroll cue and video toggle */
.hx-ctrl{position:absolute;left:0;right:0;bottom:clamp(18px,2.4vh,28px);z-index:2;pointer-events:none;
  display:flex;justify-content:space-between;align-items:center;
  padding-inline:max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut)))}
.hx-ctrl > *{pointer-events:auto}
.hx-scroll{display:flex;align-items:center;gap:12px;font-size:10.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.6)}
.hx-scroll i{position:relative;width:1px;height:34px;background:rgba(255,255,255,.22);overflow:hidden}
.hx-scroll i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#fff;animation:hxDrip 2.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes hxDrip{to{top:100%}}
.hx-toggle{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.36);
  background:rgba(7,17,31,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.hx-toggle:hover{background:#fff;border-color:#fff}
.hx-toggle:hover .i-pause,.hx-toggle:hover .i-play{color:var(--ink)}
.hx-toggle:focus-visible{outline:2px solid var(--teal-3);outline-offset:3px}
.i-pause,.i-play{grid-area:1/1;color:#fff}
.i-pause{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.i-play{width:0;height:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px;display:none;color:#fff}
.i-play{border-top-color:transparent;border-bottom-color:transparent}
.hx-toggle[aria-pressed="true"] .i-pause{display:none}
.hx-toggle[aria-pressed="true"] .i-play{display:block}
.hx-toggle:hover .i-play{border-left-color:var(--ink)}

/* mobile: full-screen portrait film, compact stage strip */
@media(max-width:759px){
  .hb-home.hx .hb-in{padding-top:112px;padding-bottom:86px;gap:18px;align-content:end}
  .hx .hb-title{font-size:clamp(36px,10.4vw,52px);max-width:12ch}
  .hx .lede{font-size:15.5px;line-height:1.55}
  .hx-shade{background:linear-gradient(180deg,rgba(5,12,24,.55) 0%,rgba(5,12,24,.10) 22%,rgba(5,12,24,.45) 52%,rgba(4,10,20,.94) 100%)}
  .hx-eyebrow{font-size:10.5px}
  .hb-cta{gap:10px}
  .hb-cta .btn{flex:1 1 auto;justify-content:center}
  .hx-path{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:6px}
  .hx-path a{grid-template-columns:1fr;padding:12px 6px 0 0;row-gap:2px}
  .hx-path a+a{border-top:0}
  .hx-path .n{grid-row:auto;padding-top:0;font-size:10.5px}
  .hx-path b{font-size:16px}
  .hx-path .d{display:none}
  .hx-path .hx-bar{right:6px}
  .hx-scroll{display:none}
  .hx-ctrl{justify-content:flex-end;bottom:auto;top:96px}
  .hx-toggle{width:34px;height:34px}
}
@media(min-width:760px) and (max-width:999px){.hx-path{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-path .d{font-size:12.5px}}

@media(prefers-reduced-motion:reduce){
  .hx-media{transition:none;transform:none;inset:0}
  .hx-title .w > span{animation:none;transform:none}
  .hx-rot span{transition:none}
  .hx-scroll i::after{animation:none}
  .hx-path a.on .hx-bar::after{animation:none;transform:scaleX(1)}
  .hx-video{transition:none}
}
/* hero fits one screen on laptops: headline scales with height as well as width */
@media(min-width:760px){
  .hx .hb-title{font-size:clamp(40px,min(6.2vw,9.2vh),92px)}
  .hb-home.hx .hb-in{padding-top:clamp(110px,14vh,170px);padding-bottom:clamp(76px,9vh,104px);gap:clamp(16px,2.4vh,26px)}
  .hx .lede{font-size:clamp(16px,min(1.25vw,2.3vh),19px)}
}
.hx-rot{vertical-align:baseline;align-self:baseline}
@media(min-width:760px) and (max-height:800px){.hb-home.hx .hb-in{padding-bottom:64px}.hx-path .d{font-size:12.5px}.hx-scroll{display:none}}

/* equipment platforms: logo tiles (partners) and moving strip (home) */
.eq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
@media(min-width:620px){.eq-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.eq-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eq-grid li{display:grid;place-items:center;height:clamp(84px,8vw,104px);padding:18px 22px;background:#fff}
.eq-grid img{max-height:38px;max-width:78%;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.72;transition:filter .25s,opacity .25s}
.eq-grid li:hover img{filter:none;opacity:1}
.eq-grid li.txt{font-family:var(--serif);font-size:20px;color:var(--ink)}

.eqstrip{background:var(--paper);border-bottom:1px solid var(--line);padding-block:26px 18px;overflow:hidden}
.eqstrip-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.eqstrip-head .deliv-h{margin:0}
.eqstrip-track{display:flex;width:max-content;animation:eqMarquee 38s linear infinite;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.eqstrip:hover .eqstrip-track{animation-play-state:paused}
.eqstrip-row{display:flex;align-items:center;gap:clamp(48px,6vw,88px);padding-right:clamp(48px,6vw,88px)}
.eqstrip-row li{flex:none}
.eqstrip-row img{height:30px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .25s,opacity .25s}
.eqstrip-row img:hover{filter:none;opacity:1}
.eqstrip-row li.txt{font-family:var(--serif);font-size:20px;color:var(--ink-soft)}
.eqstrip-note{margin-top:14px;font-size:11.5px;line-height:1.5;color:var(--muted-2)}
@keyframes eqMarquee{to{transform:translateX(-50%)}}
@media(max-width:619px){.eqstrip-head .chev{display:none}.eqstrip-row img{height:24px}}
@media(prefers-reduced-motion:reduce){.eqstrip-track{animation:none;width:auto;flex-wrap:wrap}.eqstrip-row[aria-hidden]{display:none}.eqstrip-row{flex-wrap:wrap;gap:24px 40px;padding-inline:var(--gut)}}
@media(min-width:620px) and (max-width:1199px){.eq-grid li:last-child:nth-child(3n+1){grid-column:span 3}.eq-grid li:last-child:nth-child(3n+2){grid-column:span 2}}
@media(min-width:1200px){.eq-grid li:last-child:nth-child(4n+3){grid-column:span 2}.eq-grid li:last-child:nth-child(4n+2){grid-column:span 3}}
@media(max-width:619px){.eq-grid li:last-child:nth-child(odd){grid-column:span 2}}
.eq-grid img[src$="eq-7.svg"]{max-height:48px}
.eqstrip-row img[src$="eq-7.svg"]{height:38px}
.eqstrip-row img[src$="eq-3.svg"],.eq-grid img[src$="eq-3.svg"]{transform:scale(1.15)}

/* ===== equipment platforms, roomier (v2) ===== */
.eq-big{margin-top:clamp(34px,4vw,56px);gap:1px}
@media(min-width:620px){.eq-big{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.eq-big{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eq-big li{height:clamp(120px,11vw,164px);padding:24px 28px}
.eq-big img{max-height:clamp(40px,3.6vw,54px);max-width:72%;opacity:.8}
.eq-big img[src$="eq-7.svg"]{max-height:clamp(56px,5vw,72px)}
.eq-big img[src$="eq-5.svg"]{max-height:clamp(44px,4vw,58px)}
@media(min-width:620px) and (max-width:999px){.eq-big li:last-child:nth-child(3n+1){grid-column:span 3}.eq-big li:last-child:nth-child(3n+2){grid-column:span 2}}
@media(min-width:1000px){.eq-big li:last-child:nth-child(4n+3){grid-column:span 2}.eq-big li:last-child:nth-child(4n+2){grid-column:span 3}.eq-big li:last-child:nth-child(4n+1){grid-column:span 4}}
.eq-mods{margin-top:clamp(36px,4vw,56px)}
.eq-mods ul{display:grid;gap:0;margin-top:14px;border-top:1px solid var(--line-dark)}
@media(min-width:700px){.eq-mods ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.eq-mods ul{grid-template-columns:repeat(5,minmax(0,1fr))}}
.eq-mods li{padding:18px 20px 18px 0;font-family:var(--serif);font-size:clamp(17px,1.35vw,20px);line-height:1.3;color:#fff;border-bottom:1px solid var(--line-dark)}
@media(min-width:1100px){.eq-mods li{border-bottom:0;border-right:1px solid var(--line-dark);padding:22px 22px 6px 0}.eq-mods li+li{padding-left:22px}.eq-mods li:last-child{border-right:0}}
.eq-tm{margin-top:clamp(28px,3vw,40px);font-size:11px;line-height:1.5;color:rgba(255,255,255,.42)}

/* home: equipment platforms as its own section */
.eqstrip{padding-block:clamp(56px,6vw,88px) clamp(48px,5vw,72px);background:var(--paper)}
.eqstrip-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(30px,3.6vw,48px)}
.eqstrip-head .eyebrow{margin-bottom:12px}
.eqstrip-head .d3{max-width:28ch;color:var(--ink)}
.eqstrip-row{gap:clamp(64px,7vw,112px);padding-right:clamp(64px,7vw,112px)}
.eqstrip-row img{height:clamp(32px,3vw,44px);max-width:220px;opacity:.65}
.eqstrip-row img[src$="eq-7.svg"]{height:clamp(44px,4vw,58px)}
.eqstrip-track{padding-block:10px;animation-duration:46s}
@media(max-width:619px){.eqstrip-head{display:block}.eqstrip-head .chev{display:inline-flex;margin-top:14px}.eqstrip-row img{height:28px}}

/* partners shown by name when no logo is on file */
.logo-word{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.7vw,24px);letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.15}
.logostrip-word{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink-soft);white-space:nowrap;opacity:.8}
.logos{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important}

/* people on phones: portrait stacked above the name, at a proper size */
@media(max-width:759px){
  .prof{grid-template-columns:1fr;grid-template-areas:"photo" "head" "body";row-gap:18px;align-items:start}
  .prof-photo{width:min(78%,320px)}
  .prof .pphoto .mono{font-size:64px}
  .prof-head{gap:4px}
  .prof .pname{font-size:30px}
}
@media(min-width:760px) and (max-width:999px){
  .prof{grid-template-columns:220px minmax(0,1fr)}
}

/* people (desktop): larger co-founder portraits — photo beside name and summary, detail full width below */
@media(min-width:1000px){
  .plist-lead{grid-template-rows:auto auto auto}
  .plist-lead .prof{grid-row:span 3;grid-template-rows:subgrid;
    grid-template-columns:clamp(200px,17vw,250px) minmax(0,1fr);
    grid-template-areas:"photo head" "photo sum" "cols cols";column-gap:clamp(24px,2.4vw,36px);row-gap:16px;align-items:start}
  .plist-lead .prof-body{display:contents}
  .plist-lead .prof-photo{grid-area:photo;align-self:start}
  .plist-lead .prof-head{grid-area:head;align-self:end;padding-top:clamp(40px,5vw,80px)}
  .plist-lead .prof-sum{grid-area:sum;align-self:start}
  .plist-lead .prof-cols{grid-area:cols;margin-top:clamp(20px,2.4vw,32px)}
}

/* specialist services: brand-toned imagery, numbered, gentle motion */
.svc{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(10,27,49,.35)}
.svc-img{position:relative;background:var(--ink)}
.svc-img img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.svc:hover .svc-img img{transform:scale(1.04)}
.svc-img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,27,49,0) 45%,rgba(10,27,49,.55) 100%)}
.svc-n{position:absolute;left:18px;bottom:14px;z-index:1;font-family:var(--serif);font-size:30px;line-height:1;color:#fff;letter-spacing:-.01em}
.svc-n::before{content:"";display:block;width:22px;height:2px;background:var(--teal-3);margin-bottom:10px}
.svc-b{padding-top:clamp(20px,2vw,26px)}
@media(prefers-reduced-motion:reduce){.svc,.svc-img img{transition:none}.svc:hover,.svc:hover .svc-img img{transform:none}}

/* mobile menu icon: tight, even three-line burger */
.burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.burger span{width:18px;height:2px;border-radius:1px}
.burger span+span{margin-top:0}
@media(min-width:1160px){.burger{display:none}.mnav{display:none!important}}

/* ---------- Projects page (partner case studies) ---------- */
.proj{display:grid;gap:clamp(24px,3.4vw,56px);align-items:center;margin-top:clamp(40px,5vw,72px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.proj:first-of-type{border-top:0;padding-top:0}
.proj-media{display:grid;grid-template-columns:1fr;gap:12px;position:relative}
.proj-main,.proj-sub{margin:0;overflow:hidden;background:var(--paper-3);position:relative}
.proj-main{aspect-ratio:16/10}
.proj-sub{aspect-ratio:16/10;display:none}
.proj-main img,.proj-sub img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.proj:hover .proj-main img{transform:scale(1.03)}
.proj-tag{position:absolute;left:14px;top:14px;background:var(--white);color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 10px}
.proj-b{display:grid;gap:14px;align-content:start}
.proj-b .d3{margin-bottom:2px}
.proj-facts{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line)}
.proj-facts li{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.5;color:var(--ink)}
.proj-facts span{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk);padding-top:3px}
@media (min-width:900px){
  .proj{grid-template-columns:1.1fr 1fr}
  .proj-flip .proj-media{order:2}
  .proj-media{grid-template-columns:1fr;padding:0 0 56px 0}
  .proj-sub{display:block;position:absolute;width:42%;right:-18px;bottom:0;border:6px solid var(--white);box-shadow:0 18px 40px rgba(8,25,47,.18)}
  .proj-flip .proj-sub{right:auto;left:-18px}
}
.rec-grid{display:grid;gap:1px;margin-top:clamp(28px,3vw,44px);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
@media (min-width:760px){.rec-grid{grid-template-columns:repeat(3,1fr)}}
.rec{background:var(--ink);padding:clamp(22px,2.6vw,34px);display:grid;gap:10px;align-content:start}
.rec-n{font-size:clamp(40px,5vw,64px);font-weight:300;line-height:1;color:#fff;letter-spacing:-.02em}
.rec-l{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.74)}
.rec-src{margin-top:18px;font-size:12.5px;color:rgba(255,255,255,.56)}

/* nav: eight items stay on one line */
.nav a{white-space:nowrap}
@media(min-width:1160px) and (max-width:1380px){.nav a{padding:9px 8px;font-size:14px}}
@media(min-width:900px){.proj-sub{right:-10px}.proj-flip .proj-sub{left:-10px}}
