/* Northdue — northdue.com
   One stylesheet. Tokens first, then base, layout, components, and one block per page section. */

/* ---- fonts ----------------------------------------------------------------------------------------- */
@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(../fonts/inter-latin-opsz-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-opsz-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(../fonts/inter-latin-ext-opsz-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-ext-opsz-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;
  src:url(../fonts/instrument-serif-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;
  src:url(../fonts/instrument-serif-latin-400-normal.woff2) format("woff2")}

/* ---- tokens ---------------------------------------------------------------------------------------- */
:root{
  color-scheme:light;
  --bg:#ffffff;--bg-soft:#f7f8fa;--bg-tint:#f3f6fd;
  --ink:#0b0f19;--ink-2:#3a4251;--muted:#5f6b7e;--faint:#98a2b3;
  --line:#e6e9ef;--line-2:#d5dae3;
  --brand:#2563eb;--brand-600:#1d4ed8;--brand-700:#1e40af;--brand-900:#172554;
  --brand-50:#eff4ff;--brand-100:#dce7fe;--brand-200:#bfd3fe;--brand-300:#93b4fd;
  --good:#067647;--good-500:#17b26a;--good-50:#ecfdf3;--good-200:#abefc6;
  --warn:#b54708;--warn-500:#f79009;--warn-50:#fffaeb;--warn-200:#fedf89;
  --crit:#b42318;--crit-50:#fef3f2;--crit-200:#fecdca;
  --night:#050913;--night-2:#0a1120;--night-3:#101a2e;--night-line:rgba(255,255,255,.09);--night-line-2:rgba(255,255,255,.16);
  --night-ink:#eef2fa;--night-2ink:#c4cbda;--night-muted:#8c97ae;
  --r-xs:6px;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--r-2xl:28px;
  --shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --shadow-sm:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);
  --shadow:0 1px 2px rgba(16,24,40,.04),0 6px 16px -4px rgba(16,24,40,.08);
  --shadow-lg:0 2px 4px rgba(16,24,40,.04),0 24px 48px -12px rgba(16,24,40,.18);
  --shadow-xl:0 1px 1px rgba(16,24,40,.04),0 48px 96px -24px rgba(16,24,40,.30),0 0 0 1px rgba(16,24,40,.07);
  --font:"Inter Variable","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1200px;--gutter:24px;--header:68px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:640px){:root{--gutter:16px;--header:60px}}

/* ---- base ------------------------------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--font);font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--brand-600);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--brand-200)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.i.sm{width:14px;height:14px}.i.md{width:20px;height:20px}.i.lg{width:24px;height:24px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;font-weight:600}
.skip:focus{top:12px;text-decoration:none}
.num{font-variant-numeric:tabular-nums}
.nowrap{white-space:nowrap}

/* ---- layout ---------------------------------------------------------------------------------------- */
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.wrap.narrow{max-width:calc(820px + 2*var(--gutter))}
.wrap.mid{max-width:calc(1000px + 2*var(--gutter))}
.section{padding:120px 0;position:relative}
.section.tight{padding:88px 0}
.section.soft{background:var(--bg-soft)}
.section.tint{background:linear-gradient(180deg,var(--bg) 0,var(--bg-tint) 100%)}
.section.line-top{border-top:1px solid var(--line)}
@media (max-width:900px){.section{padding:88px 0}.section.tight{padding:64px 0}}
@media (max-width:640px){.section{padding:72px 0}.section.tight{padding:56px 0}}

.head{max-width:760px;margin:0 0 56px}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.head.center .lead{margin-left:auto;margin-right:auto}
@media (max-width:640px){.head{margin-bottom:40px}}

.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center}
.split.rev>:first-child{order:2}
.split.top{align-items:start}
@media (max-width:980px){.split{grid-template-columns:minmax(0,1fr);gap:48px}.split.rev>:first-child{order:0}}

/* ---- type ------------------------------------------------------------------------------------------ */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;letter-spacing:.01em;color:var(--brand-600);margin:0 0 18px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.eyebrow.plain::before{display:none}
.display{font-size:clamp(42px,6.6vw,80px);line-height:1.02;letter-spacing:-.04em;font-weight:620}
.h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04;letter-spacing:-.04em;font-weight:620}
.h2{font-size:clamp(32px,4.1vw,50px);line-height:1.07;letter-spacing:-.035em;font-weight:620}
.h3{font-size:clamp(22px,2.2vw,26px);line-height:1.2;letter-spacing:-.025em;font-weight:620}
.h4{font-size:18px;line-height:1.35;letter-spacing:-.015em;font-weight:620}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.08em;line-height:.95}
.serif.brand{color:var(--brand-600)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--ink-2);max-width:62ch;margin:22px 0 0}
.lead.sm{font-size:17px}
.body{color:var(--ink-2)}
.muted{color:var(--muted)}
.small{font-size:14px}
.xs{font-size:12.5px}
.caption{font-size:13px;color:var(--muted)}

/* ---- buttons --------------------------------------------------------------------------------------- */
.btn{--h:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 20px;border-radius:12px;
  font-weight:600;font-size:15.5px;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease),color .18s}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn .i{width:17px;height:17px;transition:transform .2s var(--ease)}
.btn:hover .i.go{transform:translateX(3px)}
.btn.sm{--h:38px;padding:0 14px;font-size:14.5px;border-radius:10px}
.btn.lg{--h:52px;padding:0 24px;font-size:16.5px;border-radius:13px}
.btn.primary{background:var(--brand);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(16,24,40,.18),0 6px 16px -6px rgba(37,99,235,.55)}
.btn.primary:hover{background:var(--brand-600)}
.btn.dark{background:var(--ink);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(16,24,40,.2)}
.btn.dark:hover{background:#1c2333}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line-2);box-shadow:var(--shadow-xs)}
.btn.ghost:hover{border-color:#b9c0cc;background:#fcfcfd}
.btn.light{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.btn.light:hover{background:#eef2fa}
.btn.outline-night{background:rgba(255,255,255,.04);color:var(--night-ink);border-color:var(--night-line-2)}
.btn.outline-night:hover{background:rgba(255,255,255,.09)}
.btn[disabled]{opacity:.6;cursor:progress}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.center .btns,.btns.center{justify-content:center}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--brand-600)}
.link-arrow .i{width:16px;height:16px;transition:transform .2s var(--ease)}
.link-arrow:hover{text-decoration:none}
.link-arrow:hover .i{transform:translateX(3px)}
@media (max-width:480px){.btns .btn{flex:1 1 100%}}

/* ---- header ---------------------------------------------------------------------------------------- */
.site-head{position:sticky;top:0;z-index:50;height:var(--header);background:rgba(255,255,255,.78);
  backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
.site-head.scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.9)}
.site-head .wrap{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:680;font-size:19px;letter-spacing:-.03em}
.logo:hover{text-decoration:none}
.logo svg{width:28px;height:28px;border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.2),0 4px 10px -4px rgba(37,99,235,.6)}
.nav{display:flex;align-items:center;gap:2px;margin-right:auto}
.nav a{color:var(--ink-2);font-size:15px;font-weight:520;padding:8px 12px;border-radius:9px;transition:color .15s,background .15s}
.nav a:hover{color:var(--ink);background:rgba(16,24,40,.045);text-decoration:none}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.nav .pill{display:inline-flex;align-items:center;gap:6px}
.nav .pill .tag{font-size:11px;font-weight:650;color:var(--good);background:var(--good-50);border:1px solid var(--good-200);border-radius:99px;padding:1px 7px;letter-spacing:.01em}
.head-cta{display:flex;align-items:center;gap:8px}
.head-cta .signin{color:var(--ink-2);font-weight:560;font-size:15px;padding:8px 12px;border-radius:9px}
.head-cta .signin:hover{color:var(--ink);background:rgba(16,24,40,.045);text-decoration:none}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line-2);background:#fff;align-items:center;justify-content:center;cursor:pointer;margin-left:auto}
.menu-btn .i{width:20px;height:20px}
.mobile-nav{display:none}
@media (max-width:1040px){
  .nav,.head-cta{display:none}
  .menu-btn{display:inline-flex}
  .mobile-nav{position:fixed;inset:var(--header) 0 0 0;z-index:49;background:#fff;padding:12px var(--gutter) 32px;overflow-y:auto;
    display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  .mobile-nav.open{opacity:1;visibility:visible;transform:none}
  .mobile-nav a.m{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);color:var(--ink);font-size:18px;font-weight:560}
  .mobile-nav a.m:hover{text-decoration:none}
  .mobile-nav a.m .i{color:var(--faint)}
  .mobile-nav .btns{margin-top:24px}
  .mobile-nav .btns .btn{flex:1 1 100%}
  body.nav-open{overflow:hidden}
}

