:root{color-scheme:light;--bg:#f6f6f2;--ink:#0b0b0b;--muted:#6b6b66;--line:#0b0b0b29;--accent:#c5350f;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;scroll-behavior:smooth;line-height:1.5}body{margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{z-index:10;background:var(--ink);color:var(--bg);font-family:var(--mono);padding:.6rem 1rem;font-size:.8rem;position:fixed;top:-100%;left:1rem}.skip:focus{top:1rem}.frame{grid-template-columns:13rem minmax(0,1fr);max-width:92rem;margin:0 auto;display:grid}.rail{border-right:1px solid var(--line);flex-direction:column;gap:3rem;height:100vh;padding:1.75rem 1.5rem;display:flex;position:sticky;top:0}.monogram{background:var(--ink);width:2.5rem;height:2.5rem;color:var(--bg);letter-spacing:.02em;place-items:center;font-size:.85rem;font-weight:700;display:grid}.rail nav{flex-direction:column;gap:.55rem;display:flex}.rail nav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:.6rem;font-size:.7rem;display:flex}.rail nav a span{color:var(--muted);font-size:.62rem}.rail nav a:hover{color:var(--accent)}.rail-foot{font-family:var(--mono);color:var(--muted);margin-top:auto;font-size:.62rem;line-height:1.7}.rail-foot p{margin:0}main{min-width:0;padding:2.5rem clamp(1.25rem,4vw,3.5rem) 0}.hero{border-bottom:2px solid var(--ink);padding:2rem 0 3rem}.hero-top{justify-content:space-between;gap:1rem;margin-bottom:2rem;display:flex}.label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.64rem}.hero h1{letter-spacing:-.05em;text-transform:uppercase;margin:0;font-size:clamp(3.6rem,11vw,9rem);font-weight:700;line-height:.82}.hero-meta{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;margin-top:2.5rem;padding-top:1.5rem;display:grid}.statement{max-width:34rem;margin:0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.35}.hero-meta dl{font-family:var(--mono);margin:0;font-size:.68rem}.hero-meta dl div{border-top:1px dotted var(--line);grid-template-columns:4.5rem 1fr;gap:.75rem;padding:.4rem 0;display:grid}.hero-meta dl div:first-child{border-top:0;padding-top:0}.hero-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.hero-meta dd{margin:0}.section{border-bottom:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr);gap:2rem;padding:3rem 0;display:grid}.section-head h2{text-transform:uppercase;letter-spacing:.08em;margin:.5rem 0 0;font-size:1rem;font-weight:700}.section-body{max-width:52rem}.about p{max-width:42rem;margin:0 0 1rem}.about p:first-child{max-width:38rem;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.35}.job{border-top:1px solid var(--line);padding:1.5rem 0 1.75rem}.job:first-child{border-top:0;padding-top:0}.job-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.job h3{letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(2rem,4vw,2.8rem);line-height:.9}.period{font-family:var(--mono);color:var(--muted);white-space:nowrap;margin:0;font-size:.65rem}.role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:.5rem 0 1rem;font-size:.68rem}.job ul{margin:0;padding:0;list-style:none}.job li{max-width:44rem;margin-bottom:.65rem;padding-left:1.1rem;font-size:.95rem;position:relative}.job li:before{content:"";background:var(--accent);width:.35rem;height:.35rem;position:absolute;top:.55em;left:0}.job strong{font-weight:700}.credentials{border-top:1px solid var(--line);margin:1.5rem 0 0;padding:0;list-style:none}.credentials li{font-family:var(--mono);color:var(--muted);border-bottom:1px dotted var(--line);padding:.45rem 0;font-size:.66rem}.entries{border-top:1px solid var(--ink)}.entry{border-bottom:1px solid var(--line);grid-template-columns:3.5rem minmax(0,1fr) auto 1.25rem;align-items:baseline;gap:1rem;padding:1rem 0;transition:background-color .15s,color .15s,padding .15s;display:grid}.entry:hover{background:var(--ink);color:var(--bg);padding-inline:.75rem}.entry-num{font-family:var(--mono);color:var(--muted);font-size:.62rem}.entry:hover .entry-num,.entry:hover .entry-meta{color:#f6f6f2a6}.entry-title{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:600;line-height:1.25}.tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;vertical-align:.15em;border:1px solid;margin-left:.5rem;padding:.05rem .3rem;font-size:.55rem;font-weight:400;display:inline-block}.entry-meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.62rem}.entry-arrow{font-family:var(--mono);color:var(--muted)}.entry:hover .entry-arrow{color:var(--bg)}.contact .email{letter-spacing:-.02em;border-bottom:2px solid var(--ink);margin:.25rem 0 1.25rem;padding-bottom:.1rem;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700;display:inline-block}.contact .email:hover{color:var(--accent);border-color:var(--accent)}.contact-line{margin:0}.elsewhere{font-family:var(--mono);flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.68rem;display:flex}.elsewhere a{text-underline-offset:3px;text-decoration:underline}.elsewhere a:hover{color:var(--accent)}.foot{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:1.25rem 0 2rem;font-size:.62rem;display:flex}.foot p{margin:0}.foot a:hover{color:var(--accent)}@media (width<=52rem){.frame{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem;height:auto;padding:1rem 1.25rem;position:static}.rail nav{flex-flow:wrap;gap:.35rem 1rem}.rail-foot{display:none}.hero-meta{grid-template-columns:1fr}.section{grid-template-columns:1fr;gap:.75rem}.section-head{align-items:baseline;gap:.75rem;display:flex}.section-head h2{margin:0}.entry{grid-template-columns:2.75rem minmax(0,1fr) 1rem}.entry-meta{white-space:normal;grid-column:2/3}.entry-arrow{grid-area:1/3/auto/4}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry{transition:none}}
