/* TalkingDot public site — marketing pages, docs, blog, legal. Loaded after base.css. */

:root{
  --site-bg:#ffffff;--site-tint:#f6f7fb;--site-tint-2:#eef0f8;--glass:rgba(255,255,255,.78);
  --grad:linear-gradient(120deg,var(--brand) 0%,#7a5cff 45%,var(--accent) 100%);
  --grad-soft:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,transparent),color-mix(in srgb,var(--accent) 10%,transparent));
  --ink:#0f1222;--panel:#0f1222;--brand-ink:#3d48e6;--accent-ink:#0b8f78;
  --violet:#7c3aed;--violet-50:#f2edff;--amber:#c2690b;--amber-50:#fff4e2;--sky:#0277b5;--sky-50:#e7f4fc;--pink:#d61f6f;--pink-50:#fdebf3;
  --mock-bg:#ffffff;--mock-tint:#f7f8fc;--mock-line:#eceef5;
  --shadow-xl:0 30px 80px -20px rgba(28,34,80,.28),0 12px 30px -12px rgba(28,34,80,.18);
}
html[data-theme="dark"]{
  --site-bg:#0a0c13;--site-tint:#0e1119;--site-tint-2:#131725;--glass:rgba(10,12,19,.78);
  --brand-ink:#9aa2ff;--accent-ink:#4fe0c4;
  --violet:#b69cff;--violet-50:#221a3d;--amber:#f5b453;--amber-50:#2b2110;--sky:#6cc5f5;--sky-50:#0f2533;--pink:#ff86b8;--pink-50:#33162a;
  --mock-bg:#121624;--mock-tint:#0f131f;--mock-line:#20263a;
  --shadow-xl:0 30px 80px -20px rgba(0,0,0,.7),0 12px 30px -12px rgba(0,0,0,.5);
}
@media (prefers-color-scheme:dark){
  html[data-theme="auto"]{
    --site-bg:#0a0c13;--site-tint:#0e1119;--site-tint-2:#131725;--glass:rgba(10,12,19,.78);
    --brand-ink:#9aa2ff;--accent-ink:#4fe0c4;
    --violet:#b69cff;--violet-50:#221a3d;--amber:#f5b453;--amber-50:#2b2110;--sky:#6cc5f5;--sky-50:#0f2533;--pink:#ff86b8;--pink-50:#33162a;
    --mock-bg:#121624;--mock-tint:#0f131f;--mock-line:#20263a;
    --shadow-xl:0 30px 80px -20px rgba(0,0,0,.7),0 12px 30px -12px rgba(0,0,0,.5);
  }
}

html{scroll-behavior:smooth;scroll-padding-top:84px}
body.site{background:var(--site-bg);font-size:16px;line-height:1.6;overflow-x:hidden}
@supports (overflow:clip){body.site{overflow-x:clip}}
.site main{display:block;outline:0}
.site h1,.site h2,.site h3{color:var(--text)}
.site a{color:var(--brand-ink)}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--brand);color:#fff!important;padding:10px 14px;border-radius:10px;font-weight:600}
.skip-link:focus{top:12px}
.container.narrow{max-width:820px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.08em}
.fine{font-size:13px;color:var(--text-2);margin-top:16px}
.fine a{color:var(--text-2);text-decoration:underline}
.link-btn{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--brand-ink)}
.link-btn svg{width:15px;height:15px}
.btn{font-family:var(--font)}
.btn-lg svg{width:18px;height:18px}
.btn-glass{background:var(--card);border-color:var(--line-2);box-shadow:var(--shadow-sm)}
.btn-white{background:#fff;border-color:#fff;color:#0f1222!important}.btn-white:hover{background:#eef0ff;border-color:#eef0ff}
.btn-on-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff!important}.btn-on-dark:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.site .btn-primary{color:#fff}

/* ---------------------------------------------------------------- announcement + header */
.announce{background:var(--ink);color:#e9ebf3;font-size:14px;text-align:center}
html[data-theme="dark"] .announce{background:var(--brand-50)}
.announce .container{padding-top:9px;padding-bottom:9px}
.announce a,.announce span{color:inherit;display:inline-flex;align-items:center;gap:8px;font-weight:550}
.announce a:hover{text-decoration:none;opacity:.9}
.announce svg{width:15px;height:15px}
.announce-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent)}