/* ---- hero ------------------------------------------------------------------------------------------ */
.hero{position:relative;padding:72px 0 0;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-10% -20% auto;height:900px;z-index:-2;
  background:radial-gradient(60% 50% at 50% 0%,rgba(37,99,235,.16),rgba(37,99,235,0) 70%),
             radial-gradient(35% 35% at 85% 20%,rgba(56,189,248,.10),rgba(56,189,248,0) 70%),
             radial-gradient(30% 30% at 12% 30%,rgba(99,102,241,.08),rgba(99,102,241,0) 70%)}
.hero::after{content:"";position:absolute;inset:0 0 auto;height:820px;z-index:-1;
  background-image:linear-gradient(rgba(16,24,40,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,40,.055) 1px,transparent 1px);
  background-size:56px 56px;background-position:center -1px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 20%,#000 30%,transparent 75%);mask-image:radial-gradient(70% 60% at 50% 20%,#000 30%,transparent 75%)}
.hero-copy{text-align:center;max-width:980px;margin:0 auto}
.hero-copy .lead{margin-left:auto;margin-right:auto;max-width:680px}
.hero .btns{justify-content:center;margin-top:34px}
.announce{display:inline-flex;align-items:center;gap:10px;padding:5px 6px 5px 6px;border-radius:99px;background:rgba(255,255,255,.8);
  border:1px solid var(--line-2);box-shadow:var(--shadow-xs);font-size:14px;color:var(--ink-2);margin-bottom:28px;font-weight:500}
.announce:hover{text-decoration:none;border-color:#b9c0cc}
.announce .new{font-size:12px;font-weight:650;color:#fff;background:var(--ink);border-radius:99px;padding:3px 9px}
.announce .i{width:15px;height:15px;color:var(--muted);margin-right:6px}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:30px 0 0;list-style:none;color:var(--ink-2);font-size:14.5px;font-weight:500}
.checks li{display:flex;align-items:center;gap:8px}
.checks .i{width:17px;height:17px;color:var(--good-500);stroke-width:2.4}
.hero-stage{position:relative;margin:64px auto 0;max-width:1180px;padding:0 0 0}
@media (max-width:640px){.hero{padding-top:44px}.announce{font-size:13px}.hero-stage{margin-top:44px}}

/* ---- the app mock (shared by hero and feature visuals) ---------------------------------------------- */
.app{--a-line:#e4e4e7;--a-ink:#09090b;--a-ink2:#52525b;--a-muted:#71717a;--a-faint:#a1a1aa;--a-hover:#f4f4f5;
  background:#fff;border-radius:18px;box-shadow:var(--shadow-xl);overflow:hidden;font-size:13px;line-height:1.45;color:var(--a-ink);
  display:grid;grid-template-columns:212px 300px minmax(0,1fr);height:600px;position:relative;z-index:2;text-align:left}
.app *{letter-spacing:-.005em}
.a-side{background:#f7f7f8;border-right:1px solid var(--a-line);padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.a-brand{display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px;padding:2px 8px 12px}
.a-brand svg{width:22px;height:22px;border-radius:6px}
.a-client{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;background:#fff;border:1px solid var(--a-line);margin:0 0 12px;font-weight:600;font-size:12.5px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.a-client>b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.a-client .av{width:20px;height:20px;border-radius:6px;background:#0e7490;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;flex:none}
.a-client .demo{margin-left:auto;font-size:10px;font-weight:650;color:var(--a-muted);background:#f4f4f5;border-radius:5px;padding:1px 5px}
.a-label{font-size:11px;font-weight:560;color:var(--a-muted);padding:6px 8px 4px}
.a-link{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;color:var(--a-ink2);font-weight:500;font-size:12.8px}
.a-link .i{width:15px;height:15px;color:var(--a-muted)}
.a-link .n{margin-left:auto;font-size:11px;font-weight:600;color:var(--a-ink2);background:#ececef;border-radius:99px;padding:0 6px;min-width:18px;text-align:center}
.a-link.on{background:#fff;color:var(--a-ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 1px var(--a-line)}
.a-link.on .i{color:var(--brand)}
.a-link.on .n{background:var(--brand);color:#fff}
.a-list{border-right:1px solid var(--a-line);display:flex;flex-direction:column;min-width:0}
.a-list-head{padding:16px 16px 10px;border-bottom:1px solid var(--a-line)}
.a-list-head h4{font-size:15px;font-weight:650;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}
.a-list-head h4 small{font-size:12px;color:var(--a-muted);font-weight:500}
.a-seg{display:flex;gap:2px;background:#f4f4f5;border-radius:8px;padding:2px;margin-top:10px;font-size:12px;font-weight:540}
.a-seg span{flex:1;text-align:center;padding:4px 0;border-radius:6px;color:var(--a-ink2)}
.a-seg span.on{background:#fff;color:var(--a-ink);box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px var(--a-line)}
.a-item{padding:11px 16px;border-bottom:1px solid #f0f0f2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}
.a-item b{font-weight:600;font-size:12.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-item .amt{font-weight:600;font-variant-numeric:tabular-nums;font-size:12.5px}
.a-item .meta{color:var(--a-muted);font-size:11.8px;display:flex;align-items:center;gap:6px}
.a-item .age{color:var(--a-muted);font-size:11.8px;text-align:right}
.a-item.on{background:#f5f8ff;box-shadow:inset 3px 0 0 var(--brand)}
.stage{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;border-radius:5px;padding:1px 6px;border:1px solid}
.stage.courtesy{color:#3f3f46;background:#f4f4f5;border-color:#e4e4e7}
.stage.reminder{color:#1d4ed8;background:#eff4ff;border-color:#c7d7fe}
.stage.firm{color:#a16207;background:#fefce8;border-color:#fde68a}
.stage.final{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.a-detail{display:flex;flex-direction:column;min-width:0}
.a-top{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--a-line)}
.a-top h4{font-size:15px;font-weight:650;letter-spacing:-.015em}
.a-top .why{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.8px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;padding:3px 8px;font-weight:520}
.a-top .why .i{width:13px;height:13px}
.a-mail{padding:16px 20px 0;overflow:hidden;flex:1}
.a-fields{display:grid;grid-template-columns:52px minmax(0,1fr);gap:5px 10px;font-size:12.3px;padding-bottom:12px;border-bottom:1px dashed var(--a-line);margin-bottom:12px}
.a-fields dt{color:var(--a-muted)}
.a-fields dd{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--a-ink)}
.a-fields dd b{font-weight:600}
.a-body p{margin:0 0 9px;color:#27272a;font-size:12.8px}
.a-inv{border:1px solid var(--a-line);border-radius:9px;margin:4px 0 10px;overflow:hidden;font-size:12px}
.a-inv div{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;padding:6px 10px;border-top:1px solid #f0f0f2;font-variant-numeric:tabular-nums}
.a-inv div:first-child{border-top:0;background:#fafafa;color:var(--a-muted);font-weight:540;font-size:11px}
.a-inv div.t{font-weight:650;background:#fafafa}
.a-inv span:last-child{text-align:right}
.a-att{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 0}
.a-att span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;border:1px solid var(--a-line);border-radius:7px;padding:3px 8px;color:var(--a-ink2);background:#fff}
.a-att .i{width:13px;height:13px;color:#dc2626}
.a-actions{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--a-line);background:#fcfcfc}
.a-actions .hint{font-size:11.5px;color:var(--a-muted);margin-right:auto;display:flex;align-items:center;gap:6px}
.kbd{font:600 10.5px/1 var(--font);padding:3px 5px;border-radius:5px;border:1px solid var(--a-line);border-bottom-width:2px;background:#fafafa;color:var(--a-muted)}
.a-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;font-weight:600;font-size:12.5px;border:1px solid var(--a-line);background:#fff;color:var(--a-ink)}
.a-btn .i{width:14px;height:14px}
.a-btn.go{background:#18181b;border-color:#18181b;color:#fff;position:relative}
.a-btn.go .sent{display:none}
/* the approve moment */
.app.play .a-btn.go{animation:press .5s 1.4s var(--ease) both}
.app.play .a-btn.go::after{content:"";position:absolute;inset:-4px;border-radius:11px;border:2px solid rgba(37,99,235,.55);opacity:0;animation:ring 1s 1.3s ease-out both}
@keyframes press{0%{transform:none}40%{transform:scale(.94)}100%{transform:none}}
@keyframes ring{0%{opacity:0;transform:scale(.9)}30%{opacity:1}100%{opacity:0;transform:scale(1.12)}}
.app.play .a-btn.go .todo{animation:out .01s 1.75s both}
.app.play .a-btn.go .sent{display:inline-flex;align-items:center;gap:6px;position:absolute;inset:0;justify-content:center;background:#067647;border-radius:7px;opacity:0;animation:in .25s 1.75s both}
@keyframes out{to{opacity:0}}
@keyframes in{to{opacity:1}}
.cursor{position:absolute;width:22px;height:22px;z-index:5;right:48px;bottom:26px;opacity:0;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.app.play .cursor{animation:cursor 2.6s .3s var(--ease) both}
@keyframes cursor{0%{opacity:0;transform:translate(-140px,-120px)}25%{opacity:1}55%{transform:translate(0,0)}62%{transform:translate(0,0) scale(.86)}70%{transform:translate(0,0)}100%{opacity:0;transform:translate(10px,14px)}}

/* floating event cards around the mock */
.toast{position:absolute;z-index:4;display:flex;gap:11px;align-items:flex-start;background:rgba(255,255,255,.96);border-radius:14px;padding:12px 14px 12px 12px;
  box-shadow:0 1px 2px rgba(16,24,40,.06),0 16px 32px -12px rgba(16,24,40,.28),0 0 0 1px rgba(16,24,40,.07);width:292px;font-size:12.8px;line-height:1.4;text-align:left;
  opacity:0;transform:translateY(10px) scale(.98)}
.toast .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}
.toast .ic .i{width:16px;height:16px}
.toast b{display:block;font-weight:650;font-size:13px;color:var(--ink);margin-bottom:1px}
.toast span{color:var(--muted)}
.toast .when{position:absolute;top:11px;right:12px;font-size:11px;color:var(--faint)}
.toast.good .ic{background:var(--good-50);color:var(--good);box-shadow:inset 0 0 0 1px var(--good-200)}
.toast.blue .ic{background:var(--brand-50);color:var(--brand-600);box-shadow:inset 0 0 0 1px var(--brand-200)}
.toast.warn .ic{background:var(--warn-50);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-200)}
.toast.t1{left:-112px;top:292px}
.toast.t2{right:-112px;top:452px}
.toast.t3{left:-88px;top:420px}
.play .toast{animation:toast .6s var(--ease) both}
.play .toast.t1{animation-delay:2.3s}.play .toast.t2{animation-delay:2.9s}.play .toast.t3{animation-delay:3.5s}
@keyframes toast{to{opacity:1;transform:none}}
@media (max-width:1440px){.toast.t1{left:-56px}.toast.t2{right:-56px}.toast.t3{left:-32px}}
@media (max-width:1300px){.toast.t1{left:14px;top:448px}.toast.t2{right:14px}.toast.t3{display:none}}
@media (max-width:1100px){.app{grid-template-columns:300px minmax(0,1fr)}.a-side{display:none}}
@media (max-width:820px){
  .app{grid-template-columns:minmax(0,1fr);height:auto}
  .a-list{display:none}
  .a-mail{padding-bottom:6px}
  .toast{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto;margin:12px 0 0}
  .toasts{display:grid;gap:0;padding:0 0 24px}
  .toast.t3{display:none}
}
@media (max-width:520px){.a-fields{grid-template-columns:44px minmax(0,1fr)}.a-inv div{grid-template-columns:1fr 1fr auto}.a-inv div span:nth-child(2){display:none}
  .a-top .why{display:none}.a-actions .hint{display:none}.a-actions{justify-content:flex-end}}
@media (prefers-reduced-motion:reduce){
  .toast{opacity:1;transform:none;animation:none!important}
  .app.play .a-btn.go,.app.play .a-btn.go::after,.app.play .cursor{animation:none}
}

/* ---- works-with strip ------------------------------------------------------------------------------- */
.works{padding:40px 0 16px;text-align:center}
.works p{font-size:14px;color:var(--muted);font-weight:520;margin:0 0 22px}
.marks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 44px;list-style:none}
.marks li{font-size:19px;font-weight:650;letter-spacing:-.03em;color:#4b5565;display:flex;align-items:center;gap:9px;white-space:nowrap}
.marks li .i{width:19px;height:19px;color:#8a94a6}
.marks li.more{font-size:15px;font-weight:520;color:var(--muted);letter-spacing:-.01em}
@media (max-width:640px){.marks{gap:12px 26px}.marks li{font-size:16px}}

/* ---- stats ----------------------------------------------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:36px 28px 32px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat .v{font-size:clamp(40px,4.6vw,58px);font-weight:620;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.stat .v small{font-size:.5em;letter-spacing:-.02em;margin-left:2px}
.stat .l{margin:14px 0 14px;color:var(--ink-2);font-size:15.5px;line-height:1.5}
.stat .s{font-size:12.5px;color:var(--muted);line-height:1.45}
.stat .s a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:2px}
.stat .s a:hover{color:var(--ink-2)}
@media (max-width:1000px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.stats{grid-template-columns:minmax(0,1fr)}.stat{border-left:0;padding-left:0;padding-right:0}.stat+.stat{border-top:1px solid var(--line)}}
.problem-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:48px;align-items:start}
.problem-note p{color:var(--ink-2);font-size:17px}
@media (max-width:860px){.problem-note{grid-template-columns:minmax(0,1fr);gap:8px}}

/* ---- cards ----------------------------------------------------------------------------------------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm);position:relative}
.card.flat{box-shadow:none}
.card.soft{background:var(--bg-soft);box-shadow:none}
.card h3{font-size:18.5px;letter-spacing:-.02em;margin:0 0 8px;font-weight:630}
.card p{color:var(--ink-2);font-size:15.5px;margin:0}
.card p+p{margin-top:10px}
.ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);
  box-shadow:inset 0 0 0 1px var(--brand-100);margin-bottom:20px}
.ico .i{width:20px;height:20px}
.ico.good{background:var(--good-50);color:var(--good);box-shadow:inset 0 0 0 1px var(--good-200)}
.ico.ink{background:var(--ink);color:#fff;box-shadow:none}
.tick{list-style:none;display:grid;gap:10px}
.tick li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2)}
.tick li .i{width:18px;height:18px;margin-top:3px;color:var(--brand);stroke-width:2.3}
.tick.good li .i{color:var(--good-500)}
.tick li b{color:var(--ink);font-weight:600}

/* ---- steps ------------------------------------------------------------------------------------------ */
.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;counter-reset:step}
.step{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.step .viz{height:236px;background:linear-gradient(180deg,var(--bg-soft),#fff);border-bottom:1px solid var(--line);padding:24px 12%;display:flex;flex-direction:column;justify-content:center;gap:8px;overflow:hidden}
.step .txt{padding:26px 30px 30px}
.step .n{font-size:12.5px;font-weight:650;color:var(--brand-600);letter-spacing:.02em;margin-bottom:10px;display:block}
.step h3{font-size:18.5px;margin-bottom:8px;font-weight:630;letter-spacing:-.02em}
.step p{color:var(--ink-2);font-size:15px;margin:0}
@media (max-width:760px){.steps{grid-template-columns:minmax(0,1fr)}.step .viz{padding:20px;height:auto;min-height:200px}.step .txt{padding:22px 22px 26px}}
/* small UI pieces inside visuals */
.mini{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:var(--shadow-xs)}
.mini b{font-weight:620}
.mini .sub{color:var(--muted);font-size:12px;display:block;line-height:1.3}
.mini .grow{flex:1;min-width:0}
.mini .grow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sq{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;font-weight:750;font-size:12px;color:#fff}
.sq .i{width:16px;height:16px}
.int .top .sq .i{width:20px;height:20px}
.sq.qb{background:#2ca01c}.sq.gm{background:#ea4335}.sq.xr{background:#13b5ea}.sq.ms{background:#0a64ad}.sq.bl{background:var(--brand)}.sq.ink{background:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:99px;padding:2px 8px;white-space:nowrap}
.pill .i{width:12px;height:12px;stroke-width:2.5}
.pill.good{color:var(--good);background:var(--good-50);box-shadow:inset 0 0 0 1px var(--good-200)}
.pill.blue{color:var(--brand-600);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-200)}
.pill.warn{color:var(--warn);background:var(--warn-50);box-shadow:inset 0 0 0 1px var(--warn-200)}
.pill.grey{color:var(--ink-2);background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line)}
.pill.red{color:var(--crit);background:var(--crit-50);box-shadow:inset 0 0 0 1px var(--crit-200)}
.bars{display:flex;align-items:flex-end;gap:7px;height:74px;padding:0 6px}
.bars span{flex:1;border-radius:4px 4px 1px 1px;background:var(--brand-200);height:var(--h,40%)}
.bars span.on{background:var(--brand)}
.report-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);padding:0 4px}
.report-row b{font-size:20px;color:var(--ink);letter-spacing:-.03em;font-weight:650}

/* ---- dark sections ---------------------------------------------------------------------------------- */
.night{background:var(--night);color:var(--night-2ink);position:relative;overflow:hidden;isolation:isolate}
.night::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(50% 60% at 85% 0%,rgba(37,99,235,.28),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(56,189,248,.10),transparent 70%)}
.night h1,.night h2,.night h3,.night h4{color:#fff}
.night .lead,.night .body{color:var(--night-2ink)}
.night .eyebrow{color:#8fb4ff}
.night .muted,.night .caption{color:var(--night-muted)}
.night .serif.brand{color:#8fb4ff}
.night .tick li{color:var(--night-2ink)}
.night .tick li b{color:#fff}
.night .tick li .i{color:#6ea0ff}
.night a{color:#9fc0ff}
.night .card{background:rgba(255,255,255,.035);border-color:var(--night-line);box-shadow:none}
.night .card p{color:var(--night-2ink)}
.night .card h3{color:#fff}
.night .ico{background:rgba(59,130,246,.14);color:#8fb4ff;box-shadow:inset 0 0 0 1px rgba(96,150,255,.28)}

/* email anatomy */
.anatomy{position:relative;padding:8px 0}
.mailcard{background:#fff;color:#18181b;border-radius:18px;box-shadow:0 40px 80px -24px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);padding:24px 26px;font-size:14px;line-height:1.55;max-width:560px;margin-left:auto}
.mailcard .mh{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px 10px;font-size:13.5px;padding-bottom:14px;border-bottom:1px solid #eee;margin-bottom:16px}
.mailcard .mh dt{color:#71717a}
.mailcard .mh dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mailcard p{margin:0 0 12px;color:#27272a}
.mark{position:relative;border-radius:6px;box-shadow:0 0 0 2px rgba(37,99,235,.9),0 0 0 6px rgba(37,99,235,.14);background:rgba(37,99,235,.06)}
.mark .tagn{position:absolute;right:-12px;top:50%;transform:translate(100%,-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:12.5px;font-weight:600;color:#fff;background:var(--brand);border-radius:99px;padding:3px 10px 3px 4px;box-shadow:0 6px 16px -6px rgba(37,99,235,.8)}
.mark .tagn i{font-style:normal;width:18px;height:18px;border-radius:99px;background:#fff;color:var(--brand-600);display:grid;place-items:center;font-size:11px;font-weight:750}
.mark .tagn.left{right:auto;left:-12px;transform:translate(-100%,-50%)}
.mailcard .pay{display:inline-flex;align-items:center;gap:6px;color:var(--brand-600);font-weight:600;padding:2px 4px}
.mailcard .sig{color:#3f3f46;font-size:13.5px;line-height:1.5;padding:4px 6px;display:inline-block}
.mailcard .files{display:flex;gap:8px;margin:18px 0 22px;flex-wrap:wrap}
.mailcard .files .fchip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;border:1px solid #e4e4e7;border-radius:8px;padding:5px 10px;color:#3f3f46}
.mailcard .files .fchip>.i{width:14px;height:14px;color:#dc2626}
@media (max-width:1180px){.mark .tagn{right:-9px;top:-9px;transform:none;padding:0;background:none;box-shadow:none}.mark .tagn .t{display:none}
  .mark .tagn i{background:var(--brand);color:#fff;box-shadow:0 0 0 2px #fff}.mailcard{margin:0 auto}}
.legend-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:99px;background:var(--brand);color:#fff;font-size:11px;font-weight:750;flex:none;margin-top:2px}

/* ---- bento (agents) -------------------------------------------------------------------------------- */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bento .card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.bento .card .txt{padding:24px 26px 28px}
.bento .card .viz{padding:22px 22px 0;background:linear-gradient(180deg,var(--bg-soft),#fff 85%);min-height:176px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;border-bottom:1px solid var(--line)}
.bento .card .viz.pad{justify-content:center;padding-bottom:22px}
.bento .wide{grid-column:span 2}
.bento .card .kicker{font-size:12.5px;color:var(--muted);font-weight:560;display:flex;align-items:center;gap:6px;margin-bottom:8px}
.bento .card .kicker .i{width:14px;height:14px;color:var(--brand)}
@media (max-width:1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento .wide{grid-column:span 2}}
@media (max-width:680px){.bento{grid-template-columns:minmax(0,1fr)}.bento .wide{grid-column:auto}}
.sheet{background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:12px 14px;font-size:12.5px;box-shadow:var(--shadow)}
.sheet .row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #f1f2f4}
.sheet .row:first-child{border-top:0}
.sheet .row b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .row .num{color:var(--ink-2)}
.sheet .row .dim{color:var(--muted);text-decoration:line-through}
.quote{font-size:13px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:10px 12px;box-shadow:var(--shadow-xs);max-width:92%}
.quote.me{align-self:flex-end;border-radius:12px 12px 4px 12px;background:var(--brand-50);border-color:var(--brand-100)}
.arrow-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}

/* ---- guardrails -------------------------------------------------------------------------------------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}
.panel-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.panel-head h3,.panel-head h4{font-size:15px;font-weight:650;letter-spacing:-.01em}
.panel-head .pill{margin-left:auto}
.panel-body{padding:18px 22px 22px}
.opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}
.opt.on{border-color:var(--brand-300);background:var(--brand-50);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.radio{width:18px;height:18px;border-radius:99px;border:1.5px solid var(--line-2);flex:none;margin-top:2px;display:grid;place-items:center;background:#fff}
.opt.on .radio{border-color:var(--brand)}
.opt.on .radio::after{content:"";width:8px;height:8px;border-radius:99px;background:var(--brand)}
.opt b{display:block;font-size:14.5px;font-weight:620}
.opt span{font-size:13.5px;color:var(--muted)}
.always{margin-top:16px;border-top:1px dashed var(--line-2);padding-top:14px}
.always .t{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.always .t .i{width:14px;height:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:520;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;padding:5px 10px}
.chip .i{width:14px;height:14px;color:var(--muted)}
.rails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 32px}
.rail{display:flex;gap:14px}
.rail .ico{margin:0;width:38px;height:38px;flex:none}
.rail h3{font-size:16.5px;font-weight:630;letter-spacing:-.015em;margin:6px 0 6px}
.rail p{color:var(--ink-2);font-size:15px;margin:0}
@media (max-width:640px){.rails{grid-template-columns:minmax(0,1fr)}}

/* ---- holdout chart ----------------------------------------------------------------------------------- */
.lift{margin:0;background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:28px;box-shadow:0 40px 80px -24px rgba(0,0,0,.55)}
.lift .top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:26px}
.lift .top h3{font-size:16px;font-weight:650;letter-spacing:-.015em;color:var(--ink)}
.lift .top p{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.lift .bar-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:16px}
.lift .bar-row .who{font-size:14px;font-weight:600;color:var(--ink)}
.lift .bar-row .who small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.lift .track{height:30px;border-radius:0 6px 6px 0;position:relative}
.lift .fill{position:absolute;left:0;top:0;bottom:0;border-radius:2px 6px 6px 2px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease)}
.lift .fill.a{width:78%;background:var(--brand)}
.lift .fill.b{width:41%;background:#c3c9d4}
.lift.in .fill{transform:none}
.lift.in .fill.b{transition-delay:.15s}
.lift .gap{position:relative;margin:4px 0 0 146px;height:52px}
.lift .gap .br{position:absolute;left:41%;width:37%;top:0;height:14px;border:2px solid var(--good-500);border-top:0;border-radius:0 0 8px 8px}
.lift .gap .lbl{position:absolute;left:59.5%;top:22px;transform:translateX(-50%);white-space:nowrap;font-size:13px;font-weight:650;color:var(--good)}
.lift .axis{display:flex;justify-content:space-between;margin:10px 0 0 146px;font-size:11.5px;color:var(--faint);border-top:1px solid var(--line);padding-top:6px}
@media (max-width:520px){.lift{padding:20px}.lift .bar-row{grid-template-columns:92px minmax(0,1fr);gap:10px}.lift .gap,.lift .axis{margin-left:102px}.lift .gap .lbl{font-size:12px}}
@media (prefers-reduced-motion:reduce){.lift .fill{transform:none;transition:none}}

/* ---- phone (customer page) ------------------------------------------------------------------------- */
.phone{width:330px;max-width:100%;margin:0 auto;border-radius:44px;background:#0b0f19;padding:11px;box-shadow:var(--shadow-xl),inset 0 0 0 1px #2a3142;position:relative}
.phone::before{content:"";position:absolute;top:19px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:99px;background:#0b0f19;z-index:2}
.screen{background:#f7f7f8;border-radius:34px;overflow:hidden;padding:54px 16px 18px;font-size:13px;min-height:640px}
.screen .co{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.screen .co .av{width:30px;height:30px;border-radius:8px;background:#0e7490;color:#fff;display:grid;place-items:center;font-weight:750;font-size:12px}
.screen .co b{display:block;font-size:13.5px;font-weight:650;line-height:1.2}
.screen .co span{font-size:11.5px;color:var(--muted)}
.screen .bal{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}
.screen .bal .k{font-size:11.5px;color:var(--muted);font-weight:540}
.screen .bal .v{font-size:26px;font-weight:680;letter-spacing:-.035em;margin:2px 0 10px}
.screen .inv{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-top:1px solid #f0f0f2;font-variant-numeric:tabular-nums}
.screen .inv span{color:var(--muted)}
.screen .paybtn{display:flex;align-items:center;justify-content:center;gap:6px;height:42px;border-radius:11px;background:var(--brand);color:#fff;font-weight:650;margin:12px 0 4px;font-size:13.5px}
.screen .q{font-size:12px;font-weight:620;color:var(--ink-2);margin:14px 2px 8px}
.screen .ans{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 11px;margin-bottom:7px;font-size:12.5px;font-weight:540;color:var(--ink)}
.screen .ans .i{width:15px;height:15px;color:var(--brand)}
.screen .ans .i.go{margin-left:auto;color:var(--faint)}
.answers{display:grid;gap:14px;margin-top:30px}

/* ---- pricing ----------------------------------------------------------------------------------------- */
.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.price-cards .card{padding:30px}
.price-cards .big{font-size:30px;font-weight:650;letter-spacing:-.035em;color:var(--ink);margin:0 0 10px;line-height:1.1}
@media (max-width:900px){.price-cards{grid-template-columns:minmax(0,1fr)}}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:f;margin-top:8px}
.flow li{list-style:none;position:relative;padding:0 22px 0 0}
.flow li .dot{width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-600);box-shadow:var(--shadow-sm);position:relative;z-index:1}
.flow li .dot .i{width:20px;height:20px}
.flow li::before{content:"";position:absolute;left:44px;right:0;top:22px;border-top:2px dashed var(--line-2)}
.flow li:last-child::before{display:none}
.flow li:last-child .dot{background:var(--good-50);border-color:var(--good-200);color:var(--good)}
.flow h3{font-size:16.5px;margin:18px 0 6px;font-weight:630;letter-spacing:-.015em}
.flow p{font-size:14.5px;color:var(--ink-2);margin:0}
@media (max-width:860px){.flow{grid-template-columns:minmax(0,1fr);gap:26px}.flow li{padding:0 0 0 62px}.flow li .dot{position:absolute;left:0;top:0}
  .flow li::before{left:21px;right:auto;top:48px;bottom:-26px;border-top:0;border-left:2px dashed var(--line-2)}.flow h3{margin-top:0}}
.never{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.never li{list-style:none;display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;color:var(--ink-2);font-size:15px}
.never li .i{width:20px;height:20px;flex:none;color:var(--good-500);margin-top:1px}
.never li b{display:block;color:var(--ink);font-weight:620;margin-bottom:2px}
@media (max-width:760px){.never{grid-template-columns:minmax(0,1fr)}}
.feeinv{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:22px;font-size:13px}
.feeinv .fh{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.feeinv .fh b{font-size:15px;font-weight:650;display:block}
.feeinv .fh span{color:var(--muted);font-size:12.5px}
.feeinv table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.feeinv th{font-size:11.5px;color:var(--muted);font-weight:560;text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
.feeinv td{padding:9px 6px;border-bottom:1px solid #f1f2f4;white-space:nowrap}
.feeinv td:first-child{white-space:normal}
.feeinv .r{text-align:right}
.feeinv tfoot td{font-weight:650;border-bottom:0;padding-top:12px}
.feeinv .note{margin-top:12px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.feeinv .note .i{width:14px;height:14px;margin-top:2px;flex:none}
@media (max-width:520px){.feeinv .hide-s{display:none}}

/* comparison table */
.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.compare{width:100%;border-collapse:collapse;min-width:820px;font-size:14.5px}
.compare th,.compare td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare thead th{font-size:14px;font-weight:620;color:var(--ink);background:var(--bg-soft);position:sticky;top:0}
.compare tbody th{font-weight:600;color:var(--muted);font-size:13.5px;width:170px}
.compare td{color:var(--ink-2)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.compare .us{background:rgba(37,99,235,.045)}
.compare thead .us{background:var(--brand-50);color:var(--brand-700)}
.compare .us b{color:var(--ink)}
.compare sup{font-size:10px;color:var(--muted);margin-left:1px}
.notes{font-size:12.5px;color:var(--muted);margin-top:14px;display:grid;gap:4px;list-style:none;counter-reset:n}
.notes li{counter-increment:n}
.notes li::before{content:counter(n) ". "}
.notes a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-2)}

/* ---- FAQ ----------------------------------------------------------------------------------------------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:64px;align-items:start}
@media (max-width:900px){.faq-grid{grid-template-columns:minmax(0,1fr);gap:32px}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:28px;height:28px;border-radius:99px;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;transition:transform .25s var(--ease),background .2s}
.faq summary .pm .i{width:15px;height:15px}
.faq details[open] summary .pm{transform:rotate(45deg);background:var(--bg-soft)}
.faq summary:hover .pm{background:var(--bg-soft)}
.faq .a{padding:0 44px 24px 0;color:var(--ink-2);font-size:16px}
.faq .a p:last-child{margin:0}
.sticky{position:sticky;top:calc(var(--header) + 32px)}
@media (max-width:980px){.sticky{position:static}}

/* ---- CTA band ----------------------------------------------------------------------------------------- */
.cta{border-radius:var(--r-2xl);padding:80px 56px;text-align:center;background:var(--night);color:var(--night-2ink);position:relative;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 50% 0%,rgba(37,99,235,.45),transparent 70%),radial-gradient(40% 60% at 100% 100%,rgba(56,189,248,.14),transparent 70%)}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(60% 70% at 50% 0%,#000,transparent 80%);mask-image:radial-gradient(60% 70% at 50% 0%,#000,transparent 80%)}
.cta h2{color:#fff}
.cta .serif.brand{color:#8fb4ff}
.cta .lead{color:var(--night-2ink);margin-left:auto;margin-right:auto}
.cta .btns{justify-content:center;margin-top:34px}
.cta .fine{margin-top:22px;font-size:13.5px;color:var(--night-muted)}
@media (max-width:640px){.cta{padding:56px 22px;border-radius:22px}}

/* ---- page heroes (inner pages) -------------------------------------------------------------------------- */
.page-hero{position:relative;padding:88px 0 72px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-hero::before{content:"";position:absolute;inset:-20% -10% auto;height:700px;z-index:-2;background:radial-gradient(50% 55% at 50% 0%,rgba(37,99,235,.12),transparent 70%)}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(rgba(16,24,40,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,40,.05) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(60% 70% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(60% 70% at 50% 0%,#000 20%,transparent 75%)}
.page-hero .btns{margin-top:32px}
.page-hero.center{text-align:center}
.page-hero.center .lead{margin-left:auto;margin-right:auto}
.page-hero.center .btns{justify-content:center}
@media (max-width:640px){.page-hero{padding:56px 0 48px}}

/* ---- timeline (how it works) ------------------------------------------------------------------------------ */
.timeline{list-style:none;position:relative;display:grid;gap:0}
.timeline::before{content:"";position:absolute;left:131px;top:10px;bottom:10px;border-left:2px solid var(--line)}
.timeline li{display:grid;grid-template-columns:110px 44px minmax(0,1fr);gap:0 22px;padding:0 0 34px;position:relative}
.timeline .when{font-size:13px;font-weight:620;color:var(--muted);text-align:right;padding-top:11px}
.timeline .dot{width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-600);box-shadow:var(--shadow-sm);position:relative;z-index:1}
.timeline .dot .i{width:20px;height:20px}
.timeline li.you .dot{background:var(--ink);color:#fff;border-color:var(--ink)}
.timeline li.paid .dot{background:var(--good-50);color:var(--good);border-color:var(--good-200)}
.timeline h3{font-size:18px;font-weight:630;letter-spacing:-.02em;margin:9px 0 6px}
.timeline p{color:var(--ink-2);margin:0;font-size:15.5px;max-width:60ch}
.timeline .you-tag{display:inline-flex;margin-left:8px;vertical-align:middle}
@media (max-width:640px){.timeline::before{left:21px}.timeline li{grid-template-columns:44px minmax(0,1fr);gap:0 16px}
  .timeline .when{grid-column:2;grid-row:1;text-align:left;padding:2px 0 0}.timeline li>div{grid-column:2;grid-row:2}
  .timeline .dot{grid-column:1;grid-row:1/span 2}.timeline h3{margin-top:2px}}

/* intent table */
.table-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.itable{width:100%;border-collapse:collapse;font-size:15px}
.itable th,.itable td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.itable thead th{background:var(--bg-soft);font-size:13px;font-weight:620;color:var(--muted)}
.itable tbody tr:last-child td{border-bottom:0}
.itable td:first-child{width:38%;color:var(--ink);font-weight:520}
.itable td:first-child q{font-style:normal}
.itable td:first-child q::before{content:"“"}
.itable td:first-child q::after{content:"”"}
.itable td:last-child{color:var(--ink-2)}
@media (max-width:640px){.itable thead{display:none}.itable tr{display:block;padding:14px 16px;border-bottom:1px solid var(--line)}.itable tbody tr:last-child{border-bottom:0}
  .itable td{display:block;padding:0;border:0;width:auto!important}.itable td:first-child{margin-bottom:4px}}

/* stages */
.stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.stages li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;position:relative}
.stages li .d{font-size:12px;color:var(--muted);font-weight:560;margin-bottom:8px;display:block}
.stages li b{display:block;font-size:15px;font-weight:630;margin-bottom:4px;letter-spacing:-.01em}
.stages li p{font-size:13.5px;color:var(--ink-2);margin:0}
.stages li .bar{height:4px;border-radius:99px;margin-bottom:14px}
@media (max-width:980px){.stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.stages{grid-template-columns:minmax(0,1fr)}}

/* ---- integrations ------------------------------------------------------------------------------------------ */
.int-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.int{display:flex;flex-direction:column}
.int .top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.int .top .sq{width:42px;height:42px;border-radius:11px;font-size:15px}
.int .top h3{margin:0;font-size:18px}
.int .top .pill{margin-left:auto}
.int .perm{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-2);font-size:13.5px;color:var(--muted)}
.int .perm b{color:var(--ink-2);font-weight:600}
.int .perm code{font:500 12px var(--mono);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:1px 5px;color:var(--ink-2);white-space:nowrap}
@media (max-width:1000px){.int-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.int-grid{grid-template-columns:minmax(0,1fr)}}
.ptable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:720px}
.ptable th,.ptable td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable thead th{background:var(--bg-soft);font-size:13px;color:var(--muted);font-weight:620}
.ptable tbody tr:last-child td{border-bottom:0}
.ptable td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.ptable td{color:var(--ink-2)}
.ptable code{font:500 12.5px var(--mono);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:1px 5px;white-space:nowrap}

/* ---- security ---------------------------------------------------------------------------------------------- */
.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.glance div{background:#fff;padding:26px 24px}
.glance .i{width:22px;height:22px;color:var(--brand);margin-bottom:14px}
.glance b{display:block;font-size:16px;font-weight:630;letter-spacing:-.015em;margin-bottom:4px}
.glance span{font-size:14px;color:var(--muted);line-height:1.5;display:block}
@media (max-width:1000px){.glance{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.glance{grid-template-columns:minmax(0,1fr)}}
.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start}
.toc{position:sticky;top:calc(var(--header) + 32px);font-size:14px}
.toc b{display:block;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:10px}
.toc a{display:block;color:var(--ink-2);padding:6px 0 6px 14px;border-left:2px solid var(--line)}
.toc a:hover{color:var(--ink);border-left-color:var(--line-2);text-decoration:none}
.toc a.on{color:var(--brand-600);border-left-color:var(--brand);font-weight:560}
@media (max-width:980px){.doc{grid-template-columns:minmax(0,1fr);gap:0}.toc{display:none}}
.block{padding:0 0 56px;margin:0 0 56px;border-bottom:1px solid var(--line)}
.block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.block h2{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.03em;margin:0 0 14px;font-weight:630}
.block>p,.block li{color:var(--ink-2);font-size:16.5px}
.block ul.dots{list-style:none;display:grid;gap:12px;margin:18px 0 0}
.block ul.dots li{display:flex;gap:12px;align-items:flex-start}
.block ul.dots li .i{width:18px;height:18px;margin-top:4px;color:var(--brand);stroke-width:2.2}
.block ul.dots li b{color:var(--ink);font-weight:600}
.callout{display:flex;gap:14px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:14px;padding:18px 20px;color:var(--ink-2);font-size:15.5px;margin:22px 0 0}
.callout .i{width:20px;height:20px;color:var(--brand-600);flex:none;margin-top:2px}
.callout.warn{background:var(--warn-50);border-color:var(--warn-200)}
.callout.warn .i{color:var(--warn)}
.callout p{margin:0}
.callout p+p{margin-top:8px}

/* ---- legal prose --------------------------------------------------------------------------------------------- */
.prose{font-size:16.5px;color:var(--ink-2);line-height:1.7}
.prose h2{font-size:24px;letter-spacing:-.025em;margin:52px 0 14px;font-weight:640;color:var(--ink);scroll-margin-top:calc(var(--header) + 24px)}
.prose h3{font-size:18px;margin:30px 0 10px;font-weight:630;color:var(--ink);letter-spacing:-.015em}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin:0 0 8px}
.prose li::marker{color:var(--faint)}
.prose strong{color:var(--ink);font-weight:620}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:6px 0 22px}
.prose th,.prose td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-size:13px;color:var(--muted);font-weight:620;background:var(--bg-soft)}
.prose .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:6px 0 22px}
.prose .tbl table{margin:0;min-width:620px}
.prose .tbl tr:last-child td{border-bottom:0}
.prose blockquote{margin:18px 0;padding:14px 18px;border-left:3px solid var(--brand);background:var(--brand-50);border-radius:0 12px 12px 0;color:var(--ink)}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--muted);margin-top:18px}

/* ---- forms -------------------------------------------------------------------------------------------------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:32px}
@media (max-width:560px){.form-card{padding:22px;border-radius:18px}}
.form-card h2,.form-card h3{margin-bottom:6px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.fields .full{grid-column:1/-1}
@media (max-width:560px){.fields{grid-template-columns:minmax(0,1fr)}}
.field label,.field .lab{display:block;font-size:14px;font-weight:580;color:var(--ink);margin-bottom:7px}
.field label .optional,.field .lab .optional{color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{width:100%;height:46px;border:1px solid var(--line-2);border-radius:11px;background:#fff;padding:0 14px;font-size:15.5px;color:var(--ink);
  box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}
.field textarea{height:auto;min-height:104px;padding:12px 14px;resize:vertical;line-height:1.5}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f6b7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9c0cc}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field .hint{font-size:13px;color:var(--muted);margin-top:6px}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#f04438;box-shadow:0 0 0 4px rgba(240,68,56,.12)}
.field .err{display:none;font-size:13px;color:var(--crit);margin-top:6px}
.field.bad .err{display:block}
.drop{position:relative;border:1.5px dashed var(--line-2);border-radius:14px;background:var(--bg-soft);padding:22px;text-align:center;transition:border-color .15s,background .15s;cursor:pointer}
.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-50)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;height:100%}
.drop .i{width:24px;height:24px;margin:0 auto 8px;color:var(--brand)}
.drop b{font-weight:600;color:var(--ink);font-size:15px}
.drop span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.drop .file{display:none;align-items:center;justify-content:center;gap:8px;font-weight:600;color:var(--ink);font-size:14.5px}
.drop.has .file{display:flex}
.drop.has .empty{display:none}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:24px}
.form-foot .caption{flex:1 1 240px}
.form-msg{display:none;margin-top:18px;padding:14px 16px;border-radius:12px;font-size:15px}
.form-msg.err{display:block;background:var(--crit-50);border:1px solid var(--crit-200);color:#7a271a}
.done{display:none;text-align:center;padding:36px 8px 20px}
.done .ico{margin:0 auto 18px;width:52px;height:52px;border-radius:16px}
.done .ico .i{width:26px;height:26px}
.done h3{font-size:24px;margin-bottom:8px}
.done p{color:var(--ink-2);max-width:44ch;margin:0 auto}
.done .btns{justify-content:center;margin-top:22px}
form.sent .fields,form.sent .form-foot,form.sent .form-intro{display:none}
form.sent .done{display:block}

/* ---- footer ------------------------------------------------------------------------------------------------- */
.site-foot{border-top:1px solid var(--line);background:var(--bg-soft);padding:72px 0 36px;font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.foot-grid .fh{font-size:13px;font-weight:620;color:var(--ink);margin:0 0 14px;letter-spacing:0}
.foot-grid ul{list-style:none;display:grid;gap:10px}
.foot-grid a{color:var(--ink-2)}
.foot-grid a:hover{color:var(--ink)}
.site-foot .logo{color:var(--ink)}
.foot-brand p{color:var(--muted);max-width:34ch;margin:16px 0 18px}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:10px;color:var(--muted);font-size:13px}
.foot-bottom a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:2px}
.foot-bottom .row{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between}
@media (max-width:860px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}

/* ---- reveal on scroll ------------------------------------------------------------------------------------------ */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}

/* ---- misc --------------------------------------------------------------------------------------------------- */
.divider{height:1px;background:var(--line);border:0;margin:0}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:14.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;color:var(--ink)}
.center{text-align:center}
.mt0{margin-top:0!important}.mt8{margin-top:8px!important}.mt16{margin-top:16px!important}.mt24{margin-top:24px!important}.mt32{margin-top:32px!important}.mt48{margin-top:48px!important}.mt64{margin-top:64px!important}
.mb0{margin-bottom:0!important}
.max-60{max-width:60ch}
.sample-tag{position:absolute;top:14px;right:14px;z-index:6;font-size:11px;font-weight:650;letter-spacing:.02em;color:var(--muted);background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:99px;padding:2px 8px}

/* mini weekly report */
.mrep{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;font-size:12.5px}
.mrep .t{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-weight:560;margin-bottom:10px}
.mrep .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mrep .tile{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:9px 10px}
.mrep .tile span{display:block;color:var(--muted);font-size:11.5px;line-height:1.3}
.mrep .tile b{display:block;font-size:19px;font-weight:650;letter-spacing:-.03em;color:var(--ink);margin-top:2px}
.mrep .tile.hi{background:var(--good-50);border-color:var(--good-200)}
.mrep .tile.hi b{color:var(--good)}
.b1{--h:30%}.b2{--h:45%}.b3{--h:38%}.b4{--h:60%}.b5{--h:52%}.b6{--h:74%}.b7{--h:66%}.b8{--h:88%}
@media (max-width:520px){.hide-s{display:none}}
.stages .bar.c1{background:#d4d4d8}.stages .bar.c2{background:#93b4fd}.stages .bar.c3{background:#facc15}.stages .bar.c4{background:#f87171}.stages .bar.c5{background:#b91c1c}

/* ---- scan preview ---------------------------------------------------------------------------------------------- */
.scan-prev .panel-body{padding:22px 24px 24px}
.scan-h{font-size:21px;font-weight:650;letter-spacing:-.025em;line-height:1.25;color:var(--ink);margin:0 0 4px}
.scan-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 20px}
.scan-tiles div{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.scan-tiles span{display:block;font-size:12px;color:var(--muted)}
.scan-tiles b{display:block;font-size:22px;font-weight:650;letter-spacing:-.03em;color:var(--ink)}
.scan-tiles .hi{background:var(--brand-50);border-color:var(--brand-100)}
.scan-tiles .hi b{color:var(--brand-700)}
.scan-sub{font-size:12.5px;font-weight:600;color:var(--muted);margin:0 0 10px}
.aging{display:grid;gap:7px;margin-bottom:20px}
.ag{display:grid;grid-template-columns:92px minmax(0,1fr) 56px;gap:10px;align-items:center;font-size:12.5px}
.ag .k{color:var(--ink-2)}
.ag .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.ag .bar{height:14px;display:block}
.ag .bar i{display:block;height:100%;border-radius:2px 4px 4px 2px}
.w100{width:100%}.w24{width:24%}.w20{width:20%}.w12{width:12%}
.s0{background:#bfd3fe}.s1{background:#86b6ef}.s2{background:#5598e7}.s3{background:#1c5cab}.s4{background:#104281}
.sheet.flat{border-radius:12px;border-bottom:1px solid var(--line);box-shadow:none}
@media (max-width:520px){.scan-tiles b{font-size:18px}.ag{grid-template-columns:78px minmax(0,1fr) 48px}}
.done-hero{display:flex;justify-content:center;margin-bottom:22px}.done-hero .ico{width:56px;height:56px;border-radius:16px;margin:0}.done-hero .ico .i{width:28px;height:28px}
.mailcard .mh dd.from{overflow:visible}

/* links inside running text are underlined, so they don't rely on color alone */
:where(p,li,dd,td,blockquote) a:not(.btn):not(.link-arrow):not(.announce){text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px}
:where(p,li,dd,td,blockquote) a:not(.btn):not(.link-arrow):not(.announce):hover{text-decoration-color:currentColor}
.foot-grid a,.toc a,.mobile-nav a{text-decoration:none}
.compare-wrap:focus-visible,.tbl:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.stage-cap{text-align:center;font-size:13px;color:var(--muted);margin:18px 0 0}
.swipe-hint{display:none;font-size:13px;color:var(--muted);margin:0 0 10px;text-align:right}
@media (max-width:860px){.swipe-hint{display:block}}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}
@media (max-width:1180px){.mailcard .mark{padding-right:12px}}
