@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600;6..72,700&display=swap";:root{--font-sans: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--font-serif: "Newsreader", "Iowan Old Style", "Georgia", serif;--bg: #f7f4ee;--bg-elevated: rgba(255, 255, 255, .8);--panel: rgba(255, 255, 255, .72);--text: #171613;--muted: #625c53;--border: rgba(23, 22, 19, .12);--accent: #9a6b3d;--accent-soft: rgba(154, 107, 61, .12);--shadow: 0 22px 48px rgba(39, 27, 16, .08);--max-width: 1120px}:root[data-theme=dark]{--bg: #101319;--bg-elevated: rgba(24, 28, 35, .9);--panel: rgba(19, 23, 30, .88);--text: #eef2f7;--muted: #9ca6b4;--border: rgba(238, 242, 247, .12);--accent: #d4a06a;--accent-soft: rgba(212, 160, 106, .16);--shadow: 0 24px 56px rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:radial-gradient(circle at top left,rgba(154,107,61,.1),transparent 32%),radial-gradient(circle at top right,rgba(79,111,140,.1),transparent 26%),var(--bg);color:var(--text);font-family:var(--font-sans)}body{margin:0;min-height:100vh;color:var(--text)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.page-shell{flex:1}.shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 84%,transparent);border-bottom:1px solid var(--border)}.nav-shell,.footer-shell{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 0}.site-nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.site-nav__link,.theme-toggle,.footer-links a,.inline-links a{color:var(--muted);transition:color .14s ease,background-color .14s ease,border-color .14s ease}.site-nav__link:hover,.site-nav__link.is-active,.footer-links a:hover,.inline-links a:hover,.theme-toggle:hover{color:var(--text)}.brandmark{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brandmark__dot{width:.45rem;height:.45rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 .35rem var(--accent-soft)}.theme-toggle{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:.55rem .85rem}.section-grid{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:5rem 0 0}.section-spaced{padding-top:4rem}.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.85fr);gap:2rem;align-items:stretch;padding-top:5.5rem}.hero-copy h1,.section-heading h1,.section-heading h2,.research-card h2,.research-card h3,.project-card h2,.project-card h3,.card h2,.article-header h1,.article-content h2,.article-content h3{font-family:var(--font-serif);letter-spacing:-.025em}.hero-copy h1,.section-heading h1,.article-header h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.96;margin:0}.section-heading h2{font-size:clamp(2rem,4vw,3.25rem);margin:0;max-width:14ch}.eyebrow,.card-meta,.panel-label{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--muted)}.lede{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.6;max-width:42rem;color:color-mix(in srgb,var(--text) 82%,var(--muted))}.hero-text,.card p,.project-card p,.research-card p,.article-content p,.article-content li{line-height:1.8;color:color-mix(in srgb,var(--text) 84%,var(--muted))}.hero-actions,.inline-links,.footer-links,.tag-row,.article-meta{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.25rem;border:1px solid transparent;font-weight:700}.button--primary{background:var(--text);color:var(--bg);box-shadow:var(--shadow)}.button--secondary{border-color:var(--border);background:var(--panel)}.card,.article-shell{background:var(--panel);border:1px solid var(--border);border-radius:1.5rem;box-shadow:var(--shadow)}.card{padding:1.5rem}.hero-panel{display:flex;flex-direction:column;justify-content:center}.signal-list{padding-left:1.25rem;margin:.75rem 0 0;color:color-mix(in srgb,var(--text) 84%,var(--muted));line-height:1.8}.section-heading{margin-bottom:1.75rem}.stack{display:grid;gap:1rem}.research-card,.project-card{display:block;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.research-card:hover,.project-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 26%,var(--border))}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .7rem;background:var(--accent-soft);color:var(--accent);font-size:.82rem}.about-grid{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);gap:1rem;align-items:start}.photo-placeholder{aspect-ratio:4 / 5;min-height:24rem;display:grid;place-items:center;background:linear-gradient(140deg,rgba(154,107,61,.18),transparent 55%),linear-gradient(180deg,rgba(79,111,140,.12),transparent 60%),var(--panel)}.photo-placeholder__inner{text-align:center}.photo-placeholder__inner span{font-family:var(--font-serif);font-size:4.5rem}.article-shell{width:min(calc(100% - 2rem),860px);margin:5rem auto 0;padding:2rem}.article-header{padding-bottom:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.article-content{font-size:1.05rem}.article-content h2{font-size:2rem;margin-top:2.5rem;margin-bottom:.8rem}.article-content h3{font-size:1.45rem;margin-top:2rem;margin-bottom:.7rem}.article-content ul{padding-left:1.3rem}.article-content blockquote{margin:2rem 0;padding-left:1rem;border-left:3px solid var(--accent);color:var(--muted)}.site-footer{border-top:1px solid var(--border);margin-top:5rem}.footer-title{margin:0 0 .35rem;font-weight:700}.footer-copy{margin:0;max-width:32rem;color:var(--muted);line-height:1.7}@media(max-width:900px){.hero,.about-grid,.project-grid{grid-template-columns:1fr}.nav-shell,.footer-shell{align-items:flex-start;flex-direction:column}.site-nav{width:100%}.hero-copy h1,.section-heading h1,.article-header h1{font-size:clamp(2.6rem,13vw,4.2rem)}.article-shell{padding:1.4rem}}@media(max-width:560px){.section-grid,.article-shell{padding-top:4rem}.button{width:100%}.hero-actions{flex-direction:column;align-items:stretch}}
