:root{
  --bg:#F4F0E6; --ink:#16181C; --body:#4B5158; --muted:#6B6F76;
  --rule:#E2DBCC; --frame:#EAE4D8; --link:#0B3FE4;
  --sans:Archivo,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --script:"Mrs Saint Delafield","Snell Roundhand",cursive;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--link);outline-offset:3px}
img{max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--bg);padding:8px 12px;z-index:10}

.page{max-width:1280px;min-height:100vh;margin:0 auto;padding:0 clamp(20px,11vw,142px);display:flex;flex-direction:column}
main{flex:1}

.site-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:26px 0 18px;border-bottom:1px solid var(--ink)}
.site-header .home{font-size:.95rem;font-weight:600;letter-spacing:-.01em;padding:6px 0}
.site-header nav{display:flex;gap:clamp(18px,4vw,28px);font-size:.88rem;color:var(--body)}
.site-header nav a{padding:6px 0}
.site-header [aria-current="page"]{color:var(--ink);font-weight:600}

.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:20px}

.hero{margin-top:56px}
.hero h1{margin:0;width:min(100%,750px);padding:12px 0 4px}
.ink{animation-name:write;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-fill-mode:both}
@keyframes write{from{clip-path:inset(-8% 100% -8% -2%)}to{clip-path:inset(-8% -2% -8% -2%)}}
@media (prefers-reduced-motion:reduce){.ink{animation:none}}
.hero .tagline{display:flex;align-items:center;gap:20px;margin:8px 0 0}
.hero .tagline span{font-family:var(--mono);font-size:.78rem;color:var(--body)}
.hero .tagline::after{content:"";flex:1;min-width:24px;height:1px;background:var(--rule)}

.section{margin-top:78px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:10px}
.section-head h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.008em}
.section-head span{font-family:var(--mono);font-size:.72rem;color:var(--muted)}

.about{margin-top:28px;row-gap:36px}
.about .bio{grid-column:span 7;display:flex;flex-direction:column;gap:18px;max-width:62ch}
.about .lead{margin:0;font-size:1.45rem;line-height:1.35;font-weight:500;letter-spacing:-.014em}
.about .bio p:not(.lead){margin:0;font-size:1rem;line-height:1.6;color:var(--body)}
.about .more{align-self:flex-start;font-size:.95rem;font-weight:600;color:var(--link);padding:12px 0}
.facts{grid-column:10 / span 3;align-self:start;margin:0;border-bottom:1px solid var(--rule)}
.facts div{padding:14px 0;border-top:1px solid var(--rule)}
.facts dt{font-size:.76rem;color:var(--muted);margin-bottom:6px}
.facts dd{margin:0;font-size:.94rem;line-height:1.45}

.photos{margin-top:28px;row-gap:28px}
.photos figure{grid-column:span 4;margin:0}
.photos img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--frame)}
.photos figcaption{margin-top:8px;font-size:.78rem;color:var(--muted)}

.construction{padding:120px 0 96px}
.construction h1{margin:0;font-size:clamp(2.4rem,7vw,4.5rem);line-height:.95;letter-spacing:-.04em;font-weight:700}
.construction p{margin:18px 0 0;font-size:1rem;color:var(--body);max-width:52ch}
.construction a{display:inline-block;margin-top:18px;padding:10px 0;font-weight:600;color:var(--link)}

.site-footer{margin-top:96px;border-top:1px solid var(--ink);padding:24px 0 40px;display:flex;flex-direction:column;gap:28px}
.site-footer .label{font-size:.76rem;color:var(--muted);margin-bottom:8px}
.site-footer .contact{grid-column:span 6}
.site-footer .email{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.site-footer .place{margin-top:6px;font-size:.88rem;color:var(--body)}
.site-footer .resume{display:inline-block;margin-top:14px;padding:6px 0;font-size:.88rem;font-weight:600;color:var(--link)}
.site-footer .elsewhere{grid-column:7 / span 6}
.site-footer .elsewhere .label{margin-bottom:2px}
.site-footer ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.site-footer li a{display:flex;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid var(--rule)}
.site-footer li .k{width:84px;flex:none;font-size:.76rem;color:var(--muted)}
.site-footer li .v{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.site-footer small{font-family:var(--mono);font-size:.72rem;color:var(--muted)}

@media (max-width:900px){
  .about .bio{grid-column:1 / -1}
  .facts{grid-column:1 / -1}
}
@media (max-width:760px){
  .hero{margin-top:40px}
  .section{margin-top:60px}
  .photos figure{grid-column:1 / -1}
  .site-footer .contact,.site-footer .elsewhere{grid-column:1 / -1}
  .site-footer .elsewhere{margin-top:28px}
}
