@font-face{font-family:"Libre Baskerville";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/libre-baskerville-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Baskerville";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/libre-baskerville-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Libre Baskerville";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/libre-baskerville-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{--ink:#0E1626;--paper:#F4EFE3;--red:#B3261E;--slate:#4A5468;--rule:#CFC8B4;
--serif:"Libre Baskerville",Georgia,serif;--sans:"IBM Plex Sans",Arial,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;min-height:100vh;position:relative}
body::before{content:"";position:fixed;top:0;bottom:0;left:clamp(14px,4vw,56px);width:1px;background:var(--red);pointer-events:none}
main{max-width:680px;margin:0 auto;padding:72px 24px 40px clamp(36px,9vw,24px)}
@media(min-width:900px){main{padding-left:24px}}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:400}
header{padding-bottom:28px;border-bottom:2px solid var(--ink)}
.wm{font-family:var(--serif);font-weight:700;font-size:clamp(44px,9vw,64px);line-height:1.05;letter-spacing:-.01em;margin-top:14px}
.wm span{color:var(--red)}
.desc{margin-top:14px;color:var(--slate);font-size:17px;max-width:34em}
.dog{margin-top:6px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--slate)}
.portrait{margin:36px 0 0;width:min(100%,260px)}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border:1px solid var(--rule)}
.tag{margin:44px 0 0;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:clamp(24px,4.6vw,32px);line-height:1.3}
.bio p{margin-top:22px}
.bio p:first-child{margin-top:32px}
.n{font-family:var(--mono);font-weight:500;font-size:.92em;white-space:nowrap}
h2{margin-top:52px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.focus{margin-top:14px}
.boards{list-style:none}
.boards li{padding:14px 0;border-bottom:1px solid var(--rule)}
.boards b{font-weight:600}
.boards .role{display:block;color:var(--slate);font-size:15px}
.boards .note{display:block;color:var(--slate);font-size:15px;margin-top:4px}
.close{margin-top:32px}
footer{margin-top:56px;padding-top:18px;border-top:2px solid var(--ink)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 26px}
footer a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
footer a:hover,footer a:focus-visible{border-bottom-width:2px}
.copy{margin-top:20px}
a{color:inherit}
a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media print{body::before{display:none}}
