/* boridesk.com — one stylesheet for every marketing page (round 6, boards
   10/11: rebuilt to match the app). Same paper, ink, borders and orange as
   the app, one typeface. Light by default; dark via [data-theme="dark"] or
   the OS setting when the visitor chose "Auto". */

:root {
  --bg:#f7f5f1; --sf:#ffffff; --sf2:#f1eee8; --line:#e7e3da; --line2:#c9c5bd;
  --ink:#14151a; --ink2:#43485a; --mute:#5b6070; --mute2:#5b6070; --hi:#14151a;
  --acc:#d4610d; --btn:#b4530a; --acct:#b4530a; --accw:#fbeee4;
  --blue:#1d4ed8; --bluew:#e8eefc; --bluew2:#cfe0fb; --amb:#a16207; --ambw:#fbf1d9;
  --grn:#15803d; --grnw:#e3f4e8; --red:#b91c1c; --teal:#0f766e;
  --pblue:#eef2fb; --pteal:#e0f2ef;
  --lkl:block; --lkd:none;
  --shadow:0 40px 80px -30px rgba(20,21,26,.30),0 2px 6px rgba(20,21,26,.05);
  --shadow-sm:0 30px 60px -30px rgba(20,21,26,.25);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#0a1220; --sf:#0f1a2e; --sf2:#16223a; --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.2);
  --ink:#eef0f5; --ink2:#b4bccd; --mute:#9aa3b8; --mute2:#8a93a8; --hi:#1a2742;
  --acct:#fb923c; --accw:rgba(249,115,22,.15);
  --blue:#93b4ff; --bluew:rgba(96,140,255,.16); --bluew2:rgba(96,140,255,.3); --amb:#fcd34d; --ambw:rgba(250,204,21,.13);
  --grn:#6ee7a0; --grnw:rgba(34,197,94,.14); --red:#fca5a5; --teal:#5eead4;
  --pblue:#111f3a; --pteal:#0d2a2c;
  --lkl:none; --lkd:block;
  --shadow:0 40px 80px -30px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.3);
  --shadow-sm:0 30px 60px -30px rgba(0,0,0,.6);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --bg:#0a1220; --sf:#0f1a2e; --sf2:#16223a; --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.2);
    --ink:#eef0f5; --ink2:#b4bccd; --mute:#9aa3b8; --mute2:#8a93a8; --hi:#1a2742;
    --acct:#fb923c; --accw:rgba(249,115,22,.15);
    --blue:#93b4ff; --bluew:rgba(96,140,255,.16); --bluew2:rgba(96,140,255,.3); --amb:#fcd34d; --ambw:rgba(250,204,21,.13);
    --grn:#6ee7a0; --grnw:rgba(34,197,94,.14); --red:#fca5a5; --teal:#5eead4;
    --pblue:#111f3a; --pteal:#0d2a2c;
    --lkl:none; --lkd:block;
    --shadow:0 40px 80px -30px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.3);
    --shadow-sm:0 30px 60px -30px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}

