:root{
  --bg:#eef1f5; --ink:#0d1321; --muted:#566074; --rule:#ccd3de; --accent:#2b44ff; --on-accent:#fff;
  --sans:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0b101b;--ink:#e9edf5;--muted:#9aa5ba;--rule:#263044;--accent:#93a4ff;--on-accent:#0b101b}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0 auto;max-width:60rem;padding:0 1.5rem;background:var(--bg);color:var(--ink);
  font:1.0625rem/1.65 var(--sans)}
a{color:var(--accent);text-underline-offset:.2em}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--bg);padding:.4rem .8rem}

.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0}
.brand{color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:-.01em}
nav{display:flex;gap:1.5rem;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none}
nav a:hover{color:var(--accent);text-decoration:underline}

.hero{padding:clamp(3rem,10vw,7rem) 0 clamp(3rem,8vw,5rem)}
.wordmark{margin:0;font-weight:800;font-size:clamp(3rem,12vw,8.5rem);line-height:.95;letter-spacing:-.045em}
.lead{max-width:34rem;margin:1.75rem 0 2rem;font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.5;color:var(--muted)}
.btn{display:inline-block;padding:.8rem 1.4rem;background:var(--accent);color:var(--on-accent);
  font-weight:600;text-decoration:none;border-radius:.4rem}
.btn:hover{filter:brightness(1.08)}

section{padding:2.5rem 0;border-top:1px solid var(--rule)}
h2{margin:0 0 1.5rem;font-size:1.5rem;letter-spacing:-.01em}
.rows{margin:0}
.row{display:grid;grid-template-columns:minmax(10rem,1fr) 2fr;gap:.5rem 2rem;padding:1.1rem 0;border-top:1px solid var(--rule)}
.row:first-child{border-top:0;padding-top:0}
.row dt{font-weight:600}
.row dd{margin:0;color:var(--muted);max-width:36rem}
.prose{max-width:38rem}
.prose p:first-child{margin-top:0}
.mail{font-size:clamp(1.4rem,4vw,2rem);font-weight:700;letter-spacing:-.02em;text-decoration:none;border-bottom:2px solid var(--accent)}
.muted{color:var(--muted)}
.page-title{font-size:clamp(2rem,6vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:2rem 0 1.5rem}
.foot{margin:3rem 0 2rem;padding-top:1rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.95rem}
@media (max-width:40rem){.row{grid-template-columns:1fr}}
