/* ============================================================================
   v15.css — home-v15, flow kept / LAYOUTS REDESIGNED (2026-06-09, pass 2).
   George: flow is right, sections feel cramped + label-heavy. This layer:
   no chapter numbers, no caps eyebrows, fewer hairline rows, bigger type
   moments, off-center grids, negative space. The page stacks 1–4 structural
   OPTIONS per section (subtle gray dividers) — George picks, we cut.
   Sits on zara.css + lab.css + v14.css (dock / footer / fphoto carry over).
   ============================================================================ */

/* safety net: never let a rogue box create horizontal page scroll
   (clip, not hidden — keeps position:sticky in the FAQ working) */
body{overflow-x:clip}

/* ---- option divider (lab chrome, deliberately quiet) ---- */
.vd{display:flex;align-items:center;gap:1.4rem;max-width:var(--maxw);margin:clamp(3.5rem,7vw,5.5rem) auto;padding-inline:var(--pad)}
.vd::before,.vd::after{content:"";flex:1;height:1px;background:var(--line)}
.vd span{font-size:.7rem;letter-spacing:.16em;color:#9aa3b8;text-align:center;max-width:75vw}

/* ============================== HERO ============================== */
/* A — split, quiet: no eyebrow, no router inside; just claim + film */
.hero-a{display:grid;grid-template-columns:1fr;background:var(--paper)}
.hero-a .hc{padding:clamp(7.5rem,14vw,11rem) var(--pad) clamp(3rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center}
.hero-a h1{font-size:clamp(2.7rem,6vw,5rem);max-width:13ch}
.hero-a .lede{margin-top:1.4rem;color:rgba(1,30,147,.72);max-width:44ch;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.55}
.hero-a .cta-row{margin-top:2.2rem}
.hero-a .hm{position:relative;min-height:clamp(280px,52vw,420px);background:#0a1830;overflow:hidden}
.hero-a .hm video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:980px){
  .hero-a{grid-template-columns:1.05fr .95fr;min-height:90vh;align-items:stretch}
  .hero-a .hm{min-height:0}
  .hero-a .hc{max-width:calc(var(--maxw)*.55);justify-self:end;width:100%}
}

/* B — centered statement + cinematic band below */
.hero-b{padding-top:clamp(8.5rem,15vw,12rem);text-align:center;background:var(--paper)}
.hero-b h1{font-size:clamp(2.8rem,6.5vw,5.6rem);max-width:15ch;margin:0 auto}
.hero-b .lede{margin:1.6rem auto 0;color:rgba(1,30,147,.72);max-width:46ch;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.55}
.hero-b .cta-row{margin-top:2.4rem;justify-content:center}
/* width:100% keeps aspect-ratio from inflating the WIDTH when min-height kicks in (it stretched the page to 700px on mobile) */
.hero-b .band{position:relative;margin-top:clamp(3.5rem,7vw,5.5rem);width:100%;aspect-ratio:21/9;min-height:300px;background:#0a1830;overflow:hidden}
.hero-b .band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* C — off-center editorial: huge claim, staggered aside, inset film */
.hero-c{padding:clamp(8.5rem,15vw,12rem) 0 clamp(3rem,6vw,5rem);background:var(--paper)}
.hero-c .grid{display:grid;grid-template-columns:1fr;gap:0 2rem;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.hero-c h1{grid-column:1/-1;font-size:clamp(3rem,8vw,7rem);line-height:.98;max-width:11ch}
.hero-c .aside{grid-column:1/-1;margin-top:2.2rem;max-width:38ch}
.hero-c .aside .lede{color:rgba(1,30,147,.72);font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.6}
.hero-c .aside .cta-row{margin-top:1.8rem}
.hero-c .inset{grid-column:1/-1;margin-top:3rem;position:relative;aspect-ratio:16/9;background:#0a1830;overflow:hidden}
.hero-c .inset video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:980px){
  .hero-c .grid{grid-template-columns:repeat(12,1fr)}
  .hero-c h1{grid-column:1/10}
  .hero-c .aside{grid-column:8/13;margin-top:4.5rem}
  .hero-c .inset{grid-column:1/7;margin-top:-2rem}   /* overlaps upward — off-grid */
}

/* D — full-bleed film, one line, one button */
.hero-d{position:relative;min-height:82vh;display:flex;align-items:flex-end;background:#0a1830;overflow:hidden}
.hero-d video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-d::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,31,60,.10),rgba(10,22,46,.62))}
.hero-d .in{position:relative;z-index:2;width:100%;padding-bottom:clamp(3rem,6vw,5rem)}
.hero-d h1{color:#fff;font-size:clamp(2.6rem,6vw,5rem);max-width:14ch}
.hero-d .cta-row{margin-top:2rem}

/* ---- the router, its own quiet band (shared by all heroes) ---- */
.router-band{padding-block:clamp(3rem,6vw,4.5rem)}
.router-band .rq{font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--blue);margin-bottom:1.6rem}
.rtiles{display:grid;grid-template-columns:1fr;gap:1rem}
.rtile{border:1px solid var(--line);padding:clamp(1.5rem,2.6vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,1.9vw,1.55rem);color:var(--blue);line-height:1.15;
  transition:background .25s ease,border-color .25s ease}
.rtile::after{content:"→";font-family:var(--sans);font-size:1rem;color:var(--muted);transition:transform .25s ease}
.rtile:hover{background:var(--wash);border-color:var(--blue)}
.rtile:hover::after{transform:translateX(4px)}
@media (min-width:860px){ .rtiles{grid-template-columns:repeat(3,1fr)} .rtile{flex-direction:column;align-items:flex-start;min-height:150px} .rtile::after{margin-top:auto} }

/* ============================== TRUST ============================== */
/* A — premium credential badges */
.trust-badges{padding-block:clamp(3.5rem,7vw,5.5rem)}
.badges{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.9rem,2vw,1.3rem)}
.badge-m{background:#fff;border:1px solid var(--line);padding:clamp(1.8rem,3.5vw,2.8rem) 1.4rem;text-align:center;display:flex;flex-direction:column;gap:.8rem;align-items:center;justify-content:center}
.badge-m .bn{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.8vw,2.4rem);color:var(--blue);line-height:1}
.badge-m .bl{font-size:.78rem;color:var(--muted);letter-spacing:.06em;line-height:1.45;max-width:22ch}
@media (min-width:860px){ .badges{grid-template-columns:repeat(4,1fr)} }

/* B — slow marquee of the same marks */
.trust-marq{border-block:1px solid var(--line);padding:1.6rem 0;overflow:hidden}
.trust-marq .track{display:flex;gap:0;width:max-content;animation:marq 36s linear infinite}
.trust-marq:hover .track{animation-play-state:paused}
.trust-marq .mi{display:inline-flex;align-items:baseline;gap:.9rem;white-space:nowrap;padding-inline:3rem;border-right:1px solid var(--line)}
.trust-marq .mi b{font-family:var(--serif);font-weight:300;font-size:1.6rem;color:var(--blue)}
.trust-marq .mi span{font-size:.85rem;color:var(--muted);letter-spacing:.04em}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .trust-marq .track{animation:none} }

