:root{--onyx-color-bg: #faf8f3;--onyx-color-surface: #f1eee5;--onyx-color-fg: #1b2a28;--onyx-color-muted: #5a6b67;--onyx-color-border: #dfdacb;--onyx-color-accent: #14554e;--onyx-color-accent-fg: #faf8f3;--onyx-color-error: #a23c2e;--onyx-radius-base: 4px;--onyx-radius-tight: 3px;--onyx-font-display: "Source Serif 4", Georgia, "Times New Roman", serif;--onyx-font-sans: "Public Sans", -apple-system, "Helvetica Neue", sans-serif;--stach-dark-bg: #1b2a28;--stach-dark-surface: #243c38;--stach-dark-border: #35514b;--stach-dark-fg: #f2efe6;--stach-dark-muted: #a9bcb6;--stach-dark-accent: #82c4b7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--onyx-color-bg);color:var(--onyx-color-fg);font-family:var(--onyx-font-sans);font-size:1.02rem;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--onyx-font-display);line-height:1.15;text-wrap:balance;margin:0}p{margin:0 0 1rem;max-width:70ch}a{color:var(--onyx-color-accent)}:focus-visible{outline:2px solid var(--onyx-color-accent);outline-offset:2px;border-radius:var(--onyx-radius-tight)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--onyx-color-accent);color:var(--onyx-color-accent-fg);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:.5rem;top:.5rem}.container{max-width:66rem;margin:0 auto;padding:0 1.5rem}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--onyx-color-accent);margin:0 0 .9rem}section{padding:5.5rem 0}section+section{border-top:1px solid var(--onyx-color-border)}.section-title{font-size:clamp(1.7rem,3.5vw,2.2rem);font-weight:600;margin-bottom:1rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--stach-dark-bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .25s ease}.site-header.is-condensed{border-bottom-color:var(--stach-dark-border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem;transition:padding .25s ease}.site-header.is-condensed .container{padding-top:.65rem;padding-bottom:.65rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--stach-dark-fg)}.brand img{width:34px;height:34px}.brand .brand-name{font-family:var(--onyx-font-display);font-size:1.15rem;font-weight:600;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav a{color:var(--stach-dark-fg);text-decoration:none;font-size:.92rem;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}.site-nav a:hover{border-bottom-color:var(--stach-dark-accent)}.nav-toggle{display:none;background:none;border:1px solid var(--stach-dark-border);border-radius:var(--onyx-radius-base);color:var(--stach-dark-fg);font:inherit;font-size:.88rem;font-weight:600;padding:.45rem .85rem;cursor:pointer}@media (max-width: 760px){.nav-toggle{display:block}.site-nav{display:none}.site-nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--stach-dark-bg);border-bottom:1px solid var(--stach-dark-border);padding:.5rem 1.5rem 1rem}.site-nav.is-open a{padding:.75rem 0;border-bottom:1px solid var(--stach-dark-border);font-size:1rem}.site-nav.is-open a:last-child{border-bottom:none}}.hero{padding:6rem 0 5.5rem}.hero-grid{display:grid;grid-template-columns:1fr minmax(220px,320px);gap:3.5rem;align-items:center}@media (max-width: 760px){.hero-grid{grid-template-columns:1fr}}.hero h1{font-size:clamp(2.4rem,6vw,3.8rem);font-weight:700;max-width:18ch;margin-bottom:1.25rem}.hero .standfirst{font-family:var(--onyx-font-display);font-size:clamp(1.1rem,2.2vw,1.3rem);color:var(--onyx-color-muted);max-width:46ch;margin-bottom:2.25rem}.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap}.button{display:inline-block;font-family:var(--onyx-font-sans);font-size:.95rem;font-weight:600;text-decoration:none;padding:.8rem 1.5rem;border-radius:var(--onyx-radius-base);border:1px solid var(--onyx-color-accent);transition:background-color .15s ease,color .15s ease}.button.primary{background:var(--onyx-color-accent);color:var(--onyx-color-accent-fg)}.button.primary:hover{background:color-mix(in srgb,var(--onyx-color-accent) 88%,var(--onyx-color-fg))}.button.secondary{background:transparent;color:var(--onyx-color-accent)}.button.secondary:hover{background:var(--onyx-color-surface)}.about-grid{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:3rem;align-items:start}@media (max-width: 760px){.about-grid{grid-template-columns:1fr}}.portrait{background:var(--onyx-color-surface);border:1px solid var(--onyx-color-border);border-radius:var(--onyx-radius-base);padding:.6rem}.portrait img{display:block;width:100%;height:auto;border-radius:var(--onyx-radius-tight)}.portrait figcaption{font-size:.78rem;color:var(--onyx-color-muted);text-align:center;padding:.55rem 0 .15rem}.section-dark{background:var(--stach-dark-bg);color:var(--stach-dark-fg)}section+section.section-dark,.section-dark+section{border-top:none}.section-dark .section-title{color:var(--stach-dark-fg)}.interests{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;margin-top:2rem;align-items:start}@media (max-width: 760px){.interests{grid-template-columns:1fr}}.interest-lead{background:var(--stach-dark-surface);border:1px solid var(--stach-dark-border);border-left:3px solid var(--stach-dark-accent);border-radius:var(--onyx-radius-base);padding:1.6rem 1.8rem}.interest-lead h3{font-size:1.15rem;font-weight:600;margin-bottom:1rem}.interest-sublist{list-style:none;margin:0;padding:0;columns:2;column-gap:1.5rem}@media (max-width: 480px){.interest-sublist{columns:1}}.interest-sublist li{break-inside:avoid;font-size:.95rem;color:var(--stach-dark-muted);padding:.35rem 0;border-bottom:1px solid var(--stach-dark-border)}.interest-list{list-style:none;margin:0;padding:0}.interest-list li{font-family:var(--onyx-font-display);font-size:1.15rem;padding:.9rem 0;border-bottom:1px solid var(--stach-dark-border)}.interest-list li:first-child{padding-top:.2rem}.document-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;list-style:none;margin:0;padding:0}.document-card{display:flex;flex-direction:column;gap:.4rem;background:var(--onyx-color-surface);border:1px solid var(--onyx-color-border);border-radius:var(--onyx-radius-base);padding:1.4rem 1.5rem}.document-card h3{font-size:1.08rem;font-weight:600}.document-card .doc-actions{display:flex;align-items:baseline;gap:1rem;margin-top:.6rem}.document-card .doc-link{font-size:.92rem;font-weight:600}.document-card .doc-meta{font-size:.78rem;color:var(--onyx-color-muted)}.contact-grid{display:grid;grid-template-columns:minmax(16rem,24rem) 1fr;gap:3rem;align-items:start}@media (max-width: 760px){.contact-grid{grid-template-columns:1fr}}.contact-list{margin:0}.contact-list dt{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--onyx-color-muted);margin-top:1.2rem}.contact-list dt:first-child{margin-top:0}.contact-list dd{margin:.15rem 0 0;font-size:1.05rem}.contact-list a{text-decoration:none;font-weight:600}.contact-list a:hover{text-decoration:underline}.map-frame{border:1px solid var(--onyx-color-border);border-radius:var(--onyx-radius-base);overflow:hidden;background:var(--onyx-color-surface)}.map-frame iframe{display:block;width:100%;height:380px;border:0}.site-footer{background:var(--stach-dark-bg);color:var(--stach-dark-fg);padding:2rem 0 2.5rem}.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--stach-dark-muted)}.footer-brand img{width:22px;height:22px}.footer-credit{font-size:.8rem;color:var(--stach-dark-muted)}.footer-credit a{color:inherit}@media (prefers-reduced-motion: no-preference){.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.hero .eyebrow,.hero h1,.hero .standfirst,.hero-actions{animation:hero-in .7s ease both}.hero h1{animation-delay:.08s}.hero .standfirst{animation-delay:.16s}.hero-actions{animation-delay:.24s}@keyframes hero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
