:root{
  --ink:#191a1c; --ink-soft:#4c4d51; --dim:#8b8c90;
  --bg:#ffffff; --bg2:#faf8f5; --line:#ebe8e3;
  --accent:#b7502a; --accent-ink:#993f1e; --accent-soft:#f7ede7;
  --moon:#c9d8ec;
  --radius:14px; --wrap:1080px;
  --font:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.brand .moon{display:none}
.brand img.logo{height:30px;width:auto;vertical-align:middle}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.center{text-align:center}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;color:var(--ink);letter-spacing:-0.01em}
h1{font-size:clamp(30px,5vw,50px);margin:.2em 0 .35em}
h2{font-size:clamp(24px,3.5vw,34px);margin:0 0 .4em}
h3{font-size:19px;margin:0 0 .35em}
p{margin:0 0 1em}

/* moon mark */
.moon{display:inline-block;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 32% 32%, #fff 0 30%, var(--moon) 32% 100%);
  box-shadow:inset -3px -2px 0 0 var(--accent);vertical-align:-2px;margin-right:7px}

/* header / footer */
header.site{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-weight:700;font-size:20px;color:var(--ink)}
.brand.small{font-size:16px}
.nav nav a{margin-left:22px;color:var(--ink-soft);font-size:15px}
@media(max-width:640px){.nav nav a{margin-left:14px;font-size:13px}.nav nav a:nth-child(3){display:none}}

/* hero */
.hero{background:linear-gradient(180deg,var(--bg2),#fff);padding:70px 0 56px;border-bottom:1px solid var(--line)}
.eyebrow{color:var(--accent-ink);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .6em}
.lede{font-size:19px;color:var(--ink-soft);max-width:640px}
.cta{margin:1.6em 0 1em;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;border:1px solid transparent}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-ink);text-decoration:none}
.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--accent);text-decoration:none}
.status-pill{display:inline-block;margin-top:.5em;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:500}

/* blocks */
.block{padding:64px 0}
.block.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-lede{color:var(--ink-soft);max-width:680px;font-size:17px}

/* feature grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2em}
@media(max-width:860px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card p{margin:0;color:var(--ink-soft);font-size:15px}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2em}
@media(max-width:820px){.tiers{grid-template-columns:1fr}}
.tier{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative}
.tier.featured{border-color:var(--accent);box-shadow:0 6px 30px rgba(59,110,165,.12)}
.tier .tag{position:absolute;top:-11px;left:26px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.tier .price{font-size:34px;font-weight:700;color:var(--ink);margin:.1em 0 0}
.tier .price span{font-size:16px;font-weight:500;color:var(--dim)}
.tier .per{color:var(--dim);font-size:14px;margin:.1em 0 1em}
.tier ul{list-style:none;padding:0;margin:0}
.tier li{padding:7px 0 7px 26px;position:relative;font-size:15px;color:var(--ink-soft);border-top:1px solid var(--bg2)}
.tier li:before{content:"";position:absolute;left:2px;top:13px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}

/* notify */
form.notify{display:flex;gap:10px;max-width:440px;margin:1.2em auto 0}
form.notify input{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit}
@media(max-width:480px){form.notify{flex-direction:column}}

/* footer */
footer.site{background:#fff;border-top:1px solid var(--line);padding:40px 0 30px}
.foot{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.foot-links a{display:inline-block;margin-left:18px;color:var(--ink-soft);font-size:14px}
@media(max-width:560px){.foot-links a{margin:0 16px 0 0}}
.fine{color:var(--dim);font-size:13.5px}
.disclaimer{color:var(--ink-soft);font-size:13.5px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:8px}

/* legal pages */
.legal{max-width:820px;margin:0 auto;padding:48px 24px 80px}
.legal h1{font-size:30px}
.legal h2{font-size:21px;margin-top:1.8em}
.legal h3{font-size:17px;margin-top:1.2em}
.legal p,.legal li{color:var(--ink-soft);font-size:15.5px}
.legal code{background:var(--bg2);padding:1px 5px;border-radius:4px;font-size:.9em}
.legal .back{display:inline-block;margin-bottom:1.5em;font-size:14px}
.legal .updated{color:var(--dim);font-size:13.5px}

/* legal preview banner */
.preview-note{background:#fff8e6;border:1px solid #e8d48a;border-radius:10px;padding:12px 16px;margin:0 0 1.5em;font-size:14px;color:#6b5600}