/* ============================== THE PATH ============================== */
/* A — zigzag: ghost numerals, alternating offsets, one line per step */
.path2{padding-block:var(--sec)}
.path2 .hd{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.path2 h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch}
.path2 .psteps{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.pstep{display:grid;grid-template-columns:1fr;gap:0 2rem;margin-top:clamp(3.5rem,8vw,6.5rem);align-items:start}
.pstep .num{grid-column:1/-1;font-family:var(--serif);font-weight:300;font-size:clamp(4.5rem,11vw,9rem);line-height:.85;color:rgba(1,30,147,.10)}
.pstep .pc{grid-column:1/-1;margin-top:-.6em}
.pstep .meta{font-size:.85rem;color:var(--muted);letter-spacing:.03em}
.pstep .meta b{color:var(--red);font-weight:500}
.pstep h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.8vw,2.3rem);color:var(--blue);line-height:1.1;margin-top:.5rem}
.pstep p{font-size:1rem;color:var(--muted);line-height:1.6;max-width:46ch;margin-top:.7rem}
@media (min-width:860px){
  .pstep{grid-template-columns:repeat(12,1fr)}
  .pstep:nth-child(odd) .num{grid-column:1/4}
  .pstep:nth-child(odd) .pc{grid-column:4/10;margin-top:.4rem}
  .pstep:nth-child(even) .num{grid-column:6/9;text-align:right}
  .pstep:nth-child(even) .pc{grid-column:9/13;margin-top:.4rem}
}
.path2 .cta-row{justify-content:center;margin-top:clamp(4rem,8vw,6rem);flex-direction:column;gap:.9rem}
.path2 .cta-sub{font-size:.95rem;color:var(--muted)}

/* B — five boxed steps in a row (scroll-snap on mobile) */
.path3{padding-block:var(--sec)}
.path3 h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.path3 .row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(252px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch}
.path3 .row::-webkit-scrollbar{display:none}
.pc3{border:1px solid var(--line);padding:1.7rem 1.5rem;min-height:265px;display:flex;flex-direction:column;scroll-snap-align:start;background:#fff}
.pc3 .d{font-size:.8rem;color:var(--red);letter-spacing:.06em;font-weight:500}
.pc3 h3{font-family:var(--serif);font-weight:300;font-size:1.45rem;color:var(--blue);line-height:1.15;margin-top:.8rem}
.pc3 p{font-size:.92rem;color:var(--muted);line-height:1.55;margin-top:.6rem}
.pc3 .yp{margin-top:auto;padding-top:1.2rem;font-size:.82rem;color:var(--muted)}
.pc3 .yp b{color:var(--blue);font-weight:500}

/* ============================== SERVICES (moved up) ============================== */
/* A — boxes with real gaps (air, not hairlines) */
.svcboxes-sec{padding-block:var(--sec);background:var(--tint)}
.svcboxes-sec h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:20ch;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.svcboxes{display:grid;grid-template-columns:1fr;gap:clamp(.9rem,1.8vw,1.3rem)}
.sb{background:#fff;padding:clamp(1.7rem,3vw,2.3rem);min-height:185px;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;transition:transform .25s ease}
.sb:hover{transform:translateY(-3px)}
.sb h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.2vw,1.75rem);color:var(--blue);line-height:1.12}
.sb p{font-size:.92rem;color:var(--muted);line-height:1.5}
@media (min-width:680px){ .svcboxes{grid-template-columns:1fr 1fr} }
@media (min-width:1020px){ .svcboxes{grid-template-columns:repeat(3,1fr)} }

