/* ========== Tokens ========== */
:root{
  --maroon:#5C1620; --maroon-deep:#47101A; --maroon-night:#330B12;
  --brass:#A8823F; --brass-light:#C9A35E; --brass-pale:#E4CFA4;
  --taupe:#8A7C70; --bone:#F1EDE6; --ink:#2B2523;

  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,5rem);
  --text-hero:clamp(2.75rem,.5rem + 6vw,6.25rem);

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

  --radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1.25rem;
  --transition-interactive:180ms cubic-bezier(.16,1,.3,1);
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);

  --font-body:'IBM Plex Sans','Segoe UI',sans-serif;
  --font-display:'IBM Plex Sans','Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;

  --content-wide:1280px; --content-default:1080px; --content-narrow:720px;
  --gutter:clamp(1.25rem,4vw,3rem);

  /* light (default) */
  --color-bg:#F1EDE6;
  --color-surface:#F8F5F0;
  --color-surface-2:#FCFAF7;
  --color-surface-offset:#E8E1D6;
  --color-text:#2B2523;
  --color-text-muted:#63574E;
  --color-text-faint:#8A7C70;
  --color-border:oklch(from #2B2523 l c h / .12);
  --color-border-strong:oklch(from #2B2523 l c h / .22);
  --color-primary:#5C1620;
  --color-primary-hover:#47101A;
  --color-accent:#A8823F;
  --color-accent-text:#7E5F28;
  --color-focus:#7E5F28;
  --shadow-sm:0 1px 2px oklch(from #47101A l c h / .08);
  --shadow-md:0 8px 24px -8px oklch(from #47101A l c h / .18);
  --shadow-lg:0 24px 60px -20px oklch(from #47101A l c h / .28);
  --band:#5C1620; --band-deep:#47101A; --band-text:#F1EDE6; --band-muted:#D9CDBE;
  --logo-left:#5C1620; --logo-right:#A8823F;
}
[data-theme="dark"]{
  --color-bg:#2B2523;
  --color-surface:#342C2A;
  --color-surface-2:#3B3230;
  --color-surface-offset:#241F1D;
  --color-text:#F1EDE6;
  --color-text-muted:#CDBFB0;
  --color-text-faint:#A8998B;
  --color-border:oklch(from #F1EDE6 l c h / .12);
  --color-border-strong:oklch(from #F1EDE6 l c h / .22);
  --color-primary:#C9A35E;
  --color-primary-hover:#E4CFA4;
  --color-accent:#C9A35E;
  --color-accent-text:#D9B878;
  --color-focus:#E4CFA4;
  --shadow-md:0 8px 24px -8px oklch(from #1E1715 l c h / .5);
  --shadow-lg:0 24px 60px -20px oklch(from #1E1715 l c h / .6);
  --band:#3A0E15; --band-deep:#2E0B11;
}

/* ========== Base ========== */
body{font-weight:400;overflow-x:hidden}
a{color:var(--color-accent-text);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--color-primary)}
.wrap{width:min(100% - 2*var(--gutter),var(--content-wide));margin-inline:auto}
.wrap--default{width:min(100% - 2*var(--gutter),var(--content-default))}
.wrap--narrow{width:min(100% - 2*var(--gutter),var(--content-narrow))}
.skip{position:absolute;left:var(--space-4);top:-100px;z-index:200;background:var(--brass);color:var(--maroon-night);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-weight:600}
.skip:focus{top:var(--space-4)}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-text);display:inline-flex;align-items:center;gap:var(--space-3);font-weight:500}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.band .eyebrow{color:var(--brass-light)}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}
.h-section{font-size:var(--text-2xl);line-height:1.05;letter-spacing:-.03em}
.h-sub{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}
.lede{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.5;font-weight:400}
.muted{color:var(--color-text-muted)}
.mono{font-family:var(--font-mono)}
.brass{color:var(--color-accent-text)}
section{position:relative}
.pad{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.pad-sm{padding-block:clamp(var(--space-12),6vw,var(--space-20))}

/* ========== Buttons ========== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm);text-decoration:none;letter-spacing:.01em;border:1px solid transparent;transition:background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive),transform var(--transition-interactive),box-shadow var(--transition-interactive)}
.btn svg{width:18px;height:18px;flex:none}
.btn--brass{background:var(--brass);color:var(--maroon-night)}
.btn--brass:hover{background:var(--brass-light);color:var(--maroon-night);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--primary{background:var(--maroon);color:var(--bone)}
.btn--primary:hover{background:var(--maroon-deep);color:var(--bone);transform:translateY(-1px);box-shadow:var(--shadow-md)}
[data-theme="dark"] .btn--primary{background:var(--brass);color:var(--maroon-night)}
[data-theme="dark"] .btn--primary:hover{background:var(--brass-light)}
.btn--ghost{border-color:oklch(from var(--bone) l c h / .35);color:var(--bone)}
.btn--ghost:hover{border-color:var(--brass-light);color:var(--brass-pale);background:oklch(from var(--bone) l c h / .06)}
.btn--line{border-color:var(--color-border-strong);color:var(--color-text)}
.btn--line:hover{border-color:var(--color-primary);color:var(--color-primary)}
.btn:active{transform:translateY(0) scale(.98)}
.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-sm);text-decoration:none;color:var(--color-primary)}
.link-arrow svg{width:16px;height:16px;transition:transform var(--transition-interactive)}
.link-arrow:hover svg{transform:translateX(4px)}

/* ========== Header ========== */
.site-header{position:sticky;top:0;z-index:100;background:oklch(from var(--band) l c h / .94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--band-text);border-bottom:1px solid oklch(from var(--brass) l c h / .0);transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}
.site-header.is-scrolled{border-bottom-color:oklch(from var(--brass) l c h / .45)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:76px}
.brand{display:flex;align-items:center;color:inherit;text-decoration:none;flex:none}
.brand svg{height:40px;width:auto}
.logo .ml{fill:var(--logo-left)}.logo .mr{fill:var(--logo-right)}.logo .wf{fill:var(--logo-word,var(--maroon))}.logo .wd{fill:var(--logo-sub,var(--taupe))}
.logo--rev{--logo-left:#F1EDE6;--logo-right:#A8823F;--logo-word:#F1EDE6;--logo-sub:#D9CDBE}
.nav{display:flex;align-items:center;gap:var(--space-1)}
.nav a{color:var(--band-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);position:relative}
.nav a:hover{color:var(--bone);background:oklch(from var(--bone) l c h / .07)}
.nav a[aria-current="page"]{color:var(--bone)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:2px;height:2px;background:var(--brass)}
.nav .nav-cta{margin-left:var(--space-3);background:var(--brass);color:var(--maroon-night);padding:var(--space-2) var(--space-4);font-weight:600;min-height:42px;display:inline-flex;align-items:center}
.nav .nav-cta:hover{background:var(--brass-light);color:var(--maroon-night)}
.nav .nav-cta[aria-current="page"]::after{display:none}
.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:var(--radius-sm);color:var(--band-muted)}
.icon-btn:hover{color:var(--bone);background:oklch(from var(--bone) l c h / .08)}
.icon-btn svg{width:20px;height:20px}
.menu-btn{display:none}
@media (max-width:1080px){
  .menu-btn{display:inline-grid}
  .nav{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--band-deep);padding:var(--space-4) var(--gutter) var(--space-8);border-bottom:1px solid oklch(from var(--brass) l c h / .4);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .35s var(--ease-out),visibility 0s .35s}
  .nav.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .35s var(--ease-out)}
  .nav a{padding:var(--space-4) var(--space-2);font-size:var(--text-base);border-bottom:1px solid oklch(from var(--bone) l c h / .08);border-radius:0}
  .nav a[aria-current="page"]::after{left:0;right:auto;width:3px;height:60%;top:20%;bottom:auto}
  .nav .nav-cta{margin:var(--space-4) 0 0;justify-content:center;border-radius:var(--radius-sm);border:0}
}
@media (max-width:520px){.brand svg{height:32px}}

/* ========== Hero (home) ========== */
.hero{background:var(--band);color:var(--band-text);overflow:hidden;min-height:min(92vh,880px);display:flex;align-items:center;isolation:isolate}
.hero canvas.hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.9}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--brass) 20%,var(--brass) 80%,transparent);opacity:.6}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(var(--space-8),5vw,var(--space-20));align-items:center;padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.hero h1{font-size:var(--text-hero);line-height:.95;letter-spacing:-.045em;font-weight:600;margin-block:var(--space-6) var(--space-6)}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .line>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease-out)}
.hero h1 .accent{color:var(--brass-light)}
.hero.is-ready h1 .line>span{transform:translateY(0)}
.hero.is-ready h1 .line:nth-child(2)>span{transition-delay:.12s}
.hero.is-ready h1 .line:nth-child(3)>span{transition-delay:.24s}
.hero .lede{color:var(--band-muted);max-width:52ch}
.hero-fade{opacity:0;transition:opacity .9s var(--ease-out) .5s}
.hero.is-ready .hero-fade{opacity:1}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-10);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid oklch(from var(--bone) l c h / .14)}
.hero-meta div{display:flex;flex-direction:column;gap:var(--space-1)}
.hero-meta b{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;color:var(--bone);font-variant-numeric:tabular-nums}
.hero-meta span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted)}

