

:root{
  --bg:#FAFAF8; --surface:#FFFFFF; --surface-2:#F4F4F2;
  --ink:#101828; --ink-2:#475467; --ink-3:#667085;
  --line:#E4E7EC; --line-2:#D0D5DD;
  --accent:#5B4FE9; --accent-ink:#4F42D8; --accent-soft:#EEECFD;
  --ok:#067647; --ok-soft:#E7F6EE; --warn:#B54708; --danger:#B42318; --danger-soft:#FEE4E2;
  --grid-line:rgba(16,24,40,.045);
  --shadow-1:0 1px 2px rgba(16,24,40,.05);
  --shadow-2:0 4px 16px -2px rgba(16,24,40,.08);
  --display:'Bricolage Grotesque',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --container:1120px; --radius:10px; --radius-lg:16px;
  --speed:180ms; --ease:cubic-bezier(.2,.6,.3,1);
}
[data-theme="dark"]{
  --bg:#0B0D12; --surface:#12151C; --surface-2:#171B24;
  --ink:#F2F4F7; --ink-2:#98A2B3; --ink-3:#7A8499;
  --line:#232734; --line-2:#2E3342;
  --accent:#8B80F9; --accent-ink:#A79EFB; --accent-soft:#1D1B33;
  --ok:#3CCB7F; --ok-soft:#0D2B1D; --warn:#F79009; --danger:#F97066; --danger-soft:#331714;
  --grid-line:rgba(242,244,247,.025);
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 4px 20px -2px rgba(0,0,0,.5);
}

@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-var.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/jetbrains-mono-var.woff2') format('woff2');font-weight:400 700;font-display:swap;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
pre{max-width:100%;overflow-x:auto}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
h1{font-size:clamp(34px,5vw,58px)}
h2{font-size:clamp(26px,3.2vw,38px)}
h3{font-size:clamp(18px,2vw,22px)}
p{max-width:68ch}
a{color:var(--accent-ink);text-decoration:none;transition:color var(--speed) var(--ease)}
a:hover{text-decoration:underline;text-underline-offset:3px}
img,svg{max-width:100%;vertical-align:middle}
code,pre,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
::selection{background:var(--accent-soft);color:var(--ink)}
.wrap{max-width:var(--container);margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:12px;top:12px}
.blueprint{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px}
@media(max-width:768px){.blueprint{background-image:none}}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:var(--radius);font-weight:600;font-size:15px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background var(--speed) var(--ease),border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);text-decoration:none!important}
.btn-primary{background:var(--accent);color:#fff!important}
.btn-primary:hover{background:var(--accent-ink);box-shadow:var(--shadow-2)}
[data-theme="dark"] .btn-primary{color:#0B0D12!important}
.btn-ghost{background:transparent;color:var(--ink)!important;border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink-3);background:var(--surface-2)}
.btn-sm{min-height:38px;padding:7px 16px;font-size:14px}

/* ── Nav ── */
.sr-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sr-nav .wrap{display:flex;align-items:center;gap:26px;height:64px}
.sr-brand{display:flex;align-items:center;gap:9px;color:var(--ink)!important;font-family:var(--display);font-weight:700;font-size:19px;text-decoration:none!important}
.sr-brand:hover{text-decoration:none}
.sr-links{display:flex;align-items:center;gap:22px;list-style:none;margin-left:auto}
.sr-links a{color:var(--ink-2)!important;font-size:14.5px;font-weight:500}
.sr-links a:hover{color:var(--ink)!important;text-decoration:none}
.sr-links a[aria-current="page"]{color:var(--accent-ink)!important}
.sr-links .sr-links-cta{display:none}
.sr-nav-actions{display:flex;align-items:center;gap:12px}
.theme-toggle{background:none;border:1px solid var(--line-2);border-radius:8px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2);transition:border-color var(--speed) var(--ease)}
.theme-toggle:hover{border-color:var(--ink-3)}
.nav-burger{display:none;background:none;border:1px solid var(--line-2);border-radius:8px;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
@media(max-width:900px){
  .sr-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px 20px 16px;margin:0}
  .sr-links.open{display:flex}
  .sr-links li{width:100%}
  .sr-links .sr-links-cta{display:block}
  .sr-links a{display:block;padding:12px 0;font-size:16px}
  .nav-burger{display:inline-flex}
  .sr-nav-actions .btn-ghost{display:none}
}
@media(max-width:480px){
  .sr-nav .wrap{gap:12px}
  .sr-brand{font-size:17px}
  .sr-nav-actions{gap:8px}
  .sr-nav-actions .theme-toggle{display:none}
  .sr-nav-actions .btn-sm{min-height:38px;padding:7px 12px;font-size:13.5px}
}

