@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2")}@font-face{font-family:"Sora";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/sora-latin-500-normal.woff2) format("woff2")}@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sora-latin-600-normal.woff2) format("woff2")}
/* Breakpoints are in em, not px, on purpose: a reader who raises their browser text size
   (common in this audience) must get the simpler layout rather than a broken one.
   1em = 16px at default settings, so these are the same numbers a px sheet would use. */
/* =====================================================================
   Prevail Finance · homepage presentation system v1 (review sample)
   One canvas, three depths. Tokens are the client's; everything else is new.
   ===================================================================== */
:root{
  --stone:#F4F3EF; --paper:#FBFAF7; --navy:#0F2544; --ink:#1A1D23; --graphite:#2B2F36;
  --copper:#B6733F; --copper-t:#9B6236; --sage:#8FAE92; --sage-deep:#5F8266; --tan:#D6A87A;
  --mute:#5C626C; --hair:rgba(15,37,68,.10); --hair-2:rgba(15,37,68,.18);
  --on-navy:rgba(255,255,255,.88); --on-navy-2:rgba(255,255,255,.66); --hair-navy:rgba(255,255,255,.14);
  --f-d:'Sora',ui-sans-serif,system-ui,sans-serif; --f-b:'Inter',ui-sans-serif,system-ui,sans-serif;
  --r-s:10px; --r-m:18px; --r-l:26px;
  --ez:cubic-bezier(.2,.7,.2,1);
  --wrap:1120px; --gut:clamp(20px,5vw,48px);
  --measure:64ch;
  --nav-h:64px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}
p,li,summary{text-wrap:pretty}
::selection{background:rgba(182,115,63,.22)}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--f-b);font-size:1.0625rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga","calt"}
img,svg,picture{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.15em;max-width:var(--measure)}
p:last-child{margin-bottom:0}
strong,b{font-weight:600;color:var(--navy)}
em{font-style:italic}
ul,ol{margin:0;padding:0}
li{list-style:none}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--f-d);color:var(--navy);text-wrap:balance}
h4{font-weight:600;font-size:1.05rem;line-height:1.35}
h5,h6{font-weight:600;font-size:.95rem;line-height:1.4}
h1{font-weight:600;font-size:clamp(2.35rem,4.8vw,3.6rem);line-height:1.04;letter-spacing:-.022em}
h2{font-weight:600;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.1;letter-spacing:-.02em}
h3{font-weight:600;font-size:1.1875rem;line-height:1.3;letter-spacing:-.008em}
.hl{font-style:normal;color:var(--copper)}
.small{font-size:.875rem;line-height:1.6}
.muted{color:var(--mute)}
.gloss{font-size:.875em;font-weight:400;color:var(--mute)}
.num,.stat-n,.chair-n,.step-n{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

/* ---------- kicker · headline · brief ---------- */
.eb{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;color:var(--copper-t);max-width:none}
.eb::before{content:"";width:22px;height:1px;background:var(--copper);flex:none}
.h2-lead{max-width:24ch}
.lede{font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.55;color:var(--graphite);max-width:56ch;margin-top:22px}
.s-brief{font-size:clamp(1.0625rem,1.4vw,1.2rem);line-height:1.55;color:var(--navy);max-width:58ch;margin:20px 0 0;
  padding-left:18px;border-left:2px solid var(--copper)}
.s-brief.is-quote{font-style:italic;color:var(--graphite)}

/* ---------- reading progress + spine ---------- */
.rprog{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--copper);z-index:60;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.spine{position:fixed;left:18px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:9px;z-index:40;
  opacity:0;pointer-events:none;transition:opacity .4s var(--ez)}
.spine.show{opacity:1;pointer-events:auto}
.spine.at-end{opacity:0;pointer-events:none}
.spine a{position:relative;width:18px;height:18px;display:grid;place-items:center}
.spine a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--hair-2);box-shadow:0 0 0 1.5px rgba(255,255,255,.6);transition:transform .3s var(--ez),background .3s}
.spine a.on::before{background:var(--copper);transform:scale(1.5)}
.spine a span{position:absolute;left:26px;top:50%;transform:translateY(-50%) translateX(-4px);white-space:nowrap;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);background:var(--paper);
  border:1px solid var(--hair);padding:5px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.spine a:hover span,.spine a:focus-visible span{opacity:1;transform:translateY(-50%) translateX(0)}
.spine-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.spine a.spine-cta{margin-top:6px}
.spine a.spine-cta::before{width:7px;height:7px;background:var(--copper);box-shadow:0 0 0 1.5px rgba(255,255,255,.6),0 0 0 3px rgba(182,115,63,.22)}
.spine a.spine-cta span{color:var(--copper-t);border-color:rgba(182,115,63,.35)}
@media(min-width:80em){.spine{display:flex}}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:50;background:rgba(244,243,239,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateZ(0);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.top.scrolled{border-bottom-color:var(--hair);box-shadow:0 8px 30px -22px rgba(15,37,68,.25)}
.top-in{max-width:min(96%,1320px);margin:0 auto;height:var(--nav-h);display:flex;align-items:center;gap:16px}
.logo{flex:0 0 auto;display:flex;align-items:center}
.logo img{height:34px;width:auto;max-width:none}
.menu{display:none;align-items:center;gap:16px;margin-left:4px}
.menu a{font-size:.875rem;white-space:nowrap;color:var(--graphite);padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.menu a:hover{color:var(--navy);border-bottom-color:var(--copper)}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.call{display:none;font-size:.875rem;color:var(--graphite);font-variant-numeric:tabular-nums;white-space:nowrap}
.wa-link{display:none;align-items:center;gap:7px;font-size:.875rem;color:var(--graphite);padding:6px 8px;border-radius:999px;transition:color .2s,background .2s;white-space:nowrap}
.wa-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}  /* the label stays for screen readers */
.wa-link svg{width:18px;height:18px;color:#1D8F52}
.wa-link:hover{color:var(--navy);background:rgba(29,143,82,.08)}
.call:hover{color:var(--navy)}
.top-right .nav-cta{display:none}
.burger{width:42px;height:42px;border:1px solid var(--hair-2);background:transparent;border-radius:999px;display:grid;place-items:center;color:var(--navy);cursor:pointer}
@media(min-width:76.25em){
  .menu{display:flex}.wa-link{display:inline-flex}.burger{display:none}
  .top-right .nav-cta{display:inline-flex;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .35s var(--ez),transform .35s var(--ez)}
  .top.past-hero .nav-cta{opacity:1;transform:none;pointer-events:auto}
}
@media(min-width:90em){.call{display:block}}


/* the depth control */
.depth{display:inline-flex;align-items:center;border:1px solid var(--hair-2);border-radius:999px;padding:3px;background:rgba(251,250,247,.7);gap:2px}
.depth button{appearance:none;border:0;background:transparent;font:inherit;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:500;color:var(--mute);padding:7px 11px;border-radius:999px;cursor:pointer;transition:color .2s,background .25s var(--ez)}
.depth button[aria-pressed="true"]{background:var(--navy);color:#fff}
.depth button:hover:not([aria-pressed="true"]){color:var(--navy)}
.depth-hint{position:absolute;left:-9999px}
@media(max-width:25em){.depth button{padding:7px 8px;letter-spacing:.08em;font-size:.68rem}}

/* mobile drawer */
.drawer{display:none;position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(244,243,239,.98);z-index:49;padding:18px var(--gut) 40px;overflow:auto}
.drawer.open{display:block}
.drawer a{display:block;padding:14px 0;border-bottom:1px solid var(--hair);font-family:var(--f-d);font-weight:500;font-size:1.05rem;color:var(--navy)}
.drawer .drawer-sub{padding:10px 0 0 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t);border:0;font-family:var(--f-b);font-weight:500}

/* mobile action bar (thumb zone) */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:10px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));
  background:rgba(244,243,239,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--hair);transform:translateZ(0)}
.mbar .btn{flex:1;justify-content:center;min-width:0}
.ib{flex:none;width:48px;height:48px;border-radius:999px;border:1px solid var(--hair-2);background:var(--paper);color:var(--navy);
  display:grid;place-items:center;transition:border-color .2s,background .2s,transform .25s var(--ez)}
.ib:active{transform:scale(.96)}
.ib-wa{color:#1D8F52;border-color:rgba(29,143,82,.35)}
.ib-wa:hover{background:rgba(29,143,82,.08)}
@media(min-width:76.25em){.mbar{display:none}}
body.has-mbar{padding-bottom:84px}
@media(min-width:76.25em){body.has-mbar{padding-bottom:0}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-d);font-weight:500;font-size:.9375rem;
  padding:15px 24px;border-radius:999px;line-height:1;border:1px solid transparent;position:relative;overflow:hidden;
  transition:transform .25s var(--ez),box-shadow .3s,background .3s,border-color .3s;white-space:normal;text-align:center;max-width:100%;cursor:pointer}
.btn-p,.btn-w{background:var(--sage);color:var(--navy);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 24px -14px rgba(95,130,102,.7)}
.btn-p::after,.btn-w::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .7s var(--ez)}
.btn-p:hover::after,.btn-w:hover::after{transform:translateX(120%)}
.btn-p:hover,.btn-w:hover{box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 16px 30px -14px rgba(95,130,102,.85)}
.btn:active{transform:scale(.985)}
.btn-o{background:transparent;color:var(--navy);border-color:var(--hair-2)}
.btn-o:hover{border-color:var(--navy)}
.btn-link{font-family:var(--f-b);font-weight:500;font-size:.95rem;color:var(--navy);border-bottom:1px solid var(--hair-2);padding:2px 0;transition:border-color .2s}
.btn-link:hover{border-bottom-color:var(--copper)}
.cta-block{margin-top:2rem}
.cta-note{font-size:.875rem;line-height:1.55;margin-top:14px;color:var(--mute);max-width:44ch}
.more{display:inline-block;margin-top:12px;font-size:.875rem;font-weight:500;color:var(--copper-t)}

/* ---------- section shell ---------- */
main{display:block}
section{position:relative;padding:clamp(64px,9vw,120px) 0}
/* each section carries its measured height (--cis desktop, --cis-m phones, from cis.json) so the scrollbar
   never changes length as sections render; the fallbacks are the site means (804px / 970px, 319 sections) */
section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto var(--cis,800px)}
@media(max-width:47.5em){section:not(.hero){contain-intrinsic-size:auto var(--cis-m,970px)}}
section + section{border-top:1px solid var(--hair)}
section.quiet{padding:clamp(28px,4vw,44px) 0}
section.statement{background:var(--navy);color:var(--on-navy);border-top:0}
section.statement + section{border-top:0}
section.statement h2,section.statement h3,section.statement strong,section.statement b{color:#fff}
section.statement .eb{color:var(--tan)}
section.statement .eb::before{background:var(--tan)}
section.statement p{color:var(--on-navy)}
section.statement .lede,section.statement .s-brief{color:var(--on-navy)}
section.statement .s-brief{border-left-color:var(--tan)}
section.statement .small,section.statement .muted,section.statement .cta-note,section.statement .qualifier{color:var(--on-navy-2)}
section.statement .btn-w{background:var(--sage);color:var(--navy)}
.s-body{margin-top:clamp(28px,4vw,44px)}
.qualifier{font-size:.8125rem;line-height:1.6;color:var(--mute);margin-top:2.2rem;max-width:70ch}

/* depth lanes */
.lane-fast,.lane-deep{display:block}
.lane-deep{margin-top:clamp(28px,4vw,44px)}
html.js[data-depth="skim"] .lane-fast,html.js[data-depth="skim"] .lane-deep,html.js[data-depth="read"] .lane-deep{display:none}
html.js section[data-open] .lane-fast,html.js section[data-open] .lane-deep{display:block!important}
.s-more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-size:.875rem;font-weight:500;color:var(--copper-t);
  background:transparent;border:0;padding:0;cursor:pointer;font-family:inherit}
.s-more .l-read,html.js[data-depth="skim"] .s-more .l-skim{display:inline}
.s-more .l-skim,html.js[data-depth="skim"] .s-more .l-read{display:none}
.s-more::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
html.js[data-depth="study"] .s-more,html.js section[data-open] .s-more{display:none}
html.js[data-depth="read"] .s-more.only-skim{display:none}
.s-next{margin-top:clamp(40px,6vw,64px);display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
  background:none;border:0;padding:0;font-family:inherit;font-weight:500;cursor:pointer;transition:color .2s}