.site-header{position:sticky;top:0;z-index:60;background:var(--glass);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.nav-bar{display:flex;align-items:center;gap:20px;height:66px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)!important;font:800 19px/1 var(--display);letter-spacing:-.02em;text-decoration:none!important;flex:none}
.brand img{max-height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:18px}
.nav-links a{padding:8px 12px;border-radius:9px;color:var(--text-2);font-weight:550;font-size:15px;text-decoration:none}
.nav-links a:hover{color:var(--text);background:var(--bg-2);text-decoration:none}
.nav-links a.active{color:var(--text);font-weight:650}
.nav-cta{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav-signin{padding:8px 12px;border-radius:9px;color:var(--text)!important;font-weight:600;font-size:15px}
.nav-signin:hover{background:var(--bg-2);text-decoration:none}
.nav-cta .btn-sm{height:36px;padding:0 15px;font-size:14px}
.nav-toggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--text);align-items:center;justify-content:center;cursor:pointer}
.nav-toggle .i-close{display:none}
.nav-toggle[aria-expanded="true"] .i-open{display:none}.nav-toggle[aria-expanded="true"] .i-close{display:block}
.mobile-nav{border-top:1px solid var(--line);background:var(--site-bg);max-height:calc(100vh - 66px);overflow:auto}
.mobile-nav nav{display:flex;flex-direction:column;padding-top:8px;padding-bottom:20px}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--text)!important;font-weight:600;font-size:17px;text-decoration:none}
.mobile-nav a svg{color:var(--text-3)}
.mobile-nav .mobile-cta{display:grid;gap:10px;margin-top:18px}
.mobile-nav .mobile-cta a{justify-content:center;border-bottom:0;font-size:15.5px;padding:0}
.mobile-nav .mobile-cta .btn-primary{color:#fff!important}
@media (max-width:960px){
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
  .nav-signin{display:none}
}
@media (min-width:961px){.mobile-nav{display:none!important}}

/* ---------------------------------------------------------------- hero */
.hero{position:relative;padding:76px 0 178px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0 0 auto 0;height:760px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(48% 52% at 50% 0%,color-mix(in srgb,var(--brand) 20%,transparent),transparent 72%),
    radial-gradient(30% 36% at 86% 24%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),
    radial-gradient(28% 34% at 10% 30%,color-mix(in srgb,#a78bfa 14%,transparent),transparent 70%)}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(60% 60% at 50% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(60% 60% at 50% 20%,#000 20%,transparent 75%)}
.hero-inner{text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--text)!important;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-sm);text-decoration:none!important;transition:border-color .15s,box-shadow .15s}
.hero-badge:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line-2));box-shadow:var(--shadow)}
.hero-badge>svg{width:15px;height:15px;color:var(--text-3)}
.hero-badge-icon{width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.hero-badge-icon svg{width:14px;height:14px}
.hero-title{font-family:var(--display);font-weight:800;font-size:clamp(40px,6.6vw,80px);line-height:1.04;letter-spacing:-.035em;margin:26px auto 0;max-width:14.5ch;text-wrap:balance}
.hero-sub{font-size:clamp(17px,1.55vw,20px);line-height:1.6;color:var(--text-2);max-width:700px;margin:24px auto 0;text-wrap:pretty}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.hero-checks{display:flex;gap:10px 24px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:26px 0 0;color:var(--text-2);font-size:14.5px;font-weight:550}
.hero-checks li{display:inline-flex;align-items:center;gap:7px}
.hero-checks svg{width:17px;height:17px;color:var(--accent-ink);stroke-width:2.6}
.hero-live{margin:18px 0 0;font-size:14px;color:var(--text-3);text-align:center;max-width:600px}
.hero-live .pulse{display:inline-block;vertical-align:1px;margin-right:8px}
.hero-live .link-btn{margin-left:4px}
.pulse{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hero-visual{margin-top:64px;position:relative}

/* ---------------------------------------------------------------- hero mock (inbox + messenger) */
.mock{position:relative;max-width:1080px;margin:0 auto;font-size:13px;line-height:1.45;text-align:left;color:var(--text)}
.mock svg{width:15px;height:15px;flex:none}
.mock-app{background:var(--mock-bg);border:1px solid var(--mock-line);border-radius:18px;box-shadow:var(--shadow-xl);overflow:hidden;position:relative}
.mock-app::before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 40%,transparent),transparent 40%,transparent 70%,color-mix(in srgb,var(--accent) 35%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.mock-top{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;border-bottom:1px solid var(--mock-line);background:var(--mock-tint)}
.mock-dots{display:flex;gap:6px}.mock-dots i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.mock-dots i:nth-child(2){background:#febc2e}.mock-dots i:nth-child(3){background:#28c840}
.mock-url{margin:0 auto;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 14px;border-radius:8px;background:var(--mock-bg);border:1px solid var(--mock-line);color:var(--text-3);font-size:12px}
.mock-url svg{width:12px;height:12px}
.mock-online{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:12px}
.mock-body{display:grid;grid-template-columns:186px 268px minmax(0,1fr) 222px;height:476px}
.mock-nav{background:var(--mock-tint);border-right:1px solid var(--mock-line);padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.mock-nav-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:8px 8px 6px}
.mock-nav-title+.mock-folder{margin-top:0}
.mock-folder{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;color:var(--text-2);font-weight:550}
.mock-folder span{flex:1}
.mock-folder b{font-size:11px;min-width:20px;height:18px;border-radius:9px;background:var(--bg-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.mock-folder.is-active{background:var(--brand-50);color:var(--brand-ink)}
.mock-folder.is-active b{background:var(--brand);color:#fff}
.mock-team{flex:none!important;width:9px;height:9px;border-radius:3px}
.mock-list{border-right:1px solid var(--mock-line);display:flex;flex-direction:column;min-width:0}
.mock-search{display:flex;align-items:center;gap:8px;margin:12px;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--mock-line);color:var(--text-3);font-size:12.5px}
.mock-conv{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-left:3px solid transparent}
.mock-conv b{display:block;font-size:13px}
.mock-conv small{display:block;color:var(--text-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock-conv time{font-size:11px;color:var(--text-3);align-self:start;margin-top:2px}
.mock-conv.is-active{background:var(--brand-50);border-left-color:var(--brand)}
.mock-conv.is-unread small{color:var(--text);font-weight:600}
.mock-av{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;flex:none}
.mock-av.lg{width:52px;height:52px;font-size:17px}
.mock-thread{display:flex;flex-direction:column;min-width:0;background:var(--mock-bg)}
.mock-thread-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid var(--mock-line)}
.mock-thread-head b{display:block;font-size:14px}
.mock-thread-head small{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:12px}
.mock-actions{display:flex;gap:6px}
.mock-chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--mock-line);font-size:12px;font-weight:600;color:var(--text-2)}
.mock-chip svg{width:13px;height:13px}
.mock-chip-ok{background:var(--ok-50);border-color:transparent;color:var(--ok)}
.mock-msgs{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px;overflow:hidden}
.mock-msg{max-width:78%;padding:9px 13px;border-radius:14px 14px 14px 4px;background:var(--bg-2);font-size:13px}
.mock-msg.out{align-self:flex-end;background:var(--brand);color:#fff;border-radius:14px 14px 4px 14px;position:relative}
.mock-seen{position:absolute;right:2px;bottom:-17px;font-size:10.5px;color:var(--text-3)}
.mock-msg.note{max-width:100%;margin-top:10px;background:var(--note);border:1px solid var(--note-line);border-radius:10px;color:var(--text)}
.mock-msg.note b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);margin-right:4px}
.mock-mention{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand-ink);padding:1px 5px;border-radius:5px;font-weight:600}
.mock-peek{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:12px;font-style:italic}
.mock-typing{display:inline-flex;gap:3px;padding:6px 8px;border-radius:10px;background:var(--bg-2)}
.mock-typing i{width:5px;height:5px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite}
.mock-typing i:nth-child(2){animation-delay:.2s}.mock-typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.mock-composer{position:relative;margin:0 14px 14px;border:1px solid var(--mock-line);border-radius:12px;padding:10px 12px;background:var(--mock-bg);box-shadow:var(--shadow-sm)}
.mock-saved{position:absolute;left:10px;bottom:calc(100% + 6px);display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:var(--card);border:1px solid var(--mock-line);box-shadow:var(--shadow);font-size:12px;color:var(--text-2)}
.mock-saved span{width:20px;height:20px;border-radius:6px;background:var(--brand-50);color:var(--brand-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.mock-saved b{color:var(--text)}
.mock-input{display:flex;align-items:center;font-size:13px;height:22px}
.mock-caret{width:1.5px;height:16px;background:var(--brand);margin-left:1px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.mock-tools{display:flex;align-items:center;gap:12px;margin-top:8px;color:var(--text-3)}
.mock-send{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:8px;background:var(--brand);color:#fff;font-weight:600;font-size:12px}
.mock-send svg{width:13px;height:13px}
.mock-side{border-left:1px solid var(--mock-line);padding:20px 16px;background:var(--mock-tint);display:flex;flex-direction:column;gap:16px}
.mock-contact{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.mock-contact b{font-size:14px;margin-top:6px}
.mock-contact small{color:var(--text-3);font-size:12px}
.mock-facts{margin:0;display:flex;flex-direction:column;gap:9px}
.mock-facts div{display:flex;align-items:center;gap:9px;color:var(--text-2);font-size:12.5px}
.mock-facts dt{color:var(--text-3);display:flex}.mock-facts dd{margin:0}
.mock-tags{display:flex;gap:6px;flex-wrap:wrap}
.mock-tags span{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--accent-50);color:var(--accent-ink)}
.mock-tags span+span{background:var(--violet-50);color:var(--violet)}

.mock-messenger{position:absolute;right:-34px;bottom:-78px;width:300px;background:var(--mock-bg);border:1px solid var(--mock-line);border-radius:20px;box-shadow:var(--shadow-xl);overflow:hidden;z-index:2}
.mm-head{padding:18px 18px 16px;background:linear-gradient(140deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#2b1d8a));color:#fff;display:flex;flex-direction:column;gap:3px}
.mm-head b{font-size:17px;font-family:var(--display);letter-spacing:-.01em;margin-top:6px}
.mm-head small{display:inline-flex;align-items:center;gap:6px;opacity:.88;font-size:12px}
.mm-avs{display:flex}
.mm-avs span{width:30px;height:30px;border-radius:50%;border:2px solid color-mix(in srgb,var(--brand) 70%,#fff);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;margin-right:-8px}
.mm-body{padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--mock-bg)}
.mm-msg{max-width:84%;padding:8px 12px;border-radius:14px 14px 4px 14px;font-size:12.5px;background:var(--brand);color:#fff;align-self:flex-end}
.mm-msg.out{align-self:flex-start;background:var(--bg-2);color:var(--text);border-radius:14px 14px 14px 4px}
.mm-rate{display:flex;align-items:center;gap:4px;justify-content:center;flex-wrap:wrap;padding:10px;border-radius:12px;border:1px dashed var(--line-2);font-size:11.5px;color:var(--text-3)}
.mm-rate span{width:100%;text-align:center;margin-bottom:2px}
.mm-rate i{font-style:normal;font-size:17px;opacity:.55;filter:grayscale(.6)}
.mm-rate i.on{opacity:1;filter:none;transform:scale(1.25)}
.mm-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--mock-line);color:var(--text-3);font-size:12.5px}
.mm-input span{flex:1}
.mm-input svg:last-child{color:var(--brand)}
.mock-launcher{position:absolute;right:-34px;bottom:-150px;width:58px;height:58px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px color-mix(in srgb,var(--brand) 60%,transparent);z-index:2}
.mock-launcher svg{width:26px;height:26px}
.mock-launcher b{position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#ef4444;border:2px solid var(--site-bg);font-size:11px;display:flex;align-items:center;justify-content:center}
.mock-float{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:3;font-size:12.5px}
.mock-float>svg{width:32px;height:32px;padding:7px;border-radius:10px;background:var(--violet-50);color:var(--violet)}
.mock-float span{display:flex;flex-direction:column;color:var(--text-3);line-height:1.3}
.mock-float b{color:var(--text);font-size:13px}
.mock-float-a{left:-58px;top:-26px}
.mock-float-b{left:-30px;bottom:44px}
.mock-float-b>svg{background:var(--accent-50);color:var(--accent-ink)}
@media (max-width:1200px){.mock-messenger{right:-10px}.mock-launcher{right:-6px}.mock-float-a{left:-10px}.mock-float-b{left:-10px}}
@media (max-width:1080px){.mock-body{grid-template-columns:176px 250px minmax(0,1fr)}.mock-side{display:none}}
@media (max-width:860px){
  .mock-body{grid-template-columns:230px minmax(0,1fr);height:430px}
  .mock-nav{display:none}
  .mock-float{display:none}
  .mock-messenger{width:260px;bottom:-90px}
  .mock-launcher{display:none}
  .hero{padding-bottom:130px}
}
@media (max-width:620px){
  .mock-body{grid-template-columns:minmax(0,1fr);height:390px}
  .mock-list{display:none}
  .mock-online{display:none}
  .mock-url{margin:0 0 0 auto;font-size:11px;padding:0 10px}
  .mock-thread-head .mock-chip:first-child{display:none}
  .mock-messenger{width:226px;right:-8px;bottom:-150px;font-size:12px}
  .mock-msg{max-width:88%}
  .mm-head{padding:14px}
  .mm-rate{display:none}
  .hero{padding-bottom:190px}
  .hero-visual{margin-top:44px}
  .hero-checks{gap:8px 16px;font-size:14px}
}

/* ---------------------------------------------------------------- facts strip */
.facts-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--site-tint)}
.facts{list-style:none;margin:0;padding:30px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.facts li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.facts b{font:800 34px/1.1 var(--display);letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.facts span{color:var(--text-2);font-size:14px}
@media (max-width:720px){.facts{grid-template-columns:repeat(2,1fr);gap:26px 12px}}

/* ---------------------------------------------------------------- sections */
.section{padding:100px 0}
.section-tint{background:var(--site-tint)}
.section-head{text-align:center;max-width:740px;margin:0 auto 52px}
.section-head h2,.split-text h2,.page-hero h1,.cta-inner h2{font-family:var(--display);font-weight:800;letter-spacing:-.025em;word-spacing:.06em;text-wrap:balance}
.hero-title,.area-head h2,.docs-main h1,.article-head h1,.err-wrap h1,.prose h2,.price-name,.cmp-h2,.int-section>h2,.docs-home-group>h2,.side-info h2,.done-card h2,.small-card h1,.status-banner h2{word-spacing:.06em}
.pk{margin-left:-.06em}
.section-head h2{font-size:clamp(30px,4.2vw,48px);line-height:1.08;margin:12px 0 0}
.section-head p{font-size:18px;color:var(--text-2);margin:16px auto 0;max-width:640px;text-wrap:pretty}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:var(--brand-ink)}
.eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--grad)}
@media (max-width:720px){.section{padding:72px 0}.section-head{margin-bottom:36px}.section-head p{font-size:16.5px}}

/* feature cards */
.feature-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feature-card{position:relative;display:flex;flex-direction:column;padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line);color:var(--text)!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.feature-card::after{content:"";position:absolute;inset:0;background:var(--grad-soft);opacity:0;transition:opacity .2s;pointer-events:none}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.feature-card:hover::after{opacity:.6}
.feature-card>*{position:relative;z-index:1}
.feature-card h3{font-size:19px;margin:18px 0 8px;letter-spacing:-.015em}
.feature-card p{color:var(--text-2);font-size:15px;margin:0 0 18px;flex:1}
.fc-icon{width:46px;height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center}
.fc-icon svg{width:22px;height:22px}
.fc-more{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:14px;color:var(--brand-ink)}
.fc-more svg{width:15px;height:15px;transition:transform .2s}
.feature-card:hover .fc-more svg{transform:translateX(3px)}
.c-brand .fc-icon,.fc-icon.c-brand{background:var(--brand-50);color:var(--brand-ink)}
.c-teal .fc-icon,.fc-icon.c-teal{background:var(--accent-50);color:var(--accent-ink)}
.c-violet .fc-icon,.fc-icon.c-violet{background:var(--violet-50);color:var(--violet)}
.c-amber .fc-icon,.fc-icon.c-amber{background:var(--amber-50);color:var(--amber)}
.c-sky .fc-icon,.fc-icon.c-sky{background:var(--sky-50);color:var(--sky)}
.c-pink .fc-icon,.fc-icon.c-pink{background:var(--pink-50);color:var(--pink)}
@media (max-width:960px){.feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.feature-cards{grid-template-columns:1fr;gap:12px}.feature-card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding:20px}.feature-card .fc-icon{grid-row:1/span 3;width:44px;height:44px}.feature-card h3{margin:2px 0 4px;font-size:17px}.feature-card p{margin-bottom:8px;font-size:14.5px}}

/* split rows */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center}
.split-rev .split-text{order:2}
.split-text h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1;margin:12px 0 16px}
.split-text>p{font-size:17.5px;color:var(--text-2);margin-bottom:22px}
.ticks{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--text)}
.ticks svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--accent-50);color:var(--accent-ink);stroke-width:3;margin-top:1px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:650;color:var(--brand-ink)}
.link-arrow svg{width:16px;height:16px;transition:transform .2s}
.link-arrow:hover{text-decoration:none}.link-arrow:hover svg{transform:translateX(3px)}
.split-visual>div{position:relative;border-radius:26px;padding:34px;background:linear-gradient(150deg,color-mix(in srgb,var(--brand) 10%,var(--card)),color-mix(in srgb,var(--accent) 9%,var(--card)));border:1px solid var(--line);overflow:hidden;min-height:380px}
.split-visual>div::before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--text) 10%,transparent) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%);pointer-events:none}
.split-visual>div>*{position:relative}
@media (max-width:960px){.split{grid-template-columns:minmax(0,1fr);gap:40px}.split-rev .split-text{order:0}}
@media (max-width:620px){.split-visual>div{padding:20px;min-height:0;border-radius:20px}}