/* B — staggered serif list, two off-set columns */
.svclist-sec{padding-block:var(--sec)}
.svclist-sec .shead{max-width:30ch;margin-bottom:clamp(3rem,6vw,4.5rem)}
.svclist-sec .shead h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.svclist{display:grid;grid-template-columns:1fr;gap:0 6rem;max-width:1080px}
.svclist .li{padding:clamp(1.6rem,3vw,2.2rem) 0;border-top:1px solid var(--line)}
.svclist .li h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--blue);line-height:1.1}
.svclist .li p{font-size:.95rem;color:var(--muted);margin-top:.5rem;max-width:40ch}
@media (min-width:860px){
  .svclist{grid-template-columns:1fr 1fr}
  .svclist .col2{margin-top:5.5rem}   /* the off-set */
}

/* ============================== THE FIRM ============================== */
/* A — founder-led: big portrait, big statement, three facts, no clutter */
.firm2{padding-block:var(--sec)}
.firm2 .grid{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,5vw,4rem);align-items:center;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.firm2 .fph{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--tint);max-width:460px}
.firm2 .fph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.firm2 .fph figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.3rem;color:#fff;font-size:.9rem;letter-spacing:.03em;
  background:linear-gradient(0deg,rgba(10,22,46,.72),rgba(10,22,46,0))}
.firm2 .fstatement{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.16;color:var(--blue);max-width:18ch}
.firm2 .facts{margin-top:clamp(2rem,4vw,2.8rem);display:flex;flex-direction:column;gap:1.1rem;max-width:46ch}
.firm2 .facts .f{font-size:1.02rem;color:var(--muted);line-height:1.5;padding-left:1.3rem;position:relative}
.firm2 .facts .f::before{content:"";position:absolute;left:0;top:.55em;width:.45rem;height:.45rem;background:var(--blue);border-radius:50%}
.firm2 .facts .f b{color:var(--blue);font-weight:500}
.firm2 .grid .dotlink{margin-top:2rem}
@media (min-width:980px){ .firm2 .grid{grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,7vw,6rem)} }

/* B — film band with one line, then four big numerals */
.firmband{position:relative;height:clamp(320px,48vw,520px);overflow:hidden;background:#0a1830}
.firmband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.firmband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,31,60,.18),rgba(10,22,46,.55))}
.firmband .ovl{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end}
.firmband .ovl p{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.15;color:#fff;max-width:22ch;
  padding:0 var(--pad) clamp(2rem,4.5vw,3.2rem)}
.firmstats{padding-block:clamp(3.5rem,7vw,5.5rem)}
.firmstats .stats{gap:3rem 2rem}

/* ============================== IS BULGARIA RIGHT ============================== */
.fit{padding-block:var(--sec)}
.fit .bigq{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;color:var(--blue);
  text-align:center;max-width:16ch;margin:0 auto;text-wrap:balance}
.fit .cols{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,5vw,4rem);max-width:980px;margin:clamp(3rem,6.5vw,5rem) auto 0}
.fit .col h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.2vw,1.8rem);color:var(--blue);margin-bottom:1.2rem}
.fit .col ul{list-style:none;display:flex;flex-direction:column}
.fit .col li{padding:1rem 0;border-top:1px solid var(--line);font-size:1.02rem;line-height:1.5;color:var(--blue)}
.fit .col.no li{color:var(--muted)}
.fit .taxline{max-width:56ch;margin:clamp(3.5rem,7vw,5rem) auto 0;text-align:center;font-size:1.05rem;line-height:1.65;color:var(--blue)}
.fit .taxline b{font-weight:500}
.fit .meta{display:flex;justify-content:center;margin-top:2rem}
@media (min-width:760px){ .fit .cols{grid-template-columns:1fr 1fr} }

/* run-your-numbers (kept, aired out) */
.runnum-sec{padding-block:var(--sec);background:var(--tint)}
.runnum-sec h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:.4rem}
.runnum-sec .sub{color:var(--muted);max-width:50ch;font-size:1.02rem}
.runnum-sec .eufacts{margin-top:1.8rem;font-size:.88rem;color:var(--muted);letter-spacing:.02em}

