/* =====================================================================
   Praxus Capital — site stylesheet. Source of design truth.
   This is the v1 "institutional editorial" system (Evercore/Centerview
   DNA): dark/light checkerboard bands, ruled serif lists, duotone-navy
   figures, hairline structure, one #0056FB moment (the CTA pill).
   Merged from home-v1.html; url() paths rebased for assets/css/
   (../fonts, ../img). Brand: reference/brand. Rules: one #0056FB moment
   per page; hairlines only; Spectral display / Hanken body; navy+paper.
   ===================================================================== */
/* ---------- fonts ---------- */
@font-face{font-family:'Spectral';src:url('../fonts/spectral-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Spectral';src:url('../fonts/spectral-300i.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Spectral';src:url('../fonts/spectral-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('../fonts/hanken-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('../fonts/hanken-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('../fonts/hanken-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}

/* ---------- tokens ---------- */
:root{
  --navy:#0C111C;
  --navy-2:#0A0F19;
  --ink:#0F1012;
  --slate:#51555E;
  --paper:#F6F7F8;
  --paper-2:#EFF1F3;
  --blue:#0056FB;
  --duo:#1E4BB8;
  --body-soft:#3a3d44;
  --muted:#9a9da4;
  --hair:rgba(81,85,94,.34);            /* hairline on paper */
  --hair-strong:rgba(81,85,94,.55);
  --hair-dark:rgba(246,247,248,.16);    /* hairline on navy */
  --hair-dark-strong:rgba(246,247,248,.30);
  --paper-dim:rgba(246,247,248,.60);
  --paper-mid:rgba(246,247,248,.78);
  --serif:'Spectral',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --max:1240px;
  --pad:clamp(22px,5vw,68px);
  --colgap:clamp(16px,2.2vw,34px);
  --band-y:clamp(88px,12vw,164px);
  /* type scale — ratio ~1.5 off a 17px base; floors tuned for 390px phones */
  --fs-display:clamp(2.15rem,6.1vw,5.15rem);
  --fs-h2:clamp(1.65rem,3.5vw,3.05rem);
  --fs-statement:clamp(1.28rem,2.5vw,2.15rem);
  --fs-memo:clamp(1.18rem,2vw,1.72rem);
  --fs-num:clamp(1.9rem,4.6vw,4.15rem);
  --fs-lede:clamp(1.04rem,1.35vw,1.22rem);
  --fs-serif-h3:clamp(1.32rem,1.9vw,1.7rem);
  --fs-kicker:11.5px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
::selection{background:var(--duo);color:#fff;}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad);}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--colgap);}

/* ---------- fixed margin rails (neutral so they read on navy AND paper) ---------- */
.rails{position:fixed;inset:0;z-index:40;pointer-events:none;mix-blend-mode:normal;}
.rails span{position:absolute;top:0;bottom:0;width:1px;background:rgba(129,138,155,.22);}
.rails span:first-child{left:clamp(20px,3.6vw,56px);}
.rails span:last-child{right:clamp(20px,3.6vw,56px);}

/* ---------- type ---------- */
.kicker{font-family:var(--sans);font-size:var(--fs-kicker);letter-spacing:.26em;text-transform:uppercase;color:var(--slate);font-weight:400;display:inline-block;}
.on-dark .kicker,.hero .kicker{color:var(--paper-dim);}
.display{font-family:var(--serif);font-weight:300;font-size:var(--fs-display);line-height:1.02;letter-spacing:-.018em;}
.h2{font-family:var(--serif);font-weight:300;font-size:var(--fs-h2);line-height:1.09;letter-spacing:-.012em;}
.on-dark .h2{color:var(--paper);}
.serif-h3{font-family:var(--serif);font-weight:300;font-size:var(--fs-serif-h3);line-height:1.16;letter-spacing:-.008em;}
.lede{font-size:var(--fs-lede);line-height:1.6;color:var(--body-soft);max-width:36em;font-weight:300;}
.on-dark .lede{color:var(--paper-mid);}
.num{font-family:var(--serif);font-weight:300;font-size:var(--fs-num);line-height:.9;letter-spacing:-.02em;color:var(--slate);font-feature-settings:"lnum" 1,"tnum" 1;}
.on-dark .num{color:var(--paper-dim);}

/* ---------- buttons (pills) ---------- */
.btn{display:inline-flex;align-items:center;gap:11px;padding:15px 32px;border-radius:2px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;border:1px solid transparent;transition:opacity .25s ease,background .3s ease,border-color .3s ease,color .3s ease;cursor:pointer;}
.btn .a{transition:transform .3s ease;}
.btn:hover .a{transform:translateX(4px);}
.btn--blue{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn--blue:hover{opacity:.9;}
.btn--ghost{background:transparent;color:var(--paper);border-color:rgba(246,247,248,.42);}
.btn--ghost:hover{border-color:var(--paper);}
.btn--ghost-ink{background:transparent;color:var(--ink);border-color:var(--hair-strong);}
.btn--ghost-ink:hover{border-color:var(--ink);}

/* ---------- nav ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:border-color .4s ease;border-bottom:1px solid transparent;background:transparent;}
/* blur/tint live on a ::before pseudo so .site-nav never becomes a containing
   block for the position:fixed mobile menu. A backdrop-filter on .site-nav
   itself would size the fixed .nav-links to the 78px bar once scrolled — the
   closed menu peeks and the open menu fails to cover the viewport. */
.site-nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,15,25,0);-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);transition:background .4s ease,-webkit-backdrop-filter .4s ease,backdrop-filter .4s ease;pointer-events:none;}
.site-nav.scrolled::before{background:rgba(10,15,25,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);}
.site-nav.scrolled{border-bottom-color:var(--hair-dark);}
.site-nav .bar{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:78px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--paper);}
.brand .wm{font-family:var(--serif);font-weight:300;font-size:1.28rem;letter-spacing:-.01em;}
/* burger is the ONLY menu control at every width; the link row is the
   universal full-screen overlay (was mobile-only). Trinity-grade minimal:
   bar = wordmark + burger, everything else lives behind the burger. */
.nav-links{position:fixed;inset:0;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,4vh,38px);transform:translateY(-100%);visibility:hidden;transition:transform .45s cubic-bezier(.2,.6,.2,1),visibility 0s linear .45s;}
.nav-links a{color:var(--paper);}
.nav-links a:not(.btn){font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,247,248,.72);transition:color .2s;}
.nav-links a:not(.btn):hover,.nav-links a:not(.btn).active{color:var(--paper);}
.nav-links .btn{padding:14px 30px;margin-top:10px;}
.site-nav .brand{position:relative;z-index:70;}
.nav-burger{display:block;background:none;border:none;cursor:pointer;width:36px;height:36px;position:relative;z-index:70;}
.nav-burger span{position:absolute;left:6px;right:6px;height:1px;background:var(--paper);transition:transform .3s,opacity .3s;}
.nav-burger span:nth-child(1){top:13px;}
.nav-burger span:nth-child(2){top:18px;}
.nav-burger span:nth-child(3){top:23px;}
.site-nav.open{background:var(--navy);}
.site-nav.open .nav-links{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.2,.6,.2,1),visibility 0s;}
.site-nav.open .nav-burger span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.site-nav.open .nav-burger span:nth-child(2){opacity:0;}
.site-nav.open .nav-burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--navy) url('../img/hero-poster.jpg') center/cover no-repeat;background-blend-mode:luminosity;overflow:hidden;}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04) brightness(.86);opacity:0;transition:opacity 1.3s ease;transform:translateY(0);will-change:transform;}
.hero__video.is-playing{opacity:1;}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:var(--duo);mix-blend-mode:multiply;opacity:.6;pointer-events:none;}
.hero__wash{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(8,12,22,.52) 0%,rgba(8,12,22,.20) 34%,rgba(8,12,22,.30) 60%,rgba(9,13,23,.92) 100%),
  linear-gradient(90deg,rgba(8,12,22,.55) 0%,rgba(8,12,22,0) 52%);pointer-events:none;}
.hero__grid{position:relative;z-index:3;width:100%;padding-bottom:clamp(56px,8vh,104px);padding-top:150px;align-items:end;}
.hero__lead{grid-column:1 / span 9;color:var(--paper);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3vh,34px);}
.hero__lead .display{color:var(--paper);}
.hero__rule{width:64px;height:1px;background:var(--hair-dark-strong);}
.hero__lede{max-width:34em;color:rgba(246,247,248,.88);}
.hero .lede{color:rgba(246,247,248,.88);}
/* hero content — centered Trinity-style composition (client-directed
   deviation from v1's left-anchored editorial hero). Type sizes, colors,
   and video treatment unchanged; only the kicker/headline/rule/lede alignment. */