.interlock{position:relative;aspect-ratio:1/1;width:100%;max-width:520px;margin-inline:auto;perspective:1200px;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:var(--radius-lg)}
.interlock-stage{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;transition:transform .6s var(--ease-out)}
.interlock svg{width:64%;height:auto;overflow:visible;filter:drop-shadow(0 30px 40px oklch(from #1E0609 l c h / .45))}
.interlock .half{transition:transform 1.25s cubic-bezier(.7,0,.2,1),opacity .6s var(--ease-out)}
.interlock .half-l{transform:translateX(-340px)}
.interlock .half-r{transform:translateX(340px)}
.interlock .half{opacity:0}
.interlock.is-locked .half{transform:translateX(0);opacity:1}
.interlock.is-locked.is-hover .half-l{transform:translate(-14px,0)}
.interlock.is-locked.is-hover .half-r{transform:translate(14px,0)}
.interlock .ml{fill:#F1EDE6}.interlock .mr{fill:#A8823F}
.interlock-ring{position:absolute;inset:6%;border:1px solid oklch(from var(--brass) l c h / .35);border-radius:50%;}
.interlock-ring--2{inset:-2%;border-style:dashed;border-color:oklch(from var(--brass) l c h / .22);animation:spin 80s linear infinite}
.interlock-ring--3{inset:16%;border-color:oklch(from var(--bone) l c h / .08)}
@keyframes spin{to{transform:rotate(360deg)}}
.interlock-flash{position:absolute;left:50%;top:8%;bottom:8%;width:2px;margin-left:-1px;background:linear-gradient(transparent,var(--brass-pale),transparent);opacity:0;transform:scaleY(.2)}
.interlock.is-locked .interlock-flash{animation:flash 1.1s var(--ease-out) 1.05s 1 both}
@keyframes flash{0%{opacity:0;transform:scaleY(.2)}30%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)}}
.interlock-tag{position:absolute;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--band-muted);display:flex;align-items:center;gap:var(--space-2);opacity:0;transition:opacity .8s var(--ease-out) 1.6s}
.interlock-tag i{width:6px;height:6px;border-radius:50%;background:var(--brass);display:block}
.interlock.is-locked .interlock-tag{opacity:1}
.interlock-tag--a{left:-2%;top:18%}
.interlock-tag--b{right:-4%;top:40%}
.interlock-tag--c{left:6%;bottom:12%}
.interlock-hint{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:var(--text-xs);color:var(--band-muted);white-space:nowrap;font-family:var(--font-mono);letter-spacing:.06em;opacity:0;transition:opacity .8s 2.2s}
.interlock.is-locked .interlock-hint{opacity:.8}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .interlock{max-width:340px;order:-1;margin-bottom:calc(-1*var(--space-6))}
  .interlock-tag{display:none}
  .hero{min-height:auto}
}