/* messenger visual */
.vis-messenger{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}
.vm-swatches{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.vm-swatches i{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}
.vm-swatches i:first-child{outline:2px solid var(--brand);outline-offset:2px}
.vm-card{max-width:330px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden;font-size:13.5px}
.vm-head{padding:22px 20px 40px;background:linear-gradient(140deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#2b1d8a));color:#fff;display:flex;flex-direction:column;gap:4px}
.vm-head b{font:800 21px/1.2 var(--display)}
.vm-head small{opacity:.85}
.vm-home{padding:0 14px 14px;margin-top:-26px;display:flex;flex-direction:column;gap:10px}
.vm-recent{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.vm-recent b{display:block;font-size:13px}.vm-recent small{color:var(--text-3);font-size:12px}
.vm-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg-2);color:var(--text-3);font-size:13px}
.vm-search svg,.vm-article svg{width:15px;height:15px}
.vm-article{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-bottom:1px solid var(--line);font-size:13px;font-weight:550}
.vm-article svg{color:var(--text-3)}
.vm-tabs{display:flex;border-top:1px solid var(--line)}
.vm-tabs span{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0;font-size:11.5px;color:var(--text-3);font-weight:600}
.vm-tabs span.on{color:var(--brand-ink)}
.vm-tabs svg{width:17px;height:17px}
.vm-langs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.vm-langs span{padding:5px 11px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--text-2)}

/* bot visual */
.vis-bot{display:flex;flex-direction:column;gap:14px}
.vb-msg{display:flex;gap:10px;align-items:flex-end;max-width:90%}
.vb-msg div{padding:11px 15px;border-radius:16px 16px 16px 4px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:14.5px}
.vb-av{width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.vb-av svg{width:18px;height:18px}
.vb-buttons{display:flex;flex-wrap:wrap;gap:8px;padding-left:44px}
.vb-buttons span{padding:8px 14px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--card);color:var(--brand-ink);font-weight:650;font-size:13.5px}
.vb-buttons span.on{background:var(--brand);border-color:var(--brand);color:#fff}
.vb-input{align-self:flex-end;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:16px 16px 4px 16px;background:var(--brand);color:#fff;font-size:14.5px;font-weight:550}
.vb-ok{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center}
.vb-ok svg{width:13px;height:13px;stroke-width:3}
.vb-handoff{display:flex;align-items:center;gap:10px;align-self:center;padding:9px 14px;border-radius:999px;background:var(--accent-50);color:var(--accent-ink);font-size:13.5px;margin-top:6px}
.vb-handoff svg{width:17px;height:17px}
.vb-handoff i{font-style:normal;font-weight:700}

/* reports visual */
.vis-reports{display:flex;flex-direction:column;gap:16px}
.vr-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vr-kpis div{padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px;min-width:0}
.vr-kpis small{color:var(--text-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vr-kpis b{font:800 22px/1.15 var(--display);letter-spacing:-.02em}
.vr-kpis em{font-style:normal;font-size:12px;font-weight:700;color:var(--ok)}
.vr-chart{height:150px;display:flex;align-items:flex-end;gap:8px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.vr-chart span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 55%,var(--accent)))}
.vr-heat{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.vr-heat i{aspect-ratio:1;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-2))}
.vr-heat i.h1{background:color-mix(in srgb,var(--accent) 28%,var(--bg-2))}.vr-heat i.h2{background:color-mix(in srgb,var(--accent) 48%,var(--bg-2))}.vr-heat i.h3{background:color-mix(in srgb,var(--accent) 72%,var(--bg-2))}.vr-heat i.h4{background:var(--accent)}
.vr-note{margin:0;text-align:right;font-size:11.5px;color:var(--text-3)}

/* 3 steps */
.steps-3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.steps-3 li{position:relative;padding:30px 28px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.steps-3 li:not(:last-child)::after{content:"";position:absolute;top:52px;right:-21px;width:22px;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 4px,transparent 4px 8px)}
.step-num{width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;font:800 19px/44px var(--display);text-align:center;display:inline-block;box-shadow:0 10px 24px -10px var(--brand)}
.steps-3 h3{font-size:19px;margin:18px 0 8px}
.steps-3 p{color:var(--text-2);margin:0}
.step-code{display:block;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--panel);color:#c9d0ff;font-size:12px;word-break:break-all;line-height:1.5}
@media (max-width:900px){.steps-3{grid-template-columns:1fr}.steps-3 li:not(:last-child)::after{display:none}}

/* snapshot table */
.snapshot{border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm)}
.snapshot .table th,.snapshot .table td{padding:15px 18px;font-size:15px}
.snapshot .table thead th{font-size:12px}
.snapshot tbody th{font-weight:650;white-space:nowrap;text-align:left;text-transform:none;letter-spacing:0;color:var(--text);font-size:15px}
.snapshot tbody th .logo-mark{vertical-align:-4px;margin-right:8px}
.snapshot tr.is-us th,.snapshot tr.is-us td{background:color-mix(in srgb,var(--brand) 6%,transparent)}
.snapshot td:last-child{text-align:right;white-space:nowrap;font-weight:600}
.snapshot .table tbody tr:hover td{background:inherit}
.table-wrap{position:relative}
@media (max-width:640px){
  .snapshot.stack-sm thead{display:none}
  .snapshot.stack-sm table,.snapshot.stack-sm tbody,.snapshot.stack-sm tr,.snapshot.stack-sm th,.snapshot.stack-sm td{display:block;width:100%!important}
  .snapshot.stack-sm tr{padding:14px 16px;border-bottom:1px solid var(--line)}
  .snapshot.stack-sm tr:last-child{border-bottom:0}
  .snapshot.stack-sm .table th,.snapshot.stack-sm .table td{padding:3px 0;border:0;text-align:left!important;white-space:normal;font-size:14.5px}
  .snapshot.stack-sm .table tbody th{font-size:16px;margin-bottom:4px}
  .snapshot.stack-sm td[data-label]::before{content:attr(data-label) ": ";color:var(--text-3);font-weight:600}
  .snapshot.stack-sm tr.is-us th,.snapshot.stack-sm tr.is-us td,.snapshot.stack-sm td.us{background:transparent}
  .snapshot.stack-sm tr.is-us{background:color-mix(in srgb,var(--brand) 6%,transparent)}
}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 2px;font-size:17.5px;font-weight:650;cursor:pointer;color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:20px;height:20px;color:var(--text-3);transition:transform .2s}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq summary:hover{color:var(--brand-ink)}
.faq-a{color:var(--text-2);padding:0 40px 22px 2px;font-size:16px}
.faq-a p:last-child{margin-bottom:0}

