/* bmsprime.com public website — the styles every public page shares (front page, legal pages, about, contact,
   getting started). home.html keeps its own page-specific styles inline and loads this file first, so the header,
   footer, buttons, type and the dot field look the same on every page. Plain CSS, no framework, no build step.
   Palette: deep sapphire #14275f → #0e1a45, footer #0b1638, ink #0f1b3d, muted #55627f, accent #2563eb / #0ea5e9. */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;color:#0f1b3d;background:#f3f6fc;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:#2563eb}
.a-wrap{max-width:1280px;margin:0 auto;padding:0 24px}

/* ── header / nav ── */
.a-nav{display:flex;align-items:center;gap:28px;padding:20px 0;flex-wrap:wrap}
.a-logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.a-logo svg{filter:drop-shadow(0 0 14px rgba(125,211,252,.55)) drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.a-logo b{font-family:'Michroma',sans-serif;font-weight:400;font-size:30px;letter-spacing:.14em;line-height:1}
.a-logo .sub{font-size:13px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#7dd3fc}
.a-links{display:flex;gap:24px;margin-left:auto;flex-wrap:wrap}
.a-links a{color:#cfe0ff;text-decoration:none;font-weight:600;font-size:15px}
.a-links a:hover,.a-links a[aria-current="page"]{color:#fff}
.a-links a[aria-current="page"]{text-decoration:underline;text-decoration-color:#7dd3fc;text-decoration-thickness:2px;text-underline-offset:8px}
.a-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .15s,background-color .15s}
.a-btn:hover{transform:translateY(-1px)}
.a-btn:focus-visible,.a-links a:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px}
.a-btn.primary{background:linear-gradient(135deg,#3b82f6,#0ea5e9);color:#fff;box-shadow:0 12px 28px -12px rgba(14,165,233,.9)}
.a-btn.ghost{border:1px solid rgba(191,219,254,.45);color:#fff;background:rgba(255,255,255,.08)}
.a-btn.dark{background:#14275f;color:#fff}
.a-eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc;background:rgba(125,211,252,.12);border:1px solid rgba(125,211,252,.3);padding:6px 12px;border-radius:999px}

/* ── sections ── */
.a-sec{padding:96px 0}
.a-h2{font-family:'Sora',sans-serif;font-size:40px;line-height:1.15;letter-spacing:-.015em;margin:0 0 14px;color:#0f1b3d}
.a-sub{font-size:18px;color:#55627f;max-width:720px;margin:0 0 44px}

/* ── footer ── */
.a-foot{background:#0b1638;color:#9fb0d4;padding:56px 0 32px;font-size:14px}
.a-foot .cols{display:grid;grid-template-columns:1.6fr repeat(4,minmax(0,1fr));gap:32px}
.a-foot h4,.a-foot .ft{color:#fff;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0;margin:0 0 12px;font-family:'Sora',sans-serif}
.a-foot a{display:block;color:#9fb0d4;text-decoration:none;margin:6px 0}
.a-foot a:hover{color:#fff}
.a-foot a:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px;border-radius:4px}
.a-foot .brand b{font-family:'Michroma',sans-serif;font-weight:400;color:#fff;letter-spacing:.12em}
.a-foot .brand p{margin:12px 0 14px;max-width:320px}
.a-foot .brand a{display:inline-block;color:#cfe0ff;font-weight:700}
.a-foot .base{margin:40px 0 0;border-top:1px solid #1d2b57;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.a-foot .base p{margin:0}
.a-foot .base nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.a-foot .base nav a{display:inline;margin:0}

/* LARGE SCREENS: the page is laid out for ~1280px; on wider monitors the whole page scales up in steps (zoom keeps every
   proportion, unlike stretching the container), so a 1920px or 2560px screen shows the same composition, bigger —
   not a small island in the middle. Phones and tablets are untouched. */
@media (min-width:1440px){html{zoom:1.1}}
@media (min-width:1680px){html{zoom:1.22}}
@media (min-width:1920px){html{zoom:1.34}}
@media (min-width:2240px){html{zoom:1.5}}
@media (min-width:2800px){html{zoom:1.8}}

/* inside the Android app: no prices or payment talk (Play Store anti-steering — same rule as the portal's Billing page) */
html.in-app .no-app{display:none!important}
html.in-app .a-nav .a-btn.ghost{display:none}

/* the portal's dot field, behind every blue area (site.js draws it) */
.a-dots{position:relative;overflow:hidden;isolation:isolate}
.a-dots > .a-dotfield{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;border-radius:inherit}
.a-dots > :not(.a-dotfield){position:relative;z-index:1}

/* ═════════ inner pages (s-*) ═════════ */
.s-skip{position:absolute;left:16px;top:-60px;z-index:50;background:#fff;color:#14275f;font-weight:800;padding:10px 16px;border-radius:10px;text-decoration:none}
.s-skip:focus{top:12px}
.s-hero{background:radial-gradient(900px 420px at 85% 0%,rgba(56,189,248,.26),transparent 60%),radial-gradient(700px 420px at 0% 100%,rgba(139,92,246,.26),transparent 60%),linear-gradient(180deg,#14275f,#0e1a45);color:#eaf1ff;padding-bottom:64px}
.s-head{padding-top:40px;max-width:860px}
.s-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;color:#9fb6de;margin:0 0 18px}
.s-crumbs a{color:#cfe0ff;text-decoration:none}
.s-crumbs a:hover{color:#fff;text-decoration:underline}
.s-crumbs span[aria-hidden]{color:#5f77a8}
.s-h1{font-family:'Sora',sans-serif;font-size:48px;line-height:1.1;letter-spacing:-.02em;margin:16px 0 16px;color:#fff;text-wrap:balance}
.s-lead{font-size:19px;color:#c8d8f5;margin:0;max-width:760px}
.s-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;font-size:14px;font-weight:600;color:#9fb6de}
.s-meta b{color:#e6efff}

/* long-form documents with a table of contents */
.s-docgrid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;padding-top:56px;padding-bottom:96px;align-items:start}
.s-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;font-size:14px;padding-right:4px}
.s-toc .h{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7a99;margin:0 0 10px}
.s-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid #dbe3f3}
.s-toc li{margin:0}
.s-toc a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:#4a5878;text-decoration:none;line-height:1.4}
.s-toc a:hover{color:#14275f}
.s-toc a.on{color:#1d4ed8;font-weight:700;border-left-color:#2563eb}
.s-toc a:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:4px}
.s-toc .s-toc-more{margin-top:18px;padding-top:16px;border-top:1px solid #e3e9f6}
.s-toc .s-toc-more a{padding-left:0;border:0;margin:0;font-weight:700;color:#2563eb}
.s-doc{background:#fff;border:1px solid #e3e9f6;border-radius:20px;padding:48px 56px;box-shadow:0 14px 30px -26px rgba(20,39,95,.45);min-width:0}
.s-doc > :first-child{margin-top:0}
.s-doc h2{font-family:'Sora',sans-serif;font-size:23px;line-height:1.3;letter-spacing:-.01em;color:#0f1b3d;margin:48px 0 14px;scroll-margin-top:24px}
.s-doc h3{font-family:'Sora',sans-serif;font-size:17.5px;line-height:1.35;color:#14275f;margin:28px 0 8px;scroll-margin-top:24px}
.s-doc p,.s-doc li{font-size:16.5px;line-height:1.75;color:#26324f}
.s-doc p{margin:0 0 14px;max-width:76ch}
.s-doc ul,.s-doc ol{margin:0 0 16px;padding-left:24px;max-width:74ch}
.s-doc li{margin:6px 0}
.s-doc li::marker{color:#2563eb}
.s-doc strong{color:#0f1b3d}
.s-doc a{font-weight:600;text-underline-offset:3px}
.s-doc dl{margin:0 0 16px}
.s-doc dt{font-weight:800;color:#0f1b3d;margin-top:12px}
.s-doc dd{margin:2px 0 0;color:#26324f;font-size:16.5px;line-height:1.7;max-width:74ch}
.s-note{background:#eef4ff;border:1px solid #d3e0fb;border-left:4px solid #2563eb;border-radius:12px;padding:16px 20px;margin:0 0 24px}
.s-note p{margin:0 0 6px}.s-note p:last-child{margin:0}
.s-note.warn{background:#fff8eb;border-color:#f5e0b5;border-left-color:#d97706}
.s-tablewrap{overflow-x:auto;margin:0 0 18px;border:1px solid #e3e9f6;border-radius:12px}
.s-table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.s-table th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#4a5878;background:#f4f7fd;padding:10px 14px;border-bottom:1px solid #e3e9f6}
.s-table td{padding:12px 14px;border-bottom:1px solid #eef2f9;vertical-align:top;color:#26324f;line-height:1.55}
.s-table tr:last-child td{border-bottom:0}
.s-end{margin-top:40px;padding-top:22px;border-top:1px solid #e3e9f6;font-size:15px;color:#55627f}

/* cards (legal hub, about, contact) */
.s-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.s-card{background:#fff;border:1px solid #e3e9f6;border-radius:18px;padding:26px;box-shadow:0 14px 30px -24px rgba(20,39,95,.45);display:flex;flex-direction:column;gap:8px}
a.s-card{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
a.s-card:hover{border-color:#93b4f5;transform:translateY(-2px);box-shadow:0 22px 40px -26px rgba(20,39,95,.55)}
a.s-card:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.s-card h2,.s-card h3{font-family:'Sora',sans-serif;font-size:19px;line-height:1.3;margin:0;color:#0f1b3d}
.s-card p{margin:0;color:#55627f;font-size:15px}
.s-card .go{margin-top:auto;padding-top:6px;font-weight:800;font-size:14px;color:#2563eb}
.s-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#1f3a8a,#2563eb);color:#fff;margin-bottom:8px}
.s-band{background:linear-gradient(135deg,#1c327a,#0e1a45);border-radius:28px;padding:48px 56px;color:#fff;display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.s-band h2{font-family:'Sora',sans-serif;font-size:32px;line-height:1.2;margin:0 0 8px;color:#fff}
.s-band p{margin:0;color:#c8d8f5;font-size:17px}
.s-band .acts{display:flex;gap:14px;flex-wrap:wrap}

/* about */
.s-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.s-prose{font-size:17.5px;line-height:1.75;color:#33415e;margin:0 0 16px;max-width:68ch}
.s-ticks{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.s-ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:15.5px;color:#33415e}
.s-ticks li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:50%;background:#dbeafe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.a-dark-band{background:linear-gradient(180deg,#14275f,#0e1a45);color:#e8efff}
.a-dark-band .a-h2{color:#fff}.a-dark-band .a-sub{color:#b8c9ea}
.s-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.s-value{background:rgba(255,255,255,.07);border:1px solid rgba(191,219,254,.22);border-radius:18px;padding:24px}
.s-value h3{font-family:'Sora',sans-serif;font-size:18px;margin:0 0 8px;color:#fff}
.s-value p{margin:0;font-size:15px;color:#b8c9ea}

/* getting-started steps */
.s-steps{list-style:none;margin:0 0 8px;padding:0;counter-reset:st}
.s-step{position:relative;padding:0 0 8px 68px;margin:0}
.s-step::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:0;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:800;font-size:18px;color:#fff;background:linear-gradient(135deg,#3b82f6,#0ea5e9);box-shadow:0 10px 22px -12px rgba(14,165,233,.9)}
.s-step::after{content:"";position:absolute;left:22px;top:54px;bottom:6px;width:2px;background:#dbe3f3}
.s-step:last-child::after{display:none}
.s-doc .s-step h2{margin-top:6px}
.s-where{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;font-weight:700;color:#1d4ed8;background:#eef4ff;border:1px solid #d3e0fb;border-radius:999px;padding:4px 12px;margin:0 0 12px}

/* contact + demo form */
.s-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:40px;padding-top:56px;padding-bottom:96px;align-items:start}
.s-info{display:grid;gap:18px}
.s-info .s-card a{font-weight:800;font-size:17px;word-break:break-word}
.s-form{background:#fff;border:1px solid #e3e9f6;border-radius:20px;padding:36px;box-shadow:0 24px 50px -32px rgba(20,39,95,.5);scroll-margin-top:24px}
.s-form h2{font-family:'Sora',sans-serif;font-size:26px;margin:0 0 6px}
.s-form .intro{margin:0 0 22px;color:#55627f}
.s-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.s-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.s-field.full{grid-column:1/-1}
.s-field label{font-size:14px;font-weight:700;color:#26324f}
.s-field label .opt{font-weight:600;color:#6b7a99}
.s-field input,.s-field select,.s-field textarea{font:inherit;font-size:16px;color:#0f1b3d;background:#fff;border:1px solid #cdd8ee;border-radius:10px;padding:11px 13px;min-height:48px;width:100%;transition:border-color .15s,box-shadow .15s}
.s-field textarea{min-height:120px;resize:vertical}
.s-field input:focus,.s-field select:focus,.s-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.s-field [aria-invalid="true"]{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.s-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.s-formfoot{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:22px}
.s-formfoot .a-btn{border:0;cursor:pointer;font-family:inherit}
.s-formfoot .a-btn[disabled]{opacity:.65;cursor:progress;transform:none}
.s-formfoot small{color:#6b7a99;font-size:13px;flex:1;min-width:200px}
.s-status{margin:18px 0 0;border-radius:12px;padding:14px 16px;font-weight:600;font-size:15px}
.s-status:empty{display:none}
.s-status.ok{background:#ecfdf3;border:1px solid #b7ebcb;color:#166534}
.s-status.err{background:#fef2f2;border:1px solid #f8c9c9;color:#991b1b}

@media (max-width:1100px){
.a-foot .cols{grid-template-columns:repeat(4,minmax(0,1fr))}
.a-foot .cols .brand{grid-column:1/-1}
.s-cards,.s-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
.s-docgrid{grid-template-columns:1fr;gap:28px;padding-top:36px}
.s-toc{position:static;max-height:none;background:#fff;border:1px solid #e3e9f6;border-radius:16px;padding:18px 20px}
.s-toc ol{columns:2;column-gap:24px;border-left:0}
.s-toc li{break-inside:avoid}
.s-toc a{padding:5px 0;border-left:0;margin:0}
.s-toc a.on{color:#4a5878;font-weight:400}
.s-contact,.s-split{grid-template-columns:1fr}
.s-split{gap:32px}
}
@media (max-width:900px){
.a-h2{font-size:30px}
.a-foot .cols{grid-template-columns:1fr 1fr}
.a-links{order:3;width:100%;margin-left:0}
.a-sec{padding:72px 0}
.s-h1{font-size:38px}
.s-doc{padding:36px 32px}
.s-band{padding:36px 28px}
.s-band h2{font-size:26px}
}
@media (max-width:640px){
.s-cards,.s-fields,.s-values{grid-template-columns:1fr}
.s-prose{font-size:16.5px}
.s-toc ol{columns:1}
.s-doc{padding:28px 20px;border-radius:16px}
.s-doc h2{font-size:20px;margin-top:36px}
.s-doc p,.s-doc li,.s-doc dd{font-size:16px}
.s-form{padding:26px 20px}
.s-step{padding-left:58px}
.s-step::before{width:40px;height:40px;font-size:16px}
.s-step::after{left:19px;top:48px}
}
@media (max-width:520px){
.a-wrap{padding:0 16px}
.a-nav{gap:14px}
.a-logo b{font-size:24px}
.a-logo svg{width:46px;height:48px}
.a-nav .a-btn{min-height:42px;padding:0 14px;font-size:14px}
.a-links{gap:18px}.a-links a{font-size:14px}
.a-eyebrow{font-size:11px}
.s-head{padding-top:20px}
.s-h1{font-size:32px}
.s-lead{font-size:17px}
.s-hero{padding-bottom:48px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.a-btn,a.s-card{transition:none}}

/* print: the document only, black on white, with link targets */
@media print{
html{zoom:1!important}
body{background:#fff;color:#000}
.a-nav,.a-foot,.s-toc,.s-skip,.a-dotfield,.s-crumbs,.s-band,.s-form{display:none!important}
.s-hero{background:none!important;color:#000;padding:0 0 12px}
.s-h1,.s-lead,.s-meta,.s-meta b{color:#000}
.s-h1{font-size:26pt;margin-top:0}
.s-docgrid,.s-contact{display:block;padding:0}
.s-doc{border:0;box-shadow:none;padding:0}
.s-doc p,.s-doc li,.s-doc dd{color:#000;font-size:11pt}
.s-doc h2{break-after:avoid;font-size:15pt}
.s-doc a{color:#000}
.s-doc a[href^="http"]::after,.s-doc a[href^="/"]::after{content:" (" attr(href) ")";font-weight:400;font-size:9pt}
.s-note{background:none;border:1px solid #999}
.s-tablewrap{overflow:visible;border-color:#999}
}
/* Layout stability (2026-10-26): the header button reads "Start free trial" until the page learns sign-ups are closed,
   then "Request a demo" — 17px wider, which wrapped the phone header onto a new row and pushed the whole page down
   (CLS 0.26). Reserving the longer label's width keeps the first frame and the final frame the same. */
.a-nav .a-btn.primary{min-width:calc(7.8em + 28px);justify-content:center}