/* ========== Marquee ========== */
.marquee{background:var(--band-deep);color:var(--band-muted);border-bottom:1px solid oklch(from var(--brass) l c h / .25);overflow:hidden;padding-block:var(--space-4)}
.marquee-track{display:flex;gap:var(--space-10);width:max-content;animation:marquee 46s linear infinite}
.marquee span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-10);white-space:nowrap}
.marquee span::after{content:"";width:6px;height:6px;background:var(--brass);transform:rotate(45deg)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ========== Services split (home) ========== */
.split-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:end;margin-bottom:var(--space-16)}
.split-head p{color:var(--color-text-muted)}
@media (max-width:820px){.split-head{grid-template-columns:1fr;gap:var(--space-6)}}
.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}
.svc{position:relative;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);text-decoration:none;color:inherit;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .3s}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:oklch(from var(--brass) l c h / .5);color:inherit}
.svc .num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-text);letter-spacing:.1em}
.svc h3{font-size:var(--text-xl);letter-spacing:-.025em;line-height:1.1}
.svc p{color:var(--color-text-muted)}
.svc .link-arrow{margin-top:auto}
.svc--a{grid-column:span 7;grid-row:span 2;background:var(--maroon);color:var(--bone);border-color:transparent;min-height:420px;justify-content:flex-end}
.svc--a p{color:var(--band-muted)}.svc--a .num{color:var(--brass-light)}.svc--a .link-arrow{color:var(--brass-pale);margin-top:var(--space-4)}
.svc--a:hover{color:var(--bone)}
.svc--a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;mix-blend-mode:luminosity;transition:transform 1.2s var(--ease-out),opacity .6s}
.svc--a:hover img{transform:scale(1.04);opacity:.36}
.svc--a>*{position:relative}
.svc--a h3{font-size:var(--text-2xl)}
.svc--b,.svc--c{grid-column:span 5}
.svc--d{grid-column:span 12;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-8)}
.svc--d>div{display:flex;flex-direction:column;gap:var(--space-3)}
.svc--d .link-arrow{margin-top:0;flex:none}
@media (max-width:900px){.svc--a,.svc--b,.svc--c,.svc--d{grid-column:span 12}.svc--a{min-height:340px}.svc--d{flex-direction:column;align-items:flex-start}}