/* ============================== THE COST ============================== */
/* A — open three columns, no boxes, statement first */
.cost2{padding-block:var(--sec)}
.cost2 .st{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.12;color:var(--blue);max-width:18ch;text-wrap:balance}
.cost2 .cols{display:grid;grid-template-columns:1fr;gap:clamp(2.2rem,4.5vw,3.5rem);margin-top:clamp(3rem,6vw,4.5rem)}
.cost2 .c .k{font-family:var(--serif);font-weight:300;font-size:1.15rem;color:var(--blue);opacity:.55;line-height:1}
.cost2 .c h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.45rem,2.2vw,1.8rem);color:var(--blue);margin-top:.8rem;line-height:1.12}
.cost2 .c p{font-size:.98rem;color:var(--muted);line-height:1.6;margin-top:.7rem;max-width:34ch}
.cost2 .meta{margin-top:clamp(3rem,5.5vw,4rem);display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center}
@media (min-width:860px){ .cost2 .cols{grid-template-columns:repeat(3,1fr)} }

/* B — navy statement band */
.costband{background:var(--navy);padding-block:clamp(4.5rem,9vw,7rem);text-align:center}
.costband p{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.2;color:#fff;max-width:24ch;margin:0 auto;text-wrap:balance}
.costband .cta-row{justify-content:center;margin-top:2.4rem}

/* ============================== THE PROOF ============================== */
/* A — quote cards on tint */
.proofcards-sec{padding-block:var(--sec);background:var(--tint)}
.proofcards-sec h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:clamp(2.4rem,5vw,3.6rem);max-width:22ch}
.proofcards{display:grid;grid-template-columns:1fr;gap:clamp(.9rem,1.8vw,1.3rem)}
.pcq{background:#fff;padding:clamp(1.8rem,3vw,2.4rem);display:flex;flex-direction:column;gap:1.1rem;min-height:230px}
.pcq .tn{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3vw,2.6rem);color:var(--blue);line-height:1}
.pcq .q{font-family:var(--serif);font-weight:300;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.35;color:var(--blue)}
.pcq .q::before{content:"“"}.pcq .q::after{content:"”"}
.pcq .who{margin-top:auto;font-size:.9rem;color:var(--muted);line-height:1.5}
.pcq .who b{color:var(--blue);font-weight:500;display:block}
@media (min-width:860px){ .proofcards{grid-template-columns:repeat(3,1fr)} }

/* B — staggered editorial quotes (off-grid) */
.proofstag-sec{padding-block:var(--sec)}
.proofstag{display:grid;grid-template-columns:1fr;gap:clamp(3rem,6vw,4.5rem) 6rem;max-width:1020px;margin:0 auto}
.proofstag .quote .q{font-size:clamp(1.3rem,2.2vw,1.8rem)}
@media (min-width:860px){
  .proofstag{grid-template-columns:1fr 1fr}
  .proofstag .quote:nth-child(2){margin-top:7rem}
  .proofstag .quote:nth-child(3){margin-top:-3rem}
}

/* ============================== FAQ ============================== */
.faqsplit-sec{padding-block:var(--sec)}
.faqsplit{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4.5vw,3.5rem)}
.faqsplit .left h2{font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:12ch}
.faqsplit .left p{margin-top:1.2rem;font-size:.98rem;color:var(--muted);max-width:30ch;line-height:1.6}
.faqsplit .left .dotlink{margin-top:1.6rem}
.faqsplit .acc{margin:0;max-width:none;border-top:1px solid var(--line)}
@media (min-width:980px){ .faqsplit{grid-template-columns:.7fr 1.3fr} .faqsplit .left{position:sticky;top:8rem;align-self:start} }

/* ============================== THE FORM ============================== */
/* A — refined navy split (no "Day 0") */
.lead .form-card{padding:clamp(2rem,3.6vw,3rem)}
.lead .after-note{margin-top:1.1rem;font-size:.85rem;color:var(--muted);text-align:center}
/* B — light, centered, narrow */
.lead-light{padding-block:var(--sec);background:var(--paper)}
.lead-light .inner{max-width:640px;margin:0 auto;padding-inline:var(--pad)}
.lead-light h2{font-size:clamp(2rem,4.2vw,3.2rem);text-align:center}
.lead-light .sub{text-align:center;color:var(--muted);margin:1.2rem auto 0;max-width:42ch;font-size:1.02rem;line-height:1.6}
.lead-light .form-card{border:1px solid var(--line);margin-top:clamp(2.4rem,5vw,3.4rem);padding:clamp(2rem,4vw,3rem)}
.lead-light .contacts{display:flex;justify-content:center;gap:2.4rem;margin-top:2rem;font-size:.95rem}
.lead-light .contacts a{color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:2px}

/* ============================================================================
   pass 3 — NEW "wild" options per section (negative space, animatable later)
   ============================================================================ */

/* hero E — one monumental word + a film ribbon on the right edge
   (animate: letters track in; the ribbon grows from the top) */