/* CTA band */
.cta-band{padding:24px 0 100px}
.cta-inner{position:relative;overflow:hidden;isolation:isolate;border-radius:30px;padding:76px 32px;text-align:center;color:#fff;background:#0d1024}
.cta-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 20% 0%,color-mix(in srgb,var(--brand) 70%,transparent),transparent 70%),radial-gradient(45% 70% at 90% 100%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%)}
.cta-glow::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.cta-inner h2{color:#fff;font-size:clamp(30px,4.4vw,52px);line-height:1.06;margin:0 auto;max-width:18ch}
.cta-inner p{color:rgba(255,255,255,.8);font-size:18px;max-width:600px;margin:18px auto 0}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.cta-inner .cta-note{display:flex;gap:6px 18px;justify-content:center;flex-wrap:wrap;margin-top:24px;font-size:14px;color:rgba(255,255,255,.72)}
.cta-note span{display:inline-flex;align-items:center;gap:6px}
.cta-note svg{width:16px;height:16px;color:#5eead4;stroke-width:2.6}
@media (max-width:620px){.cta-inner{padding:56px 22px;border-radius:24px}.cta-band{padding-bottom:72px}}

/* ---------------------------------------------------------------- footer */
.site-footer{border-top:1px solid var(--line);background:var(--site-tint);padding:64px 0 28px;font-size:14.5px}
.site-footer.is-minimal{padding-top:0;background:transparent}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.footer-brand p{color:var(--text-2);margin:14px 0 16px;max-width:280px}
.footer-status{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text-2)!important;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card)}
.footer-status:hover{text-decoration:none;border-color:var(--text-3)}
.footer-col h2{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:6px 0 14px;font-weight:700}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-col a{color:var(--text-2)}
.footer-col a:hover{color:var(--text);text-decoration:none}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:52px;padding-top:24px;border-top:1px solid var(--line);color:var(--text-2);font-size:13.5px}
.is-minimal .footer-bottom{margin-top:0}
.footer-bottom p{margin:0}
.theme-switch{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line)}
.theme-switch button{width:32px;height:28px;border-radius:7px;border:0;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.theme-switch button svg{width:16px;height:16px}
.theme-switch button:hover{color:var(--text)}
.theme-switch button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}
@media (max-width:960px){.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}}
@media (max-width:560px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}}

