
:root{
  --bg:#ffffff;
  --fg:#111111;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#0ea5e9;
  --radius:16px;
  --max:1100px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b0b0b;
    --fg:#efefef;
    --muted:#9ca3af;
    --line:#1f2937;
    --accent:#38bdf8;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Helvetica,Arial,sans-serif;line-height:1.5}
a{color:inherit}
img{max-width:100%;height:auto}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.section{padding:80px 0;border-top:1px solid var(--line)}
.section:first-of-type{border-top:none}
h1{font-size:clamp(36px,9vw,96px);letter-spacing:-0.04em;margin:0 0 12px 0}
h2{font-size:clamp(28px,4vw,40px);letter-spacing:-0.02em;margin:0 0 24px 0}
h3{font-size:20px;margin:0 0 8px 0}
p{margin:0 0 16px 0}
.lede{font-size:clamp(16px,2.2vw,20px);color:var(--muted);max-width:900px}
.tagline{font-weight:600}
.button{display:inline-block;background:var(--fg);color:var(--bg);padding:12px 16px;border-radius:var(--radius);text-decoration:none;border:1px solid var(--fg)}
.button:hover{opacity:.9}
.link{display:inline-block;margin-left:12px;text-decoration:none;border-bottom:1px solid currentColor}
.link:hover{opacity:.7}
.cta-row{margin-top:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:transparent}
.steps{display:grid;gap:8px;counter-reset:step}
.steps li{padding:12px;border:1px solid var(--line);border-radius:12px}
.note{color:var(--muted)}
.hero{padding-top:120px;padding-bottom:80px}
.site-header{position:sticky;top:0;background:color-mix(in oklab, var(--bg) 85%, transparent);backdrop-filter:saturate(160%) blur(6px);border-bottom:1px solid var(--line);z-index:50}
.nav-list{display:flex;gap:18px;list-style:none;margin:0;padding:12px 20px;align-items:center;justify-content:flex-end}
.nav-list a{display:block;padding:8px 6px;text-decoration:none;border-radius:8px}
.nav-list a.active,.nav-list a:hover{background:var(--line)}
.nav-toggle{display:none;margin:8px 12px 8px auto;padding:8px;border-radius:10px;border:1px solid var(--line);background:transparent;color:inherit}
@media (max-width: 760px){
  .nav-toggle{display:block}
  .nav-list{display:none;flex-direction:column;align-items:flex-start;padding:8px 12px}
  .nav-list.show{display:flex}
}
.site-footer{border-top:1px solid var(--line);padding:20px 0;margin-top:40px}
.footer-grid{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.back-to-top{border-bottom:1px solid currentColor;text-decoration:none}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:8px;background:var(--fg);color:var(--bg)}
details{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}
summary{cursor:pointer;font-weight:600}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.contact-form label{display:grid;gap:6px}
.contact-form input,.contact-form textarea{padding:10px;border-radius:10px;border:1px solid var(--line);background:transparent;color:inherit}
.contact-form button{grid-column:1 / -1}
@media (max-width:700px){
  .contact-form{grid-template-columns:1fr}
}
