:root {
  --bg:#fbfaf8; --surface:#fff; --surface-muted:#f2f1ee;
  --text:#202122; --text-muted:#646461; --border:#deded8; --border-strong:#c8c8c1;
  --brand:#6e56cf; --brand-hover:#5840b7; --brand-ink:#51418e;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --container:1560px; --gutter:clamp(40px,7.4vw,128px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--text); background:var(--bg); font:18px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
.coming-soon-page { min-height:100svh; display:grid; place-items:center; padding:24px; }
.coming-soon-page h1 { font-size:clamp(36px,6vw,80px); text-align:center; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button,summary { cursor:pointer; }
img,svg { display:block; max-width:100%; }
button { color:inherit; }
h1,h2,h3,h4 { font-weight:550; letter-spacing:-.045em; line-height:1.08; margin:0; text-wrap:balance; }
h1 { font-size:clamp(48px,5.4vw,88px); }
h2 { font-size:clamp(34px,3.9vw,60px); }
h3 { font-size:clamp(24px,2.3vw,34px); }
p { margin:0; }
:focus-visible { outline:2px solid var(--brand); outline-offset:5px; }
.container,.home-container,.nav-shell { width:min(calc(100% - var(--gutter)),var(--container)); margin-inline:auto; }
.narrow { width:min(calc(100% - var(--gutter)),820px); margin-inline:auto; }
.skip-link { position:fixed; top:12px; left:20px; z-index:200; padding:12px 18px; background:var(--text); color:white; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.site-header { position:sticky; top:0; z-index:100; background:var(--bg); height:80px; display:flex; align-items:center; }
.nav-shell { display:flex; align-items:center; gap:40px; }
.logo { display:inline-flex; align-items:center; gap:9px; font-size:25px; font-weight:650; letter-spacing:-.055em; line-height:1; }
.logo img { width:35px; height:35px; object-fit:contain; }
.primary-nav { margin-left:auto; display:flex; gap:32px; align-items:center; }
.primary-nav a,.login-link { font-size:15px; display:inline-flex; align-items:center; min-height:44px; }
.primary-nav a:hover,.login-link:hover,.footer-links a:hover { color:var(--brand-hover); }
.nav-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 25px; border:1px solid transparent; border-radius:5px; font-size:15px; font-weight:550; line-height:1.4; }
.button-primary,.button-dark { background:var(--brand); color:#fff; }
.button-primary:hover,.button-dark:hover { background:var(--brand-hover); }
.button-secondary { border-color:var(--border-strong); }
.button-demo { background:var(--text); border-color:var(--text); color:#fff; gap:12px; padding:9px 22px 9px 11px; }
.demo-play { display:inline-flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:var(--brand); color:#fff; }
.demo-play svg { margin-left:1px; }
.button-demo:not(:disabled):hover { background:#333335; border-color:#333335; }
.button-demo:not(:disabled):hover .demo-play { background:var(--brand-hover); }
.button-demo:disabled { cursor:not-allowed; }
.nav-actions .button { min-height:44px; padding:10px 20px; }
.nav-actions .button-demo { padding:7px 17px 7px 8px; gap:10px; }
.nav-actions .demo-play { width:28px; height:28px; flex-basis:28px; }
.button-row,.hero-actions { display:flex; gap:28px; align-items:center; flex-wrap:wrap; margin-top:30px; }
.quiet-link { display:inline-flex; min-height:44px; align-items:center; font-size:15px; font-weight:500; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--border-strong); }
.quiet-link:hover { text-decoration-color:currentColor; }
.menu-toggle { display:none; width:44px; height:44px; background:none; border:0; padding:10px; }
.menu-toggle span { display:block; height:1.5px; background:currentColor; margin:5px 0; }
.menu-toggle span:nth-child(2) { display:none; }
.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.25px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.25px) rotate(-45deg); }
.mobile-nav { display:none; }
.section { padding-block:72px; }
.page-hero { padding:64px 0 56px; }
.page-hero h1 { max-width:1000px; }
.page-name { font-size:17px; color:var(--text-muted); margin-bottom:20px; }
.lead { max-width:700px; margin-top:24px; color:var(--text-muted); font-size:clamp(18px,1.5vw,23px); line-height:1.55; }
.product-page-hero { padding:64px 0 72px; }
.product-page-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(36px,5vw,86px); align-items:center; }
.product-page-layout h1 { font-size:clamp(46px,4.7vw,78px); }
.product-page-layout .lead { font-size:20px; }
.editorial { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; align-items:start; }
.editorial h2 { max-width:520px; }
.editorial-copy { max-width:780px; }
.editorial-copy > p { font-size:22px; line-height:1.6; }
.editorial-copy > p + p { margin-top:22px; }
.editorial-copy a { text-decoration:underline; text-underline-offset:4px; }
.fact-list { margin:32px 0 0; padding:0; }
.fact-list > div { display:grid; grid-template-columns:190px 1fr; gap:24px; padding:14px 0; }
.fact-list dt { font-weight:550; }
.fact-list dd { margin:0; color:var(--text-muted); }
.product-commercial { display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:38px; padding-top:30px; border-top:1px solid var(--border); }
.product-commercial h3 { font-size:25px; }
.product-commercial p { color:var(--text-muted); margin-top:8px; }
.product-start { display:block; font-size:23px; margin-top:12px; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.faq-layout h2 { max-width:400px; }
.faq details { border-bottom:1px solid var(--border); }
.faq details:first-child { border-top:1px solid var(--border); }
.faq summary { padding:20px 36px 20px 0; position:relative; font-size:17px; font-weight:500; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:3px; top:18px; font-size:22px; font-weight:400; }
.faq details[open] summary::after { content:"−"; }
.faq details > p { padding:0 28px 24px 0; font-size:16px; line-height:1.65; color:var(--text-muted); }
.faq a,.text-link { text-decoration:underline; text-underline-offset:4px; }
.final-cta { padding:72px 0; }
.final-cta .container { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.final-cta h2 { max-width:940px; }
.final-cta p { color:var(--text-muted); margin-top:20px; }
.final-cta .button { flex-shrink:0; }
.site-footer { padding:30px 0; }
.footer-row { border-top:1px solid var(--border); padding-top:28px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.footer-wordmark { font-size:23px; font-weight:600; letter-spacing:-.04em; white-space:nowrap; }
.footer-wordmark span { font-size:12px; color:var(--text-muted); margin-left:15px; letter-spacing:0; font-weight:400; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 22px; }
.footer-links a { font-size:13px; display:inline-flex; min-height:40px; align-items:center; }
.market-control { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:14px; margin-top:28px; min-height:46px; }
.market-control select { border:0; border-bottom:1px solid var(--border-strong); background:transparent; color:var(--text); border-radius:0; padding:10px 24px 10px 4px; min-height:44px; max-width:100%; font-size:15px; }
.market-control button { background:none; border:0; padding:10px 4px; font-size:13px; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.price-notice { margin-top:18px; font-size:14px; line-height:1.65; color:var(--text-muted); }
[data-price-value],[data-usage-rate],[data-additional-agent-rate] { font-variant-numeric:tabular-nums; }
.pricing-family { padding-block:36px 56px; }
.pricing-family-header { display:flex; align-items:baseline; gap:32px; margin-bottom:26px; }
.pricing-family-header h2 { font-size:clamp(30px,3vw,44px); white-space:nowrap; }
.pricing-family-header p { color:var(--text-muted); font-size:17px; max-width:670px; }
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); background:var(--surface); border:1px solid var(--border); border-radius:6px; }
.plan { padding:32px 36px; }
.plan + .plan { border-left:1px solid var(--border); }
.plan h3 { font-size:23px; margin-bottom:24px; }
.plan-price { font-size:clamp(36px,3.2vw,50px); font-weight:550; letter-spacing:-.04em; line-height:1.25; }
.plan-price small { font-size:15px; letter-spacing:0; font-weight:400; color:var(--text-muted); }
.plan-usage { font-size:18px; margin-top:8px; }
.plan-description { color:var(--text-muted); font-size:15px; margin-top:18px; }
.pricing-page .page-hero { padding-bottom:28px; }
.pricing-page .lead { max-width:780px; }
.security-page .page-hero h1 { max-width:1000px; }
.security-content { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
.security-content > aside { max-width:320px; position:sticky; top:120px; font-size:17px; color:var(--text-muted); }
.security-content > aside p + p { margin-top:20px; }
.security-topics { display:grid; grid-template-columns:1fr 1fr; gap:40px 60px; }
.security-topics h2 { font-size:27px; margin-bottom:14px; }
.security-topics p { color:var(--text-muted); font-size:17px; }
.security-review { grid-column:1 / -1; border-top:1px solid var(--border); padding-top:30px; margin-top:6px; }
.legal-header { padding:60px 0 36px; }
.legal-header h1 { font-size:clamp(44px,5vw,72px); }
.legal-meta { margin-top:20px; color:var(--text-muted); font-size:15px; }
.legal-body { padding-bottom:44px; }
.legal-todo { border-left:2px solid var(--border-strong); padding-left:22px; font-size:16px; line-height:1.7; color:var(--text-muted); margin-bottom:42px; }
.legal-section { margin-bottom:32px; }
.legal-section h2 { font-size:27px; margin-bottom:14px; }
.legal-section p { font-size:17px; color:var(--text-muted); margin-top:12px; }
@media(min-width:1800px) { .section { padding-block:80px; } }
@media(max-width:1100px) {
  .nav-shell { gap:24px; }
  .primary-nav { gap:23px; }
  .nav-actions { gap:20px; }
  .editorial,.faq-layout,.security-content { gap:40px; }
  .product-page-layout { grid-template-columns:1fr 1.15fr; gap:32px; }
  .product-page-layout .lead { font-size:18px; }
  .plan { padding:26px; }
}
@media(max-width:980px) {
  .product-page-layout { grid-template-columns:1fr; gap:38px; }
  .product-page-layout h1 { max-width:680px; }
  .product-page-layout > figure { width:100%; max-width:none; }
  .product-page-layout .lead { max-width:680px; }
  .security-content { grid-template-columns:1fr; }
  .security-content > aside { position:static; max-width:720px; }
  .editorial { grid-template-columns:1fr; gap:30px; }
  .editorial h2 { max-width:680px; }
  .pricing-family-header { display:block; }
  .pricing-family-header p { margin-top:14px; }
}
@media(max-width:780px) {
  :root { --gutter:40px; }
  body { font-size:17px; }
  .site-header { height:68px; }
  .logo { font-size:24px; }
  .logo img { width:30px; height:30px; }
  .primary-nav,.nav-actions { display:none; }
  .menu-toggle { display:block; margin-left:auto; }
  .mobile-nav.is-open { display:flex; flex-direction:column; position:fixed; inset:68px 0 0; padding:20px; background:var(--bg); overflow-y:auto; }
  .mobile-nav > a { padding:18px 0; font-size:23px; }
  .mobile-nav > .button { padding:16px 20px; margin-top:20px; font-size:17px; }
  .section { padding-block:44px; }
  .page-hero,.product-page-hero { padding:36px 0 38px; }
  h1 { font-size:clamp(40px,8vw,58px); }
  h2 { font-size:clamp(34px,6vw,46px); }
  .page-name { font-size:15px; margin-bottom:16px; }
  .lead { font-size:18px; margin-top:20px; }
  .product-page-layout h1 { font-size:clamp(40px,8vw,58px); }
  .button-row { gap:20px; margin-top:24px; }
  .editorial-copy > p { font-size:19px; }
  .fact-list > div { grid-template-columns:1fr; gap:5px; padding-block:12px; }
  .product-commercial { display:block; margin-top:28px; padding-top:24px; }
  .product-commercial .quiet-link { margin-top:16px; }
  .product-start { font-size:20px; }
  .faq-layout { grid-template-columns:1fr; gap:26px; }
  .faq-layout h2 { max-width:100%; }
  .faq summary { font-size:16px; padding-block:19px; }
  .faq details > p { font-size:15px; padding-right:0; }
  .final-cta { padding-block:48px; }
  .final-cta .container { display:block; }
  .final-cta .button { margin-top:28px; }
  .footer-row { display:block; }
  .footer-links { gap:0 20px; margin-top:18px; }
  .site-footer { padding:20px 0; }
  .plan-grid { grid-template-columns:1fr; }
  .plan { padding:26px; display:grid; grid-template-columns:1fr auto; gap:10px; align-items:baseline; }
  .plan + .plan { border-left:0; border-top:1px solid var(--border); }
  .plan h3 { margin:0; font-size:21px; }
  .plan-price { font-size:36px; text-align:right; }
  .plan-price small { display:block; font-size:13px; line-height:1.6; }
  .plan-usage { grid-column:1 / -1; font-size:17px; margin:0; }
  .plan-description { display:none; }
  .pricing-family { padding-block:20px 30px; }
  .pricing-family-header p { font-size:16px; }
  .security-topics { grid-template-columns:1fr; gap:30px; }
  .security-topics h2 { font-size:26px; }
  .security-topics p { font-size:17px; }
  .legal-header { padding-top:38px; }
  .legal-section h2 { font-size:25px; }
  .legal-section p { font-size:16px; overflow-wrap:anywhere; }
}
@media(max-width:359px) {
  :root { --gutter:32px; }
  .button { padding:12px 18px; font-size:14px; }
  .plan { padding:20px; }
  .plan-price { font-size:32px; }
  .plan h3 { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
