/* ==========================================================================
   WriteWise v3 design system: grey/white, grid-framed, navy only as accent.

   RULES
   - Colors: tokens below only. Navy (--navy) is an ACCENT: primary buttons,
     links, key numbers, the cap line. Never a section background.
   - Fonts: Geist (text), Geist Mono (numbers, labels, data).
   - Every page sits in <main class="frame">; sections are .row blocks
     separated by 1px rules. Inside a row, .cells + .c2/.c3/.c4 split it into
     bordered columns. Not everything must be a grid: free layouts are fine
     inside a row (see .pbms, .cap-*).
   - Spacing: section padding 88px top (head) / 40–56px cells; mobile 20px sides.

   COMPONENTS (use these, don't invent new one-off styles)
   layout   .frame .row .cells .c2 .c3 .c4 .c-hero .c-q .pad .white(bg)
   type     h1 h2 h3 .label .sub .small .navy .muted-h .crumb
   actions  .btn .btn-navy .btn-white .btn-sm .acts .lnk
   heads    .shead (two-column section head: title left, intro right)
            .phero (inner-page hero) .hero-l .hero-r .shot .card .lock .meter
   data     .stat  .cs-row  .spend/.sp-*  .terms(dl key/value sheet)
   blocks   .shot-cell(screenshot beside copy; .c2.flip puts it left)
            .jump(anchor links row) .cms(3 short facts)
            .fit(best-fit product links) .isnt(is/isn't lists, .list.x) .prem(premium bars) .squares
            .finder(.f-grid .f-q .f-log .f-tiles .f-r: yes/no quiz that narrows a product shortlist, driven by site.js)
            .aud(audience link card, .c5) .sol(tab panel: title + copy)
            .feat(+.ic) .fgrid .big  .prod(dl)  .step(+.well)  .quote .who .qstats
   mocks    .well.mock > .m-card (.m-head .m-pill .navy-pill .m-file .m-ic .m-bar .m-big .m-kv)
   lists    .list (dash list)  .list.check
   tabs     [data-tabs] .tabs button[data-tab] + .tab-panel[data-panel]
   pricing  .plans > .plan (.plan-top .tagp .price .billed .chips) .plan.pick
   people   .team > .member (.ph img, b, span; .ph.ini = initials when no photo)
            .org > .org-head (Founders), .team.org-lead, .org-trunk, .org-teams > .org-team (.org-th, .pm)
   jobs     .jobs > a.job (.n h3 p .meta .go)  .facts
   text     .prose (long-form: h2 h3 p ul a strong)
   forms    .form (.frow label>span input/select/textarea) .form-done
   faq      .faq details > summary(.n .pm) + p
   band     .band (light navy-tint banner with text + .acts)
   diagram  .dg-head .flow > .node(.navy .dim) + .link(.solid)  .chain (numbered steps)  .ledger > .lr(.key) + .so   .merge > .merge-in .merge-lines .merge-out
   rhythm   .gap (empty spacer row between dense sections)  .row.statement > p(+span) one-line break
   review   .tbd (bracketed copy awaiting confirmation, highlighted)
   texture  canvas.dots, drawn by site.js into every .gap and [data-dots=right|left|corner]
   images   no stock photos: real product screenshots (/assets/img/qw/), invented UI mocks, or diagrams
   cap      partial {{> cap-chart}} = figure.cap-chart (Get Covered)
   solution .sol.sol-x (.sol-l h3 + .sol-kv term rows | .sol-r: .sol-tx copy + .sol-vis mock card: .carve bar, .lad price ladder, svg.mini-cap)
   instrument .feat > .ins (small drawn svg above a feature: thin lines, mono labels, navy accent)
   video    .vid-sec > .player[data-player] (.vp-frame video .vp-bar, .vp-side > .vp-play + .vp-ch chapters) — site.js
   ========================================================================== */
:root{
  --bg:#f5f5f3; --white:#ffffff; --well:#ededea; --ink:#111214; --ink-2:#45474d; --muted:#7c7e85;
  --line:#e2e2de; --line-2:#d3d3ce; --navy:#081130; --navy-2:#16224f; --navy-tint:#eef0f6;
  --max:1240px; --mono:"Geist Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Geist,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
::selection{background:var(--navy);color:#fff}

/* ---------- frame & rows ---------- */
.frame{max-width:var(--max);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--bg)}
.row{border-bottom:1px solid var(--line)}
.row.white,.white{background:var(--white)}
.pad{padding:72px 56px}
.cells{display:grid}
.cells > *{border-right:1px solid var(--line);min-width:0}
.cells > *:last-child{border-right:0}
.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:repeat(3,1fr)}.c4{grid-template-columns:repeat(4,1fr)}
.c-hero{grid-template-columns:1fr 1.15fr}
.c-q{grid-template-columns:2fr 1fr}
.bt{border-top:1px solid var(--line)}