.hero-e{position:relative;min-height:88vh;display:flex;align-items:center;background:var(--paper);overflow:hidden}
.hero-e .inner{max-width:var(--maxw);margin:0 auto;width:100%;padding:clamp(7rem,14vw,10rem) var(--pad) clamp(3rem,6vw,5rem)}
.hero-e .pre{font-size:clamp(1.02rem,1.6vw,1.3rem);color:var(--muted);letter-spacing:.02em}
.hero-e .word{font-family:var(--serif);font-weight:300;color:var(--blue);line-height:.92;letter-spacing:-.02em;font-size:clamp(4rem,15vw,12rem);margin-top:.4rem}
.hero-e .sub{display:flex;flex-wrap:wrap;gap:1.4rem 2.8rem;align-items:center;margin-top:clamp(2.4rem,5vw,3.8rem)}
.hero-e .sub .lede{max-width:32ch;color:rgba(1,30,147,.72);font-size:1.02rem;line-height:1.6}
.hero-e .ribbon{position:absolute;top:0;right:clamp(1rem,5vw,5rem);width:clamp(96px,12vw,176px);height:100%;background:#0a1830;overflow:hidden}
.hero-e .ribbon video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
  .hero-e{min-height:auto}
  .hero-e .ribbon{position:static;width:100%;height:150px;margin-top:2.5rem}
  .hero-e .word{font-size:clamp(3.4rem,17vw,5rem)}
}

/* hero F — the ledger hero: claim + a ticking fact ledger
   (animate: rows tick in one by one, numbers count up) */
.hero-f{padding:clamp(8rem,15vw,11.5rem) 0 clamp(4rem,8vw,6rem);background:var(--paper)}
.hero-f .cols{display:grid;grid-template-columns:1fr;gap:3rem 5rem;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.hero-f h1{font-size:clamp(2.6rem,5.6vw,4.4rem);max-width:13ch}
.hero-f .lede{margin-top:1.3rem;color:rgba(1,30,147,.72);max-width:42ch;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55}
.hero-f .cta-row{margin-top:2rem}
.hero-f .ledg{border-top:1px solid var(--line);align-self:center;width:100%;max-width:430px}
.hero-f .lrw{display:flex;align-items:baseline;justify-content:space-between;gap:1.6rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.hero-f .lrw span{font-size:.88rem;color:var(--muted)}
.hero-f .lrw b{font-family:var(--serif);font-weight:300;font-size:1.25rem;color:var(--blue);white-space:nowrap}
@media (min-width:980px){ .hero-f .cols{grid-template-columns:1.15fr .85fr} }

/* router — the sentence (mad-libs; animate: the select underline pulses) */
.rsent{padding-block:clamp(3.5rem,7vw,5.5rem)}
.rsent p{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.5;color:var(--blue);max-width:26ch}
.rsent select{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--blue);border:0;border-bottom:1.5px solid rgba(1,30,147,.45);
  background:transparent;padding:0 1.4em 0 .15em;cursor:pointer;appearance:none;max-width:100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23011E93' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .15em center}
.rsent select:focus{outline:none;border-color:var(--blue)}
.rsent .cta-row{margin-top:2.2rem}

/* trust C — the engraved seal line (quiet luxury; animate: rules draw outward) */
.seals{padding-block:clamp(4.5rem,9vw,6.5rem);text-align:center}
.seals .r{width:46px;height:1px;background:var(--line);margin:0 auto}
.seals .line2{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2.6rem;margin:2rem auto;max-width:900px;padding-inline:var(--pad)}
.seals .line2 span{font-family:var(--serif);font-weight:300;font-size:clamp(1rem,1.7vw,1.3rem);letter-spacing:.12em;color:var(--blue)}

/* trust D — one massive ghost stat (animate: counts up on scroll) */
.bigstat{position:relative;padding-block:clamp(3rem,7vw,5rem);overflow:hidden}
.bigstat .n{font-family:var(--serif);font-weight:300;font-size:clamp(8rem,30vw,24rem);line-height:.82;color:rgba(1,30,147,.07);text-align:right;padding-inline:var(--pad);user-select:none}
.bigstat .cap{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);max-width:22ch;
  font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.3;color:var(--blue)}
.bigstat .cap small{display:block;margin-top:.8rem;font-family:var(--sans);font-size:.85rem;color:var(--muted);letter-spacing:.02em}

/* path C — the rail: one line, five dots, one step in focus
   (animate: scroll scrubs the focus along the rail) */
.rail{padding-block:var(--sec)}
.rail h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch}
.rail .line{position:relative;display:flex;justify-content:space-between;height:1px;background:rgba(1,30,147,.3);margin-top:clamp(3.5rem,7vw,5rem)}
.rail .dt{width:9px;height:9px;border-radius:50%;background:var(--blue);margin-top:-4px}
.rail .lbls{display:flex;justify-content:space-between;margin-top:.9rem;font-size:.74rem;letter-spacing:.04em;color:var(--muted)}
.rail .lbls span{flex:1;text-align:center}
.rail .lbls span:first-child{text-align:left}
.rail .lbls span:last-child{text-align:right}
.rail .focus{margin-top:clamp(3.5rem,7vw,5rem);max-width:34ch}
.rail .focus h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.6vw,2.9rem);color:var(--blue);line-height:1.08}
.rail .focus p{margin-top:1rem;font-size:1.02rem;color:var(--muted);line-height:1.6}
.rail .focus .meta{margin-top:1rem;font-size:.85rem;color:var(--muted)}
.rail .focus .meta b{color:var(--red);font-weight:500}