/* ========== Journey ========== */
.journey{background:var(--color-surface-offset);}
.journey-intro{padding-top:clamp(var(--space-16),9vw,var(--space-32));padding-bottom:var(--space-12)}
.journey-track{position:relative;height:calc(var(--stages,6) * 85vh)}
.journey-sticky{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;align-items:center;overflow:hidden}
.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(var(--space-8),5vw,var(--space-20));align-items:center}
.journey-panel{position:relative;min-height:min(560px,calc(100vh - 200px))}
.stage{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out),visibility 0s .5s}
.stage.is-active{opacity:1;visibility:visible;transition:opacity .6s var(--ease-out) .1s}
.stage .big{font-size:clamp(4rem,2rem + 7vw,8.5rem);font-weight:600;letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--color-accent);font-variant-numeric:tabular-nums}
.stage h3{font-size:var(--text-2xl);letter-spacing:-.035em;line-height:1.02}
.stage p{color:var(--color-text-muted);max-width:50ch}
.plug{margin-top:var(--space-4);border:1px solid var(--color-border-strong);background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);align-items:start;max-width:520px}
.plug .dot{grid-row:span 2;margin-top:6px;width:10px;height:10px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 5px oklch(from var(--brass) l c h / .2)}
.plug small{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-text)}
.plug b{font-weight:600;font-size:var(--text-sm)}
.route{position:relative}
.route svg{width:100%;height:auto;overflow:visible}
.route .rail{fill:none;stroke:var(--color-border-strong);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round}
.route .trail{fill:none;stroke:var(--color-accent);stroke-width:3;stroke-linecap:round}
.route .node circle.o{fill:var(--color-surface-offset);stroke:var(--color-border-strong);stroke-width:2;transition:fill .4s,stroke .4s,r .4s var(--ease-out)}
.route .node circle.i{fill:var(--color-text-faint);transition:fill .4s, r .4s var(--ease-out)}
.route .node text{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;fill:var(--color-text-muted);text-transform:uppercase;transition:fill .3s}
.route .node .lbl{font-family:var(--font-body);font-size:17px;font-weight:600;letter-spacing:-.01em;fill:var(--color-text);text-transform:none}
.route .node.is-done circle.o{stroke:var(--color-accent);fill:var(--color-surface-2)}
.route .node.is-done circle.i{fill:var(--color-accent)}
.route .node.is-active circle.o{stroke:var(--color-accent);fill:var(--color-accent);r:20}
.route .node.is-active circle.i{fill:var(--color-surface-2);r:6}
.route .node{cursor:pointer}
.route .node:hover text{fill:var(--color-accent-text)}
.route .node:focus-visible{outline:none}
.route .node:focus-visible circle.o{stroke-width:4;stroke:var(--color-focus)}
.route .pulse{fill:none;stroke:var(--color-accent);stroke-width:1.5;opacity:.6;transform-box:fill-box;transform-origin:center;animation:pulse 2.2s var(--ease-out) infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.2);opacity:0}}
.journey-progress{position:absolute;left:0;right:0;bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.08em}
.journey-progress .bar{flex:1;height:2px;background:var(--color-border-strong);position:relative;overflow:hidden}
.journey-progress .bar i{position:absolute;inset:0;background:var(--color-accent);transform-origin:left;transform:scaleX(0)}
/* mobile journey */
.journey-list{display:none}
@media (max-width:900px){
  .journey-track{height:auto}
  .journey-sticky{display:none}
  .journey-list{display:block;position:relative;padding-bottom:var(--space-20)}
  .journey-list::before{content:"";position:absolute;left:15px;top:8px;bottom:var(--space-20);width:2px;background:var(--color-border-strong)}
  .journey-list .fill{position:absolute;left:15px;top:8px;width:2px;background:var(--color-accent);height:0;transition:height .2s linear}
  .jl-item{position:relative;padding-left:var(--space-12);padding-bottom:var(--space-10)}
  .jl-item::before{content:"";position:absolute;left:8px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--color-surface-offset);border:2px solid var(--color-border-strong);transition:background .3s,border-color .3s}
  .jl-item.is-seen::before{background:var(--color-accent);border-color:var(--color-accent)}
  .jl-item .k{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-accent-text)}
  .jl-item h3{font-size:var(--text-xl);margin:var(--space-2) 0 var(--space-3)}
  .jl-item p{color:var(--color-text-muted)}
}

/* ========== Audience / image band ========== */
.img-band{position:relative;min-height:clamp(420px,60vw,640px);display:flex;align-items:flex-end;color:var(--bone);overflow:hidden}
.img-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.img-band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(from var(--maroon-night) l c h / .1) 0%,oklch(from var(--maroon-night) l c h / .55) 45%,oklch(from var(--maroon-night) l c h / .92) 100%);z-index:1}
.img-band .wrap{position:relative;z-index:2;padding-block:var(--space-16)}
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-10);border-top:1px solid oklch(from var(--bone) l c h / .25);padding-top:var(--space-8)}
.aud h3{font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--bone)}
.aud p{color:var(--band-muted);font-size:var(--text-sm)}
.aud .k{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--brass-light);letter-spacing:.1em;display:block;margin-bottom:var(--space-3)}
@media (max-width:820px){.aud{grid-template-columns:1fr;gap:var(--space-6)}}

/* ========== Why ========== */
.why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(var(--space-10),6vw,var(--space-24))}
.why-list{display:flex;flex-direction:column}
.why-item{display:grid;grid-template-columns:56px 1fr;gap:var(--space-4);padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.why-item:last-child{border-bottom:1px solid var(--color-border)}
.why-item .n{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent-text);padding-top:3px}
.why-item h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.why-item p{color:var(--color-text-muted);font-size:var(--text-sm)}
.stat-card{margin-top:var(--space-10);background:var(--maroon);color:var(--bone);border-radius:var(--radius-lg);padding:var(--space-8);position:relative;overflow:hidden}
[data-theme="dark"] .stat-card{background:var(--band)}
.stat-card .v{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--brass-light);font-variant-numeric:tabular-nums}
.stat-card p{color:var(--band-muted);margin-top:var(--space-3);font-size:var(--text-sm)}
.stat-card small{display:block;margin-top:var(--space-4);font-size:var(--text-xs);color:oklch(from var(--bone) l c h / .6)}
@media (max-width:900px){.why{grid-template-columns:1fr}}

