@font-face{font-family:"TW Archivo";src:url(../fonts/Archivo.ttf) format("truetype");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"TW Plex Mono";src:url(../fonts/PlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"TW Plex Mono";src:url(../fonts/PlexMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"TW Garamond";src:url(../fonts/EBGaramond-Italic.ttf) format("truetype");font-style:italic;font-weight:400 800;font-display:swap}

:root{
  --bg:#F2EEE3; --bg2:#E9E3D3; --paper:#F7F4EC; --ink:#1B2A36; --ink2:#3C4A55;
  --muted:#6E7A80; --rule:#CFC8B6; --accent:#9E2F5F; --ok:#3E6B4E;
  --f-display:"TW Archivo",system-ui,sans-serif; --f-body:"TW Archivo",system-ui,sans-serif;
  --f-label:"TW Plex Mono",ui-monospace,monospace; --f-place:"TW Garamond",Georgia,serif;
  --maxw:1100px; --gut:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em}
a:hover{color:var(--accent)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.label{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:99}

.site-head{border-bottom:1px solid var(--rule);background:var(--bg);position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.wordmark .wm{font-weight:600;font-size:18px;letter-spacing:.32em;text-transform:uppercase;font-stretch:78%}
.mark{width:22px;height:14px}
.nav{display:flex;gap:22px;align-items:center}
.nav a{text-decoration:none;font-family:var(--f-label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);padding:6px 0;border-bottom:1px solid transparent}
.nav a[aria-current="page"],.nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.menu-btn{display:none}

.hero{padding:72px 0 40px}
.hero h1{font-stretch:78%;font-weight:560;letter-spacing:-.012em;font-size:clamp(36px,5.4vw,68px);line-height:1.05;margin:16px 0 20px}
.hero h1 em{font-family:var(--f-place);font-style:italic;font-weight:500;font-stretch:100%}
.lede{font-size:19px;color:var(--ink2);max-width:40em;margin:0}

.sec{padding:48px 0;border-top:1px solid var(--rule)}
.sec h2{font-stretch:78%;font-weight:560;font-size:clamp(26px,3vw,36px);margin:0 0 16px}
.prose p{margin:0 0 1em;max-width:40em;color:var(--ink2)}
.prose p:last-child{margin-bottom:0}

.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-block;text-decoration:none;padding:14px 18px;border:1px solid var(--ink);font-family:var(--f-label);font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.btn.primary{background:var(--ink);color:var(--bg)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.quiet{border-color:var(--rule)}
.btn:hover{color:var(--accent);border-color:var(--accent)}

.private-bar{border-bottom:1px solid var(--rule);background:var(--bg2)}
.private-bar .wrap{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;min-height:56px}
.private-bar .wordmark .wm{font-size:15px;letter-spacing:.28em}

.letter{padding:56px 0 72px}
.letter .kicker{margin-bottom:18px}
.letter h1{font-stretch:78%;font-weight:560;font-size:clamp(32px,4.6vw,52px);line-height:1.08;margin:0 0 10px}
.letter .addr{font-family:var(--f-place);font-style:italic;font-size:22px;color:var(--ink2);margin:0 0 28px}
.letter .body{max-width:40em}
.letter .body p{margin:0 0 1.05em;color:var(--ink2)}
.sign{margin-top:28px}
.sign .name{font-weight:600}
.sign .co{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}

.site-foot{border-top:1px solid var(--rule);padding:28px 0 40px;color:var(--muted);font-size:14px}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.site-foot a{color:inherit}

@media (max-width:720px){
  .nav{display:none}
  .hero{padding:48px 0 28px}
  .letter{padding:36px 0 56px}
  .btn{width:100%;text-align:center}
}