.s-next:hover{color:var(--navy)}
.s-next::before{content:"↓";font-size:.9rem;color:var(--copper)}
html.js[data-depth="study"] .s-next,html.js[data-depth="skim"] .s-next{display:none}
html.js[data-depth="skim"] section:not(.hero):not(.quiet):not(.statement){padding:clamp(36px,5vw,56px) 0}
html.js[data-depth="skim"] .s-brief{margin-top:16px}
html.js[data-depth="skim"] .s-more{margin-top:18px}
section.statement .s-next{color:var(--on-navy-2)}
section.statement .s-next:hover{color:#fff}
section.statement .s-more{color:var(--tan)}

/* ---------- hero ---------- */
.hero{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(48px,7vw,96px)}
.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
.hero-copy .lede{max-width:54ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:2rem}
.hero-side{display:grid;gap:22px}
.hero-pic{position:relative;max-width:min(26.25em,100%)}
.hero-pic img{width:100%;height:auto;clip-path:url(#sqcl);-webkit-clip-path:url(#sqcl)}
.hero-pic::after{content:"";position:absolute;right:2%;bottom:-4%;width:52%;height:40%;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(182,115,63,.16),transparent 72%)}
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid var(--hair);max-width:min(26.25em,100%)}
.ledger li{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--hair);font-size:.9rem;line-height:1.45;color:var(--graphite)}
.ledger svg{flex:none;margin-top:4px;width:14px;height:14px;color:var(--sage-deep)}
.hp2-inst{margin-top:10px;font-size:.8125rem;color:var(--mute)}
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--hair);font-size:.9rem;color:var(--graphite)}
.trust-g{display:inline-flex;align-items:center;gap:8px}
.stars{color:var(--copper);letter-spacing:.06em;font-size:.85rem}
.memb{display:flex;gap:22px;align-items:center;margin-top:16px}
.memb img{height:30px;width:auto;opacity:.9}
@media(min-width:56.25em){
  .hero-grid{grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,88px);align-items:center}
  .hero-side{justify-self:end;width:100%;max-width:27.5em}
}

/* ---------- proof strip ---------- */
.proof{display:grid;gap:34px;margin-top:0}
.proof .eb{margin-bottom:12px}
.hp-list li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--hair);line-height:1.55;max-width:56ch}
.hp-list li::before{content:"";position:absolute;left:0;top:21px;width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,var(--sage) 0 45%,transparent 46%)}
.hp-list li:last-child{border-bottom:0}
.proof .small{margin-top:12px}
.proof .cta-block{margin-top:14px}
@media(min-width:47.5em){.proof{grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px)}}

/* start-here router */
.qlinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:34px;padding-top:22px;border-top:1px solid var(--hair)}
.qlinks-l{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-t);font-weight:500;margin-right:6px}
.qlinks a{font-size:.9rem;padding:8px 14px;border:1px solid var(--hair-2);border-radius:999px;color:var(--navy);background:var(--paper);transition:border-color .2s,transform .2s var(--ez)}
.qlinks a:hover{border-color:var(--copper);transform:translateY(-1px)}
.qlinks a.qlinks-all{border-color:transparent;background:transparent;color:var(--copper-t);font-weight:500}

/* ---------- the instrument (eight levers) ---------- */
.instrument{margin-top:clamp(40px,6vw,64px);padding:clamp(22px,3vw,34px) clamp(18px,3vw,32px);border:1px solid var(--hair);border-radius:var(--r-l);background:var(--paper)}
.rail-lab{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-t);font-weight:500;margin:0 0 16px;max-width:none}
.levers{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.lever{appearance:none;font:inherit;text-align:left;cursor:pointer;min-width:0;overflow-wrap:break-word;border:1px solid var(--hair);background:var(--stone);color:var(--navy);
  border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;line-height:1.3;
  transition:border-color .3s,background .4s,transform .3s var(--ez)}
.lever::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--hair-2);flex:none;transition:background .4s,box-shadow .4s}
.lever.on::before{background:var(--sage-deep);box-shadow:0 0 0 4px rgba(143,174,146,.25)}
.lever.on{border-color:rgba(143,174,146,.7)}
.lever.rate{color:var(--mute);cursor:default}
.lever.rate::before{background:var(--copper);box-shadow:none}
.lever.rate.on{border-color:var(--hair)}
.lever:not(.rate):hover{transform:translateY(-1px);border-color:var(--sage-deep)}
.lever .gloss{display:none}
.rail-note{margin:18px 0 0;font-size:.95rem;color:var(--graphite);max-width:60ch}
.rail-note b{display:block;margin-top:6px;font-family:var(--f-d);font-size:1.05rem}
@media(min-width:40em){.levers{grid-template-columns:repeat(4,1fr)}}
@media(min-width:62.5em){.levers{grid-template-columns:repeat(8,1fr)}.lever{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 12px;font-size:.85rem}}

/* ---------- prose columns (deposit) ---------- */
.g2{display:grid;gap:26px}
@media(min-width:47.5em){.g2{grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px)}}
.g3{display:grid;gap:18px}
@media(min-width:40em){.g3{grid-template-columns:1fr 1fr}}
@media(min-width:60em){.g3{grid-template-columns:repeat(3,1fr);gap:22px}}

/* ---------- four ways (lanes, restyled) ---------- */
.lanes{display:grid;gap:18px;max-width:56.25em}
.lane{border-radius:var(--r-l);padding:22px 22px 20px;border:1px solid var(--hair);background:var(--paper)}
.lane.rebuilt{background:rgba(143,174,146,.14);border-color:rgba(143,174,146,.55)}
.lane-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px}
.lane-tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--copper-t);flex-basis:100%}
.lane-node{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:#fff;background:var(--graphite);padding:8px 14px;border-radius:12px}
.lane.rebuilt .lane-node{background:var(--sage);color:var(--navy)}
.lane-out{font-size:.9rem;font-weight:500;color:var(--graphite)}
.lane.rebuilt .lane-out{color:var(--copper-t)}
.doors{display:flex;flex-wrap:wrap;gap:8px}
.door{font-size:.875rem;color:var(--graphite);background:var(--stone);border:1px solid var(--hair-2);border-radius:999px;padding:8px 13px}
.inputs{display:grid;gap:10px}
.inp{background:var(--paper);border-radius:14px;padding:12px 14px 13px;border:1px solid rgba(143,174,146,.4)}
.inp b{display:block;font-family:var(--f-d);font-weight:600;font-size:.9375rem;margin-bottom:3px}
.inp span{display:block;font-size:.875rem;line-height:1.5;color:var(--graphite)}
@media(min-width:40em){.lane-tag{flex-basis:auto;margin-right:4px}.inputs{grid-template-columns:1fr 1fr}}
@media(min-width:60em){.inputs{grid-template-columns:repeat(3,1fr)}}
.alts{display:grid;gap:22px;margin-top:0}
@media(min-width:47.5em){.alts{grid-template-columns:1fr 1fr;gap:26px 48px}}
.alt h3{font-size:1.05rem;margin-bottom:6px}
.alt p{color:var(--graphite);font-size:1rem}
.alt-close{margin-top:34px;font-family:var(--f-d);font-weight:600;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.3;color:var(--navy);max-width:24ch}
.alt-close em{font-style:normal;color:var(--copper)}

/* ---------- a real answer (checks) ---------- */
.checks{display:grid;gap:0}
.check{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--hair)}
.check:first-child{padding-top:0}
.check-b{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--sage);display:grid;place-items:center;margin-top:2px;position:relative}
.check-b::after{content:"";width:9px;height:5px;border-left:1.5px solid var(--sage);border-bottom:1.5px solid var(--sage);transform:rotate(-45deg) translate(1px,-1px)}
.check h3{font-size:1.05rem;margin-bottom:4px}
.check p{font-size:1rem;max-width:52ch}
.check-close{margin-top:30px;font-family:var(--f-d);font-weight:600;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.3;max-width:30ch;color:var(--navy)}
section.statement .check-close{color:#fff}
@media(min-width:47.5em){.checks{grid-template-columns:1fr 1fr;gap:0 48px}.check:nth-child(2){padding-top:0}}

/* ---------- structuring firm (guar) ---------- */
.guar{max-width:66ch}
.guar h3{font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.3;margin:8px 0 18px;padding:18px 0;border-top:1px solid var(--hair-navy);border-bottom:1px solid var(--hair-navy)}

/* ---------- levers accordion ---------- */
.lv{border-top:1px solid var(--hair)}
.lv:last-of-type{border-bottom:1px solid var(--hair)}
.lv summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}
.lv summary::-webkit-details-marker{display:none}
.lv summary h3{font-size:1.125rem}
.lv-x{width:12px;height:12px;position:relative;flex:none}
.lv-x::before,.lv-x::after{content:"";position:absolute;background:var(--copper);left:0;top:5.5px;width:12px;height:1.5px;transition:transform .3s var(--ez)}
.lv-x::after{transform:rotate(90deg)}
.lv[open] .lv-x::after{transform:rotate(0)}
.lv > div{padding:0 0 22px;max-width:66ch}
.lv > div > p{color:var(--graphite)}
.lv a{font-weight:500;color:var(--copper-t)}

/* quotes: typographic, not boxed */
.q{margin:18px 0 0;padding-left:26px;position:relative;max-width:60ch}
.q::before{content:"\201C";position:absolute;left:-2px;top:-14px;font-family:var(--f-d);font-size:2.6rem;line-height:1;color:var(--copper);opacity:.85}
.q p{font-style:italic;color:var(--graphite);font-size:1rem}
.q cite,.qcard cite{display:block;margin-top:8px;font-style:normal;font-size:.8125rem;font-weight:600;color:var(--navy)}
.q cite span,.qcard cite span{font-weight:400;color:var(--mute)}
.qcard{margin:0;padding:22px 22px 20px;border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper);height:100%}
.qcard p{font-style:italic;color:var(--graphite);font-size:.9875rem;line-height:1.6}
.qcard cite{margin-top:14px;padding-top:12px;border-top:1px solid var(--hair)}
.qcard cite span{display:block;margin-top:2px}
section.statement .q p,section.statement .qcard p{color:var(--on-navy)}
section.statement .q cite,section.statement .qcard cite{color:#fff}
section.statement .q cite span{color:var(--on-navy-2)}

/* diagram */
.diagram{margin-top:clamp(28px,4vw,44px);max-width:42.5em}
.diagram svg{width:100%;height:auto}
.diagram-cap{font-size:.875rem;color:var(--graphite);margin-top:1.4rem;max-width:60ch}
.rule-top{margin-top:clamp(40px,6vw,64px);padding-top:clamp(28px,4vw,40px);border-top:2px solid var(--copper)}
.rule-top .lede{margin-top:18px}
.rule-top .g3{margin-top:30px}

/* ---------- cards (used only where things are pressable or parallel) ---------- */
.card{display:block;padding:22px 22px 20px;border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper);height:100%;
  transition:border-color .3s,transform .35s var(--ez)}
a.card:hover{border-color:rgba(182,115,63,.55);transform:translateY(-2px)}
.card .ic{width:22px;height:22px;color:var(--copper);margin-bottom:14px}
.card h3{font-size:1.05rem;margin-bottom:8px}
.card p{font-size:.95rem;color:var(--graphite)}
.aside-story{margin-top:clamp(28px,4vw,44px);padding-left:24px;border-left:2px solid var(--copper);max-width:66ch}
.aside-story p{color:var(--graphite)}

/* ---------- four chairs ---------- */
.chair{display:grid;gap:14px;padding:26px 0;border-top:1px solid var(--hair-navy)}
.chair:first-child{border-top:0;padding-top:0}
.chair-h{display:flex;align-items:baseline;gap:14px}
.chair-n{font-family:var(--f-d);font-size:.8rem;letter-spacing:.14em;color:var(--tan);font-weight:500}
.chair-h h3{font-size:1.35rem}
.chair-body{display:grid;gap:18px}
.chair-body p{font-size:1rem}
.chair-so{padding:18px 20px;border-radius:var(--r-m);background:rgba(255,255,255,.06);border:1px solid var(--hair-navy)}
.chair-so > b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tan);margin-bottom:8px}
.chair-so a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--tan);font-weight:500}
@media(min-width:56.25em){.chair{grid-template-columns:200px 1fr;gap:30px}.chair-h{flex-direction:column;gap:6px}.chair-body{grid-template-columns:1fr 1fr;gap:30px}
  html:not([data-depth="study"]) section:not([data-open]) .chair-body{grid-template-columns:1fr}}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--hair-navy)}
