@font-face{font-family:"Space Grotesk";src:url(fonts/SpaceGrotesk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/Inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/Inter-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/JetBrainsMono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/JetBrainsMono-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --n-bg:#f4f2ef; --n-surface:#fff; --n-ink:#0a0a0a;
  --n-ink-2:#5f5d59; --n-ink-2-dark:#9a9894; --n-line:#d6d4d0;
  --n-dot:#b9b7b3; --n-deco:#c2c4ba;
  --n-font-display:"Space Grotesk","Inter",system-ui,sans-serif;
  --n-font-body:"Inter",system-ui,sans-serif;
  --n-font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --n-track-label:.18em; --n-track-display:-.03em;
  --n-r-pill:999px; --n-r-btn:10px; --n-r-card:14px; --n-r-frame:20px;
  --n-s1:4px; --n-s2:8px; --n-s3:12px; --n-s4:16px; --n-s5:24px; --n-s6:32px; --n-s7:48px; --n-s8:64px;
  --n-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08);
  --n-focus:0 0 0 2px var(--n-bg),0 0 0 4px var(--n-ink);
}
*{box-sizing:border-box;margin:0}
html,body{min-height:100%}
body{display:flex;flex-direction:column;min-height:100vh;font-family:var(--n-font-body);font-size:1rem;background:var(--n-bg);color:var(--n-ink);line-height:1.5}
.n-dots{position:relative}
.n-dots::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(var(--n-dot) 1.2px,transparent 1.6px);
  background-size:10px 10px;
  -webkit-mask-image:linear-gradient(90deg,#000 0,transparent 18%,transparent 82%,#000 100%);
          mask-image:linear-gradient(90deg,#000 0,transparent 18%,transparent 82%,#000 100%)}
main,footer{position:relative;z-index:1}
main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--n-s7) 20px;gap:var(--n-s5)}
.n-label{font-family:var(--n-font-mono);font-size:.8125rem;font-weight:500;letter-spacing:var(--n-track-label);text-transform:uppercase;line-height:1.3;color:var(--n-ink-2)}
.n-label b{font-weight:700;color:var(--n-ink)}
h1{font-family:var(--n-font-display);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.05;letter-spacing:var(--n-track-display)}
.tagline{font-size:clamp(1.0625rem,2.5vw,1.25rem);color:var(--n-ink-2);max-width:32rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:var(--n-r-btn);background:var(--n-ink);color:#fff;font-weight:600;text-decoration:none}
.btn:hover{background:#2a2a2a}
.btn:focus-visible{outline:none;box-shadow:var(--n-focus)}
.n-footer{box-shadow:var(--n-shadow);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--n-s3) var(--n-s5);margin:0 var(--n-s4) var(--n-s4);padding:24px 28px;border-radius:var(--n-r-card);background:var(--n-ink);color:#fff}
.n-footer p{font-size:1.25rem;line-height:1.3;letter-spacing:-.01em}
.n-footer p b{font-weight:600}
.n-footer p span{color:var(--n-ink-2-dark)}
.n-mono{font-family:var(--n-font-mono);font-size:.8125rem;font-weight:500;letter-spacing:var(--n-track-label);text-transform:uppercase;color:var(--n-ink-2-dark)}