/* ---------- type ---------- */
.label{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
h1{font-size:clamp(42px,5.4vw,72px);font-weight:500;letter-spacing:-.045em;line-height:1.02}
h2{font-size:clamp(30px,3.4vw,46px);font-weight:500;letter-spacing:-.04em;line-height:1.06}
h3{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.sub{font-size:18px;color:var(--ink-2);line-height:1.55;max-width:520px}
.small{font-size:14.5px;color:var(--muted);line-height:1.55}
.navy{color:var(--navy)}
.muted-h{color:var(--muted)}
.mono{font-family:var(--mono)}
.crumb{font-family:var(--mono);font-size:12px;color:var(--muted)}
.crumb a:hover{color:var(--navy)}

/* ---------- actions ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:8px;font-size:14.5px;font-weight:500;white-space:nowrap;transition:background .15s,box-shadow .15s;cursor:pointer;border:0}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-white{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-white:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.btn-sm{height:36px;padding:0 14px}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.lnk{font-size:14.5px;font-weight:500;color:var(--navy);display:inline-flex;gap:6px;align-items:center}
.lnk:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:30;background:rgba(245,245,243,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
header.site .frame{background:transparent;border-bottom:1px solid var(--line)}
.nav{height:64px;display:flex;align-items:center;gap:40px;padding:0 24px}
.nav .logo img{height:20px;width:auto}
.nav .links{display:flex;gap:28px;flex:1;font-size:14.5px;color:var(--ink-2)}
.nav .links a{white-space:nowrap}
.nav .links a:hover,.nav .links a.active{color:var(--ink)}
.nav .links a.active{text-decoration:underline;text-decoration-color:var(--navy);text-decoration-thickness:2px;text-underline-offset:22px}
.nav .right{display:flex;align-items:center;gap:16px;font-size:14.5px}
.nav .right .si:hover{color:var(--navy)}
.menu-btn{display:none;background:var(--white);border:0;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:8px;height:36px;padding:0 12px;font-family:var(--mono);font-size:12px;cursor:pointer}
.mnav{display:none}

/* ---------- heroes ---------- */
.hero-l{padding:88px 56px 72px;display:flex;flex-direction:column}
.hero-l h1{margin-top:20px}
.hero-l .sub{margin-top:24px}
.hero-l .acts{margin-top:36px}
.hero-l .note{margin-top:auto;padding-top:56px;display:flex;gap:10px;align-items:center}
.dot{width:7px;height:7px;border-radius:50%;background:var(--navy)}
.hero-r{background:var(--well);position:relative;overflow:hidden;padding:56px 0 0 56px;min-height:540px}
.hero-r .shot{border-radius:10px 0 0 0;box-shadow:0 0 0 1px var(--line-2),0 24px 48px -24px rgba(17,18,20,.25);overflow:hidden;background:#fff}
.hero-r .shot img{width:1100px;max-width:none}
.card{position:absolute;left:32px;bottom:32px;width:280px;background:var(--white);border-radius:10px;box-shadow:0 0 0 1px var(--line-2),0 16px 32px -16px rgba(17,18,20,.3);padding:18px 20px}
.card .top{display:flex;justify-content:space-between;align-items:center}
.card .v{font-family:var(--mono);font-size:32px;font-weight:500;letter-spacing:-.04em;margin-top:8px;color:var(--navy)}
.card .v small{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400;margin-left:4px}
.lock{font-size:11.5px;font-weight:500;color:var(--navy);background:var(--navy-tint);padding:3px 8px;border-radius:999px}
.meter{height:6px;background:var(--well);border-radius:6px;margin-top:14px;position:relative}
.meter i{position:absolute;inset:0 22% 0 0;background:var(--ink);border-radius:6px}
.meter b{position:absolute;left:78%;top:-4px;bottom:-4px;width:2px;background:var(--navy)}
.card .ft{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:8px}
/* inner-page hero: text left, optional visual cell right */
.phero{padding:80px 56px 64px}
.phero h1{margin-top:18px;max-width:880px}
.phero .sub{margin-top:22px;max-width:600px}
.phero .acts{margin-top:32px}
.phero.compact{padding:48px 56px 40px}
.phero.narrow h1{font-size:clamp(36px,4.4vw,56px)}

/* ---------- section head ---------- */
.shead{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;padding:88px 56px 56px}
.shead h2{margin-top:16px}
.shead.one{grid-template-columns:1fr}

/* ---------- stats ---------- */
.stat{padding:32px 32px 36px}
.stat b{display:block;font-family:var(--mono);font-size:clamp(30px,3vw,40px);font-weight:500;letter-spacing:-.05em;line-height:1}
.stat span{display:block;margin-top:10px;font-size:14px;color:var(--muted);max-width:220px}

/* ---------- pbm logos: one free line ---------- */
.pbms{padding:20px 56px 28px;display:flex;flex-direction:column;gap:14px}
.pbms p{text-align:center}
.pbm-line{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pbm-track{display:flex;align-items:center;gap:64px;width:max-content;padding-right:64px;animation:pbm-scroll 40s linear infinite}
.pbm-line:hover .pbm-track{animation-play-state:paused}
@keyframes pbm-scroll{to{transform:translateX(-50%)}}
.pbm-line img{flex:none;max-width:140px;height:26px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.55;transition:opacity .2s}
.pbm-line img.w{height:30px}
.pbm-line img.t{height:42px}
.pbm-line img:hover{opacity:.95}
@media (prefers-reduced-motion:reduce){.pbm-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;padding:0;gap:24px 48px}.pbm-track img[aria-hidden]{display:none}}
.plans.c4p{grid-template-columns:repeat(4,1fr)}.plans.c4p .plan{padding:32px 28px}
.plans.c2p{grid-template-columns:repeat(2,1fr)}

/* ---------- the cap ---------- */
.cap-sec{background:var(--white)}
.cap-head{padding:88px 56px 40px}
.cap-body{display:grid;grid-template-columns:1fr 320px;border-top:1px solid var(--line)}
.cap-chart{padding:40px 56px 32px}
.cap-chart.solo{border-right:0;padding:32px}
.cap-chart svg{width:100%;height:auto;display:block;margin-top:12px}
.cc-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cc-tag{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line-2);border-radius:4px;padding:2px 6px;white-space:nowrap}
.cc-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.cc-legend span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.cc-legend i{display:inline-block;width:18px}
.cc-legend i.l{border-top:2px solid var(--ink)}
.cc-legend i.c{border-top:2.5px solid var(--navy)}
.cc-legend i.h{height:12px;border:1px solid var(--navy);background:repeating-linear-gradient(135deg,rgba(8,17,48,.55) 0 1.4px,rgba(8,17,48,.06) 1.4px 5px)}
.cap-side{padding:40px 40px 40px 32px;display:flex;flex-direction:column}
.cs-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.cs-row:first-child{border-top:1px solid var(--ink)}
.cs-row b{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.cs-row b.navy{color:var(--navy)}
.cs-row.strong{background:var(--navy-tint);margin:0 -12px;padding:16px 12px;border-bottom:0;border-radius:6px;color:var(--navy);font-weight:500}
.cs-row.strong b{color:var(--navy)}

/* ---------- steps & wells ---------- */
.step{padding:40px 40px 0;display:flex;flex-direction:column;background:var(--bg)}
.step .n{font-family:var(--mono);font-size:12px;color:var(--navy)}
.step h3{margin-top:14px}
.step p{margin-top:8px}
.well{margin-top:32px;background:var(--well);border-radius:10px 10px 0 0;padding:20px 20px 0;height:220px;overflow:hidden}
.well > img{border-radius:6px 6px 0 0;box-shadow:0 0 0 1px var(--line-2);width:100%;object-fit:cover;object-position:top left;height:240px}
.well.mock{display:flex;align-items:flex-end;justify-content:center;padding:24px 24px 0}
.m-card{width:100%;background:var(--white);border-radius:10px 10px 0 0;box-shadow:0 0 0 1px var(--line-2),0 12px 24px -16px rgba(17,18,20,.25);padding:16px 16px 18px;font-size:12.5px;align-self:stretch;margin-top:auto}
.m-card.full{border-radius:10px}
.m-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}
.m-head b{font-size:13.5px;font-weight:600}
.m-pill{font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--well);padding:2px 8px;border-radius:999px;white-space:nowrap}
.navy-pill{background:var(--navy);color:#fff}
.m-file{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.m-file > div{flex:1;min-width:0}
.m-file b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-file small{color:var(--muted);font-size:11.5px}
.m-ic{flex:none;width:30px;height:30px;border-radius:6px;background:var(--navy-tint);color:var(--navy);display:grid;place-items:center;font-family:var(--mono);font-size:9.5px;font-weight:500}
.m-file .ok{color:var(--navy);font-weight:600}
.m-bar{width:44px;height:5px;border-radius:5px;background:var(--well);overflow:hidden;flex:none}
.m-bar i{display:block;width:62%;height:100%;background:var(--navy);border-radius:5px}
.m-chart{display:flex;align-items:flex-end;gap:5px;height:72px;padding:4px 0 8px;border-bottom:1px solid var(--line)}
.m-chart i{flex:1;display:flex;flex-direction:column;border-radius:2px 2px 0 0;overflow:hidden}
.m-chart b{display:block;background:var(--navy)}.m-chart b:nth-child(2){background:var(--navy-2);opacity:.55}.m-chart b:nth-child(3){background:var(--navy-tint);box-shadow:inset 0 0 0 1px var(--line-2)}
.m-legend{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 0;font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.m-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;background:var(--navy)}
.m-legend i.br{background:var(--navy-2);opacity:.55}.m-legend i.ge{background:var(--navy-tint);box-shadow:inset 0 0 0 1px var(--line-2)}
.m-big{white-space:nowrap;font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.04em;color:var(--navy);padding:4px 0 10px}
.m-big small{font-family:Geist,sans-serif;font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:6px}
.m-kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);color:var(--muted)}
.m-kv b{color:var(--ink);font-weight:500;text-align:right}
.m-kv b.navy{color:var(--navy)}

/* ---------- features ---------- */
.feat{padding:40px}
.feat .ic{width:32px;height:32px;border-radius:8px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line-2);display:grid;place-items:center;color:var(--navy)}
.feat .ic svg{width:16px;height:16px}
.feat .n{font-family:var(--mono);font-size:12px;color:var(--navy)}
.feat h3{margin-top:20px}
.feat p{margin-top:8px}
.feat .list{margin-top:16px}
a.feat:hover{background:var(--white)}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr)}
.fgrid > *{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.fgrid > *:last-child,.fgrid > .big + *{border-right:0}
.fgrid > *:nth-last-child(-n+3){border-bottom:0}
.big{grid-column:span 2;display:grid;grid-template-columns:1fr 1.3fr;border-right:1px solid var(--line)}
.big .tx{padding:40px}
.big .well{margin:0;height:auto;border-radius:0;padding:40px 0 0 40px;overflow:hidden}
.big .well > img{border-radius:8px 0 0 0;height:auto;width:900px;max-width:none}
.big .spend-well{padding:40px;display:flex;align-items:center}

/* "where the money goes" */
.spend{width:100%;background:var(--white);border-radius:10px;box-shadow:0 0 0 1px var(--line-2),0 16px 32px -20px rgba(17,18,20,.25);padding:22px 24px 24px}
.sp-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sp-hero{display:flex;align-items:baseline;gap:14px;margin:18px 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.sp-hero b{font-family:var(--mono);font-size:44px;font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--navy)}
.sp-hero span{font-size:14.5px;color:var(--ink-2);line-height:1.45}
.sp-hero strong{color:var(--ink);font-weight:600}
.sp-rows{display:grid;gap:10px}
.sp-row{display:grid;grid-template-columns:96px 1fr 52px;align-items:center;gap:12px;font-size:13.5px}
.sp-row .d{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-row .bar{height:10px;background:var(--well);border-radius:3px;overflow:hidden}
.sp-row .bar i{display:block;height:100%;background:var(--navy);border-radius:3px}
.sp-row .p{font-family:var(--mono);font-size:12.5px;text-align:right;color:var(--ink-2)}
.sp-row.rest{margin-top:6px;padding-top:12px;border-top:1px dashed var(--line-2);color:var(--muted)}
.sp-row.rest .d{font-weight:400}
.sp-row.rest .bar i{background:#c9cad0}

/* ---------- products ---------- */
.prod{padding:40px;display:flex;flex-direction:column;background:var(--bg);transition:background .2s}
a.prod:hover{background:var(--white)}
.prod .tag{font-family:var(--mono);font-size:12px;color:var(--muted)}
.prod h3{font-size:24px;margin-top:40px;letter-spacing:-.03em}
.prod p{margin-top:10px;flex:1}
.prod dl{margin-top:32px;border-top:1px solid var(--line)}
.prod dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.prod dt{color:var(--muted)}
.prod dd{font-family:var(--mono);font-weight:500;text-align:right}
.prod dd.navy{color:var(--navy)}
.prod .lnk{margin-top:24px}

/* ---------- key/value sheet ---------- */
.terms{background:var(--white);border-radius:10px;box-shadow:0 0 0 1px var(--line-2)}
.terms .t-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}
.terms dl{display:grid;grid-template-columns:150px 1fr}
.terms dt,.terms dd{padding:13px 20px;border-bottom:1px solid var(--line);font-size:14.5px}
.terms dt{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:15px}
.terms dl > :nth-last-child(-n+2){border-bottom:0}
.terms .t-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

/* ---------- lists ---------- */
.list{list-style:none}
.list li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.list li:first-child{border-top:0}
.list li::before{content:"—";font-family:var(--mono);color:var(--muted);flex:none}
.list.check li::before{content:"✓";color:var(--navy);font-family:Geist,sans-serif;font-weight:600}
.list li.yes{color:var(--ink);font-weight:600}
.list.check li.no{color:var(--muted);opacity:.75}
.list.check li.no::before{content:"×";color:var(--muted)}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:28px;padding:0 56px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{background:none;border:0;padding:16px 0;font-size:14.5px;font-weight:500;color:var(--muted);cursor:pointer;position:relative;white-space:nowrap}
.tabs button:hover,.tabs button.on{color:var(--ink)}
.tabs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--navy)}
.tabs button:focus-visible{outline:2px solid var(--navy);outline-offset:-2px;border-radius:4px}
.tabs button:focus:not(:focus-visible){outline:none}
.tab-panel{display:none}
.tab-panel.on{display:block}