/* ── Footer ── */
.sr-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:80px}
.sr-footer .wrap{padding:48px 20px 32px}
.sr-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;margin-bottom:36px}
.sr-footer h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:14px;font-family:var(--sans)}
.sr-footer ul{list-style:none}
.sr-footer li{margin-bottom:9px}
.sr-footer a{color:var(--ink-2)!important;font-size:14px}
.sr-footer a:hover{color:var(--ink)!important}
.sr-footer-meta{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;color:var(--ink-3);font-size:13px}
.sr-footer-meta a{color:var(--ink-3)!important}
@media(max-width:768px){.sr-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.sr-footer-grid{grid-template-columns:1fr}}

/* ── Cards / chips / sections ── */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}
.card:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;font-family:var(--mono);background:var(--accent-soft);color:var(--accent-ink);border:1px solid transparent}
.chip-line{background:var(--surface);border-color:var(--line-2);color:var(--ink-2)}
.section{padding:72px 0}
.section-head{margin-bottom:36px}
.eyebrow{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:10px}
.lede{color:var(--ink-2);font-size:17px;margin-top:10px}

/* ── Data tables ── */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
table.data-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.data-table th{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}
.data-table td{padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top}
.data-table tr:last-child td{border-bottom:none}
.data-table tbody tr:hover{background:var(--surface-2)}
.data-table .num{white-space:nowrap}
@media(max-width:640px){
  .table-scroll.stack-sm{border:none;background:none;overflow:visible}
  .stack-sm table.data-table{min-width:0}
  .stack-sm .data-table thead{display:none}
  .stack-sm .data-table tr{display:block;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:var(--surface)}
  .stack-sm .data-table td{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);font-size:13.5px}
  .stack-sm .data-table td::before{content:attr(data-label);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding-top:2px}
  .stack-sm .data-table tr td:last-child{border-bottom:none}
}

/* ── FAQ ── */
details.faq{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:0 20px;margin-bottom:10px}
details.faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';font-family:var(--mono);font-size:18px;color:var(--ink-3);transition:transform var(--speed) var(--ease)}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .faq-body{padding:0 0 16px;color:var(--ink-2)}

/* ── Motion: content is ALWAYS visible — no scroll-triggered hiding.  ──
   .reveal is intentionally a no-op class (kept in markup for grepability);
   scroll-linked opacity reveals clamp to invisible in tall viewports
   (screenshots, crawlers, print) and read as dated. Motion lives in
   micro-interactions, the hero card, marquee, and count-ups instead. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ── Landing-specific ── */