.hero{align-items:center;}
.hero>.wrap{width:100%;}
.hero__grid{padding-top:clamp(72px,9vh,104px);padding-bottom:clamp(72px,9vh,104px);justify-items:center;text-align:center;}
.hero__lead{grid-column:1 / span 12;align-items:center;}
@media (prefers-reduced-motion:no-preference){
  @keyframes heroRise{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:none;}}
  html.js .hero__lead>*{opacity:0;animation:heroRise .95s cubic-bezier(.2,.6,.2,1) forwards;}
  html.js .hero__lead>:nth-child(1){animation-delay:.25s;}
  html.js .hero__lead>:nth-child(2){animation-delay:.42s;}
  html.js .hero__lead>:nth-child(3){animation-delay:.6s;}
  html.js .hero__lead>:nth-child(4){animation-delay:.74s;}
  html.js .hero__lead>:nth-child(5){animation-delay:.88s;}
}

/* ---------- seam: quiet architectural rule at every band boundary ---------- */
.seam{position:relative;height:clamp(46px,6vh,76px);}
.seam::before{content:"";position:absolute;top:50%;left:50%;transform:translateX(-50%);width:min(calc(100% - var(--pad)*2),var(--max));height:1px;background:var(--seam-c);}
.seam--onpaper{background:var(--paper);--seam-c:rgba(81,85,94,.28);}
.seam--onpaper-alt{background:var(--paper-2);--seam-c:rgba(81,85,94,.28);}
.seam--ondark{background:var(--navy);--seam-c:rgba(246,247,248,.16);}

/* ---------- bands / modes ---------- */
.band{padding:var(--band-y) 0;position:relative;}
.on-paper{background:var(--paper);color:var(--ink);}
.on-paper--alt{background:var(--paper-2);}
.on-dark{background:var(--navy);color:var(--paper);position:relative;}
.on-dark::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(120% 80% at 76% 4%,rgba(150,162,182,.12) 0%,rgba(20,28,42,0) 52%);}
.on-dark>*{position:relative;z-index:1;}

/* ---------- section head ---------- */
.s-head{align-items:end;row-gap:clamp(22px,2.6vw,34px);padding-top:26px;border-top:1px solid var(--hair);margin-bottom:clamp(42px,6vw,74px);}
.on-dark .s-head{border-top-color:var(--hair-dark);}
.s-head .lbl{grid-column:1 / span 10;}
.s-head .ttl{grid-column:1 / span 9;}
.s-head .ttl .h2{margin-top:0;max-width:15em;}
.s-head .s-no{grid-column:12 / span 1;grid-row:1;justify-self:end;align-self:start;font-family:var(--serif);font-size:.95rem;color:var(--slate);letter-spacing:.04em;}
.on-dark .s-head .s-no{color:var(--paper-dim);}

/* ---------- duotone figure family ---------- */
.fig{position:relative;overflow:hidden;background:var(--navy);}
.fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.07) brightness(.9);scale:1.02;translate:0 var(--py,0);transition:scale 1.3s cubic-bezier(.2,.6,.2,1);will-change:scale,translate;}
.fig::after{content:"";position:absolute;inset:0;z-index:1;background:var(--duo);mix-blend-mode:multiply;opacity:.62;}
.fig::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(160deg,rgba(10,15,26,0) 40%,rgba(9,13,23,.5) 100%);}
.fig:hover img{scale:1.06;}
.fig--tall{aspect-ratio:4/5;}
.fig--portrait{aspect-ratio:5/7;}
.fig--land{aspect-ratio:5/4;}
.fig--wide{aspect-ratio:16/11;}
.fig--sq{aspect-ratio:1/1;}
.fig-cap{margin-top:14px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--hair);padding-top:12px;}
.on-dark .fig-cap{color:var(--paper-dim);border-top-color:var(--hair-dark);}

/* ---------- statement band ---------- */
.statement{align-items:start;padding-top:30px;border-top:1px solid var(--hair);}
.statement .lbl{grid-column:1 / span 3;}
.statement__text{grid-column:4 / span 9;font-family:var(--serif);font-weight:300;font-size:var(--fs-statement);line-height:1.42;letter-spacing:-.01em;color:var(--ink);max-width:26em;}
.statement__text .em{font-style:italic;color:var(--slate);}

/* ---------- memo (the firm) ---------- */
.memo{align-items:stretch;}
.memo__fig{grid-column:1 / span 5;}
.memo__body{grid-column:7 / span 6;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(18px,2vw,26px);}
.memo__body .kicker{margin-bottom:6px;}
.memo__body p{font-family:var(--serif);font-weight:300;font-size:var(--fs-memo);line-height:1.5;color:var(--paper);max-width:32em;letter-spacing:-.006em;}
.memo__body p.kicker{font-family:var(--sans);font-size:var(--fs-kicker);font-weight:400;letter-spacing:.26em;line-height:1;max-width:none;color:var(--paper-dim);}
.memo__foot{margin-top:8px;display:flex;gap:34px;flex-wrap:wrap;}
.memo__foot .kv{border-top:1px solid var(--hair-dark);padding-top:12px;min-width:150px;}
.memo__foot .kv .k{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--paper-dim);}
.memo__foot .kv .v{font-family:var(--serif);font-size:1.05rem;color:var(--paper);margin-top:6px;}

/* ---------- ruled list (shared): index + plate + serif name + copy ---------- */
.rlist{border-top:1px solid var(--hair);}
.on-dark .rlist{border-top-color:var(--hair-dark);}
.rrow{display:grid;grid-template-columns:var(--rc,88px) 1fr;gap:clamp(20px,3vw,52px);padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--hair);align-items:start;}
.on-dark .rrow{border-bottom-color:var(--hair-dark);}
.rrow__no{grid-column:1;}
.rrow__no .num{display:block;}
.rrow__main{grid-column:2;display:grid;grid-template-columns:1fr;gap:12px;}
.rrow__name{font-family:var(--serif);font-weight:300;font-size:var(--fs-serif-h3);line-height:1.1;letter-spacing:-.008em;color:var(--ink);transition:color .3s ease;}
.on-dark .rrow__name{color:var(--paper);}
.rrow__copy{color:var(--body-soft);max-width:40em;font-size:1.02rem;}
.on-dark .rrow__copy{color:var(--paper-mid);}

/* advisory & what-we-do share ONE geometry: aside figure + ruled list */
.split{align-items:stretch;}
.split__aside{grid-column:1 / span 4;}
.split__aside .lede{margin-top:20px;font-size:1.02rem;}
.split__main{grid-column:6 / span 7;}
.approach__aside{grid-column:1 / span 4;}
.approach__main{grid-column:6 / span 7;}

/* asides fill to their sibling list's height (no dead navy/paper void) */
.memo__fig,.split__aside,.approach__aside{display:flex;flex-direction:column;}
.memo__fig>.fig,.split__aside>.fig,.approach__aside>.fig{flex:1 1 auto;aspect-ratio:auto;min-height:300px;}

/* ruled-list rows: quieter index so the serif name leads; restrained hover */
.rrow .num{font-size:clamp(1.5rem,2.4vw,2.1rem);transition:color .3s ease,transform .3s ease;}
.split__main a.rrow:hover .rrow__name{color:var(--duo);}
.split__main a.rrow:hover .num,.approach__main .rrow:hover .num{transform:translateX(4px);}

/* principles: light manifesto, roman numerals, wide rows */
.principles .rrow{--rc:118px;grid-template-columns:var(--rc) 1fr auto;align-items:baseline;padding:clamp(22px,2.8vw,36px) 0;}
.principles .rrow__ro{grid-column:1;font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.9vw,2.7rem);color:var(--slate);letter-spacing:.02em;line-height:1;transition:color .3s ease;}
.principles .rrow__name{grid-column:2;font-size:clamp(1.6rem,3vw,2.6rem);}
.principles .rrow::after{content:"";grid-column:3;align-self:center;width:clamp(40px,6vw,104px);height:1px;background:var(--hair-strong);}
.principles .rrow:hover .rrow__ro{color:var(--ink);}

/* ---------- edge split (dark) ---------- */
.edge{align-items:center;}
.edge__text{grid-column:1 / span 6;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,2.6vw,30px);}
.edge__text .h2{max-width:11em;}
.edge__text .lede{max-width:30em;}
.edge__fig{grid-column:8 / span 5;}

/* ---------- CTA band (dark) — the one blue moment ---------- */
.cta{text-align:center;padding:clamp(96px,13vw,180px) 0;background:
  radial-gradient(130% 120% at 50% -10%,rgba(0,86,251,.14) 0%,rgba(20,28,42,0) 46%),
  var(--navy);position:relative;overflow:hidden;border-top:1px solid var(--hair-dark);}
