@font-face{font-family:"IBM Plex Sans";src:url(/fonts/IBMPlexSans-var.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/IBMPlexMono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#0E1013;
  --fg:#ECEBE6;
  --muted:#9A9EA5;
  --accent:#FF5147;
  --line:#1E2126;
  --sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gutter:clamp(24px,5.5vw,80px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{height:100%}
body{
  margin:0;min-height:100%;
  background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:var(--fg);text-decoration:none}
a:hover{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
::selection{background:var(--accent);color:var(--bg)}

.page{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}

.nav{display:flex;justify-content:space-between;align-items:center;height:96px;padding:0 var(--gutter)}
.brand{display:inline-flex;align-items:center;gap:14px;min-height:44px}
.brand .mark-sm{height:26px;width:auto;color:var(--accent);flex-shrink:0}
.brand .word{font-size:18px;letter-spacing:-0.01em}
.brand .word b{font-weight:600}
.nav .email{font-family:var(--mono);font-size:14px;min-height:44px;display:inline-flex;align-items:center}

.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:36px;padding:48px var(--gutter)}
.hero .mark{height:clamp(min(160px,30vh),min(21vw,30vh),300px);width:auto;color:var(--accent)}
.hero h1{margin:0;font-size:clamp(36px,min(6.1vw,9.5vh),88px);line-height:1.02;font-weight:600;letter-spacing:-0.025em;text-wrap:balance}
.hero .sub{margin:0;font-size:clamp(17px,1.5vw,22px);line-height:1.4;color:var(--muted);max-width:32em;text-wrap:balance}
.hero .email-cta{display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-size:16px}

.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;padding:32px var(--gutter) 40px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}
.foot a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.foot a:hover{color:var(--accent)}
.foot .links{display:inline-flex;gap:24px}

.doc{padding:32px var(--gutter) 80px;max-width:calc(36em + 2*var(--gutter));margin:0 auto;width:100%}
.doc h1{font-size:clamp(28px,3.2vw,40px);line-height:1.15;font-weight:600;letter-spacing:-0.02em;margin:0 0 24px}
.doc h2{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-0.01em;margin:36px 0 12px}
.doc p{margin:0 0 20px;font-size:17px;line-height:1.6;color:var(--fg)}
.doc p a{text-decoration:underline;text-underline-offset:3px}
.doc .back{font-family:var(--mono);font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.doc .back:hover{color:var(--accent)}

@media (max-width:640px){
  .nav{height:72px}
  .brand .mark-sm{height:22px}
  .brand .word{font-size:16px}
  .nav .email{display:none}
  .hero{gap:28px;padding:32px var(--gutter) 48px}
  .hero .email-cta{font-size:15px}
  .foot{flex-direction:column;align-items:center;text-align:center;font-size:12px;padding:24px var(--gutter) 32px}
}
@media (min-width:641px) and (max-height:720px){
  .nav{height:72px}
  .hero{gap:28px;padding:32px var(--gutter)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
  :root{--bg:#fff;--fg:#111;--muted:#444;--line:#ccc;color-scheme:light}
  .page{min-height:0}
  .doc .back{display:none}
}