.stat{padding:20px 14px 18px 0;border-bottom:1px solid var(--hair-navy)}
.stat .ic{width:18px;height:18px;color:var(--tan);margin-bottom:10px}
.stat-n{display:block;font-family:var(--f-d);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05;color:#fff;letter-spacing:-.02em}
.stat-l{font-size:.8125rem;color:var(--on-navy-2);margin-top:6px;line-height:1.4}
@media(min-width:47.5em){.stats{grid-template-columns:repeat(4,1fr)}.stat{padding-right:22px}}

/* ---------- founder ---------- */
.book{display:grid;gap:26px;align-items:start}
.pimg{width:100%;max-width:13.75em;border-radius:var(--r-m)}
.book-cv{font-family:var(--f-d);font-weight:600;font-size:1.05rem;line-height:1.25;color:var(--navy);padding:18px;border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper);max-width:12.5em}
.book-cv i{display:block;font-style:normal;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t);font-family:var(--f-b);font-weight:500;margin-bottom:6px}
.book-cv .book-title{display:block;margin-top:14px;font-size:.75rem;font-weight:500;color:var(--copper-t);font-family:var(--f-b)}
.book h3{font-size:1.25rem}
.book p{color:var(--graphite)}
.book .btn{margin-top:6px}
@media(min-width:56.25em){.book{grid-template-columns:220px 200px 1fr;gap:36px}}

/* ---------- billboard quote ---------- */
.billboard{padding:clamp(56px,8vw,96px) 0}
.billboard blockquote{margin:0;font-family:var(--f-d);font-weight:500;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.3;letter-spacing:-.012em;color:var(--navy);max-width:30ch;position:relative;padding-left:clamp(22px,3vw,34px)}
.billboard blockquote::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:3px;background:var(--copper)}
.billboard cite{display:block;margin-top:22px;font-style:normal;font-size:.9rem;font-weight:600;color:var(--navy);padding-left:clamp(22px,3vw,34px)}
.billboard cite span{display:block;font-weight:400;color:var(--mute);margin-top:4px}
.billboard cite a{color:var(--copper-t);text-decoration:underline;text-underline-offset:3px}

/* ---------- six steps ---------- */
.flow{position:relative;display:grid;gap:0;margin-top:0;max-width:47.5em}
.flow-svg{display:none}
.step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--hair);position:relative}
.step:first-of-type{padding-top:0}
.step-n{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair-2);display:grid;place-items:center;font-family:var(--f-d);font-weight:600;font-size:.9rem;color:var(--navy);background:var(--paper)}
.step:nth-of-type(4) .step-n{background:var(--sage);border-color:var(--sage);color:var(--navy)}
.step h3{font-size:1.05rem;margin-bottom:6px}
.step p{font-size:1rem;color:var(--graphite);max-width:60ch}
.step-alt{margin-top:22px;padding:18px 20px;border-radius:var(--r-m);background:var(--paper);border:1px solid var(--hair);max-width:60ch}
.step-alt p{font-size:.95rem;color:var(--graphite)}

/* ---------- capability ledger ---------- */
.cap{display:grid;gap:8px;padding:20px 0;border-top:1px solid var(--hair)}
.cap:first-child{border-top:0;padding-top:0}
.cap h3{font-size:1.05rem;color:var(--navy)}
.cap-was,.cap-is{margin:0;font-size:.95rem;max-width:none}
.cap-was{color:var(--mute);position:relative;padding-left:18px}
.cap-was::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:var(--hair-2)}
.cap-is{color:var(--navy);font-weight:500;position:relative;padding-left:18px}
.cap-is::before{content:"→";position:absolute;left:0;top:0;color:var(--sage-deep);font-weight:400}
.cap-is span{display:block;font-weight:400;font-size:.85rem;color:var(--mute);margin-top:3px}
.cap-is .gloss{display:inline;color:var(--mute);font-size:.9em}
@media(min-width:56.25em){.cap{grid-template-columns:220px 1fr 1fr;gap:24px;align-items:start}.cap h3{padding-top:2px}}
.beyond{margin-top:clamp(36px,5vw,56px);max-width:66ch}
.beyond h3{margin-bottom:10px}

/* ---------- engagements ---------- */
@media(max-width:39.9375em){
  .g3 > a.card{border:0;border-top:1px solid var(--hair);border-radius:0;background:transparent;padding:16px 0 14px;display:grid;grid-template-columns:22px 1fr;column-gap:12px}
  .g3 > a.card .ic{margin:3px 0 0}
  .g3 > a.card h3{grid-column:2;margin-bottom:4px}
  .g3 > a.card p{grid-column:2;font-size:.9rem}
  .g3 > a.card .more{grid-column:2;margin-top:8px}
  .g3 > a.card:not(:has(.ic)) h3,.g3 > a.card:not(:has(.ic)) p,.g3 > a.card:not(:has(.ic)) .more{grid-column:1 / -1}
  .g3:has(> a.card){gap:0}
}
.eng-h{margin:clamp(30px,4vw,44px) 0 16px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-t);font-family:var(--f-b);font-weight:500}

/* ---------- FAQ ---------- */
.faq{max-width:47.5em}
.faq details{border-top:1px solid var(--hair)}
.faq details:last-child{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;font-family:var(--f-d);font-weight:500;font-size:1.05rem;color:var(--navy);position:relative;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:26px;width:8px;height:8px;border-right:1.5px solid var(--copper);border-bottom:1.5px solid var(--copper);transform:rotate(45deg);transition:transform .3s var(--ez)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .a{padding:0 0 22px;max-width:64ch}
.faq .a p{color:var(--graphite)}
.faq .a a{color:var(--copper-t);font-weight:500}

/* ---------- assurances ---------- */
.assure{display:grid;gap:16px}
.assure-i{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--hair)}
.assure-i .ic{width:20px;height:20px;color:var(--sage-deep);flex:none;margin-top:3px}
.assure-i p{font-size:1rem;color:var(--graphite)}
@media(min-width:47.5em){.assure{grid-template-columns:1fr 1fr;gap:0 40px}}

/* ---------- seals ---------- */
.seals{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px}
.seal-img{height:30px;width:auto;opacity:.9}
.seal{display:inline-flex;align-items:center;gap:12px;font-size:.85rem;color:var(--graphite)}
.seal-c img{width:34px;height:34px}
.seal b{display:block;color:var(--navy)}
.seal i{font-style:normal;color:var(--mute);font-size:.8rem}
.accred{margin-top:12px;font-size:.78rem;color:var(--mute)}

/* ---------- footer ---------- */
.foot .wrap{max-width:min(96%,1320px)}
.foot{background:var(--graphite);color:rgba(255,255,255,.78);padding:clamp(48px,7vw,80px) 0 40px;font-size:.9rem}
.foot a{color:rgba(255,255,255,.78)}
.foot a:hover{color:#fff}
.foot-grid{display:grid;gap:34px}
.foot-col h4{margin:0 0 14px;font-family:var(--f-b);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500}
.foot-col a{display:block;padding:5px 0}
.foot-brand a{display:inline;padding:0}
.foot-brand img{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.9;margin-bottom:16px}
.foot-brand p{max-width:34ch;color:rgba(255,255,255,.7)}
.foot-legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.55);max-width:none}
@media(min-width:47.5em){.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}

/* ---------- motion: quiet arrival ----------
   A block below the fold is held 10px low and invisible, and arrives once as it enters view:
   opacity .42s, transform .55s, one ease-out curve, a computed 45ms cascade within a group.
   Nothing in the first viewport animates. Anything already deep in view arrives instantly.
   The pre-state exists only under html.mv, which app.js adds after everything on screen is
   marked, in the same task: no hidden frame, and no JavaScript means nothing is ever hidden.
   Once a block has arrived (.done) every override is dropped, so at rest there is no
   transform, no stacking context and no transition left behind. */
:root{--mv-d:10px;--mv-o:.42s;--mv-t:.55s}
@media(prefers-reduced-motion:no-preference){
  html.mv .rv:not(.done){opacity:0;transform:translate3d(0,var(--mv-d),0)}
  html.mv .rv.in:not(.done){opacity:1;transform:translate3d(0,0,0);
    transition:opacity var(--mv-o) var(--ez) var(--mv-delay,0s),transform var(--mv-t) var(--ez) var(--mv-delay,0s)}
}
@media print{.rv{opacity:1!important;transform:none!important;transition:none!important}}