/* ========== Finder teaser ========== */
.teaser{background:var(--band);color:var(--bone);border-radius:var(--radius-xl);padding:clamp(var(--space-8),5vw,var(--space-16));display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center;overflow:hidden;position:relative}
.teaser p{color:var(--band-muted)}
.teaser h2{color:var(--bone)}
.teaser-demo{background:oklch(from var(--maroon-night) l c h / .6);border:1px solid oklch(from var(--brass) l c h / .35);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.td-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);gap:var(--space-4)}
.td-row span{color:var(--band-muted)}
.td-bar{height:6px;border-radius:3px;background:oklch(from var(--bone) l c h / .12);overflow:hidden}
.td-bar i{display:block;height:100%;background:var(--brass);width:0;transition:width 1.2s var(--ease-out)}
.teaser.is-in .td-bar i{width:var(--w)}
.td-score{display:flex;align-items:baseline;gap:var(--space-3);border-bottom:1px solid oklch(from var(--bone) l c h / .14);padding-bottom:var(--space-4)}
.td-score b{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.05em;color:var(--brass-light);line-height:1}
@media (max-width:900px){.teaser{grid-template-columns:1fr}}

/* ========== CTA band ========== */
.cta-band{border-top:1px solid var(--color-border)}
.cta-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-10);align-items:end}
.cta-inner .actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
@media (max-width:820px){.cta-inner{grid-template-columns:1fr}.cta-inner .actions{justify-content:flex-start}}

/* ========== Page hero (interior) ========== */
.page-hero{background:var(--band);color:var(--bone);padding-block:clamp(var(--space-16),8vw,var(--space-24)) clamp(var(--space-12),6vw,var(--space-20));position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--brass);opacity:.5}
.page-hero h1{font-size:var(--text-3xl);letter-spacing:-.045em;line-height:1;margin-block:var(--space-5);max-width:18ch}
.page-hero .lede{color:var(--band-muted);max-width:60ch}
.page-hero .ph-mark{position:absolute;right:calc(-1*var(--space-16));top:50%;transform:translateY(-50%);width:clamp(260px,32vw,460px);opacity:.09;pointer-events:none}
.page-hero .ph-mark .ml,.page-hero .ph-mark .mr{fill:var(--bone)}
.page-hero .ph-mark .mr{fill:var(--brass)}

/* ========== Services page ========== */
.svc-detail{display:grid;grid-template-columns:200px 1fr 260px;gap:var(--space-8);padding-block:var(--space-10);border-top:1px solid var(--color-border);align-items:start}
.svc-detail:last-of-type{border-bottom:1px solid var(--color-border)}
.svc-detail .num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent-text)}
.svc-detail h2{font-size:var(--text-xl);letter-spacing:-.03em;margin-bottom:var(--space-3)}
.svc-detail p{color:var(--color-text-muted)}
.svc-detail ul{margin-top:var(--space-4);padding-left:0;list-style:none;display:grid;gap:var(--space-2)}
.svc-detail li{position:relative;padding-left:var(--space-6);font-size:var(--text-sm)}
.svc-detail li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:1px;background:var(--color-accent)}
.svc-meta{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}
.chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-offset);color:var(--color-text-muted);border:1px solid var(--color-border)}
.chip--brass{background:oklch(from var(--brass) l c h / .14);color:var(--color-accent-text);border-color:oklch(from var(--brass) l c h / .35)}
@media (max-width:900px){.svc-detail{grid-template-columns:1fr;gap:var(--space-4)}}
.ethics{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-8),5vw,var(--space-12));display:grid;grid-template-columns:auto 1fr;gap:var(--space-8);align-items:start}
.ethics svg.shield{width:56px;height:auto}
@media (max-width:700px){.ethics{grid-template-columns:1fr}}
.feature-img{border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16/8}
.feature-img img{width:100%;height:100%;object-fit:cover}

