:root{--bg:#0c0b09;--bg-raised:#161411;--ink:#f3eee4;--mute:#b8ae9c;--faint:#8a8274;--line:#2c2820;--signal:#ff6a2a;--signal-soft:#ff8c55;--focus:#ffe08a;--serif:"Instrument Serif", "Iowan Old Style", "Palatino Linotype", Palatino, serif;--sans:"Schibsted Grotesk", "Avenir Next", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad:clamp(1.25rem, 4vw, 3.5rem);--measure:72rem}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;color:var(--ink);background:radial-gradient(1200px 520px at 88% -10%, #24180f 0%, transparent 55%), var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1.05rem,.98rem + .35vw,1.2rem);line-height:1.5}a{color:inherit}a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip{z-index:10;background:var(--ink);color:var(--bg);padding:.55rem .8rem;font-size:.9rem;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.page{width:min(100%, var(--measure));padding:clamp(1.75rem, 5vw, 4.5rem) var(--pad) 4rem;margin:0 auto}.kicker{color:var(--faint);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.1rem;font-size:.78rem;font-weight:500}.identity h1{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(4.1rem,3.1rem + 8vw,9.4rem);font-weight:400;line-height:.86}.identity .given,.identity .family{display:block}.identity .family{color:var(--signal);font-style:italic}.lede{max-width:28rem;color:var(--mute);margin:1.6rem 0 0;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.roles,.contact,.sites{margin-top:clamp(2.6rem,5vw,4.4rem)}.roles h2,.contact h2,.sites h2{color:var(--faint);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1rem;font-size:.74rem;font-weight:500}.roles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.25rem 0 .15rem}.roles ul{margin:0;padding:0;list-style:none}.roles li{border-top:1px solid var(--line);grid-template-columns:6.4rem 1fr;gap:.75rem 1rem;padding:.95rem 0;display:grid}.roles li:first-child{border-top:0}.roles .label{color:var(--faint);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;padding-top:.18rem;font-size:.72rem;font-weight:500}.roles p{max-width:38rem;color:var(--ink);margin:0;font-size:1.05rem}.roles a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px}.roles a:hover{color:var(--signal-soft)}.contact-grid{gap:1.4rem;display:grid}.contact h3{color:var(--faint);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;font-weight:500}.contact p{margin:.2rem 0}.contact a{border-bottom:1px solid #0000;text-decoration:none}.contact a:hover{color:var(--signal-soft);border-bottom-color:currentColor}.hint{color:var(--faint);margin-left:.45rem;font-size:.88rem}.sites-head p{color:var(--mute);margin:-.35rem 0 1.15rem}.sites ol{margin:0;padding:0;list-style:none}.sites li+li{border-top:1px solid var(--line)}.sites a{align-items:baseline;gap:.9rem 1.1rem;min-height:3.4rem;padding:.95rem .15rem;text-decoration:none;display:flex}.sites .idx{color:var(--faint);font-family:var(--mono);letter-spacing:.06em;flex:0 0 2.1rem;font-size:.74rem}.sites .row{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;display:flex}.sites .name{letter-spacing:-.03em;font-size:clamp(1.35rem,1.15rem + 1.1vw,1.85rem);font-weight:500;line-height:1.2}.sites .gloss,.sites .host{color:var(--mute);font-size:.95rem}.sites a:hover .name,.sites a:focus-visible .name{color:var(--signal-soft)}.sites a:hover .idx,.sites a:focus-visible .idx{color:var(--signal)}footer{border-top:1px solid var(--line);color:var(--faint);font-family:var(--mono);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;margin-top:clamp(3rem,7vw,5.5rem);padding-top:1.2rem;font-size:.74rem;display:flex}footer p{margin:0}@media (width>=720px){.contact-grid{grid-template-columns:1fr 1fr;max-width:36rem}.roles li{grid-template-columns:7.2rem 1fr}}@media (width>=980px){.page{grid-template-columns:minmax(18rem,.95fr) minmax(22rem,1.15fr);align-items:start;column-gap:clamp(2.5rem,6vw,6rem);display:grid}.identity{grid-column:1}.roles,.contact{grid-column:1;margin-top:2.4rem}.sites{grid-area:1/2/span 4;margin-top:.35rem}footer{grid-column:1/-1}}@media (prefers-reduced-motion:no-preference){.sites a,.roles a,.contact a,.sites .name{transition:color .14s}}