/* ---------------------------------------------------------------- base -- */
*,*::before,*::after { box-sizing:border-box; }
html { overflow-x:clip; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; overflow-x:clip; }
img,svg { display:block; max-width:100%; }
a { color:inherit; }
h1,h2,h3,h4 { margin:0; font-weight:800; text-wrap:balance; }
p { margin:0; text-wrap:pretty; }
.wrap { max-width:1200px; margin:0 auto; padding:0 40px; }
.skip { position:absolute; left:-9999px; top:8px; z-index:100; padding:10px 14px; background:var(--btn); color:#fff; border-radius:8px; font-weight:700; }
.skip:focus { left:12px; }
:focus-visible { outline:2px solid var(--acc); outline-offset:3px; border-radius:6px; }
.logo-l { display:var(--lkl); } .logo-d { display:var(--lkd); }

.kicker { font-size:14px; font-weight:700; color:var(--acct); }
.h2 { margin-top:12px; font-size:48px; line-height:1.08; letter-spacing:-.03em; }
.sub { margin-top:16px; font-size:18px; line-height:1.6; color:var(--ink2); }
.center { text-align:center; max-width:760px; margin:0 auto; }
.band { background:var(--sf); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sec { padding:110px 0; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; height:54px; padding:0 28px; border-radius:12px;
  font-size:16.5px; font-weight:700; text-decoration:none; white-space:nowrap; transition:filter .15s, background .15s; }
.btn-acc { background:var(--btn); color:#fff; box-shadow:0 8px 24px -8px rgba(180,83,10,.55); }
.btn-acc:hover { filter:brightness(1.08); }
.btn-sf { background:var(--sf); border:1px solid var(--line); color:var(--ink); font-weight:600; padding:0 26px; }
.btn-sf:hover { background:var(--sf2); }
.btn-line { border:1px solid var(--line2); color:var(--ink); }
.btn-line:hover { background:var(--sf2); }
.btn-dark { background:var(--hi); color:#fff; }
.btn-dark:hover { filter:brightness(1.25); }

.chip { display:inline-flex; align-items:center; padding:3px 10px; border-radius:99px; font-size:12.5px; font-weight:700; white-space:nowrap; }
.chip-blue { background:var(--bluew); color:var(--blue); }
.chip-acc { background:var(--accw); color:var(--acct); }
.chip-teal { background:var(--pteal); color:var(--teal); }
.chip-grn { background:var(--grnw); color:var(--grn); }

/* ----------------------------------------------------------------- nav -- */
.nav { position:sticky; top:0; z-index:50; background:var(--bg); border-bottom:1px solid var(--line); }
@supports (backdrop-filter:blur(1px)) { .nav { background:color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter:blur(10px); } }
.nav-in { height:72px; display:flex; align-items:center; gap:36px; }
.nav-logo { display:flex; align-items:center; flex:none; }
.nav-logo img { height:38px; width:auto; }
.nav-links { display:flex; gap:4px; font-size:15px; font-weight:500; }
.nav-links a { padding:8px 12px; color:var(--ink2); text-decoration:none; border-radius:8px; }
.nav-links a:hover { color:var(--ink); background:var(--sf2); }
.nav-links a[aria-current="page"] { color:var(--ink); font-weight:700; }
.nav-end { margin-left:auto; display:flex; align-items:center; gap:8px; }
.theme-btn { width:40px; height:40px; border-radius:10px; border:1px solid var(--line); background:transparent; color:var(--ink2);
  display:flex; align-items:center; justify-content:center; cursor:pointer; }
.theme-btn:hover { color:var(--ink); background:var(--sf2); }
.theme-btn .i-sun { display:none; }
.is-dark .theme-btn .i-sun { display:block; }
.is-dark .theme-btn .i-moon { display:none; }
.nav-signin { padding:0 14px; height:42px; display:flex; align-items:center; font-size:15px; font-weight:600; color:var(--ink); text-decoration:none; }
.nav-cta { height:42px; padding:0 20px; border-radius:10px; font-size:15px; font-weight:600; }
.nav-burger { display:none; width:44px; height:44px; border:0; background:transparent; color:var(--ink); align-items:center; justify-content:center; cursor:pointer; }
.nav-burger .i-x { display:none; }
.nav[data-open] .nav-burger .i-x { display:block; }
.nav[data-open] .nav-burger .i-menu { display:none; }
.nav-menu { display:none; }

/* -------------------------------------------------------------- footer -- */
.footer { border-top:1px solid var(--line); }
.footer-in { padding-top:56px; padding-bottom:36px; }
.footer-grid { display:grid; grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2fr)); gap:32px; }
.footer-brand img { height:38px; width:auto; }
.footer-brand p { margin-top:14px; max-width:280px; font-size:14.5px; line-height:1.6; color:var(--mute); }
.footer-brand .seg { margin-top:18px; }
.footer-col { display:flex; flex-direction:column; gap:12px; font-size:14.5px; }
.footer-col h2 { font-size:14.5px; font-weight:700; color:var(--ink); }
.footer-col a { color:var(--ink2); text-decoration:none; overflow-wrap:anywhere; }
.footer-col a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid var(--line); display:flex; font-size:13.5px; color:var(--mute); }
.footer-bottom span:last-child { margin-left:auto; }
.seg { display:inline-flex; padding:3px; border-radius:10px; background:var(--sf2); gap:2px; font-size:13px; }
.seg button { padding:6px 12px; border:0; border-radius:8px; background:transparent; color:var(--ink2); font:inherit; cursor:pointer; }
.seg button[aria-pressed="true"] { background:var(--sf); color:var(--ink); font-weight:700; box-shadow:0 1px 3px rgba(20,21,26,.1); }

/* --------------------------------------------------------------- hero --- */
.glow { position:absolute; left:50%; transform:translateX(-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side,rgba(212,97,13,.16),rgba(212,97,13,0)); }
.hero { position:relative; overflow:hidden; padding-top:88px; border-bottom:1px solid var(--line); }
.hero .glow { top:260px; width:1300px; height:700px; }
.hero-copy { position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; }
.announce { display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 6px; border-radius:99px; background:var(--sf);
  border:1px solid var(--line); font-size:13.5px; font-weight:500; color:var(--ink2); text-decoration:none; }
.announce b { padding:3px 10px; border-radius:99px; background:var(--accw); color:var(--acct); font-size:12px; }
.announce b { white-space:nowrap; }
.announce i { font-style:normal; color:var(--acct); }
.hero h1 { margin-top:28px; max-width:980px; font-size:76px; line-height:1.02; letter-spacing:-.035em; }
.hero h1 em { font-style:normal; color:var(--acc); }
.hero-lead { margin-top:24px; max-width:640px; font-size:20px; line-height:1.55; color:var(--ink2); }
.hero-ctas { margin-top:36px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.ticks { margin:20px 0 0; display:flex; gap:10px 24px; flex-wrap:wrap; justify-content:center; font-size:14px; color:var(--mute); list-style:none; padding:0; }
.ticks li { display:flex; align-items:center; gap:7px; }
.ticks li::before { content:"✓"; color:var(--grn); font-weight:700; }
.hero-shot { position:relative; margin-top:64px; }
.app { position:relative; border-radius:16px 16px 0 0; background:var(--sf); border:1px solid var(--line); border-bottom:0;
  box-shadow:var(--shadow); overflow:hidden; height:560px; display:flex; flex-direction:column; text-align:left; }
.app-bar { height:38px; flex:none; display:flex; align-items:center; gap:7px; padding:0 16px; background:var(--sf2); border-bottom:1px solid var(--line); }
.app-bar i { width:11px; height:11px; border-radius:50%; background:var(--line2); opacity:.6; }
.app-bar span { margin:0 auto; padding:4px 60px; border-radius:7px; background:var(--sf); font-size:12px; color:var(--mute); white-space:nowrap; }
.app-body { flex:1; display:flex; min-height:0; background:var(--bg); }
.app-side { width:232px; flex:none; background:var(--sf); border-right:1px solid var(--line); padding:16px 12px; display:flex; flex-direction:column; gap:2px; font-size:14px; color:var(--ink2); }
.a-nav { display:flex; align-items:center; gap:10px; height:36px; padding:0 12px; border-radius:8px; }
.a-nav::before { content:""; width:14px; height:14px; border-radius:4px; border:1.6px solid currentColor; flex:none; opacity:.8; }
.a-nav.on { background:var(--accw); color:var(--acct); font-weight:700; }
.a-nav b { margin-left:auto; font-size:12px; }
.a-sh { padding:18px 12px 8px; font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--mute2); }
.a-cl { display:flex; align-items:center; gap:10px; height:34px; padding:0 12px; white-space:nowrap; }
.a-cl em { margin-left:auto; font-style:normal; font-size:12px; color:var(--mute2); }
.cb { width:20px; height:20px; border-radius:5px; color:#fff; font-size:8.5px; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; }
.app-main { flex:1; min-width:0; padding:24px 28px; display:flex; flex-direction:column; gap:16px; }
.app-title { display:flex; align-items:center; gap:12px; }
.app-title h4 { font-size:22px; letter-spacing:-.02em; }
.app-title small { font-size:13px; color:var(--mute); }
.app-tabs { margin-left:auto; display:flex; gap:6px; font-size:13px; }
.app-tabs span { padding:6px 12px; border-radius:8px; border:1px solid var(--line); background:var(--sf); color:var(--ink2); }
.app-tabs span.on { background:var(--hi); color:#fff; border-color:var(--hi); font-weight:600; }
.app-table { background:var(--sf); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:14px; }
.a-row { display:grid; grid-template-columns:minmax(0,1fr) 170px 100px 70px; gap:12px; align-items:center; padding:13px 18px; border-bottom:1px solid var(--sf2); }
.a-row:last-child { border-bottom:0; }
.a-row.hd { padding:11px 18px; font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--mute2); border-bottom:1px solid var(--line); }
.a-row b { display:block; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.a-row small { font-size:12.5px; color:var(--mute); }
.a-row small.late { color:var(--red); font-weight:600; }
.a-row .cli { display:flex; align-items:center; gap:8px; color:var(--ink2); white-space:nowrap; overflow:hidden; }
.a-row .st { justify-self:start; }
.a-row .w { text-align:right; color:var(--ink2); }
.bar { display:block; width:3px; height:16px; border-radius:2px; flex:none; }
.st-open { padding:3px 10px; border-radius:99px; font-size:12px; font-weight:700; color:var(--blue); background:var(--bluew); }
.st-pend { padding:3px 10px; border-radius:99px; font-size:12px; font-weight:700; color:var(--amb); background:var(--ambw); }
.float-card { position:absolute; right:-20px; top:395px; width:290px; padding:16px 18px; border-radius:14px; background:var(--sf);
  border:1px solid var(--line); box-shadow:0 24px 48px -20px rgba(20,21,26,.35); text-align:left; }
.float-card .who { display:flex; align-items:center; gap:10px; }
.float-card .who .cb { width:28px; height:28px; border-radius:7px; font-size:10px; }
.float-card b { display:block; font-size:13.5px; } .float-card small { font-size:12px; color:var(--mute); }
.float-card p { margin-top:12px; font-size:13.5px; line-height:1.5; color:var(--ink2); }
.float-card .chip { margin-top:10px; font-size:11.5px; }
.app-mobile { display:none; }

/* ----------------------------------------------------------- problem ---- */
.lead-left { max-width:760px; }
.cards3 { margin-top:56px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pcard { padding:32px; border-radius:18px; background:var(--bg); border:1px solid var(--line); }
.icon-tile { width:44px; height:44px; border-radius:12px; background:var(--accw); color:var(--acct); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:800; }
.pcard h3 { margin-top:22px; font-size:21px; font-weight:700; letter-spacing:-.015em; }
.pcard p { margin-top:10px; font-size:16px; line-height:1.6; color:var(--ink2); }

/* -------------------------------------------------------- how it works -- */
.hcard { background:var(--sf); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.hvis { height:200px; background:var(--sf2); padding:28px; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.hvis .box { padding:12px 14px; border-radius:10px; background:var(--sf); border:1px solid var(--line); font-size:13.5px; font-weight:600; display:flex; align-items:center; gap:10px; min-width:0; }
.hvis .box span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hvis .box.dark { background:var(--hi); color:#fff; border-color:var(--hi); }
.hvis .box b { font-weight:700; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hvis .box .new { font-size:11.5px; font-weight:700; color:var(--blue); flex:none; }
.hvis .box.dim { opacity:.55; }
.hvis .fwd { padding-left:18px; font-size:13px; font-weight:700; color:var(--acct); }
.hvis .reply { width:100%; padding:16px; border-radius:12px; background:var(--sf); border:1px solid var(--line); border-left:3px solid #2563eb; }
.hvis .reply div { display:flex; align-items:center; gap:8px; font-size:13px; }
.hvis .reply p { margin-top:8px; font-size:13.5px; line-height:1.5; color:var(--ink2); }
.hbody { padding:26px 28px 30px; }
.hbody h3 { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:700; }
.num { width:28px; height:28px; border-radius:50%; background:var(--btn); color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; }
.hbody p { margin-top:12px; font-size:15.5px; line-height:1.6; color:var(--ink2); }

/* ------------------------------------------------------------ features -- */
.features-in { padding-top:110px; padding-bottom:110px; display:flex; flex-direction:column; gap:110px; }
.frow { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; align-items:center; }
.frow.flip { grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.frow h3 { margin-top:16px; font-size:34px; line-height:1.15; letter-spacing:-.025em; }
.frow .copy > p { margin-top:16px; font-size:17px; line-height:1.65; color:var(--ink2); }
.checks { margin:22px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; font-size:15.5px; }
.checks li { display:flex; gap:10px; }
.checks li::before { content:"✓"; color:var(--acct); font-weight:800; }
.panel { padding:40px; border-radius:24px; }
.panel-blue { background:var(--pblue); } .panel-acc { background:var(--accw); } .panel-teal { background:var(--pteal); }
.mock { background:var(--sf); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); overflow:hidden; }
.th-head { padding:18px 22px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:12px; }
.th-head div { flex:1; min-width:0; } .th-head b { display:block; font-size:17px; font-weight:800; } .th-head small { font-size:13px; color:var(--mute); }
.th-body { padding:20px 22px; display:flex; flex-direction:column; gap:12px; background:var(--bg); }
.bubble { max-width:80%; padding:14px 16px; border-radius:14px 14px 14px 4px; background:var(--sf); border:1px solid var(--line); font-size:14.5px; line-height:1.5; color:var(--ink2); }
.bubble b { display:block; font-size:13px; color:var(--ink); margin-bottom:4px; }
.bubble.out { align-self:flex-end; border-radius:14px 14px 4px 14px; background:#2563eb; border-color:#2563eb; color:#fff; }
.bubble.out b { color:#fff; }
.sent { align-self:flex-end; font-size:12px; font-weight:600; color:var(--grn); }
/* the portal mock stays light in dark mode: it is the client's own page */
.portal { background:#fffaf6; color:#14151a; border:1px solid #f0dccb; border-radius:16px; box-shadow:var(--shadow-sm); overflow:hidden; }
.portal-top { height:6px; background:#ea580c; }
.portal-h { padding:20px 22px; display:flex; align-items:center; gap:12px; border-bottom:1px solid #f0dccb; }
.portal-h > span { width:36px; height:36px; border-radius:9px; background:#ea580c; color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; }
.portal-h > div:first-of-type { flex:1; min-width:0; } .portal-h b { display:block; font-size:16px; font-weight:800; } .portal-h small { font-size:12.5px; color:#6b5a50; }
.portal-stats { display:flex; gap:22px; text-align:right; }
.portal-stats strong { display:block; font-size:24px; font-weight:800; line-height:1.1; }
.portal-stats small { font-size:11px !important; font-weight:700; }
.portal-list { padding:16px 22px 20px; display:flex; flex-direction:column; gap:8px; font-size:14px; }
.portal-list div { display:flex; gap:12px; padding:12px 14px; border-radius:10px; background:#fff; border:1px solid #f0dccb; }
.portal-list span { flex:1; min-width:0; font-weight:600; } .portal-list em { font-style:normal; font-weight:700; flex:none; }
.team { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.team .mock { padding:18px; display:flex; flex-direction:column; gap:10px; font-size:13.5px; box-shadow:0 20px 40px -24px rgba(20,21,26,.25); }
.team .k { font-size:12px; font-weight:700; color:var(--mute2); }
.agent { display:flex; align-items:center; gap:10px; }
.agent > i { width:30px; height:30px; border-radius:50%; font-size:10.5px; font-weight:800; font-style:normal; display:flex; align-items:center; justify-content:center; flex:none; }
.agent div { flex:1; min-width:0; } .agent b { display:block; font-weight:700; } .agent small { font-size:12px; color:var(--mute); }
.agent.new { padding:10px; border-radius:10px; border:1px dashed var(--line2); }
.agent .grant { font-size:12px; font-weight:700; color:var(--acct); }
.team-col { display:flex; flex-direction:column; gap:16px; }
.sla-alert { border-left:4px solid var(--red) !important; }
.sla-alert b { color:var(--red); }
.sla-alert p { color:var(--ink2); line-height:1.5; }
.rep b { display:flex; align-items:center; gap:8px; }
.rep .big { font-size:26px; font-weight:800; }
.rep .big span { font-size:13px; font-weight:600; color:var(--mute); }
.rep .bars { height:56px; display:flex; align-items:flex-end; gap:5px; }
.rep .bars span { flex:1; border-radius:3px; background:var(--bluew2); }
.rep .bars span:last-child { background:#2563eb; }
.roadmap { display:flex; align-items:center; gap:20px; padding:22px 28px; border-radius:16px; background:var(--bg); border:1px solid var(--line); margin-top:-40px; }
.roadmap b { font-size:14px; font-weight:700; flex:none; }
.roadmap ul { margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.roadmap li { padding:6px 12px; border-radius:99px; background:var(--sf); border:1px solid var(--line); font-size:13.5px; color:var(--ink2); }
.roadmap small { margin-left:auto; font-size:13px; color:var(--mute); flex:none; }

/* ------------------------------------------------------------- pricing -- */
.plans { margin-top:56px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.plan { background:var(--sf); border:1px solid var(--line); border-radius:20px; padding:32px; display:flex; flex-direction:column; }
.plan-name { display:flex; align-items:center; font-size:19px; font-weight:800; }
.plan-name .tag { margin-left:auto; padding:4px 11px; border-radius:99px; background:var(--acc); color:#fff; font-size:12px; font-weight:700; }
.plan-desc { margin-top:6px; font-size:14.5px; line-height:1.5; color:var(--mute); }
.plan-price { margin-top:26px; display:flex; align-items:baseline; gap:6px; }
.plan-price b { font-size:52px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.plan-price span { font-size:15px; color:var(--mute); }
.plan-cap { margin-top:8px; font-size:14px; font-weight:600; color:var(--ink2); }
.plan .btn { margin-top:26px; height:50px; font-size:15.5px; }
.plan ul { margin:26px 0 0; padding:24px 0 0; border-top:1px solid var(--line); list-style:none; display:flex; flex-direction:column; gap:12px; font-size:15px; color:var(--ink2); }
.plan li { display:flex; gap:10px; }
.plan li::before { content:"✓"; color:var(--grn); font-weight:800; }
.plan li.soon-h { margin-top:4px; font-size:12.5px; font-weight:700; color:var(--mute2); }
.plan li.soon-h::before { content:none; }
.plan li.soon { color:var(--mute); }
.plan li.soon::before { content:"○"; color:var(--mute2); font-weight:400; }
.plan-dark { background:var(--hi); border-color:var(--hi); color:#fff; box-shadow:0 30px 60px -24px rgba(20,21,26,.45); }
.plan-dark .plan-desc, .plan-dark .plan-price span { color:#c7cde0; }
.plan-dark .plan-cap { color:#e8ecf4; }
.plan-dark ul { border-top-color:rgba(255,255,255,.14); color:#e8ecf4; }
.plan-dark li::before { color:#fb923c; }
.is-dark .plan-dark { border-color:rgba(255,255,255,.14); }
.math { margin-top:28px; padding:22px 28px; border-radius:16px; background:var(--sf); border:1px solid var(--line); display:flex; align-items:center; gap:28px; }
.math p { flex:1; font-size:15px; line-height:1.6; color:var(--ink2); }
.math p b { color:var(--ink); }
.math > div { text-align:right; flex:none; }
.math small { display:block; font-size:12.5px; font-weight:700; color:var(--mute); }
.math strong { display:block; font-size:28px; font-weight:800; color:var(--acct); letter-spacing:-.02em; }
.fine { margin-top:14px; font-size:13px; line-height:1.6; color:var(--mute); text-align:center; }

/* ----------------------------------------------------------------- faq -- */
.faq { padding-top:110px; padding-bottom:110px; display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:72px; }
.faq-intro .h2 { font-size:44px; }
.faq-intro p { margin-top:16px; font-size:16.5px; line-height:1.6; color:var(--ink2); }
.faq-intro a { font-weight:700; color:var(--acct); }
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq details { border-radius:14px; background:var(--sf); border:1px solid var(--line); }
.faq details[open] { background:var(--bg); }
.faq summary { min-height:62px; padding:18px 22px; display:flex; align-items:center; gap:16px; font-size:17px; font-weight:700; cursor:pointer; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; margin-left:auto; flex:none; width:28px; height:28px; border-radius:50%; background:var(--sf2); display:flex;
  align-items:center; justify-content:center; font-size:18px; font-weight:600; color:var(--ink2); }
.faq details[open] summary::after { content:"−"; }
.faq details p { padding:0 22px 22px; max-width:620px; font-size:16px; line-height:1.65; color:var(--ink2); }
.faq details a { color:var(--acct); font-weight:600; }

/* --------------------------------------------------------------- final -- */
.final { padding:40px; }
.final-in { position:relative; overflow:hidden; max-width:1200px; margin:0 auto; border-radius:28px; background:var(--hi); color:#fff; padding:96px 40px; text-align:center; }
.is-dark .final-in { border:1px solid rgba(255,255,255,.08); }
.final .glow { top:100%; width:1100px; height:600px; transform:translate(-50%,-50%); background:radial-gradient(closest-side,rgba(212,97,13,.45),rgba(212,97,13,0)); }
.final-copy { position:relative; display:flex; flex-direction:column; align-items:center; }
.final .kick { font-size:14px; font-weight:700; color:#fb923c; }
.final h2 { margin-top:16px; max-width:820px; font-size:60px; line-height:1.05; letter-spacing:-.035em; }
.final p { margin-top:20px; max-width:560px; font-size:18px; line-height:1.6; color:#c7cde0; }
.final .ctas { margin-top:36px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.final .btn { height:56px; font-size:17px; }
.btn-ghost { border:1px solid rgba(255,255,255,.22); color:#fff; font-weight:600; }
.btn-ghost:hover { background:rgba(255,255,255,.06); }
.final small { margin-top:18px; font-size:14px; color:#c7cde0; }

/* ---------------------------------------------- documents (legal/trust) -- */
.doc-head { border-bottom:1px solid var(--line); }
.doc-head-in { padding-top:72px; padding-bottom:56px; }
.doc-tabs { display:flex; gap:4px; padding:4px; border-radius:12px; background:var(--sf2); width:max-content; font-size:14.5px; font-weight:600; }
.doc-tabs a { padding:8px 18px; border-radius:9px; color:var(--ink2); text-decoration:none; }
.doc-tabs a:hover { color:var(--ink); }
.doc-tabs a[aria-current="page"] { background:var(--sf); color:var(--ink); box-shadow:0 1px 3px rgba(20,21,26,.1); }
.doc-head h1 { margin-top:28px; font-size:60px; line-height:1.05; letter-spacing:-.035em; }
.doc-lead { margin-top:18px; max-width:720px; font-size:19px; line-height:1.6; color:var(--ink2); }
.pills { margin-top:20px; display:flex; flex-wrap:wrap; gap:10px; font-size:13.5px; font-weight:600; color:var(--mute); }
.pills span { padding:6px 14px; border-radius:99px; background:var(--sf); border:1px solid var(--line); }
.doc-body { padding-top:64px; padding-bottom:110px; display:grid; grid-template-columns:240px minmax(0,700px); gap:96px; }
.toc { position:sticky; top:96px; display:flex; flex-direction:column; gap:2px; font-size:14px; color:var(--mute); }
.toc-k { font-size:12px; font-weight:700; letter-spacing:.08em; margin-bottom:12px; }
.toc a { padding:8px 12px; border-radius:8px; color:inherit; text-decoration:none; }
.toc a:hover { color:var(--ink); }
.toc a.on { background:var(--accw); color:var(--acct); font-weight:700; }
.toc .try { margin-top:24px; }
.toc-m { display:none; }
.prose { font-size:17px; line-height:1.75; color:var(--ink2); min-width:0; }
.prose a { color:var(--acct); font-weight:600; }
.prose h2 { font-size:26px; line-height:1.25; letter-spacing:-.02em; color:var(--ink); }
.prose section { scroll-margin-top:96px; }
.prose section + section { margin-top:48px; }
.prose h2 + * { margin-top:12px; }
.prose p + p, .prose p + .dl, .prose .dl + p, .prose ul + p, .prose p + ul { margin-top:16px; }
.prose strong { color:var(--ink); }
.prose ul { margin-bottom:0; padding-left:20px; }
.prose li + li { margin-top:6px; }
.dl { margin:16px 0 0; border:1px solid var(--line); border-radius:16px; background:var(--sf); overflow:hidden; font-size:15.5px; line-height:1.6; }
.dl > div { display:grid; grid-template-columns:200px minmax(0,1fr); gap:20px; padding:16px 20px; }
.dl > div + div { border-top:1px solid var(--line); }
.dl dt { font-weight:700; color:var(--ink); }
.dl dd { margin:0; }
.good { margin-top:18px; display:flex; gap:14px; align-items:flex-start; padding:18px 20px; border-radius:16px; background:var(--grnw); color:var(--ink); font-weight:600; line-height:1.6; }
.good::before { content:"✓"; color:var(--grn); font-weight:800; }
.contact-row { margin-top:16px; display:flex; align-items:center; gap:16px; padding:22px 24px; border-radius:16px; background:var(--sf); border:1px solid var(--line); }
.contact-row b { flex:1; color:var(--ink); }
.prose .contact-row .btn { height:44px; padding:0 18px; font-size:14.5px; color:#fff; font-weight:700; }
.doc-body.sec-body { padding-top:96px; }
.prose-sec h2 { font-size:30px; letter-spacing:-.025em; }
.prose-sec section + section { margin-top:52px; }
/* trust */
.trust-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.trust-hero .glow { top:-200px; width:1100px; height:600px; background:radial-gradient(closest-side,rgba(212,97,13,.13),rgba(212,97,13,0)); }
.trust-hero-in { position:relative; padding-top:96px; padding-bottom:80px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.shield { width:64px; height:64px; border-radius:18px; background:var(--sf); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--acct); box-shadow:0 12px 30px -14px rgba(20,21,26,.3); }
.trust-hero h1 { margin-top:26px; font-size:64px; line-height:1.04; letter-spacing:-.035em; }
.trust-hero p { margin-top:18px; max-width:600px; font-size:19px; line-height:1.55; color:var(--ink2); }
.trust-hero .pills { justify-content:center; margin-top:18px; }
.facts-in { padding-top:80px; }
.facts-in h2 { font-size:38px; line-height:1.1; letter-spacing:-.03em; margin-top:10px; }
.facts { margin:32px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.facts li { background:var(--sf); border:1px solid var(--line); border-radius:18px; padding:22px; }
.tick-tile { width:34px; height:34px; border-radius:10px; background:var(--grnw); color:var(--grn); display:flex; align-items:center; justify-content:center; font-weight:800; }
.facts b { display:block; margin-top:16px; font-size:15.5px; line-height:1.35; }
.facts small { display:block; margin-top:6px; font-size:13.5px; line-height:1.5; color:var(--mute); }
.notyet { margin-top:14px; display:flex; align-items:center; gap:24px; padding:22px 26px; border-radius:18px; background:var(--sf2); border:1px solid var(--line); }
.warn-tile { flex:none; width:34px; height:34px; border-radius:10px; background:var(--ambw); color:var(--amb); display:flex; align-items:center; justify-content:center; font-weight:800; }
.notyet > div { flex:1; } .notyet b { font-size:15.5px; } .notyet p { margin-top:4px; font-size:15px; line-height:1.6; color:var(--ink2); }
.notyet .btn { flex:none; height:44px; padding:0 18px; font-size:14.5px; border-radius:10px; }
.report-box { margin-top:56px; padding:32px; border-radius:20px; background:var(--hi); color:#fff; }
.is-dark .report-box { border:1px solid rgba(255,255,255,.08); }
.report-box .k { font-size:14px; font-weight:700; color:#fb923c; }
.report-box p { margin-top:10px; font-size:17px; line-height:1.6; color:#e8ecf4; }
.prose .report-box a { color:#fb923c; font-weight:700; }

/* ---------------------------------------------------------------- blog -- */
.blog-head { padding-top:88px; padding-bottom:48px; }
.blog-head h1 { margin-top:12px; max-width:860px; font-size:60px; line-height:1.05; letter-spacing:-.035em; }
.blog-head p { margin-top:18px; max-width:680px; font-size:18px; line-height:1.6; color:var(--ink2); }
.filters { margin-top:32px; display:flex; flex-wrap:wrap; gap:8px; font-size:14px; font-weight:600; }
.filters button { padding:8px 16px; border-radius:99px; background:var(--sf); border:1px solid var(--line); color:var(--ink2); font:inherit; cursor:pointer; }
.filters button:hover { color:var(--ink); }
.filters button[aria-pressed="true"] { background:var(--hi); border-color:var(--hi); color:#fff; }
.blog-posts { padding-bottom:110px; }
.post-feature { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); background:var(--sf); border:1px solid var(--line); border-radius:24px; overflow:hidden; text-decoration:none; color:inherit; }
.post-feature .cover { background:var(--pblue); padding:44px; display:flex; align-items:center; justify-content:center; }
.cv-table { width:100%; background:var(--sf); border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(20,21,26,.3); font-size:15px; }
.cv-table div { display:grid; grid-template-columns:1.2fr 1fr 1fr; padding:14px 20px; border-bottom:1px solid var(--sf2); }
.cv-table div:last-child { border-bottom:0; background:var(--accw); }
.cv-table div:last-child b:not(:first-child) { color:var(--acct); }
.cv-table .hd { padding:12px 20px; font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--mute2); border-bottom:1px solid var(--line); }
.cv-table span { color:var(--ink2); }
.post-feature-body { padding:48px 44px; display:flex; flex-direction:column; }
.post-meta { display:flex; gap:10px; align-items:center; font-size:13.5px; color:var(--mute); }
.post-feature h2 { margin-top:20px; font-size:36px; line-height:1.12; letter-spacing:-.03em; }
.post-feature p { margin-top:16px; font-size:16.5px; line-height:1.6; color:var(--ink2); }
.more { margin-top:auto; padding-top:28px; font-size:15.5px; font-weight:700; color:var(--acct); }
.post-feature:hover h2, .post-card:hover h3 { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.post-grid { margin-top:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.post-card { background:var(--sf); border:1px solid var(--line); border-radius:22px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.post-card[hidden], .post-feature[hidden] { display:none; }
.post-card .cover { height:210px; padding:28px; }
.post-card-body { padding:26px; display:flex; flex-direction:column; flex:1; }
.post-card .post-meta { font-size:13px; }
.post-card h3 { margin-top:14px; font-size:21px; line-height:1.3; letter-spacing:-.015em; }
.post-card p { margin-top:10px; font-size:15px; line-height:1.6; color:var(--ink2); }
.cv-four { background:var(--pteal); display:grid; grid-template-columns:1fr 1fr; gap:10px; align-content:center; font-size:13.5px; font-weight:700; }
.cv-four span { padding:14px; border-radius:12px; background:var(--sf); border:1px solid var(--line); }
.cv-fwd { background:var(--accw); display:flex; flex-direction:column; justify-content:center; gap:10px; font-size:14px; font-weight:600; }
.cv-fwd span { padding:12px 14px; border-radius:12px; background:var(--sf); border:1px solid var(--line); }
.cv-fwd em { font-style:normal; padding-left:16px; font-weight:700; color:var(--acct); }
.cv-fwd strong { padding:12px 14px; border-radius:12px; background:var(--hi); color:#fff; font-weight:600; }
.post-card .cover.cv-bars { background:var(--pblue); padding:28px 32px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; align-items:end; font-size:12px; font-weight:700; color:var(--mute); text-align:center; }
.cv-bars i { display:block; border-radius:8px 8px 0 0; background:var(--bluew2); }
.cv-bars div:last-child i { background:#2563eb; }
.cv-bars div:last-child span { color:var(--ink); }
.cv-bars span { display:block; padding:10px 0 16px; }
/* article */
.progress { position:sticky; top:72px; z-index:40; height:3px; background:var(--line); }
.progress i { display:block; height:3px; width:0; background:var(--acc); }
.art-head { max-width:860px; margin:0 auto; padding:72px 40px 56px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.crumbs { display:flex; gap:10px; align-items:center; font-size:14px; color:var(--mute); }
.crumbs a { color:var(--mute); text-decoration:none; font-weight:600; }
.crumbs a:hover { color:var(--ink); }
.art-head h1 { margin-top:22px; font-size:54px; line-height:1.08; letter-spacing:-.035em; }
.art-lede { margin-top:22px; max-width:700px; font-size:20px; line-height:1.55; color:var(--ink2); }
.byline { margin-top:28px; display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:10px 14px; font-size:14px; color:var(--mute); }
.byline img { width:36px; height:36px; padding:6px; border-radius:10px; background:var(--sf); border:1px solid var(--line); }
.byline b { color:var(--ink); }
.art-head .chip-grn { margin-top:16px; padding:6px 14px; font-size:13px; }
.art-body { padding-top:56px; padding-bottom:96px; display:grid; grid-template-columns:240px minmax(0,700px); gap:80px; border-top:1px solid var(--line); }
.try { padding:18px; border-radius:16px; background:var(--sf); border:1px solid var(--line); font-size:14px; line-height:1.5; color:var(--ink2); }
.try b { display:block; color:var(--ink); font-size:15px; }
.toc .try .btn { margin-top:12px; width:100%; height:40px; border-radius:10px; font-size:14px; padding:0; box-shadow:none; color:#fff; }
.article { font-size:17.5px; line-height:1.75; color:var(--ink2); min-width:0; }
.article > * + * { margin-top:18px; }
.article h2 { margin-top:56px; font-size:32px; line-height:1.2; letter-spacing:-.025em; color:var(--ink); scroll-margin-top:96px; }
.article h3 { margin-top:36px; font-size:22px; line-height:1.3; letter-spacing:-.015em; color:var(--ink); }
.article h2 + *, .article h3 + * { margin-top:14px; }
.article strong, .article b { color:var(--ink); }
.article a { color:var(--acct); font-weight:600; }
.article code { font-size:.9em; background:var(--sf2); padding:2px 6px; border-radius:6px; color:var(--ink); overflow-wrap:anywhere; }
.article ul { padding-left:22px; margin-bottom:0; }
.article li + li { margin-top:8px; }
.article ol { padding:0; margin-bottom:0; list-style:none; display:flex; flex-direction:column; gap:20px; counter-reset:n; }
.article ol > li { counter-increment:n; position:relative; padding-left:44px; }
.article ol > li + li { margin-top:0; }
.article ol > li::before { content:counter(n); position:absolute; left:0; top:2px; width:30px; height:30px; border-radius:50%; background:var(--btn); color:#fff;
  font-size:14px; font-weight:800; line-height:30px; text-align:center; }
.article blockquote { margin:36px 0; padding:28px 32px; border-radius:20px; background:var(--sf); border:1px solid var(--line); font-size:28px; line-height:1.3; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.article blockquote::before { content:"“"; display:block; font-size:44px; line-height:.6; color:var(--acc); }
.article blockquote p { margin:0; }
.article blockquote + * { margin-top:0; }
.article .callout { margin-top:32px; padding:24px 26px; border-radius:18px; background:var(--accw); font-size:16.5px; line-height:1.65; color:var(--ink); }
.article .callout .k { font-size:14px; font-weight:800; color:var(--acct); margin-bottom:6px; }
.article .callout p { margin:0; }
.article .callout p + p { margin-top:10px; }
.article .opts { margin-top:24px; display:flex; flex-direction:column; gap:14px; }
.article .opt { padding:26px; border-radius:18px; background:var(--sf); border:1px solid var(--line); }
.article .opt > * + * { margin-top:14px; }
.article .opt h3 { margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.article .opt .bestfor { margin-top:4px; font-size:14.5px; line-height:1.5; font-weight:600; color:var(--mute); }
.article .opt .bestfor + * { margin-top:12px; }
.article .opt.us { background:var(--accw); }
.article .opt.us p { color:var(--ink); }
.article .opt.us .bestfor { color:var(--ink2); }
.article .opt .disc { padding:3px 10px; border-radius:99px; background:var(--sf); font-size:12px; font-weight:700; color:var(--ink2); letter-spacing:0; }
.table-wrap { margin-top:22px; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--sf); }
.article table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.45; }
.article th { text-align:left; padding:13px 20px; background:var(--sf2); font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--mute); text-transform:uppercase; }
.article td { padding:14px 20px; border-top:1px solid var(--line); vertical-align:top; }
.article td:first-child { font-weight:700; color:var(--ink); }
.article tr.us td { background:var(--accw); color:var(--ink); font-weight:600; }
.article .table-note { margin-top:12px; font-size:14px; line-height:1.6; color:var(--mute); }
.article .end-cta { position:relative; overflow:hidden; margin-top:48px; padding:40px; border-radius:24px; background:var(--hi); color:#fff; }
.is-dark .article .end-cta { border:1px solid rgba(255,255,255,.08); }
.article .end-cta .glow { left:auto; right:-120px; bottom:-200px; top:auto; width:500px; height:400px; transform:none; background:radial-gradient(closest-side,rgba(212,97,13,.45),rgba(212,97,13,0)); }
.article .end-cta > div:not(.glow) { position:relative; }
.article .end-cta h3 { margin:0; font-size:30px; line-height:1.15; letter-spacing:-.025em; color:#fff; }
.article .end-cta p { margin-top:10px; font-size:16px; line-height:1.6; color:#c7cde0; }
.article .end-cta .btn { margin-top:24px; height:50px; padding:0 24px; font-size:16px; color:#fff; text-decoration:none; }
.keep { background:var(--sf); border-top:1px solid var(--line); }
.keep-in { padding-top:64px; padding-bottom:72px; }
.keep-in h2 { font-size:28px; letter-spacing:-.02em; }
.keep-grid { margin-top:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.keep-grid a { padding:24px; border-radius:18px; background:var(--bg); border:1px solid var(--line); text-decoration:none; color:inherit; }
.keep-grid b { display:block; margin-top:14px; font-size:19px; line-height:1.35; font-weight:800; }
.keep-grid a:hover b { text-decoration:underline; text-underline-offset:3px; }

/* ------------------------------------------------------- responsive ----- */
@media (max-width:1080px) {
  .frow, .frow.flip, .faq, .doc-body, .art-body { grid-template-columns:minmax(0,1fr); gap:40px; }
  .frow.flip .panel { order:2; }
  .doc-body > nav, .art-body > nav { display:none; }
  .toc-m { display:block; margin-top:24px; border:1px solid var(--line2); border-radius:12px; background:var(--sf); text-align:left; width:100%; }
  .toc-m summary { height:52px; padding:0 16px; display:flex; align-items:center; font-size:14.5px; font-weight:700; cursor:pointer; list-style:none; }
  .toc-m summary::-webkit-details-marker { display:none; }
  .toc-m summary span { margin-left:8px; font-weight:500; color:var(--mute); }
  .toc-m summary::after { content:"▾"; margin-left:auto; color:var(--mute); }
  .toc-m a { display:block; padding:10px 16px; border-top:1px solid var(--line); font-size:14px; color:var(--ink2); text-decoration:none; }
  .facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-feature { grid-template-columns:minmax(0,1fr); }
  .post-grid, .keep-grid { grid-template-columns:minmax(0,1fr); }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-brand { grid-column:1 / -1; }
  .float-card { right:12px; }
  .app-side { width:200px; }
  .a-row { grid-template-columns:minmax(0,1fr) 150px 90px; }
  .a-row > :last-child { display:none; }
}
@media (max-width:860px) {
  .nav-links, .nav-signin, .nav-end .theme-btn { display:none; }
  .nav-in { height:62px; gap:8px; }
  .nav-logo img { height:32px; }
  .nav-cta { height:38px; padding:0 14px; font-size:14px; }
  .nav-burger { display:flex; }
  .nav[data-open] .nav-menu { display:flex; flex-direction:column; padding:8px 20px 24px; border-top:1px solid var(--line); }
  .m-link { height:54px; display:flex; align-items:center; border-bottom:1px solid var(--line); font-size:19px; font-weight:700; color:var(--ink); text-decoration:none; }
  .m-link::after { content:"→"; margin-left:auto; color:var(--mute); font-weight:400; }
  .m-theme { display:flex; align-items:center; height:54px; font-size:14px; color:var(--ink2); }
  .m-theme .seg { margin-left:auto; }
  .m-ctas { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
  .m-ctas .btn { height:50px; font-size:15px; }
  .progress { top:62px; }
  .hero .app-body { display:none; }
  .hero .app { height:auto; }
  .app-mobile { display:flex; flex-direction:column; gap:8px; padding:14px; background:var(--bg); }
  .app-mobile .app-title h4 { font-size:18px; }
  .m-tk { display:flex; gap:10px; align-items:center; padding:10px 12px; border-radius:12px; background:var(--sf); border:1px solid var(--line); }
  .m-tk > i { width:3px; align-self:stretch; border-radius:2px; flex:none; }
  .m-tk div { flex:1; min-width:0; } .m-tk b { display:block; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .m-tk small { font-size:11.5px; color:var(--mute); }
  .float-card { position:relative; right:auto; top:auto; width:auto; margin:12px 0 0; }
  .cards3 { grid-template-columns:minmax(0,1fr); }
  .plans { grid-template-columns:minmax(0,1fr); max-width:520px; margin-left:auto; margin-right:auto; }
}
@media (max-width:720px) {
  .wrap { padding:0 20px; }
  .sec { padding:64px 0; }
  .h2 { font-size:34px; line-height:1.1; }
  .sub { font-size:16px; }
  .hero { padding-top:44px; }
  .announce { font-size:12.5px; gap:8px; text-align:left; }
  .hero .glow { top:200px; width:700px; height:500px; }
  .hero h1 { font-size:42px; line-height:1.06; margin-top:22px; }
  .hero-lead { font-size:17px; margin-top:18px; }
  .hero-ctas { width:100%; flex-direction:column; }
  .hero-ctas .btn { width:100%; height:52px; }
  .ticks { gap:8px 16px; font-size:13px; }
  .hero-shot { margin-top:40px; }
  .app-bar span { padding:4px 20px; }
  .cards3 { margin-top:32px; gap:14px; }
  .pcard { padding:24px; }
  .features-in { padding-top:64px; padding-bottom:64px; gap:64px; }
  .frow h3 { font-size:26px; }
  .panel { padding:16px; border-radius:18px; }
  .bubble { max-width:92%; }
  .team { grid-template-columns:minmax(0,1fr); }
  .portal-h { flex-wrap:wrap; }
  .portal-stats { width:100%; justify-content:flex-start; text-align:left; }
  .roadmap { flex-direction:column; align-items:flex-start; padding:18px; margin-top:-24px; }
  .roadmap small { margin-left:0; }
  .plans { margin-top:32px; }
  .plan { padding:24px; }
  .plan-dark { order:-1; }
  .math { flex-direction:column; align-items:flex-start; gap:10px; padding:18px; }
  .math > div { text-align:left; }
  .faq { padding-top:64px; padding-bottom:64px; gap:24px; }
  .faq-intro .h2 { font-size:32px; }
  .faq summary { font-size:15.5px; padding:16px 18px; }
  .faq details p { padding:0 18px 18px; font-size:15px; }
  .final { padding:20px; }
  .final-in { padding:56px 22px; border-radius:22px; }
  .final h2 { font-size:36px; }
  .final p { font-size:16px; }
  .final .ctas { width:100%; flex-direction:column; }
  .final .btn { width:100%; }
  .footer-in { padding-top:40px; padding-bottom:28px; }
  .footer-bottom { flex-direction:column; gap:6px; }
  .footer-bottom span:last-child { margin-left:0; }
  .doc-head-in { padding-top:32px; padding-bottom:32px; }
  .doc-tabs { width:100%; } .doc-tabs a { flex:1; text-align:center; padding:8px 0; }
  .doc-head h1, .trust-hero h1 { font-size:40px; }
  .doc-lead, .trust-hero p { font-size:16.5px; }
  .doc-body, .doc-body.sec-body { padding-top:32px; padding-bottom:56px; }
  .dl > div { grid-template-columns:minmax(0,1fr); gap:2px; }
  .prose { font-size:16px; }
  .prose h2 { font-size:23px; }
  .prose-sec h2 { font-size:25px; }
  .contact-row { flex-direction:column; align-items:flex-start; }
  .trust-hero-in { padding-top:56px; padding-bottom:48px; }
  .facts-in { padding-top:48px; }
  .facts-in h2 { font-size:28px; }
  .facts { grid-template-columns:minmax(0,1fr); gap:10px; }
  .facts li { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:14px; padding:16px; }
  .facts li .tick-tile { grid-row:span 2; }
  .facts li b { margin-top:0; } .facts li small { margin-top:2px; }
  .notyet { flex-direction:column; align-items:flex-start; padding:18px; }
  .blog-head { padding-top:44px; padding-bottom:28px; }
  .blog-head h1 { font-size:38px; }
  .blog-head p { font-size:16px; }
  .blog-posts { padding-bottom:64px; }
  .post-feature .cover { padding:20px; }
  .cv-table { font-size:13.5px; }
  .cv-table div { padding:11px 14px; }
  .post-feature-body { padding:24px; }
  .post-feature h2 { font-size:26px; }
  .art-head { padding:36px 20px 32px; }
  .art-head h1 { font-size:34px; }
  .art-lede { font-size:17px; }
  .art-body { padding-top:32px; padding-bottom:56px; }
  .article { font-size:16.5px; }
  .article h2 { font-size:26px; margin-top:40px; }
  .article blockquote { font-size:22px; padding:22px; }
  .article .opt { padding:20px; }
  .table-wrap { border:0; background:none; border-radius:0; overflow:visible; }
  .article table, .article tbody, .article tr, .article td { display:block; }
  .article thead { display:none; }
  .article tr { padding:14px 16px; border-radius:12px; background:var(--sf); border:1px solid var(--line); margin-bottom:8px; }
  .article tr.us { background:var(--accw); }
  .article tr.us td { background:none; }
  .article td { border:0; padding:2px 0; display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; font-size:14px; }
  .article td::before { content:attr(data-label); color:var(--mute); font-weight:400; }
  .article td:first-child { display:block; font-size:15px; margin-bottom:6px; }
  .article td:first-child::before { content:none; }
  .article .end-cta { padding:26px 20px; }
  .article .end-cta h3 { font-size:24px; }
  .keep-in { padding-top:48px; padding-bottom:56px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
