*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--font-body:'AT Glacier', sans-serif;--font-mono:'AT Hauss Mono', monospace;--unit:1.125rem;--margin:calc(var(--unit) * 2);--sidebar-width:14rem;--text-max:42rem;--layout-max:1400px;--bg:#fdfcf8;--text:#0e1a17;--muted:#6c7a76;--border:#e8ede9;--accent:#007a4d;--ghost:#f2f5f0;--size-base:1.125rem;--size-small:0.875rem}html{scrollbar-gutter:stable}body{font-family:var(--font-body);color:var(--text);background-color:var(--bg);font-size:var(--size-base);line-height:1.6;overscroll-behavior:none}h1,h2,h3{font-weight:400;margin-bottom:var(--unit);font-size:var(--size-base)}p{max-width:var(--text-max);margin-bottom:var(--unit)}a{color:inherit;text-decoration:none;transition:color .2s ease,border-color .2s ease}main a,.bottom-links a,.nav-list a{text-decoration:none}img{max-width:100%;height:auto;display:block}.site-title{font-size:var(--size-base);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.site-title:hover{text-decoration:none}ul.nav-list{list-style:none;margin-bottom:var(--unit)}ul.nav-list a{color:var(--muted);display:block;padding:2px 0;transition:color .2s ease,transform .2s ease;position:relative}ul.nav-list a:hover{color:var(--text);text-decoration:none}ul.nav-list a.active{color:var(--accent)}ul.nav-list a.active::before{content:'→';position:absolute;left:calc(-1 * var(--unit));font-family:var(--font-mono);font-size:var(--size-small)}p.nav-label{font-family:var(--font-mono);color:var(--muted);font-size:var(--size-small);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--margin);margin-bottom:calc(var(--unit)/2)}main a{color:var(--accent);border-bottom:1px solid rgba(0,122,77,.2);transition:border-color .2s ease}main a:hover{border-bottom-color:var(--accent);text-decoration:none}a[role=button]{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--size-small);text-transform:uppercase;letter-spacing:.05em;color:var(--text);padding:.5rem .8rem;border:1px solid var(--border);gap:10px}a[role=button]:hover{background-color:var(--ghost);border-color:var(--accent);color:var(--accent);text-decoration:none}a[role=button][target=_blank]::after{content:'↗'}a[role=button][href$='.pdf']::after{content:'↓'}.year-section{display:grid;grid-template-columns:var(--margin)1fr;gap:var(--margin);margin-bottom:var(--margin);border-top:1px solid var(--border);padding-top:var(--unit)}.year-label{font-family:var(--font-mono);font-size:var(--size-small);color:var(--muted);padding-top:.3rem;text-transform:uppercase;letter-spacing:.05em}.work-list{display:flex;flex-direction:column;gap:var(--margin)}.work-item h2{margin-bottom:calc(var(--unit)/2);font-size:var(--size-base)}.work-summary{font-size:var(--size-small);color:var(--muted);max-width:var(--text-max);line-height:1.5}@media(max-width:50em){.year-section{grid-template-columns:1fr;gap:var(--unit)}.year-label{padding-top:0;border-bottom:1px solid var(--ghost);padding-bottom:calc(var(--unit)/4)}}.bottom-links a{color:var(--muted);font-family:var(--font-mono);font-size:var(--size-small)}.bottom-links a[target=_blank]::after{content:' ↗';font-family:var(--font-mono);font-size:.85em;vertical-align:super;display:inline-block;color:var(--muted);transition:transform .2s ease}.bottom-links a[target=_blank]:hover::after{transform:translate(2px,-2px);color:var(--accent)}hgroup{margin-bottom:var(--unit)}.container{margin:var(--margin)}.mobile-header{display:flex;justify-content:space-between;align-items:baseline}#menu-toggle{background:0 0;border:none;font-family:var(--font-mono);font-size:1rem;text-decoration:underline;cursor:pointer}#menu-content{display:none;margin-top:var(--unit)}#menu-content.active{display:flex;flex-direction:column;gap:var(--margin)}div.page-grid{display:block}@media(min-width:50em){div.page-grid{display:grid;grid-template-columns:var(--sidebar-width)minmax(0,1fr);gap:var(--margin);padding:var(--margin);max-width:var(--layout-max)}aside.container,main.container{margin:0}aside.container{position:sticky;top:var(--margin);height:calc(100vh - (var(--margin) * 2));display:flex;flex-direction:column;align-self:start}#menu-toggle{display:none}#menu-content{display:flex;flex-direction:column;flex:1}.bottom-links{margin-top:auto}img.headshot-img{max-width:calc(var(--text-max)/2)}}