/* ========== About ========== */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(var(--space-10),6vw,var(--space-24));align-items:start}
.about-grid .prose p+p{margin-top:var(--space-5)}
.about-grid .prose p{color:var(--color-text-muted)}
.about-grid .prose p:first-child{color:var(--color-text);font-size:var(--text-lg);line-height:1.5}
.portrait{border-radius:var(--radius-xl);overflow:hidden;position:sticky;top:110px}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.portrait figcaption{font-size:var(--text-xs);color:var(--color-text-faint);padding-top:var(--space-3)}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.portrait{position:relative;top:0}}
.name-blend{background:var(--band);color:var(--bone);border-radius:var(--radius-xl);padding:clamp(var(--space-8),5vw,var(--space-16));overflow:hidden}
.blend-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4) var(--space-6);margin-block:var(--space-10);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.03em}
.blend-row .op{color:var(--brass-light);font-weight:400}
.blend-part{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.blend-part small{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--band-muted);font-weight:400}
.blend-part .keep{color:var(--brass-light)}
.blend-part .drop{opacity:.35;transition:opacity .8s var(--ease-out)}
.name-blend.is-in .blend-part .drop{opacity:.18}
.blend-result{font-size:var(--text-3xl);letter-spacing:-.05em;text-align:center}
.blend-result span{display:inline-block;opacity:0;transform:translateY(.3em);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}
.name-blend.is-in .blend-result span{opacity:1;transform:none}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.value{padding:var(--space-6);border-top:2px solid var(--color-accent);background:var(--color-surface-2);border-radius:0 0 var(--radius-md) var(--radius-md)}
.value h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.value p{font-size:var(--text-sm);color:var(--color-text-muted)}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.values{grid-template-columns:1fr}}
.markets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6)}
.note{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-4)}

/* ========== Capabilities ========== */
.cap-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;margin-bottom:var(--space-10)}
.seg{display:inline-flex;padding:4px;border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-border);position:relative}
.seg button{position:relative;z-index:1;padding:var(--space-2) var(--space-5);min-height:42px;border-radius:calc(var(--radius-md) - 4px);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}
.seg button[aria-pressed="true"]{color:var(--bone)}
.seg .seg-thumb{position:absolute;top:4px;bottom:4px;left:4px;border-radius:calc(var(--radius-md) - 4px);background:var(--maroon);transition:transform .4s var(--ease-in-out),width .4s var(--ease-in-out)}
[data-theme="dark"] .seg button[aria-pressed="true"]{color:var(--maroon-night)}
[data-theme="dark"] .seg .seg-thumb{background:var(--brass)}
.cap-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:var(--space-8);align-items:start}
.cap-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}
.cap-card+.cap-card{margin-top:var(--space-6)}
.cap-card h2{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-3);font-weight:500}
.cap-card h2::after{content:"";flex:1;height:1px;background:var(--color-border)}
.comp{display:grid;gap:var(--space-5)}
.comp li{list-style:none;display:grid;grid-template-columns:12px 1fr;gap:var(--space-4)}
.comp li::before{content:"";width:8px;height:8px;background:var(--brass);margin-top:.55em}
.comp b{font-weight:600}
.comp span{color:var(--color-text-muted)}
.diff{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.diff h3{font-size:var(--text-base);color:var(--color-primary);margin-bottom:var(--space-1)}
.diff p{font-size:var(--text-sm);color:var(--color-text-muted)}
@media (max-width:600px){.diff{grid-template-columns:1fr}}
.data-table th,.data-table td{text-align:left;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);vertical-align:top;font-size:var(--text-sm)}
.data-table th{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);font-weight:500;width:38%;padding-right:var(--space-4)}
.data-table .pending{color:var(--color-text-faint)}
.naics td:first-child{font-family:var(--font-mono);font-weight:500;color:var(--color-primary);width:84px}
.naics sup{color:var(--color-accent-text);font-size:10px}
.cap-side{position:sticky;top:100px}
.view-pane{transition:opacity .35s var(--ease-out)}
.view-pane[hidden]{display:none}
@media (max-width:960px){.cap-grid{grid-template-columns:1fr}.cap-side{position:static}}