.cta::before{content:none;}
.cta .inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:26px;}
.cta .kicker{color:var(--paper-dim);}
.cta .h2{color:var(--paper);max-width:14em;}
.cta .lede{color:var(--paper-mid);max-width:34em;margin-inline:auto;}
.cta .btn--blue{margin-top:8px;}
.cta .assure{margin-top:6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,247,248,.46);}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-2);color:rgba(246,247,248,.72);border-top:1px solid var(--hair-dark);padding:clamp(56px,7vw,84px) 0 44px;font-size:.92rem;position:relative;}
.site-footer::before{content:none;}
.site-footer>.wrap{position:relative;z-index:1;}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:52px;}
.site-footer .brand .wm{font-size:1.15rem;}
.site-footer .col--brand .tagline{padding-bottom:22px;}
.site-footer .col h4{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,247,248,.5);font-weight:400;margin-bottom:20px;}
.site-footer .col li{margin-bottom:11px;}
.site-footer .col a{color:rgba(246,247,248,.72);transition:color .2s;}
.site-footer .col a:hover{color:var(--paper);}
.site-footer .tagline{font-family:var(--serif);font-style:italic;font-weight:300;color:rgba(246,247,248,.6);margin-top:16px;}
/* legal flows into two columns on desktop so the footer reads finished
   (single column capped at 76ch left a large empty navy quadrant at bottom-
   right). Layout only — wording is Finalis-approved and byte-locked. */
.site-footer .legal{border-top:1px solid var(--hair-dark);padding-top:34px;columns:2;column-gap:clamp(36px,4.5vw,64px);font-size:.78rem;line-height:1.62;color:rgba(246,247,248,.44);}
.site-footer .legal>p{margin-bottom:16px;break-inside:avoid;-webkit-column-break-inside:avoid;}
.site-footer .legal>p:last-child{margin-bottom:0;}
.site-footer .legal a{text-decoration:underline;text-underline-offset:3px;color:rgba(246,247,248,.6);}
.site-footer .legal a:hover{color:var(--paper);}
.site-footer .legal .links{display:flex;flex-wrap:wrap;gap:10px 24px;}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translate3d(0,12px,0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translate3d(0,0,0);}
.fig.reveal{transform:translate3d(0,16px,0) scale(1.015);}
.fig.reveal.in{transform:translate3d(0,0,0);}
.reveal-slide-left{opacity:0;transform:translate3d(-20px,0,0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal-slide-right{opacity:0;transform:translate3d(20px,0,0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal-fade{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1);}
.reveal-slide-left.in,.reveal-slide-right.in,.reveal-fade.in{opacity:1;transform:translate3d(0,0,0);}

/* page transitions — owned by room.css (opacity fade, view-transition API) */
html{background:var(--navy-2);}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .rails{display:none;}
  .split__aside,.approach__aside{position:static;top:auto;}
}
@media (max-width:900px){
  :root{--band-y:clamp(72px,11vw,110px);}
  .hero__lead{grid-column:1 / span 12;}
  .s-head .lbl{grid-column:1 / span 12;}
  .s-head .ttl{grid-column:1 / span 12;}
  .s-head .s-no{display:none;}
  .statement .lbl{grid-column:1 / span 12;margin-bottom:20px;}
  .statement__text{grid-column:1 / span 12;max-width:none;}
  .memo__fig{grid-column:1 / span 12;margin-bottom:34px;}
  .memo__body{grid-column:1 / span 12;}
  .memo__body p{color:var(--paper);max-width:none;}
  .split__aside{grid-column:1 / span 12;margin-bottom:44px;}
  .split__main{grid-column:1 / span 12;}
  .approach__aside{grid-column:1 / span 12;margin-bottom:40px;}
  .approach__main{grid-column:1 / span 12;}
  .memo__fig>.fig,.split__aside>.fig,.approach__aside>.fig{flex:none;aspect-ratio:16/10;min-height:0;}
  .edge__text{grid-column:1 / span 12;margin-bottom:38px;}
  .edge__fig{grid-column:1 / span 12;}
  .principles .rrow{grid-template-columns:64px 1fr;}
  .principles .rrow::after{display:none;}
  .site-footer .cols{grid-template-columns:1fr 1fr;}
  .site-footer .col--brand{grid-column:1 / span 2;margin-bottom:12px;}
  .site-footer .legal{columns:1;}
}
@media (max-width:620px){
  :root{--pad:22px;}
  .display{font-size:clamp(2.5rem,10.5vw,3.4rem);}
  .display .brk{display:none;}
  .rrow{--rc:44px;gap:16px;}
  .rrow--plate{grid-template-columns:1fr;gap:16px;}
  .rrow--plate .rrow__no{grid-column:1;}
  .rrow--plate .rrow__plate{grid-column:1;display:none;}
  .rrow--plate .rrow__main{grid-column:1;}
  .principles .rrow{grid-template-columns:44px 1fr;}
  .principles .rrow__name{font-size:clamp(1.35rem,7vw,1.7rem);}
  .memo__foot{gap:20px;}
  .site-footer .cols{grid-template-columns:1fr;}
  .site-footer .col--brand{grid-column:1;}
  .hero{align-items:center;}
  .hero__grid{padding-top:120px;padding-bottom:60px;}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal,.reveal-slide-left,.reveal-slide-right,.reveal-fade{opacity:1 !important;transform:none !important;transition:none;}
  .fig.reveal{transform:none !important;}
  .hero__video{display:none;}
  .hero__lead>*{opacity:1;animation:none;}
  body{transition:none;}
  body::after{display:none;}
}

/* =====================================================================
   Subpage cascade — additive classes for the six inner pages.
   v1 language only: navy page-hero mastheads, hairline FAQ disclosure,
   hairline form fields, ruled definition lists, editorial prose.
   ADDITIVE ONLY — no rule above this banner is modified.
   ===================================================================== */

/* ---------- page-hero: navy masthead (subpage hero, no video) ---------- */
.page-hero{position:relative;background:var(--navy);color:var(--paper);
  padding:calc(78px + clamp(56px,10vw,128px)) 0 clamp(52px,8vw,96px);
  overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(120% 90% at 78% 0%,rgba(150,162,182,.13) 0%,rgba(20,28,42,0) 54%);}
.page-hero>.wrap{position:relative;z-index:1;}
.page-hero .kicker{color:var(--paper-dim);}
.page-hero .display{color:var(--paper);margin-top:clamp(22px,2.6vw,30px);max-width:16em;}
.page-hero .lede{color:var(--paper-mid);margin-top:clamp(20px,2.4vw,28px);}
.page-hero .btn{margin-top:clamp(26px,3.4vw,38px);}
.page-hero--center{display:flex;align-items:center;min-height:78svh;
  padding-top:calc(78px + clamp(24px,4vw,48px));padding-bottom:clamp(48px,7vw,80px);}

/* ---------- editorial prose column (about) ---------- */
.about-body{max-width:38em;}
.about-body>p{color:var(--body-soft);}
.about-body>.lede{color:var(--body-soft);}
.about-body>p + p{margin-top:1.15em;}
.hairline{border:none;height:1px;background:var(--hair);margin:clamp(30px,4vw,46px) 0;}
.about-body .closer{font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:var(--fs-serif-h3);line-height:1.42;color:var(--slate);}

/* ---------- ruled definition list (advisory-focus, approach) ----------
   numeral | serif name | copy — fills the full measure so a standalone
   list never leaves a dead right gutter. */
.rlist--def .rrow__main{grid-template-columns:minmax(10em,.86fr) minmax(0,1.4fr);
  gap:clamp(16px,3.4vw,56px);align-items:baseline;}
.rlist--def .num{font-size:clamp(1.9rem,3vw,2.8rem);}
@media (max-width:820px){
  .rlist--def .rrow__main{grid-template-columns:1fr;gap:12px;}
}

/* ---------- FAQ: hairline disclosure rows ---------- */
.faq{border-top:1px solid var(--hair);max-width:62em;}
.on-dark .faq{border-top-color:var(--hair-dark);}
.faq details{border-bottom:1px solid var(--hair);}
.on-dark .faq details{border-bottom-color:var(--hair-dark);}
.faq summary{list-style:none;cursor:pointer;position:relative;
  padding:clamp(22px,2.6vw,30px) 48px clamp(22px,2.6vw,30px) 0;
  font-family:var(--serif);font-weight:300;font-size:var(--fs-serif-h3);
  line-height:1.22;letter-spacing:-.006em;color:var(--ink);transition:color .25s ease;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--duo);}
.on-dark .faq summary{color:var(--paper);}
.on-dark .faq summary:hover{color:#fff;}
.faq summary::before{content:"";position:absolute;top:50%;right:6px;width:15px;height:1px;
  background:currentColor;opacity:.55;transform:translateY(-50%);}
.faq summary::after{content:"";position:absolute;top:50%;right:13px;width:1px;height:15px;
  background:currentColor;opacity:.55;transform:translateY(-50%);
  transition:opacity .3s ease,transform .3s ease;}
.faq details[open] summary::after{opacity:0;transform:translateY(-50%) scaleY(0);}
.faq .a{color:var(--body-soft);max-width:52em;font-size:1.02rem;
  padding:2px 48px clamp(24px,3vw,32px) 0;}
.on-dark .faq .a{color:var(--paper-mid);}

/* ---------- contact form: hairline fields ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(26px,3.2vw,40px) clamp(22px,3vw,40px);max-width:60em;
  border-top:1px solid var(--hair);padding-top:clamp(38px,5vw,58px);}
.form-grid .wide{grid-column:1 / -1;}
.form-grid label{display:flex;flex-direction:column;gap:12px;
  font-family:var(--sans);font-size:var(--fs-kicker);letter-spacing:.16em;
  text-transform:uppercase;color:var(--slate);font-weight:400;}
.form-grid input,.form-grid select,.form-grid textarea{
  font-family:var(--sans);font-size:1.04rem;font-weight:300;color:var(--ink);
  background:transparent;border:none;border-bottom:1px solid var(--hair-strong);
  border-radius:0;padding:11px 0;width:100%;
  text-transform:none;letter-spacing:normal;transition:border-color .3s ease;}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{
  outline:none;border-bottom-color:var(--blue);}
.form-grid select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 L6 6.5 L11 1.5' stroke='%2351555E' fill='none' stroke-width='1.2'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center;}
.form-grid textarea{min-height:132px;resize:vertical;line-height:1.5;}
.form-grid .hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.form-grid .form-actions{margin-top:6px;}
.form-grid .kicker.wide{margin-top:2px;}
@media (max-width:620px){
  .form-grid{grid-template-columns:1fr;}
}

/* ---------- reduced motion (cascade additions) ---------- */
@media (prefers-reduced-motion:reduce){
  .faq summary::after,
  .form-grid input,.form-grid select,.form-grid textarea{transition:none;}
}

/* CSP: former inline style attributes as utility classes */
.wm--footer{font-size:1.1rem;}
.faq--pushed{margin-top:clamp(60px,8vw,96px);}
.band--thanks{padding-top:clamp(48px,7vw,84px);padding-bottom:clamp(72px,10vw,132px);}

/* ---------- dropdown menu choreography (burger overlay) ---------- */
.nav-links{transition:transform .6s cubic-bezier(.22,.68,.22,1),visibility 0s linear .6s;}
.site-nav.open .nav-links{transition:transform .6s cubic-bezier(.22,.68,.22,1);}
.nav-links a{opacity:0;transform:translateY(22px);transition:opacity .22s ease,transform .22s ease,color .2s ease;}
.site-nav.open .nav-links a{opacity:1;transform:none;transition:opacity .65s cubic-bezier(.16,.68,.24,1),transform .65s cubic-bezier(.16,.68,.24,1),color .2s ease;}
.site-nav.open .nav-links a:nth-child(1){transition-delay:.16s;}
.site-nav.open .nav-links a:nth-child(2){transition-delay:.22s;}
.site-nav.open .nav-links a:nth-child(3){transition-delay:.28s;}
.site-nav.open .nav-links a:nth-child(4){transition-delay:.34s;}
.site-nav.open .nav-links a:nth-child(5){transition-delay:.40s;}
.site-nav.open .nav-links a:nth-child(6){transition-delay:.46s;}
.site-nav.open .nav-links a:nth-child(7){transition-delay:.54s;}
@media (prefers-reduced-motion:reduce){
  .nav-links a{opacity:1;transform:none;transition:none;}
  .nav-links{transition:none;}
}

/* ---------- de-clutter: seams off (Mason), flat navy surfaces ---------- */
.seam{display:none;}
/* de-lining (Mason 2026-07-02): fixed margin rails off — two permanent
   vertical hairlines on every page read as line fixation. */
.rails{display:none;}

/* ---------- tombstone placeholders (transactions) ---------- */
.tombs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(48px,6vw,84px);}
.tomb{position:relative;aspect-ratio:1/1;border:1px solid var(--hair);padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;justify-content:flex-end;background:transparent;}
.tomb__num{position:absolute;top:clamp(14px,1.6vw,22px);left:clamp(16px,1.8vw,24px);font-size:1.05rem;color:var(--slate);opacity:.55;}
.tomb__mid{position:absolute;top:50%;left:clamp(18px,2vw,28px);right:clamp(18px,2vw,28px);transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;align-items:center;}
.tomb__foot{border-top:1px solid var(--hair);padding-top:14px;display:flex;}
.tomb__bar{display:block;height:8px;background:rgba(81,85,94,.14);}
.tomb__bar--w60{width:60%;}
.tomb__bar--w40{width:40%;}
.tomb__bar--w30{width:30%;}
@media (max-width:1024px){.tombs{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.tombs{grid-template-columns:1fr;}.tomb{aspect-ratio:4/3;}}



/* ---------- footer contact lines + hero contact affordance ---------- */
.contact-lines{margin-top:18px;font-size:.92rem;line-height:1.8;color:rgba(246,247,248,.55);}
.contact-lines a{color:rgba(246,247,248,.78);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(246,247,248,.25);transition:color .2s ease;}
.contact-lines a:hover{color:var(--paper);}
.hero__contact{display:inline-flex;align-items:center;gap:9px;margin-top:10px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,247,248,.72);border-bottom:1px solid rgba(246,247,248,.28);padding-bottom:6px;transition:color .25s ease,border-color .25s ease;}
.hero__contact:hover{color:var(--paper);border-color:var(--paper);}
.hero__contact .a{transition:transform .3s ease;}
.hero__contact:hover .a{transform:translateX(4px);}

/* ---------- ink text link (paper-band affordance, mirrors hero contact) ---------- */
.textlink{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--hair-strong);padding-bottom:6px;width:fit-content;transition:color .25s ease,border-color .25s ease;}
.textlink:hover{color:var(--ink);border-color:var(--ink);}
.textlink .a{transition:transform .3s ease;}
.textlink:hover .a{transform:translateX(4px);}
button.textlink{background:transparent;border:0;border-bottom:1px solid var(--hair-strong);cursor:pointer;}
.textlink--blue{color:var(--blue);border-bottom-color:rgba(0,86,251,.45);}
.textlink--blue:hover{color:var(--blue);border-bottom-color:var(--blue);}
.textlink--light{color:rgba(246,247,248,.72);border-bottom-color:rgba(246,247,248,.28);}
.textlink--light:hover{color:var(--paper);border-color:var(--paper);}

