:root{--black:#0E0E0E;--ivory:#F2E8CF;--gold:#C9A24B;--emerald:#0F4C3A;--ink:#0E0E0E;--muted:#4a4332;--focus:#0F4C3A;--display:"Poiret One","Barlow Condensed",sans-serif;--cond:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Barlow",system-ui,sans-serif}
body{background:var(--black);color:var(--ivory);font:400 1.0625rem/1.6 var(--body)}
a{color:inherit}
.hero{position:relative;text-align:center;padding:64px 16px 48px;overflow:hidden;border-bottom:4px double var(--gold)}
.burst{position:absolute;left:50%;bottom:-420px;width:900px;height:900px;margin-left:-450px;background:repeating-conic-gradient(from -90deg at 50% 50%,rgba(201,162,75,.28) 0 4deg,transparent 4deg 10deg);-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);mask:radial-gradient(circle,#000 20%,transparent 70%)}
.hero-in{position:relative;max-width:820px;margin:0 auto}
h1{font:400 clamp(2.4rem,8vw,5.4rem)/1 var(--display);color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}
.role{font:700 clamp(1.1rem,2.4vw,1.5rem)/1.2 var(--cond);letter-spacing:.3em;text-transform:uppercase;margin:0 0 14px}
.orn{display:block;margin:20px auto;color:var(--gold);max-width:100%}
.lede{font-size:1.2rem;max-width:56ch;margin:0 auto 20px}
.hero nav,.links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 26px}
.hero nav a,.links a{font:700 1rem/1 var(--cond);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold);padding:12px 0;border-bottom:2px solid transparent}
.hero nav a:hover,.links a:hover{border-color:var(--gold)}
:focus-visible{outline-color:var(--gold)}
main{max-width:860px;margin:0 auto;padding:24px 16px 24px;counter-reset:rn}
.panel{background:var(--ivory);color:var(--ink);border:3px solid var(--gold);outline:2px solid var(--black);outline-offset:-9px;box-shadow:0 0 0 6px var(--black),0 0 0 8px var(--gold);margin:8px 8px 0;padding:14px}
.panel :focus-visible{outline-color:var(--emerald)}
.panel-in{padding:22px clamp(10px,3vw,28px) 26px;text-align:left}
.panel a{color:var(--emerald)}
h2{counter-increment:rn;font:400 clamp(2rem,6vw,3.2rem)/1.05 var(--display);color:var(--emerald);text-transform:uppercase;letter-spacing:.08em;text-align:center;margin:0 0 6px}
h2::before{content:counter(rn,upper-roman);display:block;font:700 1rem/1 var(--cond);letter-spacing:.4em;color:var(--emerald);margin-bottom:8px}
.lead{font:700 1.15rem/1.3 var(--cond);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--muted);margin:0 0 1.4em}
h3{font:700 1.5rem/1.15 var(--cond);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}
h3 a{color:var(--emerald)}
.kind,.when,.what{font:600 .85rem/1.4 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.item,.job{margin:0 0 1.4em;padding-bottom:1.2em;border-bottom:1px solid var(--gold)}
.item:last-of-type,.job:last-of-type{border-bottom:0}
.prs,.courses,.contact{list-style:none;padding:0;margin:.6em 0}
.pr{padding:4px 0}.pr .state{font:700 .78rem/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;margin-left:.6em;color:var(--emerald)}
.pr[data-state="OPEN"] .state{color:#7a3e00}
.pr time,.pr .asof{color:var(--muted);font-size:.9rem}
.courses li{padding:3px 0 3px 1.4em;position:relative}.courses li::before{content:"◆";position:absolute;left:0;color:var(--emerald);font-size:.7rem;top:.6em}
.posts{list-style:none;padding:0;margin:0}.post{display:grid;grid-template-columns:7rem 1fr;gap:0 14px;padding:7px 0}
.post time{font:600 .85rem/1.7 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.note{margin:2px 0 0;color:var(--muted)}
.job ul{margin:.4em 0;padding-left:1.2em}
.contact li{padding:4px 0}.contact .k{display:inline-block;min-width:5.5rem;font:700 .85rem/1.2 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.more{color:var(--muted)}
.site-footer{max-width:860px;margin:36px auto 0;padding:24px 16px 48px;text-align:center;border-top:4px double var(--gold)}
.site-footer p{margin:0 0 4px;color:var(--ivory)}
.controls,.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;margin-top:8px}.controls a,.legal a{padding:10px 0;color:var(--gold);font:700 .9rem/1 var(--cond);letter-spacing:.2em;text-transform:uppercase}
@media (max-width:560px){.post{grid-template-columns:1fr}.panel{margin:8px 0 0}}