/* ========== Fit Finder ========== */
.finder{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(var(--space-8),4vw,var(--space-16));align-items:start}
.steps-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:2px}
.steps-nav button{display:grid;grid-template-columns:32px 1fr;gap:var(--space-3);align-items:center;text-align:left;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;min-height:48px}
.steps-nav button:disabled{cursor:not-allowed;opacity:.55}
.steps-nav button:not(:disabled):hover{background:var(--color-surface-2)}
.steps-nav .sn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;border:1px solid var(--color-border-strong);transition:all .3s}
.steps-nav button.is-done .sn{background:var(--color-accent);border-color:var(--color-accent);color:var(--maroon-night)}
.steps-nav button.is-current{background:var(--color-surface-2);color:var(--color-text);box-shadow:var(--shadow-sm)}
.steps-nav button.is-current .sn{border-color:var(--color-primary);color:var(--color-primary);border-width:2px}
.finder-progress{height:3px;background:var(--color-border);border-radius:2px;margin-top:var(--space-4);overflow:hidden}
.finder-progress i{display:block;height:100%;width:0;background:var(--color-accent);transition:width .5s var(--ease-out)}
.finder-panel{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-6),4vw,var(--space-12));min-height:560px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.fstep{display:none}
.fstep.is-active{display:block;animation:stepIn .5s var(--ease-out)}
@keyframes stepIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.fstep.back.is-active{animation-name:stepBack}
@keyframes stepBack{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.fstep legend,.fstep .q{font-size:var(--text-xl);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin-bottom:var(--space-2)}
.fstep .hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-8)}
fieldset{border:0;min-width:0}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.opt label{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);min-height:72px;justify-content:center;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s var(--ease-out);padding-right:var(--space-10)}
.opt label b{font-weight:600;font-size:var(--text-sm)}
.opt label span{font-size:var(--text-xs);color:var(--color-text-muted)}
.opt label::after{content:"";position:absolute;right:var(--space-4);top:50%;width:18px;height:18px;margin-top:-9px;border:1.5px solid var(--color-border-strong);border-radius:50%;transition:all .2s}
.opt input[type=checkbox]+label::after{border-radius:4px}
.opt input:hover+label{border-color:var(--color-accent)}
.opt input:checked+label{border-color:var(--color-primary);background:oklch(from var(--color-primary) l c h / .06);box-shadow:inset 0 0 0 1px var(--color-primary)}
.opt input:checked+label::after{background:var(--color-primary);border-color:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-surface-2)}
.opt input:focus-visible+label{outline:2px solid var(--color-focus);outline-offset:2px}
.opt input:active+label{transform:scale(.99)}
.fgroup{margin-bottom:var(--space-8)}
.fgroup>.lbl{display:block;font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-3)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{font-weight:600;font-size:var(--text-sm)}
.field label .opt-tag{font-weight:400;color:var(--color-text-faint)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .15)}
.field .err{font-size:var(--text-xs);color:#9E2A2A;min-height:1em}
[data-theme="dark"] .field .err{color:#E8A0A0}
.field.has-err input,.field.has-err textarea{border-color:#9E2A2A}
.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media (max-width:640px){.fields-2{grid-template-columns:1fr}}
.pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0;width:100%;height:100%;z-index:1}
.pill label{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:999px;font-size:var(--text-sm);font-weight:500;background:var(--color-bg);transition:all .2s}
.pill input:checked+label{background:var(--color-primary);border-color:var(--color-primary);color:var(--bone)}
[data-theme="dark"] .pill input:checked+label{color:var(--maroon-night)}
.pill input:focus-visible+label{outline:2px solid var(--color-focus);outline-offset:2px}
.pill input:hover+label{border-color:var(--color-accent)}
.fnav{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-border)}
.fnav .msg{font-size:var(--text-sm);color:#9E2A2A;flex:1;text-align:right;opacity:0;transition:opacity .2s}
[data-theme="dark"] .fnav .msg{color:#E8A0A0}
.fnav .msg.show{opacity:1}
@media (max-width:900px){.finder{grid-template-columns:1fr}.steps-nav{position:static;flex-direction:row;overflow-x:auto;gap:var(--space-2);padding-bottom:var(--space-2)}.steps-nav button{grid-template-columns:28px;min-width:44px;padding:var(--space-2)}.steps-nav button .st{display:none}}
/* results */
.result-head{display:grid;grid-template-columns:auto 1fr;gap:var(--space-8);align-items:center;padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}
.ring{width:168px;height:168px;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring .bg{fill:none;stroke:var(--color-border-strong);stroke-width:10}
.ring .fg{fill:none;stroke:var(--color-accent);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.4s var(--ease-out)}
.ring .val{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .val b{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.ring .val small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-top:4px}
.verdict{font-size:var(--text-2xl);letter-spacing:-.035em;line-height:1.05;margin:var(--space-2) 0 var(--space-3)}
@media (max-width:640px){.result-head{grid-template-columns:1fr;justify-items:start}.ring{width:140px;height:140px}}
.breakdown{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-8);padding-block:var(--space-8);border-bottom:1px solid var(--color-border)}
.bd-row .t{display:flex;justify-content:space-between;font-size:var(--text-sm);margin-bottom:var(--space-2)}
.bd-row .t span{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:var(--text-xs)}
.bd-row .b{height:6px;border-radius:3px;background:var(--color-border);overflow:hidden}
.bd-row .b i{display:block;height:100%;width:0;background:var(--color-primary);border-radius:3px;transition:width 1.1s var(--ease-out)}
[data-theme="dark"] .bd-row .b i{background:var(--brass)}
@media (max-width:640px){.breakdown{grid-template-columns:1fr}}
.recs{padding-block:var(--space-8);border-bottom:1px solid var(--color-border)}
.recs h3,.fits h3,.req h3{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-5);font-weight:500}
.rec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}
.rec{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg)}
.rec:first-child{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}
.rec b{font-size:var(--text-base)}
.rec p{font-size:var(--text-sm);color:var(--color-text-muted)}
.rec .chip{align-self:flex-start;margin-top:auto}
.fits{padding-block:var(--space-8);border-bottom:1px solid var(--color-border)}
.fits ul{display:grid;gap:var(--space-3);list-style:none}
.fits li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-3);font-size:var(--text-sm)}
.fits li svg{width:18px;height:18px;color:var(--color-accent);margin-top:3px}
.req{padding-top:var(--space-8)}
.summary-box{font-family:var(--font-mono);font-size:12.5px;line-height:1.7;white-space:pre-wrap;background:var(--color-surface-offset);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);max-height:260px;overflow:auto;color:var(--color-text-muted);margin-bottom:var(--space-6)}
.req-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6);align-items:center}
.disclaimer{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-6)}
.sent{display:none;padding:var(--space-6);border-radius:var(--radius-md);background:oklch(from var(--brass) l c h / .12);border:1px solid oklch(from var(--brass) l c h / .4);margin-top:var(--space-6)}
.sent.show{display:block;animation:stepIn .5s var(--ease-out)}
.sent b{display:block;margin-bottom:var(--space-2)}
.sent p{font-size:var(--text-sm);color:var(--color-text-muted)}