/* ---------- tax diagram: the same borrowing through three joints ---------- */
.tax{max-width:55em}
.tax-grid{display:grid;gap:18px}
.tax-col{border:1px solid var(--hair);border-radius:var(--r-l);padding:22px 22px 20px;background:var(--paper)}
.tax-built{border-color:rgba(143,174,146,.55);background:rgba(143,174,146,.12)}
.tax-h{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:var(--navy);margin:0 0 16px;max-width:none}
.tax-bars{position:relative;height:34px;display:flex;gap:6px;margin-bottom:22px}
.tax-bar{height:34px;border-radius:9px;flex:1;display:flex;align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.tax-bar.mixed{flex:1;background:repeating-linear-gradient(90deg,#C9CDD3 0 14px,var(--sage) 14px 22px,#C9CDD3 22px 30px,var(--sage) 30px 52px,#C9CDD3 52px 60px,var(--sage) 60px 68px);
  border:1px solid rgba(15,37,68,.12);position:relative;overflow:hidden}
.tax-bar.mixed::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.35) 6px 8px)}
.tax-bar.grey{background:#DCDFE4;color:var(--graphite);flex:0 0 30%}
.tax-bar.sage{background:var(--sage);color:var(--navy)}
.tax-drips{position:absolute;left:0;right:0;top:100%;height:14px;pointer-events:none}
.tax-drips span{position:absolute;top:4px;width:7px;height:9px;border-radius:50% 50% 55% 55%;background:var(--copper)}
.tax-drips span:nth-child(1){left:22%}.tax-drips span:nth-child(2){left:52%}.tax-drips span:nth-child(3){left:80%}
.tax-rows{margin:0;display:grid;gap:0}
.tax-rows div{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--hair);align-items:baseline}
.tax-rows dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t);font-weight:500}
.tax-rows dd{margin:0;font-size:.95rem;line-height:1.45;color:var(--graphite)}
.tax-result{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--hair);font-family:var(--f-d);font-weight:600;font-size:.98rem;color:var(--navy);max-width:none;position:relative;padding-left:24px}
.tax-result span{display:block;font-family:var(--f-b);font-weight:400;font-size:.8125rem;color:var(--mute);margin-top:3px}
.tax-result::before{content:"";position:absolute;left:0;top:17px;width:12px;height:12px;border-radius:50%}
.tax-result.leak::before{background:var(--copper)}
.tax-result.sealed::before{background:var(--sage-deep);box-shadow:0 0 0 3px rgba(143,174,146,.3)}
.tax-result.sealed::after{content:"";position:absolute;left:3.5px;top:20px;width:5px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.tax-foot{font-size:.78rem;color:var(--mute);margin-top:8px;max-width:60ch}
@media(min-width:47.5em){.tax-grid{grid-template-columns:1fr 1fr;gap:22px}}

/* ---------- footer social row: brand marks, wrapped so they never crush ---------- */
.foot-social{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px}
.foot-social a{display:inline-flex;align-items:center;gap:8px;padding:3px 0}
.sic{width:16px;height:16px;flex:none}

/* ---------- no JavaScript: the reading depths never engage, so nothing is hidden ---------- */
html:not(.js) :is(.depth,.s-more,.s-next,.spine,.rprog){display:none!important}
html:not(.js) .bar-fill{width:var(--nw,60%)}          /* the JS grows these from data-w */
html:not(.js) [data-collapse],html:not(.js) [data-shrink],html:not(.js) [data-g]{transform:none}
html:not(.js) [data-show]{opacity:1}
html:not(.js) [data-dim],html:not(.js) [data-dimtext]{opacity:.14}

/* ---------- very small phones: the burger must never leave the screen ---------- */
@media(max-width:25em){
  .top-in{gap:10px}
  .logo img{height:28px}
  .top-right{gap:6px}
  .depth{padding:2px}
  .depth button{font-size:.62rem;letter-spacing:.08em;padding:6px 8px}
  .burger{width:38px;height:38px}
}

/* ---------- print: a guide taken to an accountant ---------- */
@media print{
  /* screen furniture has no meaning on paper */
  .top,.mbar,.spine,.depth,.drawer,.skip,.rprog,.s-more,.s-next,.burger,.jn,.jn-d,iframe,.ytf,video{display:none!important}
  /* the reading depths are a screen affordance: paper gets the whole argument */
  .lane-fast,.lane-deep,.s-body > *{display:revert!important}
  html,body{background:#fff!important;color:#000!important}
  body{padding:0!important}
  section,section.statement,section.quiet,.hero{background:#fff!important;color:#000!important;padding:12pt 0!important;border:0!important}
  section.statement *,.foot,.foot *{background:transparent!important;color:#000!important}
  a{color:#000!important;text-decoration:underline}
  h1{font-size:20pt}h2{font-size:15pt}h3{font-size:12pt}
  h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}
  .card,.qcard,.callout,.guar,.fit,.tbl-wrap,figure,.dg,blockquote,.nextstep,.loop-row,.cs-grid{break-inside:avoid;page-break-inside:avoid}
  table{break-inside:auto}tr{break-inside:avoid}
  thead{display:table-header-group}
  /* ink-light equivalents for the surfaces that carry meaning */
  .tbl th,.tbl td{border:1px solid #999!important}
  .tbl tr.hi td{background:#eee!important;font-weight:600}
  .bar-fill,.wf-bar,.dep-cash,.cs-layer,.pu-tile{background:#bbb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .dep-row.hi .dep-cash,.wf-row.end .wf-bar,.cs-layer.equity.built{background:#777!important}
  .dep-funded,.wf-track,.dep-track{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sic{filter:grayscale(1)}
  /* the licence line is part of a printed finance document */
  .foot-grid{display:none}
  .foot-legal{display:block;border-top:1px solid #999;font-size:8pt;margin-top:12pt;padding-top:6pt}
  .foot{padding:0!important}
  @page{margin:16mm 14mm}
}

/* ---------- very large text on a narrow screen (browser text zoom at 200%) ----------
   Content must never be cut off. Long headlines break rather than overflow, and the
   shell wraps to a second row instead of pushing the burger off-screen. */
h1,h2,h3,h4,.h1-display{overflow-wrap:break-word}
.top-in{flex-wrap:wrap;row-gap:6px}
.top-right{flex-wrap:wrap;row-gap:6px}
@media(max-width:26em){
  .top-in{justify-content:space-between}
  .top-right{margin-left:auto}
}
.hero-copy,.hero-main,.hero-side,.s-brief,.lede{min-width:0}

}

.h1-display{font-size:clamp(2.35rem,9.5vw,6rem);line-height:1.02}
.s-navy :focus-visible, .s-graphite :focus-visible{box-shadow:0 0 0 2px var(--navy),0 0 0 4px var(--sage)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap-n{max-width:53.75em;margin:0 auto;padding:0 var(--gut)}
.s-tight{padding:calc(var(--sp)*.55) 0}
.s-stone{background:var(--stone)}
.s-white{background:var(--white)}
.s-navy{background:var(--navy);color:#fff}
.s-graphite{background:var(--graphite);color:var(--nav78)}
.prose p{max-width:42em}
.s-navy .muted, .s-navy .lede{color:var(--nav78);opacity:1}
.h2-wide{max-width:28ch}
.s-navy .eb, .s-graphite .eb{color:var(--nav64)}
.s-navy .btn-o, .s-graphite .btn-o{box-shadow:inset 0 0 0 1px var(--line-inv)}
.s-navy .cta-note{color:var(--nav64);opacity:1}
.hero-claim{margin-top:1.5rem;background:var(--white);border-left:2px solid var(--copper);
  padding:1.25rem 1.5rem;max-width:34em;box-shadow:var(--sh1)}
.hero-claim strong{font-family:var(--f-d);font-weight:600;font-size:1.1rem;color:var(--navy)}
.hero-claim .small{color:var(--graphite);margin-top:.5rem}
.crumbs{font-size:.8125rem;color:var(--graphite);margin-bottom:1.4rem}
.crumbs a{text-decoration:none;color:var(--graphite)}
.crumbs a:hover{color:var(--navy)}
.railband{background:var(--navy);color:#fff;padding:clamp(2.6rem,5vw,4rem) 0}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,28px)}
.s-white .card{background:var(--stone);box-shadow:none}
.s-navy .q p{color:var(--nav78)}
.s-navy .q cite{color:#fff}
.s-navy .q cite span{color:var(--nav64)}
.s-white .qcard{background:var(--stone);box-shadow:none}
.flow-svg .ink{stroke:var(--copper);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.s-white .step-n{background:var(--stone);box-shadow:inset 0 0 0 1.5px var(--chip)}
.s-white .step-alt{background:var(--stone);box-shadow:none}
.chart{margin-top:2.4rem}
.chart-t{font-family:var(--f-d);font-weight:600;font-size:clamp(1.2rem,2.6vw,1.5rem);color:var(--navy);max-width:28ch;margin-bottom:1.6rem}
.s-navy .chart-t{color:#fff}
.bars{display:grid;gap:1.1rem}
.bar{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:14px;align-items:center}
.bar-l{font-size:.875rem;color:var(--graphite);line-height:1.35}
.s-navy .bar-l{color:var(--nav78)}
.bar-track{position:relative;height:44px}
.bar-fill{position:absolute;left:0;top:0;height:100%;background:#DDDAD2;border-radius:var(--r-s);
  width:0;transition:width 1s var(--ez)}
.s-navy .bar-fill{background:rgba(255,255,255,.18)}
.bar.hi .bar-fill{background:var(--sage)}
.bar-v{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-family:var(--f-d);
  font-weight:600;font-size:.9375rem;color:var(--navy);white-space:nowrap}
.s-navy .bar-v{color:#fff}
.s-navy .bar.hi .bar-v{color:var(--navy)}
.chart-marker{position:absolute;top:-8px;bottom:-8px;width:2px;background:var(--copper)}
.chart-marker i{position:absolute;top:-1.5rem;left:-4px;font-style:normal;font-size:.75rem;color:var(--copper);white-space:nowrap;font-weight:600}
.chart-note{font-size:.8125rem;color:var(--graphite);margin-top:1.2rem;max-width:70ch;line-height:1.6}
.s-navy .chart-note{color:var(--nav64)}
details.workings{margin-top:1.4rem}
details.workings summary{cursor:pointer;font-size:.875rem;font-weight:600;color:var(--copper);list-style:none;display:inline-flex;align-items:center;gap:8px}
details.workings summary::-webkit-details-marker{display:none}
details.workings summary::after{content:"↓";transition:transform .3s var(--ez)}
details.workings[open] summary::after{transform:rotate(180deg)}
/* slider widget */
.widget{background:var(--white);padding:clamp(26px,3.4vw,44px);box-shadow:var(--sh2);border-radius:var(--r-l);margin-top:2.4rem}
.widget-row{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,44px);margin:1.6rem 0}
.widget-n{font-family:var(--f-d);font-weight:600;font-size:clamp(1.8rem,4.5vw,2.6rem);color:var(--navy);letter-spacing:-.02em;line-height:1}
.widget-n.warn{color:var(--copper)}
.widget-l{font-size:.8125rem;color:var(--graphite);margin-top:.5rem}
.widget .bar-track{height:38px;margin-top:1.2rem}
.widget-flag{margin-top:1.1rem;font-size:.875rem;font-weight:600;color:var(--copper);min-height:1.4em}
.diagram .dline{stroke-dasharray:1;stroke-dashoffset:1}
.s-navy .diagram-cap{color:var(--nav64)}
/* fit */
.fit{padding:clamp(26px,3vw,38px);background:var(--white);height:100%;border-top:2px solid var(--sage);box-shadow:var(--sh1);border-radius:var(--r-m)}
.fit.no{border-top-color:var(--graphite)}
.s-white .fit{background:var(--stone);box-shadow:none}
.fit h3{font-size:1.15rem;margin-bottom:1.1rem;color:var(--navy)}
.fit ul{margin:0;padding:0;list-style:none}
.fit li{position:relative;padding-left:24px;margin-bottom:.7rem;font-size:.9375rem;color:var(--graphite);line-height:1.55}
.fit li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;background:var(--sage);border-radius:2px}
.fit.no li::before{background:var(--graphite);height:1.5px;top:12px;width:12px}
/* tables (workings) */
.tbl{width:100%;border-collapse:collapse;margin-top:1.4rem;font-size:.9375rem}
.tbl th, .tbl td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--chip)}
.tbl th{font-family:var(--f-d);font-weight:600;font-size:.8125rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--graphite);border-bottom:1.5px solid var(--graphite)}
.tbl td:last-child, .tbl th:last-child{text-align:right}
.tbl tr.hi td{background:var(--navy);color:#fff;font-weight:600;border-bottom-color:var(--navy)}
.s-navy .tbl th{color:var(--nav78);border-bottom-color:rgba(255,255,255,.5)}
.s-navy .tbl td{border-bottom-color:var(--line-inv);color:#fff}
.s-navy .tbl tr.hi td{background:rgba(255,255,255,.08);border-top:1.5px solid var(--sage);border-bottom-color:var(--sage)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.s-navy .qualifier{color:var(--nav64)}
.s-navy .qualifier a{color:#fff}
/* forms */
.form{background:var(--white);padding:clamp(26px,3.4vw,48px);box-shadow:var(--sh2);border-radius:var(--r-l)}
.field{margin-bottom:1.4rem}
.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:var(--navy)}
.field input, .field select, .field textarea{width:100%;padding:.95rem 1rem;border:0;border-radius:var(--r-s);
  font-family:var(--f-b);font-size:1rem;background:var(--stone);color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--chip);transition:box-shadow .2s}
.field textarea{min-height:110px;resize:vertical}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;
  box-shadow:inset 0 0 0 1px transparent,0 0 0 2px var(--white),0 0 0 4px var(--navy)}
.privacy{background:var(--stone);padding:1.1rem 1.25rem;font-size:.8125rem;color:var(--graphite);
  line-height:1.6;margin:6px 0 1.5rem;border-left:2px solid var(--sage);border-radius:0 var(--r-m) var(--r-m) 0}
/* /book/ multi-step */
.bookwrap{max-width:55em;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gut)}
.bstep{display:none}
.bstep.on{display:block}
.opts{display:grid;gap:10px;margin:1.3rem 0}
.opt{display:flex;align-items:center;gap:14px;background:var(--white);padding:1.05rem 1.2rem;
  border-radius:var(--r-l);box-shadow:inset 0 0 0 1px var(--chip);cursor:pointer;transition:box-shadow .2s,transform .2s var(--ez);font-size:.9688rem}
.opt:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--chip),var(--sh1)}
.opt input{accent-color:var(--navy);width:18px;height:18px;flex:none}
.opt.sel{box-shadow:inset 0 0 0 2px var(--navy)}
.bnav .back2{background:none;border:0;color:var(--graphite);font-size:.9375rem;cursor:pointer;padding:.8rem .6rem;font-family:var(--f-b)}
.berr{color:#A03D2E;font-size:.875rem;margin-top:.8rem;min-height:1.3em}
.s-white .ph{background:var(--stone);box-shadow:none}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--stone);
  box-shadow:inset 0 0 0 1px var(--chip);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
/* ---------- map ---------- */
.map{max-width:35em}
.map svg{width:100%;height:auto;display:block}
.map-cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.2rem}
.mapchip{font-size:.8125rem;font-weight:500;padding:.42rem .85rem;border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--chip);color:var(--graphite)}
.mapchip.hq{background:var(--navy);color:#fff;box-shadow:none}
.mapchip.more{box-shadow:none;color:var(--graphite);opacity:.7}
.hero-claim{padding:1rem 1.1rem}
.tbl{font-size:.84rem}
.tbl th, .tbl td{padding:.7rem .6rem}
.widget-n{font-size:1.6rem}
/* sticky local subnav (Apple buy-bar pattern) */
.subnav{position:sticky;top:57px;z-index:90;background:rgba(244,243,239,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav-in{display:flex;align-items:center;gap:14px;padding:.55rem 0;min-height:52px}
.subnav-t{font-family:var(--f-d);font-weight:600;font-size:.9375rem;color:var(--navy);white-space:nowrap}
.subnav-links{display:flex;gap:8px;overflow:hidden;flex-wrap:wrap;max-height:34px}
.subnav-links a{font-size:.8125rem;padding:.38rem .8rem;border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--chip);color:var(--graphite);text-decoration:none;white-space:nowrap}
.subnav-links a:hover{box-shadow:inset 0 0 0 1px var(--copper);color:var(--copper)}
.subnav .btn{margin-left:auto;padding:.55rem 1.05rem;font-size:.8125rem;flex:none}
.billboard-g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.s-white .assure-i{background:var(--stone);box-shadow:none}
.s-white .fpill{background:var(--stone)}
.s-white .fdoor{background:var(--stone)}
.stat .ic:not(.ic-g){color:var(--copper)}
.ic-g-in{vertical-align:-3px;margin-right:2px}
.trust .ic-g-in{margin-right:7px}
/* youtube click-to-play facade */
.ytf{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
  border-radius:var(--r-l);overflow:hidden;line-height:0;box-shadow:var(--sh1)}
.ytf img{width:100%;height:auto;display:block;transition:transform .6s var(--ez)}
.ytf:hover img{transform:scale(1.02)}
.ytf-p{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:45px;
  border-radius:12px;background:rgba(15,37,68,.82);transition:background .3s var(--ez)}
.ytf-p::after{content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.ytf:hover .ytf-p, .ytf:focus-visible .ytf-p{background:#FF0000}
.ytf iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
body.nav-pill .subnav{top:82px;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body.nav-pill .subnav-in{max-width:min(1240px,94%);margin:0 auto;padding:0 22px;min-height:48px;
  background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-radius:999px;box-shadow:0 8px 24px rgba(15,37,68,.10)}
.s-navy .gloss, .s-graphite .gloss{color:var(--nav78);opacity:1}


.photorow{align-items:start}
.billboard-g.solo{grid-template-columns:minmax(0,1fr)}
.billboard-g.solo blockquote{max-width:26ch}
details.workings summary, .chart-marker i, .widget-flag, .widget-n.warn, .subnav-links a:hover{color:var(--copper-text)}
.s-navy a.card .more, .s-navy .chair-n, .s-navy details.workings summary, .s-navy .chart-marker i, .s-navy .widget-flag, .s-navy .widget-n.warn, .s-navy .fan-note, .s-navy .book-cv span, .s-navy a[style*="--copper"], .s-graphite a[style*="--copper"]{color:var(--copper-navy)}
.avatar{width:64px;height:64px;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.avatar-i{font-family:var(--f-d);font-weight:600;font-size:1.0625rem;letter-spacing:.01em;color:var(--graphite)}
.ytf{aspect-ratio:16/9}
.ytf img{width:100%;height:100%;object-fit:cover}
/* ---------- thank-you: two-step next steps ---------- */
.nextsteps{display:grid;gap:14px;margin-top:1.8rem}
.nextstep{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;
  background:var(--white);border-radius:var(--r-l);padding:1.15rem 1.3rem;box-shadow:var(--sh1)}
.ns-n{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;
  font-family:var(--f-d);font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center}
.nextstep h3{font-size:1.0625rem;margin:2px 0 6px}
.nextstep p{margin:0;font-size:.9375rem;color:var(--graphite);max-width:52ch}
/* ---------- funding check: form + proof rail ---------- */
.bookgrid{max-width:var(--wrap);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gut);
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(32px,4.5vw,72px);align-items:start}
.bookmain{min-width:0;max-width:41.25em}
.bookrail{position:sticky;top:96px;min-width:0}
.rail-card{background:var(--white);border-radius:var(--r-l);padding:1.6rem 1.7rem;box-shadow:var(--sh1)}
.rail-who{display:flex;align-items:center;gap:16px;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.rail-face{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;display:block}
.rail-name{margin:0;font-family:var(--f-d);font-weight:600;font-size:1.0625rem;color:var(--navy);line-height:1.25}
.rail-role{margin:3px 0 0;font-size:.875rem;color:var(--graphite)}
.rail-list{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:1rem}
.rail-list li{position:relative;padding-left:24px;font-size:.9063rem;line-height:1.5;color:var(--graphite)}
.rail-list li::before{content:"";position:absolute;left:0;top:.52em;width:11px;height:6px;
  border-left:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(-45deg)}
.rail-list b{color:var(--navy);font-weight:600}
.rail-trust{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line);
  display:grid;gap:7px;font-size:.8125rem;color:var(--graphite)}
.rail-trust b{color:var(--navy)}
.gtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.9vw,24px);margin-top:44px}
.gt, .gt *{text-decoration:none!important;border-bottom:0!important}
.gt{position:relative;display:flex;flex-direction:column;background:var(--white);
border:1px solid var(--line);border-radius:var(--r-m);padding:clamp(22px,2.2vw,28px);
box-shadow:var(--sh1);overflow:hidden;
transition:transform .25s var(--ez),box-shadow .3s var(--ez),border-color .3s var(--ez)}
.gt::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--copper);
transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ez)}
.gt-com::before{background:var(--navy)}
.gt-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.gt-cat{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.1em;
text-transform:uppercase;font-weight:600;color:var(--graphite);line-height:1.3}
.gt-cat i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--copper)}
.gt-com i{background:var(--navy)}
.gt-room i{background:var(--sage)}
.gt-deb i{background:var(--graphite)}
.gt-i{width:30px;height:30px;flex:none;color:var(--copper);opacity:.85;
transition:transform .55s var(--ez),opacity .4s var(--ez)}
.gt-t{font-family:var(--f-d);font-size:1.08rem;line-height:1.32;font-weight:600;color:var(--navy);
letter-spacing:-.01em;margin-bottom:10px}
.gt-d{font-size:.95rem;line-height:1.55;color:var(--graphite);margin-bottom:22px}
.gt-f{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);
display:flex;align-items:center;justify-content:space-between;gap:12px;
font-size:.8125rem;color:var(--graphite)}
.gt-kind{font-weight:600;color:var(--navy)}
.gt-meta{display:inline-flex;align-items:center;gap:.45rem;color:var(--copper-text);font-weight:600}
.gt-ar{width:17px;height:17px;flex:none;transition:transform .5s var(--ez)}
.gt-soon{background:transparent;box-shadow:none;border-style:dashed}
.gt-soon .gt-t{color:var(--graphite)}
.gt-soon .gt-i{color:var(--graphite);opacity:.42}
.gt-soon .gt-meta{color:var(--graphite);font-weight:500}
.gt-badge{position:absolute;top:0;right:0;background:var(--stone);color:var(--graphite);
font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
padding:5px 11px;border-bottom-left-radius:var(--r-m)}
a.gt:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.gt-wide{grid-column:1/-1}
.flow-svg .ink{transition:stroke-dashoffset 1.6s var(--ez) .2s}
.flow.in .ink{stroke-dashoffset:0}
.widget-n{font-variant-numeric:tabular-nums}
.jn{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0}
.jn a{font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:7px 13px;
 border:1px solid var(--chip)!important;border-radius:999px;color:var(--graphite);
 background:var(--white);text-decoration:none!important;
 transition:border-color .3s var(--ez),color .3s var(--ez),transform .3s var(--ez)}
.jn a:hover{border-color:var(--copper)!important;color:var(--copper);transform:translateY(-1px)}
.s-navy{position:relative;overflow:hidden}
.s-navy::before{content:'';position:absolute;top:-22%;right:-8%;width:56%;height:88%;
 background:radial-gradient(closest-side,rgba(191,124,71,.11),transparent 72%);pointer-events:none}
.s-navy>.wrap{position:relative;z-index:1}
.s-graphite{position:relative;overflow:hidden}
.s-graphite::before{content:'';position:absolute;bottom:-30%;left:-10%;width:52%;height:85%;
 background:radial-gradient(closest-side,rgba(191,124,71,.08),transparent 72%);pointer-events:none}
.s-graphite>.wrap{position:relative;z-index:1}
.gt{box-shadow:0 1px 2px rgba(15,37,68,.04),0 12px 30px -16px rgba(15,37,68,.13)}
.tbl tbody tr{transition:background .25s var(--ez)}
.tbl tbody tr:hover{background:rgba(182,115,63,.05)}
.opt{transition:border-color .28s var(--ez),box-shadow .28s var(--ez),transform .28s var(--ez)}
.opt:hover{border-color:rgba(26,29,35,.32);transform:translateY(-1px)}
.opt:has(input:checked){border-color:var(--copper);box-shadow:0 0 0 3px rgba(182,115,63,.15)}
.seal-c.seal-logo{padding:0}
.seal-c.seal-logo img{width:34px;height:34px;border-radius:50%;display:block}
.qlinks-in a{padding-block:7px}
.crumbs a{padding-block:5px;display:inline-block}
.rc-in{position:relative}
.rc-in input{padding-left:26px}
/* enquiry rail (was 21px) */
.rail-list{margin-top:1.75rem}
/* the avatar and the name it belongs to */
.avatar{margin-bottom:1.25rem}
@media(max-width:56.25em){
.g4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:40em){
.g4{grid-template-columns:1fr}
.widget-row{grid-template-columns:1fr}
}
@media(max-width:35em){
.bar{grid-template-columns:1fr;gap:6px}
.bar-track{height:38px}
}
@media(max-width:51.25em){
.subnav-links{display:none}
.subnav-in{gap:10px}
.subnav-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.subnav .btn{flex:none;margin-left:0;padding:.5rem .85rem;font-size:.78rem}
}
@media(max-width:47.5em){
.billboard-g{grid-template-columns:1fr}
}
@supports (corner-shape: squircle){
.subnav-links a{corner-shape:squircle}
.ytf{corner-shape:squircle}
}
@media(prefers-reduced-motion:reduce){
.bar-fill{transition:none}
.tbl tbody tr{transition:none}
}
@media(max-width:61.25em){
.bookgrid{grid-template-columns:1fr;gap:36px}
.bookmain{max-width:none}
.bookrail{position:static;order:2}
}
@media (hover:hover){
a.gt:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:transparent}
a.gt:hover::before{transform:scaleX(1)}
a.gt:hover .gt-i{transform:scale(1.06);opacity:1}
a.gt:hover .gt-ar{transform:translateX(4px)}
}
@media (max-width:62.5em){
.gtiles{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:40em){
.gtiles{grid-template-columns:1fr;gap:18px}
.gt{padding:20px}
.gt-t{font-size:1.02rem}
}
@media (prefers-reduced-motion:reduce){
.gt, .gt::before, .gt-i, .gt-ar{transition:none!important}
a.gt:hover{transform:none}
a.gt:hover .gt-i, a.gt:hover .gt-ar{transform:none}
}
@media print{




}
@media(prefers-reduced-motion:no-preference) and (min-width:60.0625em){
.s-navy::before{animation:glow-breathe 9s ease-in-out infinite alternate}
}

/* =====================================================================
   Inner-page components on the same foundation (v40)
   ===================================================================== */

/* ---- aliases so page-scoped widget CSS keeps resolving ---- */
:root{
  --white:#FBFAF7; --line:var(--hair); --chip:var(--hair-2); --rule:var(--hair);
  --copper-text:var(--copper-t); --copper-navy:#D6A87A;
  --nav64:rgba(255,255,255,.64); --nav78:rgba(255,255,255,.78); --navy-64:rgba(255,255,255,.64); --navy-80:rgba(255,255,255,.8);
  --line-inv:rgba(255,255,255,.16);
  --sh1:0 0 0 1px var(--hair); --sh2:0 0 0 1px var(--hair-2);
  --sp:clamp(4rem,9vw,8rem);
}

/* ---- hero, inner pages ---- */
.crumbs{font-size:.8125rem;color:var(--mute);margin:0 0 22px;max-width:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--graphite)}
.crumbs a:hover{color:var(--navy)}
.hero .byline{font-size:.9rem;color:var(--mute);margin:14px 0 0;max-width:60ch}
.hero .byline+.byline{margin-top:4px}
.hero .byline strong{color:var(--navy)}
.hero .lede{margin-top:22px}
.hero-claim{margin-top:1.6rem;background:var(--paper);border:1px solid var(--hair);border-left:2px solid var(--copper);
  padding:1.1rem 1.35rem;max-width:36em;border-radius:0 var(--r-m) var(--r-m) 0}
.hero-claim strong{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:var(--navy);line-height:1.35;display:block}
.hero-claim .small{color:var(--mute);margin-top:.5rem}
.hero .cta-block .cta-note+.cta-note{margin-top:8px}
.hero .cta-note a{color:var(--copper-t);font-weight:500}

/* on this page: chips in the hero on phones and tablets; the spine takes over on wide screens */
.jn{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0;max-width:none}
.jn a{font-size:.8rem;font-weight:500;padding:8px 13px;border:1px solid var(--hair-2);border-radius:999px;color:var(--graphite);
  background:var(--paper);transition:border-color .2s,color .2s,transform .2s var(--ez)}
.jn a:hover{border-color:var(--copper);color:var(--navy);transform:translateY(-1px)}
.jn{margin-top:14px}
.jn-d{margin-top:24px}
.jn-d summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t)}
.jn-d summary::-webkit-details-marker{display:none}
.jn-d summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ez)}
.jn-d[open] summary::after{transform:rotate(225deg) translateY(-1px)}
.hero-main,.hero-side{min-width:0}
@media(min-width:63.75em){
  .hero .wrap.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);column-gap:clamp(40px,5vw,72px);align-items:start}
  .hero-grid h1{font-size:clamp(2.2rem,3.6vw,3.1rem)}
  .hero-grid .lede{max-width:none}
  .hero-side{align-self:end;padding-bottom:4px}
  .hero-side .hero-claim{margin-top:0}
  .hero-side .cta-block{margin-top:1.4rem}
  .hero-side .trust{margin-top:1.6rem;padding-top:1.2rem}
  .hero-grid > .jn-d{grid-column:1 / -1}
}
@media(min-width:80em){.jn-d{display:none}}