/* ---------- opening sequence (home, once per session) ----------
   Timing tokens (--intro-hold + --intro-collapse) drive CSS delays; JS
   listens for animationend on collapse — no fixed-ms desync. */
.intro{position:fixed;inset:0;z-index:200;width:100%;height:100%;min-height:100vh;min-height:100dvh;
  pointer-events:auto;contain:strict;isolation:isolate;
  --intro-hold:1.85s;--intro-collapse:.82s;--intro-panel:1.15s;
  --intro-ease:cubic-bezier(.16,1,.3,1);--intro-ease-collapse:var(--intro-ease);}
.intro.open{pointer-events:none;}
.intro--gpu .intro__panel,
.intro--gpu .intro__wm-inner,
.intro--gpu .intro__seam{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.intro__panel{position:absolute;left:0;right:0;height:calc(50% + 1px);background:var(--navy-2);
  transform:translate3d(0,0,0);
  transition:transform var(--intro-panel) var(--intro-ease);}
.intro__panel--t{top:0;transform-origin:center bottom;}
.intro__panel--b{bottom:0;transform-origin:center top;}
.intro__brand{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0);z-index:2;
  width:min(92vw,34rem);text-align:center;
  transition:opacity .4s var(--intro-ease);}
/* seam: fixed to viewport center so it spans edge-to-edge without 100vw layout */
.intro__seam{position:fixed;left:0;right:0;top:50%;height:1px;
  background:rgba(246,247,248,.32);z-index:0;opacity:0;
  transform:translate3d(0,-50%,0) scaleX(.16);transform-origin:center center;
  animation:introSeamResolve var(--intro-collapse) var(--intro-ease-collapse) var(--intro-hold) forwards;}
.intro__wm{position:relative;z-index:1;display:block;overflow:hidden;padding:4px 0;}
.intro__wm-inner{display:block;font-family:var(--serif);font-weight:300;
  font-size:clamp(2.35rem,9.2vw,5.25rem);line-height:.98;letter-spacing:-.022em;color:var(--paper);
  transform:translate3d(0,108%,0) scale(.985);transform-origin:center center;
  animation:introWmRise 1s var(--intro-ease) .1s forwards,
             introWmCollapse var(--intro-collapse) var(--intro-ease-collapse) var(--intro-hold) forwards;}
@keyframes introWmRise{to{transform:translate3d(0,0,0) scale(1);}}
@keyframes introWmCollapse{
  0%{transform:translate3d(0,0,0) scale(1,1);opacity:1;
    animation-timing-function:cubic-bezier(.22,.84,.32,1);}
  32%{transform:translate3d(0,0,0) scale(.985,.42);opacity:.88;
    animation-timing-function:cubic-bezier(.16,1,.3,1);}
  58%{transform:translate3d(0,0,0) scale(.975,.12);opacity:.52;
    animation-timing-function:cubic-bezier(.16,1,.3,1);}
  100%{transform:translate3d(0,0,0) scale(.97,0);opacity:0;}}