/* ---------------------------------------------------------------- inner pages */
.page-hero{position:relative;padding:72px 0 44px;text-align:center;isolation:isolate;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 90% at 50% 0%,color-mix(in srgb,var(--brand) 13%,transparent),transparent 70%),radial-gradient(30% 60% at 85% 10%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%)}
.page-hero h1{font-size:clamp(34px,5.2vw,60px);line-height:1.05;margin:14px auto 0;max-width:18ch}
.page-hero .lead{font-size:clamp(17px,1.5vw,19.5px);color:var(--text-2);max-width:720px;margin:18px auto 0;text-wrap:pretty}
.page-hero .hero-cta{margin-top:28px}
.page-hero.left{text-align:left}.page-hero.left h1,.page-hero.left .lead{margin-left:0}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px;color:var(--text-2);margin:0 0 6px;padding:0;list-style:none}
.crumbs a{color:var(--text-2)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line-2)}
.page-hero .crumbs{justify-content:center}.page-hero.left .crumbs{justify-content:flex-start}
.muted-box{padding:18px 20px;border-radius:14px;background:var(--site-tint);border:1px solid var(--line);color:var(--text-2);font-size:14.5px}

/* prose */
.prose{font-size:17px;line-height:1.75;color:var(--text);max-width:760px}
.prose>*:first-child{margin-top:0}
.prose h2{font-family:var(--display);font-weight:800;font-size:clamp(23px,2.4vw,28px);letter-spacing:-.02em;line-height:1.2;margin:2.1em 0 .7em;scroll-margin-top:90px}
.prose h3{font-size:19.5px;letter-spacing:-.01em;margin:1.8em 0 .5em}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose .table-wrap,.prose pre{margin:0 0 1.15em}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--text-3)}
.prose a{color:var(--brand-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand) 35%,transparent);text-underline-offset:3px}
.prose a:hover{text-decoration-color:currentColor}
.prose strong{font-weight:680}
.prose blockquote{border-left:3px solid var(--brand);padding:4px 0 4px 20px;color:var(--text-2);font-style:italic}
.prose code{font-size:.86em;background:var(--bg-2);border:1px solid var(--line);padding:.12em .4em;border-radius:6px}
.prose pre{background:var(--panel);color:#e6e8f2;border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.6}
.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.prose .table-wrap{border:1px solid var(--line);border-radius:12px}
.prose .table{font-size:14.5px}
.prose .table th{background:var(--site-tint)}
.prose .table td{vertical-align:top}
.prose .table td:first-child code{white-space:nowrap}
.prose .table tbody th{text-transform:none;letter-spacing:0;font-size:14.5px;color:var(--text);font-weight:600;white-space:normal;vertical-align:top;background:var(--site-tint)}
.prose hr{margin:2.4em 0}
.prose img{border-radius:12px;height:auto}
.prose .updated{font-size:14px;color:var(--text-3);margin-bottom:1.6em}
.prose .lead{font-size:19px;color:var(--text-2);line-height:1.65}
.callout{border-radius:12px;padding:14px 18px;margin:0 0 1.3em;border:1px solid;font-size:15.5px;line-height:1.65}
.callout p{margin:0 0 .6em}.callout p:last-child{margin:0}
.callout-tip{background:var(--accent-50);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.callout-info{background:var(--info-50);border-color:color-mix(in srgb,var(--info) 30%,transparent)}
.callout-warn{background:var(--warn-50);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}
.callout code{background:color-mix(in srgb,var(--card) 70%,transparent)}
.prose ol.steps{list-style:none;padding:0;counter-reset:step}
.prose ol.steps>li{position:relative;padding:2px 0 2px 48px;margin:0 0 1.1em;counter-increment:step}
.prose ol.steps>li::before{content:counter(step);position:absolute;left:0;top:1px;width:32px;height:32px;border-radius:10px;background:var(--brand-50);color:var(--brand-ink);font:800 15px/32px var(--display);text-align:center}
.prose ol.steps>li:not(:last-child)::after{content:"";position:absolute;left:15px;top:40px;bottom:-14px;width:2px;background:var(--line)}
.endpoint{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:2em 0 .8em;padding:10px 14px;border-radius:12px;background:var(--site-tint);border:1px solid var(--line);font-family:var(--mono);font-size:14px}
.endpoint code{background:none;border:0;padding:0;font-size:14px;font-weight:600;color:var(--text);word-break:break-all}
.method{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;font:800 11.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.method-get{background:var(--ok-50);color:var(--ok)}.method-post{background:var(--brand-50);color:var(--brand-ink)}.method-patch,.method-put{background:var(--warn-50);color:var(--warn)}.method-delete{background:var(--danger-50);color:var(--danger)}
.prose kbd{font-size:13px;padding:2px 7px;color:var(--text)}

/* code blocks */
.code{margin:0 0 1.3em;border-radius:14px;overflow:hidden;border:1px solid #20263c;background:#0f1222;box-shadow:var(--shadow-sm)}
.code-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 16px;background:#161a2e;border-bottom:1px solid #20263c}
.code-lang{font:700 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8b93b4}
.code-copy{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;border:1px solid #2a3150;background:transparent;color:#c3c9e6;font:600 12.5px/1 var(--font);cursor:pointer}
.code-copy:hover{background:#21274a;color:#fff}
.code-copy svg{width:14px;height:14px}
.code .code-box,.prose .code .code-box{margin:0;border-radius:0;background:#0f1222;color:#e6e8f2;font:13.5px/1.65 var(--mono);padding:16px 18px;white-space:pre;overflow:auto;tab-size:2}
.code-box code{background:none;border:0;padding:0;color:inherit;font:inherit}
.tk-c{color:#6f7aa3;font-style:italic}.tk-s{color:#9be9c9}.tk-k{color:#c4b5ff}.tk-n{color:#ffc58a}.tk-t{color:#82c8ff}.tk-a{color:#ffd99a}.tk-p{color:#ff9fc4}

/* ---------------------------------------------------------------- features page */
.jump-nav{position:sticky;top:66px;z-index:40;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.jump-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:10px 0;overflow-x:auto;scrollbar-width:none}
.jump-nav ul::-webkit-scrollbar{display:none}
.jump-nav a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;color:var(--text-2);font-weight:600;font-size:14px;white-space:nowrap}
.jump-nav a svg{width:16px;height:16px}
.jump-nav a:hover,.jump-nav a.active{background:var(--brand-50);color:var(--brand-ink);text-decoration:none}
.area{padding:88px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.area:nth-of-type(even){background:var(--site-tint)}
.area-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:40px}
.area-head h2{font:800 clamp(28px,3.6vw,42px)/1.1 var(--display);letter-spacing:-.03em;margin:14px 0 0}
.area-head p{font-size:17.5px;color:var(--text-2);margin:0}
.area-icon{width:52px;height:52px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center}
.area-icon svg{width:26px;height:26px}
.f-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.f-item{padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.f-item h3{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 6px}
.f-item h3 svg{width:18px;height:18px;color:var(--brand-ink);flex:none}
.f-item p{margin:0;color:var(--text-2);font-size:14.5px;line-height:1.6}
@media (max-width:960px){.area-head{grid-template-columns:1fr;gap:16px}.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.f-grid{grid-template-columns:1fr}.area{padding:64px 0}}

/* ---------------------------------------------------------------- pricing */
.price-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start;max-width:1060px;margin:0 auto}
.price-card{position:relative;border-radius:26px;padding:38px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-xl);overflow:hidden}
.price-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--grad)}
.price-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.price-name{font:800 22px/1.2 var(--display);margin:0}
.price-tag{display:flex;align-items:baseline;gap:10px;margin:18px 0 6px}
.price-tag b{font:800 76px/1 var(--display);letter-spacing:-.05em}
.price-tag span{color:var(--text-2);font-size:16px}
.price-sub{color:var(--text-2);margin:0 0 24px}
.price-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px}
.price-list li{display:flex;gap:10px;font-size:14.5px;align-items:flex-start}
.price-list svg{flex:none;width:18px;height:18px;color:var(--accent-ink);stroke-width:2.8;margin-top:2px}
.fair-card{border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.fair-card h2{font-size:18px;margin:0}
.fair-card .card-head{padding:20px 22px}
.fair-row{display:flex;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line)}
.fair-row:first-of-type{border-top:0}
.fair-row div{display:flex;flex-direction:column}
.fair-row b{font-size:14.5px}
.fair-row small{color:var(--text-3);font-size:12.5px}
.fair-row strong{white-space:nowrap;font-size:14.5px;text-align:right}
.fair-note{padding:16px 22px;background:var(--site-tint);border-top:1px solid var(--line);font-size:13px;color:var(--text-2);margin:0}
.included{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.included h3{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 12px}
.included h3 .fc-icon{width:34px;height:34px;border-radius:10px}
.included h3 .fc-icon svg{width:18px;height:18px}
.included ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.included li{display:flex;gap:8px;font-size:14.5px;color:var(--text-2)}
.included li svg{width:16px;height:16px;flex:none;color:var(--accent-ink);margin-top:3px;stroke-width:2.8}
@media (max-width:960px){.price-wrap{grid-template-columns:1fr}.included{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.price-card{padding:26px 22px}.price-list{grid-template-columns:1fr}.price-tag b{font-size:62px}.included{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- integrations */
.int-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.int-card{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--text)!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s,border-color .2s}
.int-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.int-card h3{font-size:16.5px;margin:2px 0 4px}
.int-card p{margin:0;color:var(--text-2);font-size:14.5px;line-height:1.55}
.int-card .go{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:13.5px;font-weight:650;color:var(--brand-ink)}
.int-card .go svg{width:14px;height:14px}
.mono{flex:none;width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font:800 15px/1 var(--display);letter-spacing:-.02em;background:var(--bg-2);color:var(--text);border:1px solid var(--line)}
.mono svg{width:22px;height:22px}
.int-section+.int-section{margin-top:64px}
.int-section>h2{font:800 26px/1.2 var(--display);letter-spacing:-.02em;margin:0 0 6px}
.int-section>p{color:var(--text-2);margin:0 0 22px}
@media (max-width:960px){.int-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.int-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- compare */
.vs-hero{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
.vs-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;box-shadow:var(--shadow-sm)}
.vs-x{font:800 14px/1 var(--display);color:var(--text-3)}
.checked-note{display:block;margin:18px auto 0;font-size:13.5px;color:var(--text-2);max-width:640px}
.checked-note svg{width:15px;height:15px;vertical-align:-2px;margin-right:6px}
.cmp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cmp-card{padding:26px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.cmp-card.us{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 6%,var(--card)),var(--card))}
.cmp-card h3{display:flex;align-items:center;gap:10px;font-size:19px;margin:0 0 10px}
.cmp-card p{color:var(--text-2);margin:0 0 10px}
.cmp-card ul{margin:10px 0 0;padding-left:1.2em;color:var(--text-2);font-size:15px}
.cmp-card li{margin:.35em 0}
.cmp-table th[scope=row]{font-weight:600;color:var(--text);white-space:normal;text-transform:none;letter-spacing:0;font-size:14.5px;min-width:180px}
.cmp-table td{font-size:14.5px;color:var(--text-2);vertical-align:top}
.snapshot.cmp-table td:last-child{text-align:left;white-space:normal;font-weight:400}
.cmp-table td.us{color:var(--text);font-weight:550;background:color-mix(in srgb,var(--brand) 5%,transparent)}
.cmp-table thead th{font-size:13px;color:var(--text);text-transform:none;letter-spacing:0;font-weight:700}
.cmp-table tbody tr:hover td{background:inherit}
.cmp-table tbody tr:hover td.us{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.plan{padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.plan b{display:block;font-size:15px}
.plan .amt{display:block;font:800 22px/1.25 var(--display);letter-spacing:-.02em;margin:6px 0 4px}
.plan small{color:var(--text-3);font-size:13px;line-height:1.45;display:block}
.source{font-size:13.5px;color:var(--text-2);margin-top:14px}
.source a{color:var(--text-2);text-decoration:underline}
.cmp-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cmp-tile{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--text)!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.cmp-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.cmp-tile h2{font-size:19px;margin:0}
.cmp-tile p{margin:0;color:var(--text-2);font-size:14.5px;flex:1}
.cmp-tile dl{margin:6px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13.5px}
.cmp-tile dt{color:var(--text-3)}.cmp-tile dd{margin:0;color:var(--text)}
.cmp-tile .go{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:14px;color:var(--brand-ink)}
.cmp-tile .go svg{width:15px;height:15px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:960px){.cmp-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.cmp-cards,.two-col,.cmp-index{grid-template-columns:1fr}}

.cmp-h2{font:800 clamp(24px,2.8vw,32px)/1.15 var(--display);letter-spacing:-.025em;margin:0 0 12px}

/* ---------------------------------------------------------------- docs */
.docs-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 210px;gap:48px;align-items:start;padding-top:36px;padding-bottom:88px}
.docs-side{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.docs-side-toggle{display:none}
.docs-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);margin-bottom:18px}
.docs-search svg{width:16px;height:16px;color:var(--text-3);flex:none}
.docs-search input{border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:14px;width:100%;min-width:0}
.docs-group+.docs-group{margin-top:20px}
.docs-group h2{font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 6px;padding:0 10px}
.docs-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.docs-group a{display:block;padding:6px 10px;border-radius:8px;color:var(--text-2);font-size:14.5px;line-height:1.4}
.docs-group a:hover{background:var(--bg-2);color:var(--text);text-decoration:none}
.docs-group a[aria-current]{background:var(--brand-50);color:var(--brand-ink);font-weight:650}
.docs-main{min-width:0;max-width:780px}
.docs-main .crumbs{margin-bottom:14px}
.docs-main h1{font:800 clamp(32px,4vw,44px)/1.1 var(--display);letter-spacing:-.03em;margin:0 0 12px}
.docs-desc{font-size:18.5px;color:var(--text-2);margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.docs-main .prose{max-width:none;font-size:16.5px}
.docs-main .prose>.lead:first-child{font-size:18.5px;color:var(--text-2);margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.docs-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:52px}
.docs-pager a{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);color:var(--text)!important;font-weight:650;transition:border-color .15s,box-shadow .15s}
.docs-pager a:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none}
.docs-pager small{color:var(--text-3);font-weight:500;font-size:13px}
.docs-pager .next{text-align:right;grid-column:2}
.docs-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--text-2)}
.docs-meta a{color:var(--text-2)}
.toc{position:sticky;top:90px;font-size:13.5px}
.toc h2{font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 10px}
.toc ul{list-style:none;margin:0;padding:0 0 0 12px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.toc a{display:block;padding:4px 0 4px 12px;margin-left:-13px;border-left:2px solid transparent;color:var(--text-2);line-height:1.4}
.toc a:hover{color:var(--text);text-decoration:none}
.toc a.active{color:var(--brand-ink);border-left-color:var(--brand);font-weight:600}
.toc .toc-help{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.toc .toc-help a{border:0;margin:0;padding:3px 0;display:flex;align-items:center;gap:6px;color:var(--text-2)}
.toc .toc-help svg{width:14px;height:14px}
.docs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.docs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.docs-home-group+.docs-home-group{margin-top:48px}
.docs-home-group>h2{font:800 22px/1.2 var(--display);letter-spacing:-.02em;margin:0 0 16px;display:flex;align-items:center;gap:10px}
.doc-card{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--text)!important;text-decoration:none!important;transition:border-color .15s,box-shadow .15s,transform .15s}
.doc-card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:var(--shadow);transform:translateY(-1px)}
.doc-card b{font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.doc-card b svg{width:16px;height:16px;color:var(--text-3)}
.doc-card span{color:var(--text-2);font-size:14.5px;line-height:1.55}
.docs-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:56px}
.docs-quick a{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:18px;color:var(--text)!important;text-decoration:none!important;border:1px solid var(--line);background:var(--card);transition:transform .2s,box-shadow .2s}
.docs-quick a:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.docs-quick b{font-size:17px}
.docs-quick span{color:var(--text-2);font-size:14.5px}
[data-doc-hidden]{display:none!important}
@media (max-width:1180px){.docs-shell{grid-template-columns:230px minmax(0,1fr);gap:40px}.toc-col{display:none}}
@media (max-width:860px){
  .docs-shell{grid-template-columns:minmax(0,1fr);gap:0;padding-top:16px}
  .docs-side{position:static;max-height:none;overflow:visible;padding:0;margin-bottom:24px}
  .docs-side-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);color:var(--text);font:600 15px var(--font);cursor:pointer}
  .docs-side-toggle svg{width:18px;height:18px;color:var(--text-3)}
  .docs-side-list{margin-top:12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
  .docs-cards,.docs-quick{grid-template-columns:1fr}
}
@media (min-width:861px){.docs-side-list[hidden]{display:block!important}}

/* ---------------------------------------------------------------- blog */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.post-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--text)!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.post-art{position:relative;aspect-ratio:16/9;overflow:hidden;display:flex;align-items:flex-end;padding:18px}
.post-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.22) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:linear-gradient(200deg,#000,transparent 70%);mask-image:linear-gradient(200deg,#000,transparent 70%)}
.post-art span{position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.post-art svg.big{position:absolute;right:18px;top:18px;width:64px;height:64px;color:rgba(255,255,255,.88);stroke-width:1.6}
.post-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-body h2,.post-body h3{font-size:19px;line-height:1.3;margin:0;letter-spacing:-.015em}
.post-body p{color:var(--text-2);font-size:15px;margin:0;flex:1}
.post-meta{display:flex;gap:6px 14px;flex-wrap:wrap;color:var(--text-2);font-size:13px;margin-top:6px}
.post-card.feature{grid-column:1/-1;flex-direction:row}
.post-card.feature .post-art{flex:0 0 46%;aspect-ratio:auto;min-height:300px}
.post-card.feature .post-body{padding:36px;justify-content:center}
.post-card.feature h2{font:800 clamp(24px,2.6vw,32px)/1.15 var(--display);letter-spacing:-.025em}
.post-card.feature p{flex:0;font-size:16.5px}
@media (max-width:960px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.post-grid{grid-template-columns:1fr}.post-card.feature{flex-direction:column}.post-card.feature .post-art{min-height:200px}.post-card.feature .post-body{padding:22px}}
.article-head{padding:64px 0 36px;text-align:center}
.article-head h1{font:800 clamp(32px,4.8vw,54px)/1.08 var(--display);letter-spacing:-.035em;max-width:20ch;margin:16px auto 0;text-wrap:balance}
.article-head .lead{font-size:19px;color:var(--text-2);max-width:680px;margin:18px auto 0}
.article-head .post-meta{justify-content:center;margin-top:20px;font-size:14px}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:56px;max-width:1040px;margin:0 auto;padding-bottom:40px}
.article-shell .prose{font-size:18px}
.article-art{max-width:1040px;margin:0 auto 48px;border-radius:24px;aspect-ratio:21/7;position:relative;overflow:hidden}
.article-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1px);background-size:18px 18px}
.article-art svg{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:120px;height:120px;color:rgba(255,255,255,.9);stroke-width:1.4}
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--text-3)}
.share a,.share button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line-2);background:var(--card);color:var(--text-2)!important;font:600 13.5px var(--font);cursor:pointer;text-decoration:none!important}
.share svg{width:15px;height:15px}
.draft-bar{background:var(--warn-50);border-bottom:1px solid color-mix(in srgb,var(--warn) 30%,transparent);text-align:center;padding:10px;font-size:14px;font-weight:600}
@media (max-width:960px){.article-shell{grid-template-columns:minmax(0,1fr)}.article-shell .toc-col{display:none}.article-art{aspect-ratio:21/9;margin-bottom:32px}}