/* ---- who this is for (glance) ---- */
#glance .g3{align-items:start}
#glance .eb{margin-bottom:12px}
#glance p{font-size:.95rem}
.fit{padding:22px 22px 20px;background:var(--paper);height:100%;border:1px solid var(--hair);border-top:2px solid var(--sage);border-radius:var(--r-m)}
.fit.no{border-top-color:var(--hair-2)}
.fit h3{font-size:1.05rem;margin-bottom:12px}
.fit li{position:relative;padding-left:22px;margin-bottom:.6rem;font-size:.9375rem;color:var(--graphite);line-height:1.5}
.fit li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--sage);border-radius:2px}
.fit.no li::before{background:var(--hair-2);height:1.5px;top:12px;width:12px}
.rail-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.9rem}
.rail-list li{position:relative;padding-left:24px;font-size:.9375rem;line-height:1.5;color:var(--graphite)}
.rail-list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:6px;border-left:2px solid var(--sage-deep);border-bottom:2px solid var(--sage-deep);transform:rotate(-45deg)}
.rail-list b{color:var(--navy);font-weight:600}

/* ---- tables ---- */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1.4rem;border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper)}
.tbl{width:100%;border-collapse:collapse;margin:0;font-size:.9375rem}
.tbl th,.tbl td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--hair);vertical-align:top}
.tbl th{font-family:var(--f-b);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t);border-bottom:1px solid var(--hair-2)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td:last-child,.tbl th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tbl.tbl-prose td:last-child,.tbl.tbl-prose th:last-child{text-align:left}
.tbl tr.hi td{background:rgba(143,174,146,.14);font-weight:600;color:var(--navy)}
.tbl tbody tr:hover{background:rgba(182,115,63,.04)}
section.statement .tbl-wrap{background:rgba(255,255,255,.04);border-color:var(--hair-navy)}
section.statement .tbl th{color:var(--tan);border-bottom-color:var(--hair-navy)}
section.statement .tbl td{border-bottom-color:var(--hair-navy);color:var(--on-navy)}
@media(max-width:40em){.tbl{font-size:.86rem}.tbl th,.tbl td{padding:.7rem .75rem}}