/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr)}
.plan{padding:40px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--bg);min-width:0}
.plan:last-child{border-right:0}
.plan.pick{background:var(--white)}
.plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:26px}
.plan h3{font-size:22px;letter-spacing:-.025em}
.tagp{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--navy);border-radius:999px;padding:3px 9px}
.plan .desc{color:var(--muted);font-size:14.5px;margin:8px 0 28px;min-height:44px}
.price{font-family:var(--mono);font-size:40px;font-weight:500;letter-spacing:-.05em;line-height:1}
.price small{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:6px}
.price.txt{font-family:Geist,sans-serif;font-size:22px;letter-spacing:-.02em}
.billed{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px}
.plan .list{flex:1;margin:28px 0}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.chips span{font-family:var(--mono);font-size:12px;padding:2px 8px;border-radius:999px;background:var(--well)}

/* ---------- band ---------- */
.band{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;padding:40px 56px;background:var(--navy-tint)}
.band h3{font-size:24px;letter-spacing:-.03em;color:var(--navy)}
.band p{margin-top:8px;color:var(--ink-2);font-size:15px;max-width:620px}
.band .acts{justify-content:flex-end}

/* ---------- quote ---------- */
.quote{padding:72px 56px}
.quote blockquote{font-size:clamp(22px,2.4vw,32px);font-weight:400;letter-spacing:-.03em;line-height:1.3}
.quote.sm blockquote{font-size:20px;letter-spacing:-.02em;line-height:1.45}
.who{display:flex;gap:12px;align-items:center;margin-top:28px}
.who img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.who .av{width:40px;height:40px;border-radius:50%;background:var(--well);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--navy)}
.who b{display:block;font-size:14.5px;font-weight:500}
.who span{font-size:13.5px;color:var(--muted)}
.qstats{display:grid;grid-template-rows:1fr 1fr}
.qstats > div{border-bottom:1px solid var(--line)}
.qstats > div:last-child{border-bottom:0}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:repeat(6,1fr)}
.member{padding:20px 20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.member:nth-child(6n){border-right:0}
.member .ph{aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:var(--well);margin-bottom:14px}
.member .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .3s}
.member:hover .ph img{filter:none}
.member .ph.ini{display:grid;place-items:center;font-size:34px;font-weight:500;color:var(--muted);letter-spacing:.02em}
.member b{display:block;font-size:14.5px;font-weight:500}
.member span{display:block;font-size:13px;color:var(--muted);line-height:1.4;margin-top:2px}
/* org chart: founders row, trunk, then team columns joined by a bus line */
.team.org-lead{grid-template-columns:repeat(4,calc(100% / 6));justify-content:center}
.org-lead .member:first-child{border-left:1px solid var(--line)}
.org-head{padding:18px 20px;border-bottom:1px solid var(--line)}
.org-trunk{height:48px;position:relative}
.org-trunk::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--line-2)}
.org-trunk::after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--navy);transform:translateX(-50%)}
.org-teams{display:grid;grid-template-columns:repeat(5,1fr)}
.org-team{position:relative;padding:44px 18px 12px;border-right:1px solid var(--line);min-width:0}
.org-team:last-child{border-right:0}
.org-team::before{content:"";position:absolute;top:0;left:0;right:0;border-top:1px solid var(--line-2)}
.org-team:first-child::before{left:50%}
.org-team:last-child::before{right:50%}
.org-team::after{content:"";position:absolute;left:50%;top:0;height:28px;border-left:1px solid var(--line-2)}
.org-th{position:relative;text-align:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.org-th::before{content:"";position:absolute;left:50%;top:-19px;width:7px;height:7px;border-radius:50%;border:1px solid var(--line-2);background:var(--bg);transform:translateX(-50%)}
.org-th .n,.org-th .c{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.org-th b{display:flex;align-items:center;justify-content:center;min-height:2.7em;font-size:14.5px;font-weight:500;line-height:1.35;margin:2px 0}
.org-th .c::after{content:" people"}
.pm{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.pm:last-child{border-bottom:0}
.pm .ph{width:52px;height:60px;flex:none;border-radius:6px;overflow:hidden;background:var(--well)}
.pm .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .3s}
.pm:hover .ph img{filter:none}
.pm b{display:block;font-size:14px;font-weight:500;line-height:1.3}
.pm span{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px}

/* ---------- jobs ---------- */
.jobs{display:grid}
.job{display:grid;grid-template-columns:56px 1fr 240px 90px;gap:24px;align-items:center;padding:28px 56px;border-bottom:1px solid var(--line);transition:background .2s}
.job:last-child{border-bottom:0}
.job:hover{background:var(--white)}
.job .n{font-family:var(--mono);font-size:12px;color:var(--navy)}
.job h3{font-size:20px}
.job p{color:var(--muted);font-size:14.5px;margin-top:4px}
.job .meta{font-family:var(--mono);font-size:12px;color:var(--ink-2);line-height:1.7}
.job .go{font-size:14px;font-weight:500;color:var(--navy);text-align:right}
.facts{display:flex;flex-wrap:wrap;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:12px 24px 12px 0;margin-right:24px;border-right:1px solid var(--line)}
.facts div:last-child{border-right:0}
.facts .label{display:block;margin-bottom:2px}
.facts span:not(.label){font-size:14.5px}

/* ---------- prose ---------- */
.prose{padding:64px 56px 88px;max-width:820px;color:var(--ink-2);font-size:16.5px;line-height:1.7}
.prose h2{font-size:24px;color:var(--ink);margin:48px 0 12px;letter-spacing:-.025em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;color:var(--ink);margin:32px 0 8px}
.prose p{margin-bottom:16px}
.prose ul{list-style:none;margin:0 0 20px}
.prose ul li{position:relative;padding:8px 0 8px 24px;border-top:1px solid var(--line)}
.prose ul li:first-child{border-top:0}
.prose ul li::before{content:"—";position:absolute;left:0;font-family:var(--mono);color:var(--muted)}
.prose a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}

/* ---------- form ---------- */
.form{display:grid;gap:22px;padding:48px 56px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form label{display:grid;gap:8px}
.form label > span{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.form input,.form select,.form textarea{width:100%;font-size:15.5px;padding:12px 14px;border-radius:8px;border:0;box-shadow:inset 0 0 0 1px var(--line-2);background:var(--white);transition:box-shadow .15s}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;box-shadow:inset 0 0 0 2px var(--navy)}
.form .btn{justify-self:start}
.form-done{display:none}
.form-done.show{display:block}

/* ---------- faq ---------- */
.faq details{border-top:1px solid var(--line)}
.faq details:first-child{border-top:0}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 24px;gap:12px;align-items:baseline;padding:24px 40px 24px 56px;font-size:18px;font-weight:500;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .n{font-family:var(--mono);font-size:12px;color:var(--navy);font-weight:400}
.faq summary .pm{font-family:var(--mono);color:var(--muted);transition:transform .2s;text-align:right}
.faq details[open] summary .pm{transform:rotate(45deg);color:var(--navy)}
.faq details p{padding:0 56px 26px 116px;color:var(--ink-2);max-width:820px}

/* ---------- diagrams (HTML, scale cleanly to phones) ---------- */
.dg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}
.flow{display:flex;flex-direction:column}
.node{background:var(--white);border-radius:10px;box-shadow:0 0 0 1px var(--line-2);padding:14px 18px}
.node b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.node small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.node.navy{box-shadow:0 0 0 2px var(--navy)}
.node.navy b{color:var(--navy)}
.node.dim{background:var(--well);box-shadow:none}
.link{height:52px;margin-left:24px;padding-left:16px;border-left:1.5px dashed var(--line-2);display:flex;align-items:center;font-family:var(--mono);font-size:12px;color:var(--muted)}
.link.solid{border-left:2px solid var(--navy);color:var(--navy)}
.merge-in{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.merge-lines{position:relative;height:56px}
.merge-lines i{position:absolute;top:0;height:28px;border-left:1.5px solid var(--line-2)}
.merge-lines i:nth-child(1){left:16.66%}.merge-lines i:nth-child(2){left:50%}.merge-lines i:nth-child(3){left:83.33%}
.merge-lines::before{content:"";position:absolute;top:28px;left:16.66%;right:16.67%;border-top:1.5px solid var(--line-2)}
.merge-lines::after{content:"";position:absolute;top:28px;bottom:0;left:50%;border-left:2px solid var(--navy)}
.merge-out{max-width:340px;margin:0 auto;text-align:center}

/* ---------- breathing room ---------- */
.gap{height:96px;border-bottom:1px solid var(--line)}
/* ---------- dot field (texture) ---------- */
.gap,[data-dots]{position:relative;overflow:hidden;--dot:#cfcfca}
.dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
[data-dots] > :not(.dots){position:relative}
.statement{padding:120px 56px;text-align:center}
.statement p{font-size:clamp(26px,3vw,40px);font-weight:500;letter-spacing:-.035em;line-height:1.2;max-width:820px;margin:0 auto}
.statement p span{color:var(--muted)}
.statement .label{display:block;margin-bottom:20px}

/* ---------- cta & footer ---------- */
.cta{padding:96px 56px;display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:end;background:var(--white)}
.cta .acts{justify-content:flex-end}
footer .cells > div{padding:40px 32px}
footer h5{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:8px;font-size:14px;color:var(--ink-2)}
footer ul a:hover{color:var(--navy)}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 32px;font-family:var(--mono);font-size:12px;color:var(--muted)}

/* ---------- audiences, solution panels ---------- */
.c5{grid-template-columns:repeat(5,1fr)}
.aud{padding:32px 28px 36px;display:flex;flex-direction:column;background:var(--bg);transition:background .2s}
.aud:hover{background:var(--white)}
.aud .n{font-family:var(--mono);font-size:12px;color:var(--navy)}
.aud h3{margin-top:28px;font-size:19px}
.aud p{margin-top:8px;flex:1}
.aud .lnk{margin-top:24px}
.sol{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;padding:56px;background:var(--white)}
.sol h3{font-size:28px;letter-spacing:-.03em}
.sol p{color:var(--ink-2);font-size:16.5px;max-width:640px}
.sol p + p{margin-top:14px}
.sol .lnk{margin-top:24px}
.qstats.three{grid-template-rows:1fr 1fr 1fr}
.qstats.one{grid-template-rows:1fr}
.qstats.one .stat{display:flex;flex-direction:column;justify-content:center}

/* ---------- product jump links, control/monitor/save ---------- */
.jump > a{display:flex;gap:14px;align-items:baseline;padding:22px 32px;font-weight:500;transition:background .2s}
.jump > a:hover{background:var(--white)}
.jump .n{font-family:var(--mono);font-size:12px;color:var(--navy)}
.cms{display:grid;grid-template-columns:repeat(3,1fr)}
.cms > div{padding:20px 20px 0 0}
.cms p{margin-top:6px;font-size:14.5px;color:var(--ink-2)}

/* ---------- screenshot cell beside copy ---------- */
.shot-cell{background:var(--well);padding:48px 0 0 48px;overflow:hidden;display:flex;align-items:flex-start}
.shot-cell img{border-radius:10px 0 0 0;box-shadow:0 0 0 1px var(--line-2),0 24px 48px -24px rgba(17,18,20,.25);width:900px;max-width:none;background:#fff}
.flip .shot-cell{padding:48px 48px 0 0;justify-content:flex-end}
.flip .shot-cell img{border-radius:0 10px 0 0}
@media (min-width:1001px){.flip .shot-cell.pin-l{padding:48px 0 0 48px;justify-content:flex-start}.flip .shot-cell.pin-l img{border-radius:10px 0 0 0}}

/* ---------- who we serve ---------- */
.fit{margin-top:32px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:4px}
.fit a{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.fit a:last-child{border-bottom:0}
.fit b{font-weight:600;color:var(--navy)}
.fit a:hover b{text-decoration:underline;text-underline-offset:3px}
.fit span{font-size:14.5px;color:var(--muted)}
.isnt{display:grid;gap:28px}
.isnt .list{margin-top:8px}
.list.x li::before{content:"×";color:var(--muted);font-family:Geist,sans-serif}
.link:empty{height:32px}
.prem{display:grid;gap:24px}
.prem-row{display:grid;gap:8px}
.prem-bar{display:flex;height:56px;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--line-2)}
.prem-bar i{font-style:normal;display:flex;align-items:center;padding:0 14px;font-size:13.5px;font-weight:500}
.prem-bar .med{flex:3;background:var(--well);color:var(--ink-2)}
.prem-bar .rx{flex:1;background:var(--navy);color:#fff}
.prem-bar .gone{flex:1;background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--line) 6px 7px);color:var(--muted)}
.squares{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:16px}
.squares i{aspect-ratio:1;border-radius:4px;background:var(--navy-tint);box-shadow:inset 0 0 0 1px #c9cfe0}

/* ---------- product finder ---------- */
[hidden]{display:none!important}
.pad.finder{padding-top:48px;padding-bottom:48px}
.f-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
.f-q h3{font-size:28px;letter-spacing:-.03em;margin-top:12px}
.f-q p{margin-top:8px}
.f-q .acts,.f-r .acts{margin-top:28px}
.f-done{padding-bottom:24px}.f-done .label{margin:0}
.f-log{margin-top:32px;border-top:1px solid var(--line)}
.f-done:not([hidden])+.f-log{margin-top:0}
.f-log div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.f-log div span:last-child{font-family:var(--mono);font-size:12px;color:var(--navy);text-transform:uppercase;white-space:nowrap}
.f-log button{background:none;border:0;padding:0;margin-left:12px;font-family:var(--mono);font-size:11.5px;color:var(--muted);text-transform:uppercase;cursor:pointer}
.f-log button:hover{color:var(--ink)}
.f-main{position:relative}
.f-nav{position:absolute;top:-10px;right:0;display:flex;gap:8px}
.f-side{padding:48px 56px 40px 32px;margin:-48px -56px -40px -32px}
.f-cnt{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.f-cnt .label{margin:0}
.f-big{font-family:var(--mono);font-size:40px;letter-spacing:-.03em;line-height:1;color:var(--navy)}
.f-big b{font-weight:400}.f-big small{font-size:16px;color:var(--muted)}
.f-tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.f-tile{border-radius:10px;box-shadow:inset 0 0 0 1px var(--line-2);background:var(--white);padding:14px 16px;transition:background .3s,box-shadow .3s}
.f-tile b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.01em;transition:color .3s}
.f-tile small,.f-why{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:4px}
.f-why:empty{display:none}
.f-tile.out{box-shadow:inset 0 0 0 1px var(--line)}
.f-tile.out b{color:var(--line-2);font-weight:500}
.f-tile.out small{display:none}
.f-r{background:var(--white);border-radius:12px;box-shadow:inset 0 0 0 2px var(--navy);padding:28px 32px}
.f-r-top{display:flex;justify-content:space-between;align-items:center}
.f-r-top .label{margin:0}
.f-match{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--navy);padding:3px 8px;border-radius:4px}
.f-r h3{font-size:28px;letter-spacing:-.03em;margin-top:14px;color:var(--navy)}
.f-r .size{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:6px}
.f-r p.d{margin-top:16px;color:var(--ink-2)}
.f-ghost{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.f-ghost span{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);color:var(--line-2);text-decoration:line-through}
@media (prefers-reduced-motion:reduce){.f-tile,.f-tile b{transition:none}}

/* ---------- numbered chain (PBM diagram) ---------- */
.chain{list-style:none;padding:0;margin:0}
.chain li{display:grid;grid-template-columns:30px 1fr;column-gap:20px;position:relative;padding-bottom:28px}
.chain li:last-child{padding-bottom:0}
.chain li:not(:last-child)::before{content:"";position:absolute;left:14px;top:30px;bottom:0;border-left:2px solid var(--navy)}
.chain .dot{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--navy);background:var(--white);display:grid;place-items:center;font-family:var(--mono);font-size:11.5px;color:var(--navy)}
.chain li:last-child .dot{background:var(--navy);color:#fff}
.chain .v{font-family:var(--mono);font-size:24px;letter-spacing:-.02em;line-height:30px;color:var(--navy)}
.chain b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;margin-top:6px}
.chain small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px;line-height:1.45}