/* path D — the letter: the process as a short manifesto in type
   (animate: underlines draw on as you read) */
.pletter{padding-block:var(--sec)}
.pletter .txt{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.6;color:var(--blue);max-width:32ch;margin:0 auto}
.pletter .txt u{text-decoration-thickness:1px;text-underline-offset:.28em;text-decoration-color:rgba(1,30,147,.5)}
.pletter .sig2{max-width:32ch;margin:clamp(2.4rem,5vw,3.4rem) auto 0;text-align:right;font-size:.95rem;color:var(--muted)}

/* services C — index with dot leaders (animate: leaders draw, rows rise) */
.svcindex{padding-block:var(--sec)}
.svcindex h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:20ch;margin-bottom:clamp(2.6rem,5vw,4rem)}
.svcindex .it{display:flex;align-items:baseline;gap:1.1rem;padding:clamp(1rem,2vw,1.4rem) 0}
.svcindex .no{flex:none;width:2.3rem;font-size:.85rem;color:var(--muted)}
.svcindex .it h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.8vw,2.3rem);color:var(--blue);line-height:1.1}
.svcindex .ld{flex:1;min-width:40px;border-bottom:1px dotted rgba(1,30,147,.35);transform:translateY(-.35em)}
.svcindex .tg{flex:none;font-size:.85rem;color:var(--muted)}
@media (max-width:640px){ .svcindex .ld,.svcindex .tg{display:none} }

/* services D — the one-roof diagram (animate: lines draw from the centre) */
.orbit{padding-block:var(--sec)}
.orbit h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:20ch;margin-bottom:clamp(2rem,4vw,3rem)}
.orbit .stage{position:relative;max-width:720px;margin:0 auto;aspect-ratio:10/8}
.orbit svg{position:absolute;inset:0;width:100%;height:100%}
.orbit svg line{stroke:rgba(1,30,147,.22);stroke-width:1;vector-effect:non-scaling-stroke}
.orbit .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:var(--paper);padding:.8rem 1.2rem;
  font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,2.2vw,1.7rem);color:var(--blue);line-height:1.15}
.orbit .sat{position:absolute;transform:translate(-50%,-50%);background:var(--paper);padding:.45rem .8rem;white-space:nowrap;
  font-family:var(--serif);font-weight:300;font-size:clamp(.95rem,1.7vw,1.25rem);color:var(--blue)}
@media (max-width:680px){
  .orbit .stage{aspect-ratio:auto}
  .orbit svg{display:none}
  .orbit .core{position:static;transform:none;padding:0 0 1.2rem;text-align:left}
  .orbit .sat{position:static;transform:none;display:block;white-space:normal;padding:.85rem 0;border-top:1px solid var(--line)}
}

/* firm C — the signed statement (animate: the flourish draws itself) */
.signblock{padding-block:clamp(6rem,12vw,9rem);text-align:center}
.signblock .fph2{width:72px;height:72px;border-radius:50%;overflow:hidden;margin:0 auto clamp(1.8rem,4vw,2.6rem)}
.signblock .fph2 img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.signblock .stmt{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.3;color:var(--blue);max-width:26ch;margin:0 auto;text-wrap:balance}
.signblock .signame{margin-top:clamp(2.6rem,5.5vw,4rem);font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.7rem,3.2vw,2.5rem);color:var(--blue)}
.signblock .flourish{display:block;margin:.4rem auto 0;width:min(280px,60vw);height:18px}
.signblock .flourish path{stroke:var(--blue);stroke-width:1.2;fill:none;opacity:.6}
.signblock .sigrole{margin-top:.7rem;font-size:.88rem;color:var(--muted)}

/* firm D — the specimen plate: portrait centred, facts in the four corners
   (animate: corner facts fade in, thin pointers draw toward the centre) */
.specimen{position:relative;padding-block:clamp(5rem,10vw,8rem)}
.specimen .stagewrap{position:relative;max-width:1080px;margin:0 auto;min-height:620px}
.specimen .phc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(210px,26vw,300px);aspect-ratio:4/5;overflow:hidden;background:var(--tint)}
.specimen .phc img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.specimen .cf{position:absolute;max-width:21ch;font-size:.92rem;color:var(--muted);line-height:1.5}
.specimen .cf b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--blue);margin-bottom:.35rem;line-height:1.15}
.specimen .cf.tl{top:0;left:var(--pad)}
.specimen .cf.tr{top:0;right:var(--pad);text-align:right}
.specimen .cf.bl{bottom:0;left:var(--pad)}
.specimen .cf.br{bottom:0;right:var(--pad);text-align:right}
@media (max-width:760px){
  .specimen .stagewrap{min-height:0;display:flex;flex-direction:column;gap:2.2rem;align-items:center;text-align:center}
  .specimen .phc{position:static;transform:none;order:0}
  .specimen .cf{position:static;text-align:center;max-width:30ch}
  .specimen .cf.tr,.specimen .cf.br{text-align:center}
}