/* ---- callouts, notes ---- */
.callout{margin-top:1.8rem;padding:18px 22px;border:1px solid var(--hair);border-left:2px solid var(--copper);border-radius:0 var(--r-m) var(--r-m) 0;background:var(--paper);max-width:66ch}
.callout h3{font-size:1.05rem;margin-bottom:8px}
.callout p{color:var(--graphite);font-size:1rem}
.cards{display:grid;gap:18px}
@media(min-width:47.5em){.cards{grid-template-columns:1fr 1fr}}
.btn-s{padding:11px 16px;font-size:.875rem}

/* ---- bar charts (rate-vs-total, deposit workings) ---- */
.chart{margin-top:1.6rem;max-width:47.5em}
.chart-t{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:var(--navy);margin-bottom:12px}
.bars{display:grid;gap:14px}
.bar{position:relative}
.bar-l{font-size:.875rem;color:var(--graphite);margin-bottom:6px;display:flex;justify-content:space-between;gap:12px}
.bar-track{position:relative;height:30px;background:var(--stone);border:1px solid var(--hair);border-radius:8px;overflow:hidden}
.bar-fill{position:absolute;left:0;top:0;height:100%;background:#D3D6DB;width:0;transition:width .7s var(--ez);border-radius:7px}
.bar.hi .bar-fill{background:var(--sage)}
.bar-v{font-family:var(--f-d);font-weight:600;font-size:.9rem;color:var(--navy);font-variant-numeric:tabular-nums}
.chart-note{font-size:.8125rem;color:var(--mute);margin-top:12px;max-width:60ch}
.chart-marker{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--copper)}
.chart-marker i{position:absolute;top:-18px;left:-40px;width:80px;text-align:center;font-style:normal;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--copper-t)}
section.statement .bar-track{background:rgba(255,255,255,.06);border-color:var(--hair-navy)}
section.statement .bar-l,section.statement .chart-note{color:var(--on-navy-2)}
section.statement .bar-v,section.statement .chart-t{color:#fff}

/* slider widget */
.widget{background:var(--paper);padding:clamp(22px,3vw,34px);border:1px solid var(--hair);border-radius:var(--r-l);margin-top:2rem;max-width:47.5em}
.widget-row{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;margin-top:14px}
.widget-l{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-t);font-weight:500}
.widget-n{font-family:var(--f-d);font-weight:600;font-size:1.4rem;color:var(--navy);font-variant-numeric:tabular-nums}
.widget-n.warn{color:var(--copper-t)}
.widget input[type=range]{width:100%;accent-color:var(--navy);margin-top:12px}
.widget-flag{margin-top:14px;font-size:.9rem;color:var(--graphite);max-width:60ch}

/* ---- guide tiles (business-loans, services, insights) ---- */
.gtiles{display:grid;grid-template-columns:1fr;gap:12px;margin-top:clamp(28px,4vw,44px)}
@media(min-width:40em){.gtiles{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:60em){.gtiles{grid-template-columns:repeat(6,1fr);gap:20px}.gtiles>.gt{grid-column:span 2}
  /* five tiles plus a wide closer: 3 + 2 + wide, no hole in the grid */
  .gtiles:has(> .gt-wide:last-child) > .gt:nth-child(4):nth-last-child(3),.gtiles:has(> .gt-wide:last-child) > .gt:nth-child(5):nth-last-child(2){grid-column:span 3}}
.gt,.gt *{text-decoration:none!important;border-bottom:0!important}
.gt{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--hair)!important;border-radius:var(--r-m);padding:20px 20px 18px;
  color:var(--ink);transition:border-color .3s,transform .35s var(--ez)}
a.gt:hover{border-color:rgba(182,115,63,.55)!important;transform:translateY(-2px)}
.gtiles>.gt-wide{grid-column:1 / -1}
.gt-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.gt-cat{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--copper-t)}
.gt-cat i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--copper)}
.gt-acq .gt-cat i{background:var(--sage-deep)}.gt-com .gt-cat i{background:var(--navy)}.gt-room .gt-cat i{background:var(--copper)}.gt-deb .gt-cat i{background:var(--tan)}
.gt-i{width:22px;height:22px;color:var(--copper);flex:none}
.gt-t{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:var(--navy);line-height:1.3;margin-bottom:8px}
.gt-d{font-size:.925rem;color:var(--graphite);line-height:1.55}
.gt-f{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;color:var(--mute)}
.gt-kind{font-weight:500}
.gt-meta{display:flex;gap:8px;align-items:center}
.gt-ar{color:var(--copper-t);font-weight:500;transition:transform .3s var(--ez)}
a.gt:hover .gt-ar{transform:translateX(4px)}
.gt-badge{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--hair-2);color:var(--mute)}
.gt-soon{opacity:.72}

/* ---- map chips (where we work, contact) ---- */
.map-cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mapchip{font-size:.8125rem;font-weight:500;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--hair-2);color:var(--graphite);background:var(--paper)}
.mapchip.hq{background:var(--navy);color:#fff;border-color:var(--navy)}
.mapchip.more{border-color:transparent;background:transparent;color:var(--mute)}

/* ---- next steps, workings, misc ---- */
.nextstep{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-m);padding:1.1rem 1.25rem}
.nextsteps{display:grid;gap:12px;margin-top:1.6rem}
.ns-n{width:34px;height:34px;border-radius:50%;border:1px solid var(--hair-2);background:var(--paper);display:grid;place-items:center;font-family:var(--f-d);font-weight:600;font-size:.9rem;color:var(--navy)}
.nextstep h3{font-size:1.05rem;margin:2px 0 6px}
.nextstep p{margin:0;font-size:.95rem;color:var(--graphite);max-width:52ch}
details.workings{margin-top:1.4rem}
details.workings summary{cursor:pointer;font-size:.875rem;font-weight:500;color:var(--copper-t);list-style:none;display:inline-flex;align-items:center;gap:8px}
details.workings summary::-webkit-details-marker{display:none}
details.workings summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ez)}
details.workings[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.h2-wide{max-width:30ch}
.wrap-n{max-width:53.75em;margin:0 auto;padding:0 var(--gut)}
.prose p{max-width:64ch}
.privacy h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-top:2.2rem}
.privacy h3{margin-top:1.4rem;margin-bottom:.4rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--stone);border:1px solid var(--hair-2);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden}
.avatar-i{font-family:var(--f-d);font-weight:600;font-size:1.0625rem;color:var(--graphite)}
.photorow{align-items:start}
.ytf{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--r-l);overflow:hidden;line-height:0;aspect-ratio:16/9}
.ytf img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ez)}
.ytf:hover img{transform:scale(1.02)}
.ytf-p{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:44px;border-radius:12px;background:rgba(15,37,68,.85);display:grid;place-items:center;color:#fff;transition:background .2s}
.ytf-p::after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.ytf:hover .ytf-p{background:#FF0000}
.ytf iframe{width:100%;aspect-ratio:16/9;border:0;display:block}

/* ---- forms (contact, book) ---- */
.form{background:var(--paper);padding:clamp(22px,3.4vw,40px);border:1px solid var(--hair);border-radius:var(--r-l)}
.field{margin-bottom:1.3rem}
.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--hair-2);border-radius:var(--r-s);font-family:var(--f-b);font-size:1rem;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,37,68,.12)}
.field textarea{min-height:120px;resize:vertical}
.bstep{display:none}.bstep.on{display:block}
.steplab{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-t);font-weight:500;margin-bottom:10px}
.opts{display:grid;gap:10px;margin:1.2rem 0}
.opt{display:flex;align-items:center;gap:14px;background:#fff;padding:1rem 1.15rem;border-radius:var(--r-m);border:1px solid var(--hair-2);cursor:pointer;transition:border-color .2s,transform .2s var(--ez)}
.opt:hover{transform:translateY(-1px);border-color:var(--navy)}
.opt input{accent-color:var(--navy);width:18px;height:18px;flex:none}
.opt.sel,.opt:has(input:checked){border-color:var(--copper);box-shadow:0 0 0 3px rgba(182,115,63,.14)}
.berr{color:#A03D2E;font-size:.875rem;margin-top:.8rem;min-height:1.3em}
.cal-cue{font-size:.875rem;color:var(--mute);margin-top:10px}
.csent{padding:22px;border:1px solid rgba(143,174,146,.6);background:rgba(143,174,146,.14);border-radius:var(--r-m);color:var(--navy)}
.back2{background:none;border:0;color:var(--graphite);font-size:.9375rem;cursor:pointer;padding:.8rem .6rem;font-family:var(--f-b)}

/* funding check: form + proof rail */
.bookwrap{padding:clamp(32px,5vw,56px) 0}
.bookgrid{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:61.25em){.bookgrid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(32px,4vw,56px);align-items:start}.bookrail{position:sticky;top:calc(var(--nav-h) + 20px)}}
.bookmain{max-width:40em}
.rail-card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-l);padding:1.5rem 1.6rem}
.rail-who{display:flex;align-items:center;gap:16px;padding-bottom:1.2rem;border-bottom:1px solid var(--hair)}
.rail-face{width:56px;height:56px;border-radius:50%;object-fit:cover}
.rail-name{font-family:var(--f-d);font-weight:600;color:var(--navy)}
.rail-role{font-size:.85rem;color:var(--mute)}
.rail-trust{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--hair);font-size:.85rem;color:var(--graphite);display:grid;gap:8px}