/* ---------------------------------------------------------------- legal / CMS page */
.page-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;max-width:1080px;margin:0 auto;padding-bottom:88px}
.page-shell.no-toc{grid-template-columns:minmax(0,1fr);max-width:780px}
.page-shell .toc{top:90px}
.page-head{padding:64px 0 36px}
.page-head h1{font:800 clamp(34px,4.6vw,54px)/1.08 var(--display);letter-spacing:-.03em;margin:12px 0 0}
.page-head .lead{font-size:18.5px;color:var(--text-2);margin:14px 0 0;max-width:680px}
.page-head-wrap{position:relative;isolation:isolate}
.page-head-wrap::before{content:"";position:absolute;inset:0 0 auto 0;height:420px;z-index:-1;background:radial-gradient(45% 80% at 30% 0%,color-mix(in srgb,var(--brand) 11%,transparent),transparent 70%)}
@media (max-width:960px){.page-shell{grid-template-columns:minmax(0,1fr)}.page-shell .toc-col{display:none}}

/* ---------------------------------------------------------------- forms: contact & report */
.form-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start;max-width:1080px;margin:0 auto;padding-bottom:96px}
.form-card{border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:32px}
.form-card .field{margin-bottom:18px}
.form-card .row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card .textarea{min-height:150px}
.form-card .btn-primary{width:100%;height:48px;font-size:15.5px}
.form-card .captcha{margin:6px 0 16px}
.form-fine{font-size:13px;color:var(--text-2);margin:14px 0 0;text-align:center}
.side-info h2{font:800 24px/1.2 var(--display);letter-spacing:-.02em;margin:0 0 10px}
.side-info>p{color:var(--text-2)}
.info-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.info-list li{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.info-list .fc-icon{width:40px;height:40px;border-radius:12px;flex:none}
.info-list .fc-icon svg{width:19px;height:19px}
.info-list b{display:block;font-size:15px}
.info-list span{color:var(--text-2);font-size:14px}
.done-card{text-align:center;padding:48px 32px}
.done-card .done-icon{width:64px;height:64px;border-radius:50%;background:var(--ok-50);color:var(--ok);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}
.done-card .done-icon svg{width:30px;height:30px;stroke-width:2.6}
.done-card h2{font:800 26px/1.2 var(--display);margin:0 0 8px}
.done-card p{color:var(--text-2)}
@media (max-width:900px){.form-shell{grid-template-columns:minmax(0,1fr);gap:36px}.form-shell>div:last-child{order:-1}.form-card .row-2{grid-template-columns:1fr;gap:0}}
@media (max-width:620px){.form-card{padding:22px}}

/* ---------------------------------------------------------------- status */
.status-banner{display:flex;align-items:center;gap:16px;padding:22px 26px;border-radius:20px;border:1px solid;margin-bottom:22px}
.status-banner .si{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.status-banner .si svg{width:24px;height:24px;stroke-width:2.6}
.status-banner h2{font:800 22px/1.2 var(--display);margin:0}
.status-banner p{margin:2px 0 0;color:var(--text-2);font-size:14.5px}
.status-ok{background:var(--ok-50);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.status-ok .si{background:var(--ok)}
.status-warn{background:var(--warn-50);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.status-warn .si{background:var(--warn)}
.status-down{background:var(--danger-50);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.status-down .si{background:var(--danger)}
.checks{border-radius:20px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.check-row{display:flex;align-items:center;gap:16px;padding:18px 24px;border-top:1px solid var(--line)}
.check-row:first-child{border-top:0}
.check-row .ci{width:38px;height:38px;border-radius:11px;background:var(--bg-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;flex:none}
.check-row .ci svg{width:19px;height:19px}
.check-row div{flex:1;min-width:0}
.check-row b{display:block;font-size:15.5px}
.check-row small{color:var(--text-3);font-size:13.5px}
.state{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:650;white-space:nowrap}
.state-ok{color:var(--ok)}.state-warn{color:var(--warn)}.state-down{color:var(--danger)}
.state .dot{width:9px;height:9px}
.state-warn .dot{background:#f59e0b}.state-down .dot{background:var(--danger)}

/* ---------------------------------------------------------------- error & small pages */
.err-wrap{padding:96px 0 120px;text-align:center;position:relative;isolation:isolate;overflow:hidden}
.err-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 60% at 50% 0%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 70%)}
.err-wrap .err-code{max-width:none;font:800 clamp(90px,16vw,170px)/1 var(--display);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin:0}
.err-wrap h1{font:800 clamp(28px,3.6vw,40px)/1.15 var(--display);letter-spacing:-.025em;margin:10px 0 12px}
.err-wrap p{color:var(--text-2);font-size:17.5px;max-width:560px;margin:0 auto}
.err-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.err-links{display:flex;gap:8px 22px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-size:14.5px}
.err-links a{color:var(--text-2)}
.small-card{max-width:520px;margin:72px auto 96px;padding:38px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);text-align:center}
.small-card .done-icon,.small-card .ws-logo{width:60px;height:60px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.small-card .ws-logo{background:var(--brand-50);color:var(--brand-ink);font:800 22px/1 var(--display);overflow:hidden}
.small-card .ws-logo img{width:100%;height:100%;object-fit:cover}
.small-card h1{font:800 26px/1.2 var(--display);letter-spacing:-.02em;margin:0 0 10px}
.small-card p{color:var(--text-2)}
.small-card form{margin-top:24px}
.maint-icon{width:64px;height:64px;border-radius:20px;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.maint-icon svg{width:30px;height:30px}

/* ---------------------------------------------------------------- consent */
.consent{position:fixed;left:16px;bottom:16px;z-index:90;max-width:440px;display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-size:14px;animation:rise .25s}
.consent p{margin:4px 0 0;color:var(--text-2)}
.consent-actions{display:flex;gap:8px;justify-content:flex-end}
@media (max-width:560px){.consent{left:10px;right:10px;bottom:10px;max-width:none}}

/* ---------------------------------------------------------------- public demo (/demo) */
.demo-hero{padding-bottom:36px}
.demo-hero .demo-alert{max-width:560px;margin:26px auto 0;text-align:left}
.demo-note{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:14px auto 0;font-size:14px;color:var(--text-3)}
.demo-note svg{width:15px;height:15px}
.demo-how{padding-bottom:88px}
.demo-steps{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:980px}
.demo-steps li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow-sm)}
.demo-steps b{display:block;font-size:15.5px;margin-bottom:3px}
.demo-steps span:not(.ds-icon){display:block;font-size:14px;line-height:1.5;color:var(--text-2)}
.ds-icon{flex:none;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand)}
.ds-icon svg{width:19px;height:19px}
.demo-steps li:nth-child(2) .ds-icon{background:var(--accent-50);color:var(--accent)}
.demo-steps li:nth-child(3) .ds-icon{background:var(--warn-50);color:var(--warn)}
.demo-how .fine{max-width:620px;margin:22px auto 0}
@media (max-width:860px){.demo-steps{grid-template-columns:1fr;max-width:520px}}

@media print{.site-header,.site-footer,.announce,.toc-col,.docs-side,.consent,.cta-band{display:none!important}body.site{background:#fff}}