/* fit B — the two doors (animate: halves part as you arrive) */
.doors .halves{display:grid;grid-template-columns:1fr;position:relative}
.doors .q{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3.8rem);line-height:1.08;color:var(--blue);text-align:center;
  max-width:14ch;margin:0 auto;text-wrap:balance;padding:clamp(3.5rem,8vw,5.5rem) var(--pad) 0}
.doors .half{padding:clamp(2.6rem,6vw,4.5rem) var(--pad) clamp(3.5rem,8vw,5.5rem);display:flex;flex-direction:column;justify-content:flex-end}
.doors .half h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--blue);margin-bottom:1rem}
.doors .half ul{list-style:none}
.doors .half li{padding:.75rem 0;font-size:1rem;line-height:1.5;color:var(--blue);border-top:1px solid var(--line)}
.doors .half.no2{background:var(--tint)}
.doors .half.no2 li{color:var(--muted)}
@media (min-width:760px){
  .doors .halves{grid-template-columns:1fr 1fr}
  .doors .q{position:absolute;left:50%;top:clamp(3rem,7vw,4.5rem);transform:translateX(-50%);z-index:2;padding:0;width:90%}
  .doors .half{min-height:560px;padding-top:clamp(12rem,24vw,16rem)}
}

/* fit C — the adviser's checklist card (animate: boxes tick on scroll) */
.checkcard{padding-block:var(--sec)}
.checkcard .card2{max-width:560px;margin:0 auto;border:1px solid var(--line);padding:clamp(2rem,4.5vw,3rem);background:#fff}
.checkcard .card2 h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--blue);line-height:1.15;max-width:16ch}
.checkcard .ck{display:flex;gap:1rem;align-items:flex-start;padding:1.05rem 0;border-top:1px solid var(--line);font-size:1.02rem;line-height:1.5;color:var(--blue)}
.checkcard .ck:nth-of-type(1){margin-top:1.6rem}
.checkcard .bx{flex:none;width:19px;height:19px;border:1.5px solid var(--blue);margin-top:.15rem}
.checkcard .verdict{margin-top:1.6rem;font-size:.92rem;color:var(--muted);line-height:1.55}
.checkcard .meta{margin-top:1.4rem}

/* cost C — the quotation document (animate: the card rises; the stamp lands) */
.quotedoc{padding-block:var(--sec);background:var(--tint)}
.qdoc{position:relative;max-width:620px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:clamp(2.2rem,5vw,3.6rem)}
.qdoc .lh{display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  border-bottom:1px solid var(--line);padding-bottom:1.1rem}
.qdoc h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--blue);margin:1.8rem 0 1rem;line-height:1.12}
.qdoc .qrow{display:flex;align-items:baseline;gap:.9rem;padding:.85rem 0;font-size:1rem;color:var(--blue)}
.qdoc .qrow .ld{flex:1;border-bottom:1px dotted rgba(1,30,147,.35)}
.qdoc .qrow .vl{flex:none;color:var(--muted)}
.qdoc .stamp{position:absolute;right:clamp(1.2rem,4vw,2.4rem);bottom:clamp(1.2rem,4vw,2.4rem);transform:rotate(-7deg);
  border:1.5px solid var(--red);color:var(--red);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;padding:.55rem .85rem;opacity:.85}
.quotedoc .under{max-width:620px;margin:1.6rem auto 0;font-size:.9rem;color:var(--muted);text-align:center}

/* cost D — one sentence, monumental */
.onecost{padding-block:clamp(6rem,13vw,10rem);text-align:center}
.onecost p{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3.8rem);line-height:1.18;color:var(--blue);max-width:19ch;margin:0 auto;text-wrap:balance}
.onecost .cta-row{justify-content:center;margin-top:2.6rem}

/* proof C — tenure on a 2001→2026 timeline (animate: dots pop, stems grow) */
.yearsline{padding-block:var(--sec)}
.yearsline h2{font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:22ch}
.yl{position:relative;height:330px;margin-top:clamp(4.5rem,9vw,6.5rem)}
.yl .axis{position:absolute;top:0;left:0;right:0;height:1px;background:rgba(1,30,147,.28)}
.yl .yr{position:absolute;top:-2rem;font-size:.78rem;color:var(--muted)}
.yl .yr.s{left:0}.yl .yr.e{right:0}
.yl .mk{position:absolute;top:0}
.yl .mk .dt2{width:9px;height:9px;border-radius:50%;background:var(--blue);transform:translate(-50%,-50%)}
.yl .mk .stem{width:1px;background:var(--line);margin-left:-.5px}
.yl .mk .qq{transform:translateX(-50%);margin-top:.7rem;width:max-content;max-width:17ch}
.yl .mk .qq b{display:block;font-family:var(--serif);font-weight:300;font-size:1.25rem;color:var(--blue);line-height:1.1}
.yl .mk .qq p{margin-top:.35rem;font-family:var(--serif);font-size:.98rem;color:var(--blue);line-height:1.3}
.yl .mk .qq span{display:block;margin-top:.35rem;font-size:.78rem;color:var(--muted)}
@media (max-width:680px){
  .yl{height:auto;margin-top:3rem}
  .yl .axis,.yl .yr{display:none}
  .yl .mk{position:static}
  .yl .mk .dt2{display:none}
  .yl .mk .stem{display:none}
  .yl .mk .qq{transform:none;width:auto;max-width:34ch;margin:0 0 2rem;padding-left:1.1rem;border-left:1.5px solid var(--blue)}
}