/* ---- client stories hub ---- */
.story-card{display:block;padding:22px;border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper);transition:border-color .3s,transform .35s var(--ez)}
.story-card:hover{border-color:rgba(182,115,63,.55);transform:translateY(-2px)}

/* ---- section body: first structured block sits closer to a brief ---- */
.s-body > .lane-fast:first-child{margin-top:0}
.s-body > .tbl-wrap,.s-body > .callout,.s-body > .diagram{margin-top:0}
.s-body > * + *{margin-top:clamp(22px,3vw,32px)}
.s-body > p + p{margin-top:0}
.s-body > .lede + *{margin-top:clamp(22px,3vw,32px)}

/* ---------- light surfaces inside navy statement sections keep their own ink ---------- */
section.statement :is(.card,.callout,.alt,.hero-claim,.gt,.widget,.qcard,.fit,.story-card,.assure-i,.rcalc){color:var(--ink)}
section.statement :is(.card,.callout,.alt,.hero-claim,.gt,.widget,.qcard,.fit,.story-card,.assure-i,.rcalc) :is(h3,h4,strong,b){color:var(--navy)}
section.statement :is(.card,.callout,.alt,.hero-claim,.gt,.widget,.qcard,.fit,.story-card,.assure-i,.rcalc) p{color:var(--graphite)}
section.statement :is(.card,.callout,.alt,.hero-claim,.gt,.widget,.qcard,.fit,.story-card,.assure-i,.rcalc) :is(.small,.muted,.qualifier,cite){color:var(--mute)}
section.statement .qcard cite{color:var(--navy)}
section.statement .card{background:var(--paper)}
/* dark-surface treatments carried from the live site */
section.statement .tbl-wrap{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
section.statement .tbl th{color:var(--on-navy);border-bottom-color:rgba(255,255,255,.5)}
section.statement .tbl td{border-bottom-color:rgba(255,255,255,.14);color:#fff}
section.statement .tbl tr.hi td{background:rgba(255,255,255,.08);border-top:1.5px solid var(--sage);border-bottom-color:var(--sage)}
section.statement .chart-t{color:#fff}
section.statement .bar-l{color:var(--on-navy)}
section.statement .bar-fill{background:rgba(255,255,255,.18)}
section.statement .bar-v{color:#fff}
section.statement .bar.hi .bar-v{color:var(--navy)}
.bar.hi .bar-v{left:0;background:var(--sage);color:var(--navy);padding:4px 10px;border-radius:7px}   /* the highlighted figure reads wherever the fill ends */
section.statement :is(.chart-note,.diagram-cap,.qualifier,.gloss){color:var(--on-navy-2)}
section.statement .qualifier a{color:#fff}
section.statement .tbl-wrap :is(.small,.muted){color:var(--on-navy-2)}
.tbl td:nth-child(2){white-space:nowrap}
/* three items in a two-column grid: no hole */
@media(min-width:63.75em){.cards:has(> :nth-child(3):last-child),.g2:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}

/* ---------- booking form chrome (the form's own step progress; the shell's reading line is .rprog) ---------- */
.bookmain .progress{height:4px;background:var(--hair);border-radius:2px;margin:1.2rem 0 2rem;overflow:hidden}
.bookmain .progress i{display:block;height:100%;background:var(--sage);width:0;transition:width .5s var(--ez)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;display:block;width:100%}
legend h3{margin:0 0 6px;font-size:1.25rem}
main > .bookgrid,main > .wrap:first-child,main > .contactgrid{padding-top:clamp(28px,4vw,52px)}

/* long-form narrative */
.prose h2{margin:2.6rem 0 1rem;font-size:clamp(1.6rem,2.8vw,2.2rem)}
.prose > .eb + h2,.prose h2:first-child{margin-top:.4rem}
.prose > .eb{margin-bottom:1.2rem}

/* ---------- SVG state animations carried from the live site (attribute hooks) ---------- */
[data-g]{transform-box:fill-box;transform-origin:left center;transform:scaleX(0);transition:transform .7s var(--ez)}
.in [data-g]{transform:scaleX(1)}
[data-dim]{transition:opacity .5s var(--ez) .9s}
[data-collapse]{transform-box:fill-box;transform-origin:left center;transition:transform .6s var(--ez) 1s}
[data-shrink]{transform-box:fill-box;transform-origin:left center;transition:transform .8s var(--ez) 1.25s}
[data-show]{opacity:0;transition:opacity .45s var(--ez) 1.25s}
[data-pop]{opacity:0;transform:translateY(9px);transition:opacity .42s var(--ez),transform .55s var(--ez)}
.in [data-dim]{opacity:.14}
[data-dimtext]{transition:opacity .5s var(--ez) 1.15s}
.in [data-dimtext]{opacity:0}
.in [data-collapse]{transform:scaleX(0)}
.in [data-shrink]{transform:scaleX(.88)}
.in [data-show]{opacity:1}
.in [data-pop]{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  [data-g],[data-pop],[data-show]{transition:none}
  [data-dim],[data-dimtext],[data-collapse],[data-shrink]{transition:none}
}

/* booking form: back / continue row (the form's own .bnav; the shell's mobile bar is .mbar) */
.bnav{display:flex;gap:12px;margin-top:1.8rem;align-items:center}

/* two buttons in a CTA block: stack with air on narrow screens, sit side by side otherwise */
.cta-block:has(.btn + .btn){display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.cta-block:has(.btn + .btn) > .cta-note,.cta-block:has(.btn + .btn) > .small,.cta-block:has(.btn + .btn) > p{flex-basis:100%;margin-top:2px}
@media(max-width:37.5em){.cta-block:has(.btn + .btn) .btn{width:100%;justify-content:center}}
/* thanks page rhythm */
.nextsteps + .card{margin-top:1.4rem}
.card + .small,.card + .muted{margin-top:14px;display:block}
:is(.tbl-wrap,.g2,.g3,.cards,.dg,.checks) + .qualifier{margin-top:16px}
/* dark panels inside light sections keep white figures */
.rc-out :is(b,strong){color:inherit}
section.statement .rail-list li{color:var(--on-navy)}
section.statement .rail-list li b{color:#fff}
section.statement :is(.cap-was,.cap-is span,.cap-note){color:var(--on-navy-2)}
section.statement .cap-is{color:#fff}
section.statement details.workings summary{color:var(--tan)}
.rc-out .rc-empty,.rc-out p{color:rgba(255,255,255,.66)}
section.statement .rcalc .rc-out :is(p,.rc-empty){color:rgba(255,255,255,.66)}

/* ---------- footer column labels: nav landmarks, not document headings ---------- */
.foot-h{margin:0 0 14px;font-family:var(--f-b);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500;max-width:none}
/* Heading LEVEL is document structure; heading LOOK belongs to the component it leads.
   These are written tag-agnostically so a level repair never changes the rendering. */
.guar :is(h2,h3){font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.3;margin:8px 0 18px;padding:18px 0;
  border-top:1px solid var(--hair-navy);border-bottom:1px solid var(--hair-navy)}
.nextstep :is(h2,h3){font-size:1.05rem;margin:2px 0 6px}
legend :is(h2,h3){margin:0 0 6px;font-size:1.25rem}
.card :is(h2,h3){font-size:1.05rem;margin-bottom:8px}
.bstep :is(h3,h4){font-size:1.0625rem;margin:0 0 2px}

/* Grid and flex children default to min-width:auto, so they refuse to shrink below their
   content and push out of the page. Harmless when content fits; prevents overflow when it does not. */
.g2>*,.g3>*,.g4>*,.cards>*,.gtiles>*,.bars>*,.bar,.ledger>*,.levers>*,.foot-grid>*,
.dep-row>*,.wf-row>*,.cs-grid>*,.loop-row>*,.pu-tiles>*,.chairs>*,.steps>*,.checks>*,.bar>*{min-width:0}

/* A closed <details> should contribute no layout. Chromium still counts a wide child (the
   workings table) toward the page's scroll width, which scrolls the page sideways at large text. */
details:not([open]) > *:not(summary){display:none}

/* the homepage router runs eight routes: four-up leaves no hole, where three-up would */
@media(min-width:60em){.gtiles-4{grid-template-columns:repeat(4,1fr)}.gtiles-4>.gt{grid-column:span 1}}
@media(min-width:40em) and (max-width:59.99em){.gtiles-4{grid-template-columns:repeat(2,1fr)}.gtiles-4>.gt{grid-column:span 1}}
.gtiles-4 .gt-d{font-size:.875rem}
/* at four-up the tile is too narrow for kind and arrow side by side */
.gtiles-4 .gt-f{flex-direction:column;align-items:stretch;gap:6px}
.gtiles-4 .gt-kind{line-height:1.3}
.gtiles-4 .gt-cat{line-height:1.25}

/* ---------- proof beside the claim: a client story's own headline, directly under the hero claim ---------- */
.proof-line{margin:14px 0 0;padding:12px 14px 12px 16px;border-left:2px solid var(--sage-deep);background:rgba(143,174,146,.10);border-radius:0 var(--r-m) var(--r-m) 0;font-size:.92rem;line-height:1.45;max-width:none}
.proof-line{display:block;text-decoration:none;transition:background .2s,border-color .2s}
.proof-line b{display:block;font-family:var(--f-d);font-weight:600;color:var(--navy);font-style:italic}
.proof-line:hover{background:rgba(143,174,146,.18);border-left-color:var(--navy)}
.proof-line:hover span{color:var(--sage-deep)}
.proof-line span{display:block;margin-top:5px;font-size:.76rem;color:var(--mute);letter-spacing:.01em}
section.statement .proof-line{background:rgba(143,174,146,.16);border-left-color:var(--sage)}
section.statement .proof-line b{color:#fff}
section.statement .proof-line span{color:var(--on-navy-2)}

/* ---------- mechanism diagrams on the inner pages (same idiom as the homepage tax diagram) ---------- */
:root{--sage-ink:#4F7056}   /* sage deep enough to carry white text */
.dg{margin-top:1.8rem;max-width:47.5em}
figure.dg{margin-left:0;margin-right:0}
.dg-h{font-family:var(--f-d);font-weight:600;font-size:1.05rem;color:var(--navy);margin:0 0 14px;max-width:none}
.dg-foot{font-size:.78rem;color:var(--mute);margin-top:12px;max-width:60ch}
.dg-sum{margin-top:16px;font-size:.95rem;color:var(--graphite);max-width:60ch}
.dg-sum b{color:var(--navy)}
.dg .diagram-cap{margin-top:14px}

/* waterfall: advertised earnings down to the number the lender assesses */
.wf-rows{display:grid;gap:8px}
.wf-row{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(0,2fr) 96px;gap:12px;align-items:center;font-size:.85rem}
.wf-l{color:var(--graphite);line-height:1.3}
.wf-track{position:relative;height:22px;background:rgba(15,37,68,.06);border-radius:6px}
.wf-bar{position:absolute;top:0;bottom:0;left:calc(var(--l) * 1%);width:calc(var(--w) * 1%);border-radius:6px;background:var(--copper)}
.wf-row.start .wf-bar{background:var(--navy)}
.wf-row.end .wf-bar{background:var(--sage-deep)}
.wf-row.start .wf-l,.wf-row.end .wf-l{font-weight:600;color:var(--navy)}
.wf-v{font-variant-numeric:tabular-nums;font-weight:500;color:var(--navy);text-align:right;white-space:nowrap}
.wf-row.cut .wf-v{color:var(--copper-t)}
.wf-row.end{padding-top:8px;border-top:1px solid var(--hair)}
@media(max-width:35em){
  .wf-row{grid-template-columns:1fr auto;grid-template-areas:"l v" "t t";gap:4px 10px}
  .wf-l{grid-area:l}.wf-v{grid-area:v}.wf-track{grid-area:t;height:14px}
  .wf-rows{gap:12px}
}

/* deposit on the same purchase: your cash against what is funded */
.dep-rows{display:grid;gap:10px}
.dep-row{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(0,2fr) 96px;gap:12px;align-items:center;font-size:.85rem}
.dep-l{color:var(--graphite);line-height:1.3}
.dep-track{display:flex;height:22px;border-radius:6px;overflow:hidden;background:rgba(15,37,68,.06)}
.dep-cash{flex:0 0 calc(var(--w) * 1%);background:var(--copper-t);display:flex;align-items:center;justify-content:flex-end;padding-right:7px;color:#fff;font-size:.68rem;font-weight:600;min-width:0;letter-spacing:.02em}
.dep-funded{flex:1;background:rgba(15,37,68,.16)}
.dep-row.hi .dep-cash{background:var(--sage-ink)}
.dep-row.hi .dep-l,.dep-row.hi .dep-v{font-weight:600;color:var(--navy)}
.dep-v{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;color:var(--navy)}
.dep-v small{display:block;font-size:.68rem;font-weight:400;color:var(--mute);letter-spacing:.02em;margin-top:2px}
.dg-key{display:flex;gap:18px;align-items:center;font-size:.74rem;color:var(--mute);margin-top:12px;max-width:none}
.dg-key i{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:-1px}
.k-cash{background:var(--copper)}.k-funded{background:rgba(15,37,68,.16)}
@media(max-width:35em){
  .dep-row{grid-template-columns:1fr auto;grid-template-areas:"l v" "t t";gap:4px 10px}
  .dep-l{grid-area:l}.dep-v{grid-area:v}.dep-track{grid-area:t;height:16px}
  .dep-rows{gap:12px}
}
section.statement .wf-track,section.statement .dep-track{background:rgba(255,255,255,.10)}
section.statement .dep-funded{background:rgba(255,255,255,.24)}
section.statement .wf-row.start .wf-bar{background:var(--paper)}
section.statement :is(.wf-l,.dep-l){color:var(--on-navy)}
section.statement :is(.wf-v,.dep-v,.dg-h,.dg-sum b,.wf-row.start .wf-l,.wf-row.end .wf-l,.dep-row.hi .dep-l,.dep-row.hi .dep-v){color:#fff}
section.statement .wf-row.cut .wf-v{color:var(--tan)}
section.statement .wf-row.end{border-top-color:rgba(255,255,255,.18)}
section.statement :is(.dg-foot,.dg-key,.dg-sum,.dep-v small){color:var(--on-navy-2)}
section.statement .k-funded{background:rgba(255,255,255,.24)}

/* the SMSF loop: business, fund, premises */
.loop-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding-top:26px}
.loop-node{border:1px solid var(--hair);border-radius:var(--r-m);background:var(--paper);padding:14px 10px;text-align:center;min-width:0}
.loop-node b{display:block;font-family:var(--f-d);font-weight:600;color:var(--navy);font-size:.98rem;line-height:1.25}
.loop-node small{display:block;color:var(--mute);font-size:.72rem;margin-top:4px;line-height:1.3}
.loop-node.hi{border-color:rgba(143,174,146,.75);background:rgba(143,174,146,.16)}
.loop-node.hi small{color:var(--sage-deep);font-weight:500}
.loop-arrow{position:relative;width:clamp(48px,8vw,104px);height:2px}
.loop-arrow::before{content:"";position:absolute;inset:0;background:var(--copper)}
.loop-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:8px solid var(--copper);border-right:0}
.loop-arrow span{position:absolute;left:50%;top:-24px;transform:translateX(-50%);white-space:nowrap;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--copper-t)}
.loop-return{position:relative;margin:16px 10% 0;height:30px;border:2px solid var(--copper);border-top:0;border-radius:0 0 16px 16px}
.loop-return::before{content:"";position:absolute;left:-7px;top:-9px;border:6px solid transparent;border-bottom:9px solid var(--copper);border-top:0}
.loop-return span{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);white-space:nowrap;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--copper-t)}
.loop .dg-sum{margin-top:44px}
@media(max-width:40em){
  .loop-row{grid-template-columns:1fr;gap:6px;padding-top:0}
  .loop-arrow{width:2px;height:44px;margin:0 auto}
  .loop-arrow::after{right:-4px;top:auto;bottom:-1px;border:5px solid transparent;border-top:8px solid var(--copper);border-bottom:0}
  .loop-arrow span{left:14px;top:50%;transform:translateY(-50%)}
  .loop-return{margin:12px 0 0;height:auto;border:1px solid var(--copper);border-radius:999px;padding:8px 12px;text-align:center}
  .loop-return::before{display:none}
  .loop-return span{position:static;transform:none;white-space:normal}
  .loop .dg-sum{margin-top:18px}
}
section.statement .loop-node{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
section.statement .loop-node b{color:#fff}
section.statement .loop-node small{color:var(--on-navy-2)}
section.statement .loop-node.hi{background:rgba(143,174,146,.22);border-color:rgba(143,174,146,.7)}
section.statement .loop-node.hi small{color:var(--sage)}
section.statement .loop-arrow::before{background:var(--tan)}
section.statement .loop-return{border-color:var(--tan)}
section.statement .loop-arrow::after{border-left-color:var(--tan)}
section.statement .loop-return::before{border-bottom-color:var(--tan)}
section.statement :is(.loop-arrow span,.loop-return span){color:var(--tan)}
section.statement .loop-return{background:transparent}
@media(max-width:40em){section.statement .loop-arrow::after{border-top-color:var(--tan)}}

/* capital stack: the same project funded two ways */
.cs-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(14px,3vw,32px);align-items:end}
.cs-t{font-family:var(--f-d);font-weight:600;color:var(--navy);font-size:.95rem;margin:0 0 10px;text-align:center;max-width:none}
.cs-stack{display:flex;flex-direction:column;gap:4px;height:280px}
.cs-layer{flex:0 0 calc(var(--h) * 1% - 3px);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:.82rem;min-height:0}
.cs-layer.debt{background:rgba(15,37,68,.10);color:var(--navy)}
.cs-layer.mezz{background:var(--navy);color:#fff}
.cs-layer.equity{background:var(--copper-t);color:#fff}
.cs-layer.equity.built{background:var(--sage-ink)}
.cs-layer b{font-family:var(--f-d);font-weight:600;color:inherit}
.cs-delta{text-align:center;width:clamp(120px,16vw,170px);font-size:.8rem;color:var(--graphite);padding-bottom:26px;line-height:1.35}
.cs-delta b{display:block;color:var(--navy);font-family:var(--f-d);font-size:.95rem;margin:10px 0 4px}
.cs-arrow{display:block;width:100%;height:2px;background:var(--copper);position:relative}
.cs-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:8px solid var(--copper);border-right:0}
@media(max-width:37.5em){
  .cs-grid{grid-template-columns:1fr 1fr;gap:12px}
  .cs-delta{grid-column:1 / -1;width:auto;padding:8px 0 0}
  .cs-arrow{display:none}
  .cs-stack{height:220px}.cs-layer{padding:0 8px;font-size:.72rem}
}
section.statement .cs-t{color:#fff}
section.statement .cs-layer.debt{background:rgba(255,255,255,.14);color:#fff}
section.statement .cs-delta{color:var(--on-navy)}
section.statement .cs-delta b{color:#fff}

/* the portfolio untangled: one security pool against four standalone facilities */
.pu-panel{border:1px solid var(--hair);border-radius:var(--r-l);padding:18px 18px 16px;background:var(--paper)}
.pu-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pu-tile{position:relative;aspect-ratio:1 / .78;border-radius:8px;background:rgba(15,37,68,.08);border:1px solid var(--hair)}
.pu-tile i{position:absolute;left:50%;top:22%;width:38%;height:34%;transform:translateX(-50%);border:1.5px solid var(--navy);border-radius:3px 3px 2px 2px;opacity:.55}
.pu-tile i::before{content:"";position:absolute;left:-18%;right:-18%;top:-40%;height:40%;border-top:1.5px solid var(--navy);border-left:1.5px solid transparent;border-right:1.5px solid transparent;border-radius:3px 3px 0 0}
.pu-tile::after{content:"";position:absolute;left:50%;bottom:-14px;width:2px;height:14px;background:var(--copper)}
.pu-bus{height:2px;background:var(--copper);margin:14px 12.5% 0;position:relative}
.pu-bus::after{content:"";position:absolute;left:50%;top:0;width:2px;height:16px;background:var(--copper);transform:translateX(-50%)}
.pu-lender{margin:16px auto 0;width:max-content;max-width:100%;padding:8px 16px;border-radius:999px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:500;text-align:center}
.after .pu-tile{border-color:rgba(143,174,146,.75);background:rgba(143,174,146,.16)}
.after .pu-tile i{border-color:var(--sage-deep);opacity:.85}
.after .pu-tile i::before{border-top-color:var(--sage-deep)}
.after .pu-tile::after{background:var(--sage-deep)}
.pu-lenders{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.pu-lenders span{display:block;text-align:center;padding:7px 4px;border-radius:999px;background:var(--sage-ink);color:#fff;font-size:.66rem;font-weight:500;letter-spacing:.02em}
.pu-note{margin-top:14px;font-size:.82rem;color:var(--mute);max-width:none}
.pu .g2{gap:18px}

/* ---------- extreme case: a very narrow screen, or a reader running large browser text ----------
   Loaded last so it wins over the component sheets. At default settings no phone reaches
   20em, so the shipped mobile layout is untouched. */
/* 20em is the extreme case: a narrow screen, or a reader running large text. At default
   settings no phone reaches it, so the shipped mobile layout is untouched. */
@media(max-width:20em){
  .ledger{grid-template-columns:1fr !important}
  .levers{grid-template-columns:1fr !important}
  .g2,.g3,.g4,.cards,.gtiles,.foot-grid{grid-template-columns:1fr !important}
  .rcalc-g,.stat3,.stat4,.stats,.chairs,.tax-grid,.cs-grid,.pu-tiles,.gtiles>.gt{grid-template-columns:1fr !important}
  /* the percentage sits inside its bar at normal sizes; enlarged there is no room, and the
     dollar figure beside the bar already carries the number */
  .dep-track,.bar-track{overflow:visible !important}
  .wf-row,.dep-row{grid-template-columns:1fr auto}
  /* the figure sits inside the bar at normal sizes; enlarged it would be clipped, so it drops below */
  .bar{grid-template-columns:1fr !important;gap:4px !important}
  .bar-l,.bar-v{overflow-wrap:anywhere;white-space:normal}
  /* the marker annotation is nowrap: enlarged, its text runs past the page edge */
  .chart-marker i{white-space:normal;max-width:60vw;overflow-wrap:anywhere}
  /* long email addresses and URLs have no break opportunity of their own */
  a,code,.mono{overflow-wrap:anywhere}
  /* the SMSF loop stacks; its arrow labels must not stay on one line */
  .loop-arrow span,.loop-return span{position:static;transform:none;display:block;white-space:normal;text-align:center;left:auto;top:auto}
  .loop-arrow{height:auto;min-height:34px}   /* the label sits above the bar, not beside it */
  .bar-track{overflow:visible}
  .bar-v{position:static;display:block;left:auto;transform:none;margin-top:6px;background:none;padding:0}

@media(max-width:20em){
  .stat,.rcalc-g>*,.stat4>*,.stat3>*{min-width:0}
  /* label and figure sit on one flex line at normal sizes; enlarged they need two */
  .rc-row{flex-wrap:wrap !important}
  .rc-row>*{min-width:0;overflow-wrap:anywhere}
  .rcalc input,.rcalc select{max-width:100%}
}