@keyframes introSeamResolve{
  0%{transform:translate3d(0,-50%,0) scaleX(.16);opacity:0;
    animation-timing-function:cubic-bezier(.22,.84,.32,1);}
  30%{transform:translate3d(0,-50%,0) scaleX(.38);opacity:.42;
    animation-timing-function:cubic-bezier(.16,1,.3,1);}
  62%{transform:translate3d(0,-50%,0) scaleX(.72);opacity:.82;
    animation-timing-function:cubic-bezier(.16,1,.3,1);}
  100%{transform:translate3d(0,-50%,0) scaleX(1);opacity:1;}}
.intro.open .intro__panel--t{transform:translate3d(0,-100%,0);}
.intro.open .intro__panel--b{transform:translate3d(0,100%,0);}
.intro.open .intro__seam{opacity:0;transition:opacity .36s var(--intro-ease);}
.intro.open .intro__brand{opacity:0;transition:opacity .36s var(--intro-ease);}
html.intro-running{overflow:hidden;touch-action:none;overscroll-behavior:none;height:100%;
  background:var(--navy-2);}
html.intro-running body{overflow:hidden;touch-action:none;background:var(--navy-2);}
html.intro-running .site-nav{opacity:0;visibility:hidden;pointer-events:none;}
html.intro-running .hero__lead>*{animation-play-state:paused;}
@supports (-webkit-touch-callout:none){
  html.intro-running body{position:fixed;left:0;right:0;width:100%;}
}

/* ---------- sys: the platform, drawn but not labeled (our-edge) ---------- */
.sys{border-bottom:1px solid var(--hair-dark);}
.sys__grid{align-items:center;row-gap:56px;}
.sys__lead{grid-column:1 / span 5;}
.sys__fig{grid-column:7 / span 6;margin:0;}
.sys__lead .h2{margin:20px 0 0;max-width:12em;}
.sys__body{margin-top:24px;color:var(--paper-mid);max-width:34em;}
.sys__specs{margin:clamp(30px,4vw,48px) 0 0;border-top:1px solid var(--hair-dark);}
.sys__specs .spec{display:grid;grid-template-columns:minmax(9.5em,.55fr) 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--hair-dark);}
.sys__specs dt{font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--paper-dim);padding-top:2px;}
.sys__specs dd{margin:0;font-family:var(--sans);font-weight:300;font-size:.95rem;color:var(--paper);}
.sys__next{margin-top:clamp(44px,5.5vw,72px);padding-top:clamp(20px,2.5vw,30px);border-top:1px solid var(--hair-dark);}
.band--tight{padding-top:calc(var(--band-y)*.66);padding-bottom:calc(var(--band-y)*.66);}
.sys__net{display:block;width:100%;height:auto;}
.sys__net .tick{fill:none;stroke:var(--hair-dark-strong);stroke-width:1;}
.sys__net .orbit{fill:none;stroke:rgba(246,247,248,.20);stroke-width:1;stroke-dasharray:.004 .012;}
.sys__net .orbit--far{opacity:.55;}
.sys__net .edge{stroke:rgba(246,247,248,.24);stroke-width:1;}
.sys__net .edge--k{stroke:rgba(246,247,248,.42);}
.sys__net .node{fill:var(--navy);stroke:rgba(246,247,248,.75);stroke-width:1.1;}
.sys__net .dot{fill:rgba(246,247,248,.72);}
.sys__net .slot{fill:none;stroke:rgba(246,247,248,.28);stroke-width:1;}
.sys__net .core{fill:var(--blue);}
.sys__net .halo{fill:none;stroke:var(--blue);stroke-width:1.2;opacity:.65;}
.sys__net .pulse{fill:none;stroke:var(--blue);stroke-width:1.25;opacity:0;transform-box:fill-box;transform-origin:center;}
/* choreography: draw the machine when the band reveals */
.sys__net .edges line,.sys__net .orbit{stroke-dashoffset:1;}
.sys__net .edges line{stroke-dasharray:1;transition:stroke-dashoffset .9s cubic-bezier(.22,.61,.36,1) .1s;}
.sys__net .orbit{transition:stroke-dashoffset 1.8s cubic-bezier(.22,.61,.36,1) .25s;}
.sys__net .edges line:nth-child(2n){transition-delay:.22s;}
.sys__net .edges line:nth-child(3n){transition-delay:.34s;}
.sys__net .edges line:nth-child(5n){transition-delay:.48s;}
.sys__net .edges line:nth-child(7n){transition-delay:.6s;}
.sys__net .nodes circle,.sys__net .slots rect{opacity:0;transition:opacity .55s ease .75s;}
.sys__net .slots rect{transition-delay:1s;}
.sys__net .core-g{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.5);transition:opacity .5s ease 1.05s,transform .7s cubic-bezier(.16,.68,.24,1) 1.05s;}
.sys__fig.in .sys__net .edges line,.sys__fig.in .sys__net .orbit{stroke-dashoffset:0;}
.sys__fig.in .sys__net .nodes circle,.sys__fig.in .sys__net .slots rect{opacity:1;}
.sys__fig.in .sys__net .core-g{opacity:1;transform:scale(1);}
@media (prefers-reduced-motion:no-preference){
  @keyframes sysPulse{0%{transform:scale(.4);opacity:.85;}70%{opacity:0;}100%{transform:scale(4.4);opacity:0;}}
  @keyframes sysDrift{from{transform:translateY(0);}to{transform:translateY(-9px);}}
  .sys__fig.in .sys__net .pulse{animation:sysPulse 3.6s cubic-bezier(.2,.6,.3,1) 1.6s infinite;}
  .sys__fig.in .sys__net .pulse--2{animation-delay:3.4s;}
  .sys__fig.in .sys__net .drift{animation:sysDrift 12s ease-in-out 2s infinite alternate;}
}
@media (prefers-reduced-motion:reduce){
  .sys__net .edges line,.sys__net .orbit{stroke-dashoffset:0;transition:none;}
  .sys__net .nodes circle,.sys__net .slots rect,.sys__net .core-g{opacity:1;transform:none;transition:none;}
  .sys__net .pulse{opacity:0;animation:none;}
}
@media (max-width:900px){
  .sys__grid{row-gap:44px;}
  .sys__lead,.sys__fig{grid-column:1 / span 12;}
  .sys__fig{max-width:560px;}
}

/* ---------- idx: contents of a memorandum (advisory-focus) ---------- */
.idx__head{display:flex;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--hair-strong);font-family:var(--sans);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);}
.idx__list{list-style:none;margin:0;padding:0;}
.idx__entry{display:grid;grid-template-columns:3.4em max-content minmax(48px,1fr) minmax(15em,23em);align-items:baseline;padding:clamp(26px,3.2vw,38px) 0;border-bottom:1px solid var(--hair);color:inherit;}
.idx__no{font-size:1.02rem;color:var(--slate);transition:color .3s ease;}
.idx__name{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.7vw,2.45rem);letter-spacing:-.012em;line-height:1.1;color:var(--ink);transition:transform .35s cubic-bezier(.16,.68,.24,1);}
.idx__leader{display:block;align-self:end;margin:0 22px .52em;border-bottom:1px dotted rgba(15,16,18,.34);transition:border-color .3s ease;}
.idx__desc{font-family:var(--serif);font-style:italic;font-weight:300;font-size:.99rem;line-height:1.55;color:var(--slate);text-align:right;justify-self:end;transition:color .3s ease;}
@media (hover:hover){
  .idx__entry:hover .idx__name{transform:translateX(10px);}
  .idx__entry:hover .idx__no{color:var(--blue);}
  .idx__entry:hover .idx__leader{border-color:var(--blue);}
  .idx__entry:hover .idx__desc{color:var(--ink);}
}
.idx__entry:focus-visible{outline:1px solid var(--blue);outline-offset:6px;}
.idx__folio{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font-family:var(--sans);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);opacity:.75;}
@media (max-width:820px){
  .idx__entry{grid-template-columns:2.6em 1fr;row-gap:10px;}
  .idx__leader{display:none;}
  .idx__desc{grid-column:2;text-align:left;justify-self:start;}
}
@media (prefers-reduced-motion:reduce){
  .idx__name,.idx__no,.idx__leader,.idx__desc{transition:none;}
}