/* proof D — ten years, monumental */
.tenline{padding-block:clamp(6rem,12vw,9rem);text-align:center}
.tenline .huge{font-family:var(--serif);font-weight:300;font-size:clamp(4rem,15vw,11rem);line-height:.9;letter-spacing:-.02em;color:var(--blue)}
.tenline .q2{margin-top:2rem;font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--blue);max-width:30ch;margin-inline:auto;line-height:1.35}
.tenline .who2{margin-top:1rem;font-size:.9rem;color:var(--muted)}
.tenline .others{margin-top:clamp(2.6rem,5vw,3.6rem);font-size:.9rem;color:var(--muted);letter-spacing:.02em}

/* FAQ B — questions as an index, answers right (animate: staggered reveal) */
.faqindex{padding-block:var(--sec)}
.fqi{display:grid;grid-template-columns:1fr;gap:.9rem 5rem;padding:clamp(1.8rem,3.6vw,2.6rem) 0;border-top:1px solid var(--line)}
.fqi h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.8vw,2.2rem);color:var(--blue);line-height:1.12;max-width:18ch}
.fqi p{font-size:.98rem;color:var(--muted);line-height:1.6;max-width:42ch}
@media (min-width:860px){ .fqi{grid-template-columns:1.05fr .95fr} }

/* FAQ C — the printed interview */
.interview{padding-block:var(--sec)}
.iv{display:grid;grid-template-columns:2.4rem 1fr;gap:0 1.4rem;max-width:740px;margin:0 auto}
.iv .qm{font-family:var(--serif);font-weight:300;font-size:1.5rem;color:var(--blue);line-height:1.1}
.iv .qt{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2.3vw,1.8rem);color:var(--blue);line-height:1.2;padding-bottom:.7rem}
.iv .at{font-size:1rem;color:var(--muted);line-height:1.65;padding-bottom:clamp(2rem,4vw,2.8rem)}

/* form C — the sentence form (mad-libs; animate: underlines fill as you type) */
.madlibs{padding-block:var(--sec)}
.madlibs .ml{max-width:780px;margin:0 auto;font-family:var(--serif);font-weight:300;font-size:clamp(1.45rem,2.9vw,2.2rem);line-height:2;color:var(--blue)}
.madlibs .ml input,.madlibs .ml select{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--blue);
  border:0;border-bottom:1.5px solid rgba(1,30,147,.4);background:transparent;padding:0 .2em;max-width:100%}
.madlibs .ml select{cursor:pointer;appearance:none;padding-right:1.3em;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23011E93' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .1em center}
.madlibs .ml input:focus,.madlibs .ml select:focus{outline:none;border-color:var(--blue)}
.madlibs .ml input::placeholder{color:#66728C}  /* was #aab3cc = 2.1:1, the worst on the site; now 4.8:1 */
.madlibs .below{max-width:780px;margin:clamp(2.2rem,4.5vw,3rem) auto 0}
.madlibs .below .consent{color:var(--muted)}
.madlibs .below .btn{width:auto;min-width:220px}

/* form D — navy minimal: underline fields, no card (animate: lines extend on focus) */
.navmin{background:var(--navy);padding-block:var(--sec)}
.navmin .inner2{max-width:620px;margin:0 auto;padding-inline:var(--pad)}
.navmin h2{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem)}
.navmin .sub2{margin-top:1.2rem;color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.6;max-width:44ch}
.navmin form{margin-top:clamp(2.6rem,5vw,3.6rem)}
.navmin .fl{margin-bottom:2rem}
.navmin label{display:block;font-size:.78rem;letter-spacing:.06em;color:rgba(255,255,255,.55);margin-bottom:.3rem}
.navmin input,.navmin select,.navmin textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);
  color:#fff;font-family:var(--sans);font-weight:300;font-size:1.08rem;padding:.55rem 0;border-radius:0}
.navmin textarea{min-height:84px;resize:vertical}
.navmin input::placeholder,.navmin textarea::placeholder{color:rgba(255,255,255,.4)}
.navmin input:focus,.navmin select:focus,.navmin textarea:focus{outline:none;border-color:#fff}
.navmin select{color:#fff}
.navmin select option{color:var(--blue)}
.navmin .consent{color:rgba(255,255,255,.7)}
.navmin .consent a{color:#fff}
.navmin .btn{width:100%}
.navmin .form-note{color:rgba(255,255,255,.7)}