/* ========== Insights ========== */
.posts{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-6)}
.post-card{grid-column:span 4;display:flex;flex-direction:column;gap:var(--space-3);text-decoration:none;color:inherit;border-top:1px solid var(--color-border-strong);padding-top:var(--space-5)}
.post-card:hover{color:inherit}
.post-card:hover h2{color:var(--color-primary)}
.post-card--lead{grid-column:span 12;display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-10);align-items:center;border-top:0;padding-top:0;margin-bottom:var(--space-6)}
.post-card--lead .pc-img{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10}
.post-card--lead .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.post-card--lead:hover .pc-img img{transform:scale(1.03)}
.post-card--lead h2{font-size:var(--text-2xl)}
.post-card h2{font-size:var(--text-lg);letter-spacing:-.02em;transition:color .2s}
.post-card p{color:var(--color-text-muted);font-size:var(--text-sm)}
.post-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:900px){.post-card,.post-card--lead{grid-column:span 12}.post-card--lead{grid-template-columns:1fr}}
.article{padding-block:var(--space-16);border-top:1px solid var(--color-border)}
.article h2{font-size:var(--text-2xl);letter-spacing:-.035em;margin:var(--space-3) 0 var(--space-8);max-width:22ch}
.article .body p{margin-bottom:var(--space-5);color:var(--color-text);max-width:68ch}
.article .body h3{font-size:var(--text-lg);margin:var(--space-8) 0 var(--space-3)}
.article .body ol,.article .body ul{padding-left:var(--space-6);margin-bottom:var(--space-5);display:grid;gap:var(--space-3)}
.article .body li{max-width:64ch}
.article .body li::marker{color:var(--color-accent-text);font-family:var(--font-mono)}
.pullquote{font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em;line-height:1.3;border-left:0;padding:var(--space-6) 0;margin:var(--space-8) 0;border-block:1px solid var(--color-border);color:var(--color-primary);max-width:30ch}
.back-top{margin-top:var(--space-6)}

/* ========== Contact ========== */
.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
.contact-card{display:flex;flex-direction:column;gap:var(--space-6)}
.ci{display:grid;grid-template-columns:44px 1fr;gap:var(--space-4);align-items:center;text-decoration:none;color:inherit;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}
a.ci:hover{border-color:var(--color-accent);color:inherit}
.ci .ic{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-surface-offset);color:var(--color-primary)}
.ci .ic svg{width:20px;height:20px}
.ci small{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.ci b{font-weight:600;font-size:var(--text-sm);word-break:break-word}
.form-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-6),4vw,var(--space-12));display:grid;gap:var(--space-5);box-shadow:var(--shadow-md)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ========== Footer ========== */
.site-footer{background:var(--band-deep);color:var(--band-muted);padding-block:var(--space-20) var(--space-8);margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-10)}
.foot-grid h2{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);margin-bottom:var(--space-4);font-weight:500}
.foot-grid ul{list-style:none;display:grid;gap:var(--space-2)}
.foot-grid a{color:var(--band-muted);text-decoration:none;font-size:var(--text-sm)}
.foot-grid a:hover{color:var(--bone)}
.foot-brand svg{height:44px;width:auto;margin-bottom:var(--space-5)}
.foot-brand p{font-size:var(--text-sm);max-width:36ch}
.foot-tag{color:var(--brass-light);font-weight:500;margin-top:var(--space-4)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);border-top:1px solid oklch(from var(--bone) l c h / .12);margin-top:var(--space-16);padding-top:var(--space-6);font-size:var(--text-xs)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:span 2}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}.foot-brand{grid-column:auto}}

/* ========== Reveal ========== */
.reveal{opacity:0;transition:opacity .9s var(--ease-out)}
.reveal.is-in{opacity:1}
.reveal-clip{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-out)}
.reveal-clip.is-in{clip-path:inset(0 0 0 0)}
.no-js .reveal,.no-js .reveal-clip{opacity:1;clip-path:none}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-clip{opacity:1;clip-path:none}.interlock .half{transform:none!important;opacity:1!important}.hero h1 .line>span{transform:none}.hero-fade{opacity:1}}

@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .2s var(--ease-in) both}
::view-transition-new(root){animation:vt-in .3s var(--ease-out) both}
@keyframes vt-out{to{opacity:0}}@keyframes vt-in{from{opacity:0}}
.foot-grid li{font-size:var(--text-sm)}
.hero .eyebrow,.page-hero .eyebrow,.teaser .eyebrow,.name-blend .eyebrow,.img-band .eyebrow{color:var(--brass-light)}
@media (max-width:900px){.interlock{max-width:250px;margin-top:var(--space-4)}}