/* ---------- rail: the process spine (approach) ---------- */
.rail{max-width:980px;}
.rail__list{list-style:none;margin:0;padding:0;position:relative;}
.rail__list::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--hair-strong);transform:scaleY(0);transform-origin:top;transition:transform 1.6s cubic-bezier(.22,.61,.36,1) .15s;}
.rail.in .rail__list::before{transform:scaleY(1);}
.rail__step{position:relative;display:grid;grid-template-columns:minmax(88px,150px) 1fr;gap:clamp(18px,3vw,50px);align-items:start;padding:clamp(30px,4.2vw,54px) 0 clamp(30px,4.2vw,54px) clamp(36px,4.5vw,62px);}
.rail__node{position:absolute;left:0;top:calc(clamp(30px,4.2vw,54px) + .42em);width:11px;height:11px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);opacity:0;transform:scale(.4);transition:opacity .45s ease,transform .5s cubic-bezier(.16,.68,.24,1);}
.rail__step--end .rail__node{background:var(--blue);border-color:var(--blue);}
.rail__ghost{display:block;font-size:clamp(3.4rem,6.6vw,6rem);line-height:.8;color:rgba(81,85,94,.16);user-select:none;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,.68,.24,1);}
.rail__body{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,.68,.24,1);}
.rail__name{font-family:var(--serif);font-weight:300;font-size:clamp(1.45rem,2.4vw,2.15rem);letter-spacing:-.01em;line-height:1.12;margin:0;color:var(--ink);}
.rail__copy{margin:12px 0 0;color:var(--slate);max-width:34em;}
.rail__step:nth-child(1) .rail__node{transition-delay:.3s;}
.rail__step:nth-child(2) .rail__node{transition-delay:.55s;}
.rail__step:nth-child(3) .rail__node{transition-delay:.8s;}
.rail__step:nth-child(4) .rail__node{transition-delay:1.05s;}
.rail__step:nth-child(5) .rail__node{transition-delay:1.3s;}
.rail__step:nth-child(1) .rail__ghost,.rail__step:nth-child(1) .rail__body{transition-delay:.38s;}
.rail__step:nth-child(2) .rail__ghost,.rail__step:nth-child(2) .rail__body{transition-delay:.63s;}
.rail__step:nth-child(3) .rail__ghost,.rail__step:nth-child(3) .rail__body{transition-delay:.88s;}
.rail__step:nth-child(4) .rail__ghost,.rail__step:nth-child(4) .rail__body{transition-delay:1.13s;}
.rail__step:nth-child(5) .rail__ghost,.rail__step:nth-child(5) .rail__body{transition-delay:1.38s;}
.rail.in .rail__node{opacity:1;transform:scale(1);}
.rail.in .rail__ghost,.rail.in .rail__body{opacity:1;transform:none;}
@media (max-width:620px){
  .rail__step{grid-template-columns:64px 1fr;gap:14px;padding-left:30px;}
  .rail__ghost{font-size:2.7rem;}
}
@media (prefers-reduced-motion:reduce){
  .rail__list::before{transform:scaleY(1);transition:none;}
  .rail__node,.rail__ghost,.rail__body{opacity:1;transform:none;transition:none;}
}

/* ---------- cov + field: sector-agnostic coverage (advisory-focus) ---------- */
.cov{align-items:start;row-gap:40px;margin-bottom:clamp(48px,6.5vw,92px);}
.cov__lead{grid-column:1 / span 5;}
.cov__lead .h2{margin:clamp(22px,2.6vw,30px) 0 0;}
.cov__body{grid-column:7 / span 6;max-width:34em;}
.field{border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong);padding:clamp(34px,4.5vw,58px) 0;}
.field__lbl{display:flex;justify-content:space-between;gap:16px;margin:0 0 clamp(24px,3vw,38px);font-family:var(--sans);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);}
.field__set{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.6vw,2.3rem);line-height:1.72;letter-spacing:-.006em;color:var(--ink);}
.field__s{white-space:nowrap;}
.field__s--dim{color:var(--slate);}
.field__dot{font-size:0;display:inline-block;width:1px;height:.82em;background:rgba(15,16,18,.24);margin:0 .62em;vertical-align:-2px;}
@media (max-width:900px){
  .cov__lead,.cov__body{grid-column:1 / span 12;}
}

/* ---------- bridge: dark hand-off band into our-edge ---------- */
.bridge__line{margin:clamp(22px,2.6vw,30px) 0 clamp(28px,3.5vw,40px);font-family:var(--serif);font-weight:300;font-size:var(--fs-statement);line-height:1.38;letter-spacing:-.01em;color:var(--paper);max-width:21em;}
.bridge__node{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:13px;vertical-align:2px;}
.bridge__list{margin:clamp(38px,5vw,64px) 0 0;}
.bridge__list + .textlink{margin-top:clamp(28px,3.5vw,44px);}

/* ---------- doct: doctrine rows, margin keyword + statement (approach) ---------- */
.doct{border-top:1px solid var(--hair-strong);}
.doct__row{display:grid;grid-template-columns:minmax(110px,180px) 1fr;gap:clamp(18px,3.2vw,48px);padding:clamp(28px,3.6vw,46px) 0;border-bottom:1px solid var(--hair);align-items:baseline;}
.doct__k{font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--slate);}
.doct__k--blue{color:var(--blue);}
.doct__s{margin:0;font-family:var(--serif);font-weight:300;font-size:var(--fs-statement);line-height:1.42;letter-spacing:-.01em;color:var(--ink);max-width:26em;}
.doct__s .em{font-style:italic;color:var(--slate);}
@media (max-width:620px){
  .doct__row{grid-template-columns:1fr;gap:12px;}
}

/* ---------- ctc: direct plate + form (contact) ---------- */
.contact-band{padding-top:clamp(70px,8vw,116px);padding-bottom:clamp(84px,9vw,132px);}
.ctc{align-items:start;row-gap:52px;}
.ctc__aside{grid-column:1 / span 4;}
.ctc__form{grid-column:6 / span 7;}
.ctc__aside .h2{margin-top:clamp(22px,2.6vw,30px);max-width:8.5em;}
.ctc__specs{margin:20px 0 0;border-top:1px solid var(--hair-strong);}
.ctc__specs .spec{display:grid;grid-template-columns:minmax(8.5em,.5fr) 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair);}
.ctc__specs dt{font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);padding-top:3px;}
.ctc__specs dd{margin:0;font-family:var(--sans);font-weight:300;font-size:.95rem;line-height:1.6;color:var(--ink);}
.ctc__specs dd a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(15,16,18,.25);transition:text-decoration-color .2s ease;}
.ctc__specs dd a:hover{text-decoration-color:var(--ink);}
.ctc__note{margin:26px 0 0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.02rem;line-height:1.6;color:var(--slate);max-width:22em;}
@media (max-width:900px){
  .ctc__aside,.ctc__form{grid-column:1 / span 12;}
}

/* ---------- homepage: institutional front door ---------- */
.home-signal{border-top:1px solid var(--hair);}
.home-signal__grid{align-items:start;row-gap:clamp(34px,4vw,48px);}
.home-signal__intro{grid-column:1 / span 5;}
.home-signal__intro .h2{margin-top:22px;max-width:12em;}
.home-signal__body{grid-column:7 / span 6;max-width:34em;}
.home-signal__figure{margin-top:clamp(46px,5.8vw,78px);}
.home-signal__figure .fig{width:100%;aspect-ratio:16/5;min-height:220px;max-height:360px;}
.home-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(38px,4.5vw,58px);border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong);}
.home-ledger__item{min-height:clamp(176px,17vw,232px);padding:clamp(24px,2.6vw,34px) clamp(18px,2.5vw,34px);border-right:1px solid var(--hair);display:flex;flex-direction:column;justify-content:space-between;}
.home-ledger__item:last-child{border-right:0;}
.home-ledger__no{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--slate);}
.home-ledger h3{font-family:var(--serif);font-weight:300;font-size:1.7rem;line-height:1.1;letter-spacing:0;color:var(--ink);}
.home-ledger p{margin-top:18px;color:var(--body-soft);max-width:22em;}
.home-focus{border-top:1px solid var(--hair-dark);border-bottom:1px solid var(--hair-dark);padding-bottom:clamp(112px,13vw,178px);}
.home-focus__head{align-items:end;row-gap:24px;margin-bottom:clamp(42px,6vw,72px);}
.home-focus__title{grid-column:1 / span 5;}
.home-focus__title .h2{margin-top:20px;max-width:10em;}
.home-focus__copy{grid-column:7 / span 6;color:var(--paper-mid);max-width:35em;font-size:var(--fs-lede);line-height:1.62;}
.home-index{border-top:1px solid var(--hair-dark-strong);}
.home-index__row{display:grid;grid-template-columns:4.2em minmax(13em,.8fr) minmax(0,1fr);gap:clamp(16px,3vw,52px);align-items:baseline;padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--hair-dark);color:inherit;}
.home-index__no{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--paper-dim);transition:transform .3s ease,color .3s ease;}
.home-index__name{font-family:var(--serif);font-weight:300;font-size:1.75rem;line-height:1.1;letter-spacing:0;color:var(--paper);}
.home-index__desc{color:var(--paper-mid);max-width:30em;}
.home-index__row:hover .home-index__no{transform:translateX(5px);color:var(--paper);}
.home-method__grid{align-items:start;row-gap:44px;}
.home-method__fig{grid-column:1 / span 4;}
.home-method__fig .fig{min-height:clamp(420px,48vw,620px);}
.home-method__body{grid-column:7 / span 6;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,2.8vw,34px);}
.home-method__body .h2{max-width:13em;}
.doct--compact{width:100%;}
.doct--compact .doct__row{grid-template-columns:minmax(104px,160px) 1fr;padding:clamp(22px,2.7vw,34px) 0;}
.doct--compact .doct__s{font-size:1.18rem;line-height:1.5;max-width:30em;}
.home-platform{border-top:1px solid var(--hair-dark);border-bottom:1px solid var(--hair-dark);}
.home-platform__grid{align-items:center;row-gap:44px;}
.home-platform__body{grid-column:1 / span 5;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,2.8vw,32px);}
.home-platform__body .h2{max-width:12em;}
.home-platform__fig{grid-column:7 / span 6;}
.home-platform__fig .fig{min-height:clamp(320px,34vw,460px);}
@media (max-width:900px){
  .home-signal__intro,.home-signal__body,.home-focus__title,.home-focus__copy,.home-method__fig,.home-method__body,.home-platform__body,.home-platform__fig{grid-column:1 / span 12;}
  .home-signal__figure .fig{min-height:0;max-height:none;aspect-ratio:16/9;}
  .home-ledger{grid-template-columns:1fr;}
  .home-ledger__item{min-height:0;border-right:0;border-bottom:1px solid var(--hair);gap:24px;}
  .home-ledger__item:last-child{border-bottom:0;}
  .home-index__row{grid-template-columns:3.2em 1fr;row-gap:10px;}
  .home-index__desc{grid-column:2;}
  .home-method__fig .fig,.home-platform__fig .fig{min-height:0;aspect-ratio:16/10;}
}
@media (max-width:620px){
  .home-index__row{grid-template-columns:1fr;gap:12px;}
  .home-index__desc{grid-column:1;}
  .doct--compact .doct__row{grid-template-columns:1fr;gap:10px;}
}