[data-dots] .chain{width:fit-content;background:var(--white);box-shadow:0 0 0 16px var(--white)}
/* ---------- "so" ledger (TPA diagram) ---------- */
.ledger{border-top:1px solid var(--line)}
[data-dots] .ledger{background:var(--white);box-shadow:0 0 0 16px var(--white)}
.ledger .lr{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.ledger .ix{font-family:var(--mono);font-size:12px;color:var(--muted)}
.ledger b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.ledger small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.ledger .ar{font-family:var(--mono);font-size:16px;color:var(--navy)}
.ledger .so{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 0 8px 54px;border-bottom:1px solid var(--line)}
.ledger .lr.key{border-bottom:2px solid var(--navy)}
.ledger .lr.key b{color:var(--navy)}
.ledger .chk{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px}

/* ---------- explainer video: framed player with chapters ---------- */
.vid-sec{background:var(--well);padding:64px 56px}
.player{position:relative;display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:start;max-width:1120px;margin:0 auto}
.vp-frame{position:relative;border-radius:14px;overflow:hidden;background:var(--white);box-shadow:0 0 0 1px var(--line-2),0 40px 80px -40px rgba(8,17,48,.45),0 12px 24px -16px rgba(17,18,20,.2)}
.vp-frame video{display:block;width:100%;aspect-ratio:16/9;background:var(--bg)}
.vp-side{display:grid;gap:24px}
.vp-play{justify-self:start;display:flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 8px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:inherit;font-size:14.5px;font-weight:500;cursor:pointer;box-shadow:0 12px 24px -10px rgba(8,17,48,.6);transition:transform .2s,background .2s}
.vp-play:hover{background:var(--navy-2);transform:translateY(-1px)}
.vp-ic{width:28px;height:28px;border-radius:50%;background:#fff;position:relative}
.vp-ic::after{content:"";position:absolute;left:11px;top:8px;border-left:9px solid var(--navy);border-top:6px solid transparent;border-bottom:6px solid transparent}
.vp-len{font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.6)}
.vp-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(8,17,48,.08)}
.vp-bar i{display:block;height:100%;width:0;background:var(--navy)}
.player.sound .vp-bar{display:none}
.vp-ch{list-style:none;border-top:1px solid var(--line-2)}
.vp-ch li{border-bottom:1px solid var(--line-2)}
.vp-ch button{display:flex;gap:14px;align-items:baseline;width:100%;padding:13px 0;background:none;border:0;font:inherit;font-size:14.5px;color:var(--muted);text-align:left;cursor:pointer;transition:color .2s}
.vp-ch button:hover{color:var(--ink)}
.vp-ch .n{font-family:var(--mono);font-size:12px}
.vp-ch button.on{color:var(--ink);font-weight:500}
.vp-ch button.on .n{color:var(--navy)}
.vp-ch button.on .n::before{content:"●";margin-right:6px;font-size:8px;vertical-align:2px}


