:root { color-scheme:light; --ink:#000; --quiet:#646464; --line:#e2e2e2; --soft:#f6f6f6; font-family:Manrope,Arial,sans-serif; font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-size:15px; -webkit-font-smoothing:antialiased; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; color:inherit; }
a { color:inherit; }
button { border:0; background:none; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid #000; outline-offset:6px; }
button:hover { opacity:.68; }
.skip { position:fixed; left:20px; top:-80px; z-index:10; padding:12px; background:#000; color:#fff; }
.skip:focus { top:12px; }
.page { max-width:1680px; margin:0 auto; padding:0 60px; }
.masthead { height:116px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:600; font-size:22px; letter-spacing:-1px; }
.brand img { width:34px; height:42px; }
.text-button { padding:10px 0; font-size:13px; }
main { min-height:calc(100svh - 206px); display:flex; flex-direction:column; }
.hero { flex:1; display:flex; align-items:center; flex-direction:column; justify-content:center; padding:40px 0 64px; text-align:center; }
.eyebrow { font-weight:600; font-size:10px; letter-spacing:.19em; line-height:1.6; margin:0 0 28px; }
h1 { font-size:clamp(78px,8.5vw,132px); line-height:.98; font-weight:500; letter-spacing:-.045em; word-spacing:.04em; margin:0 0 34px; padding-right:.04em; }
h1 span { font-weight:500; }
.intro { font-size:16px; margin:0 0 30px; line-height:1.65; letter-spacing:-.025em; }
.primary { background:#00843d; color:#fff; padding:17px 28px; border-radius:999px; font-size:14px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; min-width:184px; min-height:54px; }
.primary:hover { background:#006f33; opacity:1; }
.allowance { color:var(--quiet); font-size:12px; line-height:1.8; margin:17px 0 0; }
.examples { display:flex; justify-content:center; gap:48px; padding:16px 0 26px; }
.examples button { padding:12px 0; font-size:12px; white-space:nowrap; }
.examples button:hover { text-decoration:underline; text-underline-offset:5px; }
footer { border-top:1px solid var(--line); height:90px; display:flex; align-items:center; justify-content:space-between; color:var(--quiet); font-size:11px; }
.footer-right { display:flex; align-items:center; gap:28px; }
footer .text-button { font-size:11px; }
.concept-label { padding:10px 0; font-size:10px; }
dialog { padding:0; border:1px solid var(--line); color:#000; border-radius:12px; background:#fff; width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-shadow:0 28px 100px #0002; }
dialog::backdrop { background:#0007; backdrop-filter:blur(6px); }
.dialog-shell { padding:54px; position:relative; }
.close { position:absolute; right:18px; top:14px; width:44px; height:44px; font-size:28px; line-height:1; z-index:1; }
.dialog-shell .eyebrow { margin-bottom:20px; }
h2 { font-size:44px; font-weight:500; line-height:1.12; letter-spacing:-.055em; margin:0 0 24px; }
.dialog-intro { font-size:14px; line-height:1.8; color:var(--quiet); margin:0 0 28px; }
.dialog-shell > p:not([class]) { font-size:14px; line-height:1.8; }
.packs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--line); border-radius:8px; overflow:hidden; margin:30px 0 18px; }
.pack { display:flex; flex-direction:column; align-items:flex-start; padding:24px 12px; text-align:left; }
.pack + .pack { border-left:1px solid var(--line); }
.pack:hover,.pack[aria-pressed=true] { background:#000; color:#fff; opacity:1; }
.pack:focus-visible { outline-offset:-4px; }
.pack[aria-pressed=true]:focus-visible { outline-color:#fff; }
.pack-price { font-size:32px; font-weight:500; letter-spacing:-.05em; margin-bottom:25px; }
.pack-total { font-size:13px; font-weight:700; margin-bottom:7px; white-space:nowrap; }
.pack-bonus { font-size:10px; opacity:.7; }
.pack-rate { font-size:10px; margin-top:20px; }
.small { font-size:11px; line-height:1.8; color:var(--quiet); margin:14px 0; }
.underlined { display:inline-block; padding:12px 0 4px; margin-top:8px; border-bottom:1px solid #000; text-decoration:none; font-size:12px; }
.recharge-example { border-top:1px solid var(--line); margin-top:28px; padding-top:26px; font-size:13px; line-height:1.8; }
.recharge-example .eyebrow { font-size:9px; }
.recharge-example ol { padding-left:18px; }
.recharge-example li { padding-left:5px; margin:5px 0; }
.rates { margin:24px 0; }
.rates>div { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--line); padding:20px 0; }
.rates dt { font-size:13px; font-weight:600; }
.rates small { display:block; font-size:10px; line-height:1.7; color:var(--quiet); font-weight:400; margin-top:6px; }
.rates dd { flex-shrink:0; margin:0; font-size:12px; }
.faq details { border-top:1px solid var(--line); padding:19px 0; }
.faq summary { cursor:pointer; font-size:14px; font-weight:500; }
.faq p { color:var(--quiet); font-size:12px; line-height:1.85; margin-bottom:0; }
.demo-dialog { width:min(480px,calc(100vw - 32px)); }
.demo-shell { position:relative; }
.chat-header { display:flex; gap:12px; align-items:center; padding:26px; }
.chat-header h2 { font-size:21px; margin:0 0 3px; }
.chat-header p { font-size:10px; color:var(--quiet); margin:0; }
.demo-tabs { display:flex; justify-content:center; gap:5px; padding:0 22px 22px; }
.demo-tabs button { font-size:11px; padding:8px 17px; border:1px solid var(--line); border-radius:999px; }
.demo-tabs button[aria-pressed=true] { background:#000; color:#fff; border-color:#000; }
.chat { background:var(--soft); padding:28px 23px; display:flex; flex-direction:column; gap:18px; min-height:286px; }
.bubble { max-width:89%; padding:14px 16px; border-radius:14px 14px 14px 3px; background:#fff; font-size:12px; line-height:1.8; align-self:flex-start; }
.bubble.user { background:#000; color:#fff; align-self:flex-end; border-radius:14px 14px 3px 14px; }
.bubble p { margin:0; }
.bubble p+p { margin-top:12px; }
.bubble small { display:block; color:var(--quiet); font-size:9px; margin-top:9px; }
.chat-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:22px 20px 0; }
.chat-actions button { border:1px solid var(--line); border-radius:999px; font-size:11px; padding:10px 18px; }
.chat-actions .action-primary { background:#000; color:#fff; border-color:#000; }
.demo-note { font-size:9px; text-align:center; color:var(--quiet); line-height:1.7; padding:16px 24px 22px; margin:0; }
body.modal-open { overflow:hidden; }
@media (min-width:1600px) { .hero { padding-bottom:84px; } }
@media (max-width:700px) {
  .page { padding:0 24px; }
  .masthead { height:88px; }
  .brand { font-size:19px; gap:8px; }
  .brand img { width:28px; height:35px; }
  main { min-height:calc(100svh - 174px); }
  .hero { padding:38px 0 46px; }
  .eyebrow { font-size:8px; margin-bottom:24px; }
  h1 { font-size:clamp(51px,16vw,100px); margin-bottom:26px; }
  .intro { font-size:12px; max-width:240px; margin-bottom:25px; }
  .primary { min-height:50px; min-width:176px; font-size:12px; padding:13px 24px; }
  .allowance { font-size:10px; line-height:1.8; margin-top:16px; }
  .examples { gap:0; justify-content:space-between; padding:0 0 20px; }
  .examples button { white-space:normal; max-width:105px; font-size:11px; line-height:1.7; text-align:left; }
  footer { height:86px; font-size:10px; }
  .footer-right { gap:16px; }
  footer .text-button,.concept-label { font-size:10px; }
  .dialog-shell { padding:48px 24px 30px; }
  h2 { font-size:35px; }
  .dialog-intro { font-size:12px; }
  .packs { grid-template-columns:1fr; margin-top:24px; }
  .pack { display:grid; grid-template-columns:60px 1fr; gap:4px 10px; padding:13px 16px; align-items:center; }
  .pack + .pack { border-left:0; border-top:1px solid var(--line); }
  .pack-price { grid-row:span 2; font-size:26px; margin:0; }
  .pack-total { font-size:12px; }
  .pack-total,.pack-bonus { margin:0; text-align:right; }
  .pack-bonus { font-size:10px; }
  .pack-rate { display:none; }
  .rates>div { gap:10px; }
  .rates dt { font-size:11px; }
  .rates dd { font-size:10px; }
}
@media (max-width:370px) { .page { padding:0 18px; } .footer-right { gap:10px; } .concept-label { font-size:8px; } }
@media (prefers-reduced-motion:no-preference) { button { transition:background .18s,color .18s,opacity .18s; } }
@media print { .masthead button,footer button,.examples { display:none; } main { min-height:800px; } }