/* ---------- desktop nav: visible institutional IA, mobile remains overlay ---------- */
@media (min-width:901px){
  .nav-burger{display:none;}
  .nav-links,
  .site-nav.open .nav-links{position:static;inset:auto;background:transparent;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:clamp(20px,2.8vw,38px);transform:none;visibility:visible;transition:none;}
  .nav-links a,
  .site-nav.open .nav-links a{opacity:1;transform:none;transition:color .2s ease;}
  .nav-links a:not(.btn){font-size:10.5px;letter-spacing:.22em;color:rgba(246,247,248,.66);}
  .nav-links a:not(.btn):hover,.nav-links a:not(.btn).active{color:var(--paper);}
  .site-nav.open{background:transparent;}
}

@media (min-width:901px){
  .home-signal{position:relative;z-index:2;padding-top:clamp(104px,10vw,148px);}
  .home-signal__figure,.home-ledger{width:min(100%,1120px);margin-left:auto;}
  .home-method{padding-top:0;background:linear-gradient(180deg,var(--navy) 0,var(--navy) clamp(46px,5vw,78px),var(--paper) clamp(46px,5vw,78px),var(--paper) 100%);}
  .home-method__grid{padding-top:clamp(86px,10vw,138px);}
  .home-method__fig{margin-top:clamp(-178px,-12vw,-132px);}
  .home-platform{padding-top:clamp(104px,11vw,152px);}
}

/* ---------- inner-page enrichment pass ---------- */
.edge-doctrine{margin-top:clamp(48px,6vw,82px);}
.sys__next .lede{margin-bottom:clamp(24px,3vw,36px);max-width:34em;}

/* ---------- visual-depth pass: layered planes, stronger hierarchy ----------
   de-lining (Mason 2026-07-02): decorative hairlines, corner brackets, and
   offset frames removed from this pass; tonal planes kept. */
.page-hero{isolation:isolate;}
.page-hero .display,.page-hero .lede,.page-hero .kicker,.page-hero .btn,.page-hero .textlink{position:relative;z-index:1;}

.band{isolation:isolate;}
.band>.wrap{position:relative;z-index:1;}
.on-paper--alt{background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper-2) 62%,var(--paper) 100%);}
.on-dark{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);}

.home-signal{position:relative;overflow:hidden;}
.home-signal::before{content:"";position:absolute;top:0;left:0;right:0;height:clamp(132px,17vw,236px);background:var(--paper-2);border-bottom:1px solid var(--hair);pointer-events:none;}
.home-signal__grid{position:relative;padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid var(--hair);}
.home-signal__body{padding-top:clamp(8px,1.2vw,18px);}
.home-signal__figure{position:relative;z-index:1;isolation:isolate;margin-top:clamp(34px,4.6vw,62px);}
.home-signal__figure::before{content:"";position:absolute;z-index:-1;left:clamp(-26px,-2vw,-14px);bottom:clamp(-30px,-2.4vw,-16px);width:min(44vw,520px);height:58%;background:var(--paper-2);border:1px solid var(--hair);}
.home-ledger{position:relative;background:rgba(246,247,248,.34);}
.home-ledger__item:nth-child(2){background:rgba(239,241,243,.44);}
.home-ledger h3{font-size:clamp(1.72rem,2.2vw,2.18rem);}

.home-focus{position:relative;overflow:hidden;}
.home-focus::after{content:"";position:absolute;top:clamp(70px,8vw,118px);bottom:clamp(70px,8vw,118px);left:max(0px,calc((100vw - var(--max))/2));width:clamp(56px,8vw,132px);border-right:1px solid var(--hair-dark);border-top:1px solid var(--hair-dark);pointer-events:none;}
.home-index{position:relative;padding-left:clamp(0px,4vw,64px);}
.home-index::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--hair-dark-strong);}
.home-index__row{border-bottom-color:var(--hair-dark-strong);}
.home-index__row:first-child{border-top:1px solid var(--hair-dark);}
.home-index__name{font-size:clamp(1.82rem,2.45vw,2.35rem);}

.home-method{position:relative;overflow:hidden;}
.home-method::after{content:"";position:absolute;right:0;top:clamp(46px,5vw,78px);width:38vw;height:calc(100% - clamp(46px,5vw,78px));background:var(--paper-2);border-left:1px solid var(--hair);pointer-events:none;}
.home-method__fig{position:relative;z-index:2;isolation:isolate;}
.home-method__fig::before{content:"";position:absolute;z-index:-1;left:clamp(22px,2.4vw,38px);right:clamp(-30px,-2.2vw,-14px);top:clamp(24px,3vw,42px);bottom:clamp(-28px,-2vw,-14px);border:1px solid var(--hair-strong);}
.home-method__body{position:relative;z-index:1;padding-left:clamp(0px,2vw,36px);border-left:1px solid var(--hair);}

.home-platform{position:relative;overflow:hidden;}
.home-platform::before{content:"";position:absolute;right:0;top:clamp(68px,7vw,108px);bottom:clamp(58px,6vw,94px);width:44vw;border-top:1px solid var(--hair-dark);border-bottom:1px solid var(--hair-dark);background:rgba(246,247,248,.035);pointer-events:none;}
.home-platform__fig{position:relative;isolation:isolate;}
.home-platform__fig::before{content:"";position:absolute;z-index:-1;left:clamp(-30px,-2.4vw,-16px);right:clamp(24px,3vw,46px);top:clamp(-28px,-2vw,-14px);bottom:clamp(26px,3vw,48px);border:1px solid var(--hair-dark-strong);}

.principles{position:relative;padding-left:clamp(0px,4vw,72px);}
.principles::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--hair-strong);}
.principles .rrow:nth-child(2){padding-left:clamp(0px,2vw,34px);}

.cov{padding-bottom:clamp(38px,5vw,66px);}
.field{position:relative;margin-top:clamp(10px,1.5vw,22px);}
.idx{position:relative;padding:clamp(22px,3vw,38px) clamp(0px,3vw,48px);}
.idx__entry:nth-child(even){background:linear-gradient(90deg,rgba(246,247,248,0),rgba(246,247,248,.44) 18%,rgba(246,247,248,0) 100%);}

.rail{position:relative;}
.rail__step:nth-child(even)::after{content:"";position:absolute;left:clamp(36px,4.5vw,62px);right:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(81,85,94,.055),rgba(81,85,94,0));pointer-events:none;}

.bridge{position:relative;overflow:hidden;}
.bridge__line{font-size:clamp(1.58rem,3.1vw,2.72rem);}
.bridge__list{max-width:980px;}

.sys{position:relative;overflow:hidden;}
.sys::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(92px,10vw,150px);border-bottom:1px solid var(--hair-dark);background:rgba(246,247,248,.03);pointer-events:none;}
.sys__fig{position:relative;padding:clamp(20px,2.5vw,34px);border:1px solid var(--hair-dark);}
.sys__next{position:relative;margin-left:auto;max-width:720px;}

.ctc{position:relative;}
.ctc__aside{padding-top:clamp(10px,1.8vw,24px);}

@media (max-width:900px){
  .home-focus::after,.home-method::after,.home-platform::before{display:none;}
  .home-index,.home-method__body,.principles,.idx{padding-left:0;padding-right:0;}
  .home-method__body{border-left:0;}
  .home-index::before,.principles::before{display:none;}
  .home-signal__figure::before,.home-method__fig::before,.home-platform__fig::before{inset:clamp(18px,4vw,28px) clamp(-14px,-2vw,-8px) clamp(-16px,-2vw,-8px) clamp(18px,4vw,28px);}
}
@media (max-width:620px){
  .rail__step:nth-child(even)::after{left:30px;}
}