/* ---------- core solutions panels: term sheet + copy + mock visual ---------- */
.sol.sol-x{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start}
.sol-kv{margin-top:24px;border-top:1px solid var(--ink)}
.sol-kv > div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.sol-kv dt{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:2px}
.sol-kv dd{font-family:var(--mono);font-size:13.5px;color:var(--ink);line-height:1.5}
.sol-kv dd.navy{color:var(--navy)}
.sol-vis{margin-top:28px;background:var(--well);border-radius:10px;padding:20px}
.sol-vis .m-card{margin:0}
.mini-cap{display:block;width:100%;height:auto;margin:4px 0 2px}
.m-legend i.ink{background:var(--ink);height:2px;vertical-align:3px}
.m-legend i.hz{border:1px solid var(--navy);background:repeating-linear-gradient(135deg,rgba(8,17,48,.55) 0 1.2px,rgba(8,17,48,.06) 1.2px 4px)}
.carve{display:flex;height:56px;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--line-2);margin-top:6px}
.carve i{font-style:normal;display:flex;align-items:center;padding:0 14px;font-size:13px;font-weight:500;line-height:1.25;min-width:0}
.carve .med{flex:2.2;background:var(--well);color:var(--ink-2)}
.carve .rx{flex:1.5;background:var(--navy);color:#fff}
.lad{display:grid;gap:10px;padding:6px 0 4px}
.lad-r{display:grid;grid-template-columns:76px 1fr 56px;gap:12px;align-items:center;font-size:13px}
.lad-r span:first-child{font-weight:500}
.lad-b{height:10px;background:var(--well);border-radius:3px;overflow:hidden}
.lad-b i{display:block;height:100%;background:var(--navy);border-radius:3px}
.lad-r b{font-family:var(--mono);font-size:12.5px;font-weight:500;text-align:right;color:var(--ink)}

/* ---------- feature instruments ---------- */
.ins{height:84px;margin-bottom:24px;padding:12px 14px;border-radius:8px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center}
.ins svg{display:block;width:100%;height:60px;overflow:visible}

/* ---------- copy still to confirm: visible on purpose so reviewers catch it ---------- */
.tbd{background:#fdf1d8;color:#6b4a00;border-radius:4px;padding:1px 5px;font-size:.92em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- responsive ---------- */
@media (max-width:1200px){.nav .links{gap:18px;font-size:14px}}
@media (max-width:1000px){
  .f-grid{grid-template-columns:1fr;gap:40px}
  .f-side{padding:24px 56px;margin:-24px -56px}
  .org-teams{grid-template-columns:1fr 1fr}.org-team{padding-top:20px;border-bottom:1px solid var(--line)}.org-team:nth-child(2n){border-right:0}.org-team:last-child{border-bottom:0}
  .org-trunk,.org-team::before,.org-team::after,.org-th::before{display:none}
  .nav .links,.nav .right .si,.nav .right .btn{display:none}
  .nav{justify-content:space-between}
  .menu-btn{display:block}
  .mnav{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .mnav.open{max-height:520px;border-bottom:1px solid var(--line)}
  .mnav a{display:flex;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--line);font-weight:500;background:var(--bg)}
  .mnav a.active{color:var(--navy)}
  .mnav a .n{font-family:var(--mono);font-size:12px;color:var(--muted)}
  .c-hero,.c2,.c-q,.shead,.cta,.band,.cap-body{grid-template-columns:1fr}
  .c-hero > *,.c2 > *,.c-q > *{border-right:0}
  .c-hero > *:not(:last-child),.c2 > *:not(:last-child){border-bottom:1px solid var(--line)}
  .hero-r{min-height:380px}
  .c4{grid-template-columns:1fr 1fr}.c4 > *:nth-child(2n){border-right:0}.c4 > *:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .c3,.fgrid,.plans,.plans.c4p,.plans.c2p{grid-template-columns:1fr}
  .player{grid-template-columns:1fr}.vp-ch{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .c5{grid-template-columns:1fr 1fr}.c5 > *{border-bottom:1px solid var(--line)}.c5 > *:nth-child(2n){border-right:0}
  .sol,.sol.sol-x{grid-template-columns:1fr;gap:20px;padding:40px 20px}
  .cms{grid-template-columns:1fr}
  .shot-cell,.flip .shot-cell{padding:32px 0 0 20px;justify-content:flex-start}.flip .shot-cell img{border-radius:10px 0 0 0}
  .flip > .shot-cell{order:2}
  .c3 > *,.fgrid > *,.plan{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .c3 > *:last-child,.fgrid > *:last-child,.plan:last-child{border-bottom:0!important}
  .big{grid-column:auto;grid-template-columns:1fr}
  .cta .acts,.band .acts{justify-content:flex-start}
  .qstats{grid-template-rows:none;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.qstats > div{border-bottom:0;border-right:1px solid var(--line)}.qstats > div:last-child{border-right:0}.qstats.one{grid-template-columns:1fr}
  .pbm-track{gap:40px;padding-right:40px}
  .pbms p{text-align:left}
  .team.org-lead{grid-template-columns:repeat(2,minmax(0,220px))}
  .org-lead .member:nth-child(n){border-right:1px solid var(--line)}.org-lead .member:nth-child(odd){border-left:1px solid var(--line)}
  .team{grid-template-columns:repeat(3,1fr)}.member:nth-child(6n){border-right:1px solid var(--line)}.member:nth-child(3n){border-right:0}
  .job{grid-template-columns:40px 1fr 80px}.job .meta{display:none}
}
@media (max-width:600px){
  .f-side{padding:24px 20px;margin:-24px -20px}
  .org-teams{grid-template-columns:1fr}.org-team{border-right:0}
  .pad,.hero-l,.phero,.shead,.quote,.cta,.cap-head,.pbms,.band,.prose,.form{padding-left:20px;padding-right:20px}
  .tabs{padding:0 20px}
  .c5,.jump{grid-template-columns:1fr}.c5 > *{border-right:0!important}.jump > a{padding:16px 20px;border-right:0!important;border-bottom:1px solid var(--line)}.jump > a:last-child{border-bottom:0}
  .hero-l,.phero{padding-top:56px}
  .phero.compact{padding-top:36px;padding-bottom:32px}
  .hero-r{padding:32px 0 0 20px;min-height:320px}
  .card{left:16px;bottom:16px;width:240px}
  .step,.feat,.prod,.big .tx,.plan{padding:28px 20px}.step{padding-bottom:0}
  .stat{padding:24px 20px}
  .cap-chart{padding:28px 20px 24px}.cap-side{padding:28px 20px}.cap-chart.solo{padding:20px}
  .cap-chart .lbl{display:none}
  .vid-sec{padding:28px 16px}.vp-ch{grid-template-columns:1fr}
  .nav{padding:0 16px}
  .frow{grid-template-columns:1fr}
  .terms dl{grid-template-columns:1fr}.terms dt{border-bottom:0;padding-bottom:0}
  .team{grid-template-columns:1fr 1fr}.member:nth-child(3n){border-right:1px solid var(--line)}.member:nth-child(2n){border-right:0}
  .job{grid-template-columns:1fr 60px;padding:24px 20px}.job .n{display:none}
  .faq summary{grid-template-columns:32px 1fr 20px;padding:20px;font-size:16px}
  .faq details p{padding:0 20px 22px 64px}
  footer .c4{grid-template-columns:1fr 1fr}
  .big .spend-well{padding:20px}
  .sol-vis{padding:14px}.sol-kv > div{grid-template-columns:118px 1fr;gap:8px}.sol-kv dt{font-size:11px;letter-spacing:.02em}
  .carve i{padding:0 10px;font-size:12px}
  .merge-in{grid-template-columns:1fr}
  .merge-lines{height:40px}.merge-lines i,.merge-lines::before{display:none}.merge-lines::after{top:0}
  .gap{height:56px}
  .statement{padding:80px 20px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.egg{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;background:#c4c4be center/cover no-repeat;z-index:1;cursor:default;animation:egg 70s ease-in-out infinite}
.egg.dot{border-radius:50%}
.egg.sq{border-radius:2px;animation-duration:84s;animation-direction:reverse}
.egg.dia{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation-duration:91s;animation-direction:reverse}
.egg.hex{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);animation-duration:80s}
.egg.star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:12px;height:12px;margin-top:-6px;animation-duration:86s}
.egg.tri{clip-path:polygon(50% 0,100% 100%,0 100%);animation-duration:77s}
.egg{transition:scale .09s}.egg.tap{scale:1.3}
.egg.on{width:22px;height:22px;margin-top:-11px;border-radius:50%;clip-path:none;background-color:transparent;scale:1;transition:width .3s,height .3s,margin .3s}
@keyframes egg{0%,100%{translate:0 0;rotate:0deg}25%{translate:60px -22px;rotate:30deg}50%{translate:110px 12px;rotate:60deg}75%{translate:40px 26px;rotate:30deg}}
@media (prefers-reduced-motion:reduce){.egg{animation:none}}