.hero{padding:76px 0 0;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-2);margin-bottom:22px}
.hero-badge .live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:srPulse 2.4s ease infinite}
@keyframes srPulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero-sub{color:var(--ink-2);font-size:17px;margin:20px 0 28px;max-width:52ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{margin-top:12px;font-size:13px;color:var(--ink-3)}
.trust-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:30px 0 12px}
.trust-carriers{display:flex;flex-wrap:wrap;gap:8px}
.trust-carrier{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-2)}
.trust-carrier .cdot{width:7px;height:7px;border-radius:50%}
/* invoice-check result card */
.proof-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-2);overflow:hidden}
.proof-head{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.proof-head .pd{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.proof-title{margin-left:6px;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-2)}
.sr-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);opacity:0;animation:srRowIn .5s ease forwards}
.sr-k{font-size:13px;color:var(--ink-2)}
.sr-v{font-size:13px;font-weight:700;font-family:var(--mono)}
@keyframes srRowIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes srPop{0%{opacity:0;transform:scale(.94)}60%{transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
.overbill-flag{margin-top:14px;padding:14px 16px;border-radius:var(--radius);background:var(--danger-soft);border:1px solid var(--danger);display:flex;justify-content:space-between;align-items:center;opacity:0;animation:srPop .55s var(--ease) forwards;animation-delay:.85s}
@media (prefers-reduced-motion:reduce){.sr-row,.overbill-flag{animation:none!important;opacity:1!important}}
/* stats strip */
.stats-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:26px 18px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat-val{font-family:var(--mono);font-size:clamp(24px,2.6vw,34px);font-weight:700;letter-spacing:-.02em}
.stat-label{font-size:12.5px;color:var(--ink-3);margin-top:6px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:760px){.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
/* problem section */
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.prob-card .big{font-family:var(--mono);font-size:34px;font-weight:700;color:var(--accent-ink);letter-spacing:-.02em;line-height:1}
.prob-card.warn .big{color:var(--warn)}
.prob-card .cap{font-size:13.5px;color:var(--ink-2);margin-top:10px}
.prob-card .src{font-size:11px;color:var(--ink-3);margin-top:8px;font-family:var(--mono)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how-item{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:var(--radius);background:var(--accent-soft)}
.how-item .n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent-ink);margin-top:2px}
.how-item div{font-size:13.5px;color:var(--ink-2)}
.how-item b{color:var(--ink)}
@media(max-width:760px){.prob-grid,.how-grid{grid-template-columns:1fr}}
/* quote builder */
.qb-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.qb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.qb-step{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.qb-step .n{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent-ink)}
.qb-step .t{font-family:var(--display);font-weight:700;margin:6px 0 4px}
.qb-step p{font-size:12.5px;color:var(--ink-2)}
.qdoc-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.qdoc-row span:first-child{color:var(--ink-3)}
.qdoc-row span:last-child{font-weight:600}
@media(max-width:900px){.qb-grid{grid-template-columns:1fr}}
/* pricing */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.plan-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px}
.plan-card--pro{border-color:var(--accent);box-shadow:var(--shadow-2)}
.plan-badge{position:absolute;top:-11px;left:22px;padding:3px 12px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--accent);color:#fff}
[data-theme="dark"] .plan-badge{color:#0B0D12}
.plan-badge--ink{background:var(--ink);color:var(--bg)}
.plan-tier{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.plan-price{font-family:var(--display);font-size:38px;font-weight:700;letter-spacing:-.02em;margin-top:8px}
.plan-price .unit{font-size:15px;font-weight:500;color:var(--ink-3);font-family:var(--sans)}
.plan-sub{font-size:13px;color:var(--ink-3);margin:4px 0 18px}
.plan-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-top:1px solid var(--line);padding-top:16px;margin-bottom:12px}
.pf{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);margin-bottom:10px}
.pf svg{flex-shrink:0;margin-top:2px;color:var(--ok)}
.pf strong{color:var(--ink)}
.plan-btn{display:block;text-align:center;margin-top:18px}
.payment-note{max-width:720px;margin:30px auto 0;padding:18px 22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);display:flex;gap:14px;align-items:center}
.payment-note h3{font-size:15.5px}
.payment-note p{font-size:13.5px;color:var(--ink-2);margin-top:4px}
@media(max-width:900px){.plans-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}}
/* demo */
.demo-controls{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:flex-end;margin-bottom:36px}
.demo-field{display:flex;flex-direction:column;gap:6px}
.demo-field label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:600}
.demo-select{padding:11px 36px 11px 16px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;min-width:170px;appearance:none;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23667085" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');background-repeat:no-repeat;background-position:right 14px center}
.seg{display:flex;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-2)}
.seg button{padding:11px 18px;background:var(--surface);border:none;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--speed) var(--ease),color var(--speed) var(--ease)}
.seg button+button{border-left:1px solid var(--line-2)}
.seg button.active{background:var(--accent);color:#fff}
[data-theme="dark"] .seg button.active{color:#0B0D12}
.demo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;max-width:1080px;margin:0 auto}
.demo-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);animation:srRowIn .4s ease both}
.demo-card.cheapest{border-color:var(--ok);background:var(--ok-soft)}
.demo-card h4{font-family:var(--display);font-size:16px;font-weight:700}
.demo-card .cost{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:-.02em;margin:8px 0 2px}
.demo-card.cheapest .cost{color:var(--ok)}
.demo-card .meta{font-size:12px;color:var(--ink-3)}
.free-days{display:inline-block;padding:3px 10px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--mono);font-size:11px;font-weight:600}
.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
/* dev section */
.dev-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.dev-grid>*{min-width:0}
.hero-grid>*,.qb-grid>*,.bento-grid>*{min-width:0}
.code-tabs{display:flex;gap:0;border:1px solid var(--line-2);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;background:var(--surface-2)}
.code-tabs button{padding:10px 18px;border:none;background:transparent;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink-3);cursor:pointer}
.code-tabs button.active{background:var(--ink);color:var(--bg)}
.code-panel{display:none;margin:0;padding:20px;border:1px solid var(--line-2);border-radius:0 0 var(--radius) var(--radius);background:var(--ink);color:#E4E7EC;font-size:12.5px;line-height:1.7;overflow-x:auto}
[data-theme="dark"] .code-panel{background:#05070B;border-color:var(--line)}
.code-panel.active{display:block}
.code-panel .c{color:#7A8499}.code-panel .g{color:#3CCB7F}.code-panel .a{color:#8B80F9}
.ep-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.ep-row code{color:var(--accent-ink);font-weight:600;font-size:12.5px}
.ep-row .d{color:var(--ink-2)}
.ep-row .p{font-family:var(--mono);font-weight:600;color:var(--ink-3);font-size:12px;white-space:nowrap}
@media(max-width:900px){.dev-grid{grid-template-columns:1fr}}
/* bento */
.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bento-wide{grid-column:span 2;display:flex;gap:32px;align-items:center}
.bento-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink);margin-bottom:14px}
.bento-title{font-size:17px;margin-bottom:8px}
.bento-desc{font-size:13.5px;color:var(--ink-2)}
.bento-stat{margin-top:14px;font-size:13px;color:var(--ink-3)}
.bento-stat .v{font-family:var(--mono);font-weight:700;font-size:18px;color:var(--ink);margin-right:8px}
.mini-table{flex:1;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:13px;min-width:0}
.mini-row{display:grid;grid-template-columns:1.2fr .8fr 1fr;padding:9px 14px;border-bottom:1px solid var(--line)}
.mini-row:last-child{border-bottom:none}
.mini-row.head{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);background:var(--surface-2)}
.mini-row .r{text-align:right;font-family:var(--mono)}
.port-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.port{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:12.5px}
.port .lvl{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:700}
@media(max-width:900px){.bento-grid{grid-template-columns:1fr}.bento-wide{grid-column:span 1;flex-direction:column;align-items:stretch}}
/* coverage */
.cov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.cov-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.cov-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cov-name{font-family:var(--display);font-weight:700;font-size:15px}
.cov-geo{font-size:11.5px;color:var(--ink-3)}
.cov-recs{font-family:var(--mono);font-size:12px;color:var(--ink-2);margin:8px 0 10px}
.cov-bar{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}
.cov-bar i{display:block;height:100%;border-radius:2px}
/* cta strips + final */
.cta-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.cta-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px;flex-wrap:wrap}
.cta-strip-text{font-family:var(--display);font-weight:700;font-size:17px}
.final-cta{text-align:center;padding:88px 0}
.final-cta p{margin:14px auto 28px;color:var(--ink-2)}
.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.explore-grid a{display:block;padding:15px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)!important;font-weight:600;font-size:13.5px;transition:border-color var(--speed) var(--ease)}
.explore-grid a:hover{border-color:var(--accent);text-decoration:none}
/* blueprint vessel — signature brand illustration */
.bv-band{margin:44px auto 0;max-width:1200px;padding:0 20px;pointer-events:none;opacity:.9}
.bv-band svg{display:block;width:100%;height:auto}
.bv-band path,.bv-band rect,.bv-band line{vector-effect:non-scaling-stroke}
.bv-hull{stroke:var(--ink-2);stroke-width:1.6;fill:none;stroke-linejoin:round;stroke-linecap:round}
.bv-line{stroke:var(--ink-3);stroke-width:1.1;fill:none;stroke-linecap:round}
.bv-bay rect{fill:none;stroke:var(--ink-3);stroke-width:1.1}
.bv-bay rect.f{fill:var(--accent);stroke:none;opacity:.9}
.bv-bay rect.s{fill:var(--accent-soft);stroke:var(--accent-ink);stroke-width:1}
.bv-win{stroke:var(--ink-3);stroke-width:1.2;stroke-dasharray:7 9;fill:none}
.bv-wave{stroke:var(--accent-ink);opacity:.45;fill:none;stroke-width:1.4}
.bv-wave2{stroke:var(--ink-3);opacity:.4;fill:none;stroke-width:1.1}
.bv-annot line{stroke:var(--line-2);stroke-width:1}
.bv-annot text{font-family:var(--mono);font-size:11px;fill:var(--ink-3);letter-spacing:2px}
@keyframes bvSketch{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.bv-draw{stroke-dasharray:1;animation:bvSketch 2s var(--ease) .1s both}
.bv-draw2{stroke-dasharray:1;animation:bvSketch 1.6s var(--ease) .7s both}
@keyframes bvRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bv-bay{opacity:0;animation:bvRise .5s ease forwards}
.bv-win{opacity:0;animation:bvRise .5s ease 1.5s forwards}
.bv-annot{opacity:0;animation:bvRise .6s ease 2.1s forwards}
@keyframes bvDrift{to{transform:translateX(-120px)}}
.bv-wave{animation:bvDrift 9s linear infinite}
@keyframes bvDrift2{to{transform:translateX(120px)}}
.bv-wave2{animation:bvDrift2 14s linear infinite}
@media (prefers-reduced-motion:reduce){
  .bv-draw,.bv-draw2,.bv-bay,.bv-win,.bv-annot{animation:none;opacity:1;stroke-dashoffset:0}
  .bv-wave,.bv-wave2{animation:none}
}
@media(max-width:640px){.bv-annot{display:none}.bv-band{margin-top:26px}}
/* sticky mobile CTA */
#srStickyCta{display:none}
@media (max-width:760px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  #srStickyCta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;background:var(--bg);border-top:1px solid var(--line);box-shadow:var(--shadow-2);transform:translateY(120%);transition:transform .3s var(--ease)}
  #srStickyCta.show{transform:translateY(0)}
  #srStickyCta a{flex:1}
}

.showcase-notice{border-bottom:1px solid var(--line);background:var(--accent-soft);font-size:13px;line-height:1.7;color:var(--ink-2)}
.showcase-notice .wrap{padding-top:12px;padding-bottom:12px}.showcase-notice strong{color:var(--accent-ink)}
.preview-label{font-family:var(--mono);font-size:12px;color:var(--warn);display:block;margin-bottom:12px}
.showcase-panel{padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.showcase-panel p{color:var(--ink-2);margin:10px 0 18px}.showcase-panel .btn{margin:0 8px 8px 0}
.proof-card .sr-row,.proof-card .overbill-flag{opacity:1}.sr-footer-meta{padding-bottom:var(--footer-safe-space,0px)}
@media(max-width:760px){body.has-sticky{--footer-safe-space:70px}}

.i-00b9401485b6{text-align:center;margin-bottom:22px}
.i-032bb6c22e43{color:var(--ink-3);font-size:12.5px;margin-top:14px}
.i-094101595a2e{animation-delay:1.11s}
.i-098875a120e5{background:#009A44;width:9px;height:9px;border-radius:50%}
.i-1076b113573c{background:var(--danger);width:7px;height:7px;border-radius:50%}
.i-1bc9a17d44b2{margin-left:auto;margin-right:auto}
.i-20fecad5e5e5{animation-delay:.97s}
.i-256c30822715{background:#1B3A6B;width:9px;height:9px;border-radius:50%}
.i-2575204b545e{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.i-29076275b721{text-align:center;margin-bottom:20px}
.i-2c60238667a2{padding-top:32px}
.i-34e406bfffa8{background:#00A3E0;width:9px;height:9px;border-radius:50%}
.i-3552bf095ae9{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent-ink)}
.i-38752892fdab{font-family:var(--display);font-size:20px;font-weight:700;margin-top:6px}
.i-3a4b2db8b971{animation-delay:1.53s}
.i-3baeaeb96d2b{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.i-3c043c141b2f{animation-delay:1.67s}
.i-4e245530ee61{background:#FF1493;width:9px;height:9px;border-radius:50%}
.i-55e113a85c69{color:var(--ink-2);font-size:14px;margin-top:12px;max-width:34ch}
.i-56e197bc4fac{animation-delay:1.81s}
.i-592b0cbdee26{font-size:11.5px;color:var(--ink-3);margin-top:8px}
.i-5f24fd926810{max-width:780px}
.i-6308b3bf762b{background:#D71920;width:9px;height:9px;border-radius:50%}
.i-681b9f323e38{animation-delay:1.39s}
.i-728a16bf0421{color:var(--ink-2);line-height:1.8;margin:0 auto}
.i-76107e8c7f89{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.i-771753071b40{text-align:center;max-width:660px;margin-left:auto;margin-right:auto}
.i-7dcf3b0aae24{animation-delay:.90s}
.i-811a1309149b{padding-top:0}
.i-836fad43d4bc{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-bottom:12px;font-weight:600}
.i-83725d2c6e00{flex:1}
.i-8440622cfc72{border-bottom:none}
.i-86a3616d30c3{animation-delay:1.32s}
.i-86c81dc865d5{margin:10px auto}
.i-876de5844b2f{border-top:1px solid var(--line)}
.i-905008530ca9{text-align:center}
.i-9056e848e01d{padding:22px 24px}
.i-921b7f552dd7{background:var(--warn);width:7px;height:7px;border-radius:50%}
.i-93cafdda3d93{background:#FF6600;width:9px;height:9px;border-radius:50%}
.i-93d21f1d2924{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.i-979cc333947d{background:var(--accent-soft);border-radius:8px;padding:12px;border-bottom:none;margin-top:8px}
.i-98bc2e8d8c70{color:var(--warn)}
.i-9c543e38960c{font-size:12.5px;color:var(--ink-3);margin-top:2px}
.i-9c9bd7109079{max-width:860px}
.i-a202af869876{font-family:var(--mono)}
.i-a20dd0f38c04{margin-top:12px;font-size:12px;color:var(--ink-3)}
.i-a6b1554244f4{animation-delay:.85s}
.i-a89230e239c3{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.i-a8e99e5efcbe{padding:20px 22px 22px}
.i-aef9dfe6fc63{background:#E4002B;width:9px;height:9px;border-radius:50%}
.i-b0f3435cf6fd{color:var(--ok)}
.i-b56987dbcbbe{margin-bottom:12px}
.i-b79cf3c10bc6{font-weight:700;color:var(--ink)}
.i-b83ba24323c1{color:var(--danger)}
.i-b8d1f66f3355{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.i-bd6cdc0ec233{animation-delay:1.74s}
.i-befffc6b154c{animation-delay:1.46s}
.i-c04def679a38{animation-delay:1.25s}
.i-c1bbbef9ad1e{background:#ED1C24;width:9px;height:9px;border-radius:50%}
.i-c26234c3f58d{animation-delay:1.18s}
.i-c6fa01b3f145{font-weight:700}
.i-c885f1c71481{background:#00A651;width:9px;height:9px;border-radius:50%}
.i-c8af0a2636c5{color:var(--ink-2);line-height:1.8;margin:0 auto 16px}
.i-e7df379c1c38{background:var(--ok);width:7px;height:7px;border-radius:50%}
.i-e8187f4e340b{animation-delay:1.88s}
.i-e861ed3d34db{animation-delay:1.04s}
.i-eee3f850c9f4{margin-top:20px}
.i-f072fad9b83a{color:var(--accent-ink)}
.i-f0ab8d5cc173{padding-bottom:32px}
.i-f161e54d0542{animation-delay:1.60s}
.i-fd08084334a1{background:#2B3990;width:9px;height:9px;border-radius:50%}