/* ---------- capital ledger type pass: stronger hierarchy, still restrained ---------- */
:root{
  --body-soft:#30343A;
  --paper-dim:rgba(246,247,248,.70);
  --paper-mid:rgba(246,247,248,.86);
  --hair:rgba(81,85,94,.42);
  --hair-strong:rgba(81,85,94,.66);
  --hair-dark:rgba(246,247,248,.20);
  --hair-dark-strong:rgba(246,247,248,.36);
  --fs-display:clamp(2.3rem,6.4vw,5.45rem);
  --fs-h2:clamp(1.82rem,3.8vw,3.34rem);
  --fs-statement:clamp(1.38rem,2.7vw,2.32rem);
  --fs-memo:clamp(1.24rem,2.12vw,1.84rem);
  --fs-lede:clamp(1.08rem,1.48vw,1.3rem);
  --fs-kicker:12px;
}

body{font-size:17.5px;line-height:1.62;color:var(--ink);}
.display{line-height:.99;letter-spacing:-.024em;}
.h2{line-height:1.045;letter-spacing:-.018em;}
.serif-h3{font-weight:400;}
.lede{font-weight:400;line-height:1.58;color:var(--body-soft);}
.about-body>p{font-size:1.035rem;line-height:1.68;color:var(--body-soft);}
.about-body>.lede{font-size:var(--fs-lede);line-height:1.58;}
.about-body .closer{font-weight:400;color:#3D4148;}
.on-dark .about-body .closer{color:var(--paper-mid);}

.kicker,
.btn,
.textlink,
.fig-cap,
.idx__head,
.idx__folio,
.field__lbl,
.doct__k,
.sys__specs dt,
.ctc__specs dt,
.form-grid label,
.site-footer .col h4{
  font-weight:500;
}

.kicker{letter-spacing:.22em;color:#42464E;}
.on-dark .kicker,.hero .kicker,.page-hero .kicker{color:rgba(246,247,248,.76);}
.btn,.textlink,.hero__contact{font-weight:500;letter-spacing:.21em;}
.nav-links a:not(.btn){font-weight:500;}
@media (min-width:901px){
  .nav-links a:not(.btn){font-weight:500;color:rgba(246,247,248,.74);}
}
.brand .wm{font-weight:400;}

.page-hero .display{max-width:14.5em;}
.page-hero .lede{max-width:38em;color:rgba(246,247,248,.88);}
.s-head{padding-top:30px;border-top-color:var(--hair-strong);}
.s-head .s-no{font-family:var(--sans);font-weight:500;font-size:.9rem;letter-spacing:.18em;color:#42464E;}
.on-dark .s-head .s-no{color:rgba(246,247,248,.72);}

.num,
.rrow .num,
.home-ledger__no,
.home-index__no,
.idx__no,
.rail__ghost,
.principles .rrow__ro{
  font-family:var(--serif);
  font-weight:400;
  font-feature-settings:"lnum" 1,"tnum" 1;
}

.rrow{grid-template-columns:var(--rc,104px) 1fr;padding:clamp(30px,3.7vw,50px) 0;}
.rrow .num{font-size:clamp(1.72rem,2.7vw,2.45rem);color:#454A52;}
.on-dark .rrow .num{color:rgba(246,247,248,.74);}
.rrow__name{font-weight:400;font-size:clamp(1.45rem,2.1vw,1.92rem);letter-spacing:-.012em;}
.rrow__copy{font-weight:400;font-size:1.04rem;line-height:1.58;color:var(--body-soft);}
.on-dark .rrow__copy{color:var(--paper-mid);}

.fig-cap{font-size:11px;letter-spacing:.21em;color:#444951;}
.on-dark .fig-cap{color:rgba(246,247,248,.70);}
.memo__body p{font-weight:400;letter-spacing:-.012em;}
.memo__body p.kicker{font-weight:500;letter-spacing:.22em;}
.memo__foot .kv .k{font-weight:500;color:rgba(246,247,248,.70);}
.memo__foot .kv .v{font-weight:400;}

.principles .rrow{--rc:132px;padding:clamp(25px,3.1vw,40px) 0;}
.principles .rrow__ro{font-size:clamp(2rem,3.4vw,3.15rem);color:#464B53;}
.principles .rrow__name{font-weight:400;font-size:clamp(1.72rem,3.25vw,2.9rem);letter-spacing:-.018em;}

.home-ledger{background:rgba(246,247,248,.48);}
.home-ledger__item{min-height:clamp(198px,18vw,252px);}
.home-ledger__no{font-size:clamp(1.85rem,2.8vw,2.55rem);letter-spacing:-.012em;color:#42474F;}
.home-ledger h3{font-weight:400;font-size:clamp(1.92rem,2.55vw,2.52rem);letter-spacing:-.018em;}
.home-ledger p{font-weight:400;font-size:1.02rem;line-height:1.55;color:var(--body-soft);}

.home-focus__copy{font-weight:400;line-height:1.58;color:var(--paper-mid);}
.home-index{padding-left:clamp(0px,4.7vw,76px);}
.home-index__row{grid-template-columns:4.8em minmax(14em,.82fr) minmax(0,1fr);padding:clamp(28px,3.35vw,44px) 0;}
.home-index__no{font-size:clamp(1.75rem,2.7vw,2.48rem);color:rgba(246,247,248,.72);}
.home-index__name{font-weight:400;font-size:clamp(2rem,2.8vw,2.62rem);letter-spacing:-.018em;}
.home-index__desc{font-weight:400;font-size:1.03rem;line-height:1.55;color:var(--paper-mid);}

.doct__row{grid-template-columns:minmax(124px,190px) 1fr;}
.doct__k{font-size:11px;letter-spacing:.23em;color:#434850;}
.doct__s{font-weight:400;letter-spacing:-.018em;}
.doct__s .em{color:#353941;}
.doct--compact .doct__s{font-size:1.26rem;line-height:1.48;}

.idx{background:rgba(246,247,248,.34);}
.idx__head,
.idx__folio{font-size:11px;letter-spacing:.22em;color:#3E434B;opacity:1;}
.idx__entry{grid-template-columns:4.1em max-content minmax(54px,1fr) minmax(16em,25em);padding:clamp(30px,3.6vw,46px) 0;}
.idx__no{font-size:clamp(1.34rem,2vw,1.86rem);color:#454A52;}
.idx__name{font-weight:400;font-size:clamp(1.72rem,3vw,2.76rem);letter-spacing:-.02em;}
.idx__leader{border-bottom-color:rgba(15,16,18,.42);}
.idx__desc{font-family:var(--sans);font-style:normal;font-weight:400;font-size:1rem;line-height:1.52;color:#42474F;}

.field__set{font-weight:400;font-size:clamp(1.52rem,2.9vw,2.52rem);line-height:1.62;letter-spacing:-.018em;}
.field__s--dim{color:#444951;}

.rail{max-width:1040px;}
.rail__step{grid-template-columns:minmax(102px,168px) 1fr;padding:clamp(34px,4.5vw,60px) 0 clamp(34px,4.5vw,60px) clamp(36px,4.5vw,62px);}
.rail__ghost{font-size:clamp(4rem,7.4vw,6.8rem);color:rgba(81,85,94,.22);letter-spacing:-.035em;}
.rail__name{font-weight:400;font-size:clamp(1.62rem,2.65vw,2.38rem);letter-spacing:-.018em;}
.rail__copy{font-weight:400;font-size:1.05rem;line-height:1.58;color:#393E45;}

.sys__body{font-weight:400;font-size:1.04rem;line-height:1.62;color:var(--paper-mid);}
.sys__net .pulse{display:none;}
.sys__net .orbit{stroke:rgba(246,247,248,.16);}
.sys__net .edge{stroke:rgba(246,247,248,.20);}
.sys__net .edge--k{stroke:rgba(246,247,248,.34);}
.sys__net .node{stroke:rgba(246,247,248,.58);}
.sys__net .slot{stroke:rgba(246,247,248,.20);}
.sys__net .halo{opacity:.48;}
.sys__specs .spec,
.ctc__specs .spec{padding:16px 0;}
.sys__specs dt,
.ctc__specs dt{font-size:11px;letter-spacing:.22em;}
.sys__specs dd,
.ctc__specs dd{font-weight:400;font-size:1rem;line-height:1.58;}
.ctc__note{font-weight:400;color:#434850;}
.form-grid input,.form-grid select,.form-grid textarea{font-weight:400;font-size:1.08rem;color:var(--ink);}

@media (max-width:820px){
  .idx__entry{grid-template-columns:3.1em 1fr;}
}
@media (max-width:620px){
  body{font-size:17px;}
  .display{font-size:clamp(2.62rem,10.8vw,3.55rem);}
  .home-index__row{grid-template-columns:1fr;}
  .home-index__no{font-size:1.45rem;}
  .home-ledger__item{min-height:0;}
  .rail__step{grid-template-columns:68px 1fr;}
  .rail__ghost{font-size:3.05rem;}
}
