/* Product pages (/docs, /licence): the landing page's tokens and parts, copied from index.html. */
@font-face{font-family:'Geist';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/geist-latin.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/geist-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format('woff2')}
:root{
  --ink:#0E1430;--ink2:#3D4566;--muted:#5B6383;--accent:#4356E8;--accent-d:#2F3FB5;--page:#F3F5FA;
  --orange:#D9822B;--line:rgba(26,34,74,.10);--glass:rgba(255,255,255,.58);
  --circ:repeating-linear-gradient(135deg,#D3D8FA 0 6px,#C6CCF8 6px 12px);
  --sans:'Geist','Helvetica Neue',system-ui,sans-serif;--mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;
  background:radial-gradient(circle at 30% 40%,rgba(14,20,48,.28) 0 .7px,transparent 1.3px) 0 0/173px 173px,
  radial-gradient(circle at 70% 20%,rgba(67,86,232,.38) 0 .8px,transparent 1.4px) 0 0/251px 251px,
  radial-gradient(1100px 620px at 92% -8%,rgba(67,86,232,.11),transparent 62%),
  radial-gradient(900px 560px at -8% 60%,rgba(196,106,30,.06),transparent 60%),var(--page)}
a{color:var(--accent)}a:hover{color:var(--accent-d)}
:focus-visible{outline:2px solid rgba(67,86,232,.6);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left))}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.glass{background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(26,34,74,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(14,20,48,.04),0 12px 32px -18px rgba(14,20,48,.18)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em}
h1{font-size:clamp(40px,6.4vw,72px);line-height:1.0;letter-spacing:-.035em}
h2{font-size:clamp(28px,3.6vw,40px);line-height:1.08}
h3{font-size:17px;letter-spacing:-.01em}
p{margin:0}
section{padding-block:clamp(56px,9vw,104px)}
.lede{font-size:clamp(17px,1.6vw,19px);color:var(--ink2);max-width:640px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;font:500 15px var(--sans);
  border:1px solid rgba(26,34,74,.14);background:rgba(255,255,255,.75);color:var(--ink);text-decoration:none;cursor:pointer;
  transition:transform .14s cubic-bezier(.2,.8,.2,1),background .18s,border-color .18s}
.btn:hover{border-color:rgba(67,86,232,.4);background:#fff;color:var(--ink)}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 20px -10px rgba(67,86,232,.7)}
.btn.primary:hover{background:#1B2350;color:#fff}
.btn.quiet{background:transparent;border-color:transparent;color:var(--ink2)}
.btn.quiet:hover{background:rgba(67,86,232,.07)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(243,245,250,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{color:var(--ink2);text-decoration:none;font-size:14px;padding:8px 10px}
.nav-links a:hover{color:var(--ink);background:rgba(67,86,232,.07)}
@media (max-width:720px){.nav-links a.hide-sm{display:none}}

.fine{font-size:13.5px;color:var(--muted);margin-top:16px;max-width:520px}
.card{padding:26px;display:flex;flex-direction:column;gap:14px}
.card p{color:var(--ink2);font-size:15px}
.price{font:500 30px var(--mono);letter-spacing:-.02em}
.price small{font:14px var(--sans);color:var(--muted);letter-spacing:0}
.footer-sample{border:1px dashed rgba(26,34,74,.2);padding:12px 14px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.5)}
footer{border-top:1px solid var(--line);padding-block:32px calc(40px + env(safe-area-inset-bottom,0px));font-size:13.5px;color:var(--muted)}
footer .row{gap:6px 18px}
footer a{color:var(--ink2);text-decoration:none}
footer a:hover{color:var(--ink)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Pages */
main{padding-block:56px 72px}
.lead{font-size:19px;color:var(--ink2);max-width:680px;margin:18px 0 0}
.offer{margin-top:36px;max-width:760px}
.footer-sample{margin:6px 0}
.nav-links a.on{color:var(--ink)}

/* Prose */
.prose{max-width:760px;margin-top:40px}
.prose h2{font-size:clamp(24px,3vw,30px);margin:48px 0 12px}
.prose h3{font-size:18px;margin:28px 0 8px}
.prose p,.prose li,.prose td{color:var(--ink2)}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{padding-left:22px;margin:0 0 14px}
.prose li{margin:7px 0}
.prose strong{color:var(--ink);font-weight:600}
.prose code{font-family:var(--mono);font-size:.9em;background:rgba(67,86,232,.07);padding:1px 5px}
.prose pre{font:13.5px/1.6 var(--mono);background:var(--ink);color:#E6E9F7;padding:16px 18px;overflow-x:auto;margin:0 0 18px}
.prose pre code{background:none;padding:0;color:inherit;font-size:inherit}
.prose table{border-collapse:collapse;width:100%;margin:0 0 18px;font-size:14.5px}
@media (max-width:640px){.prose table{display:block;overflow-x:auto}}
.prose th,.prose td{text-align:left;padding:9px 12px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:600;color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px;max-width:900px}
@media (max-width:720px){.cards{grid-template-columns:1fr}}
.cards a{text-decoration:none;color:var(--ink)}
.cards .card{height:100%;padding:22px;gap:8px}
.cards .card:hover{border-color:rgba(67,86,232,.4)}
