:root{--color-primary:#17634d;--color-primary-dark:#124936;--color-primary-light:#e7f0ec;--color-accent:#a87945;--color-accent-light:#f1e9de;--color-text:#1d2522;--color-text-muted:#68736e;--color-text-light:#8a938f;--color-background:#f6f6f2;--color-surface:#fff;--color-surface-alt:#eff1ed;--color-border:#d9ded9;--color-border-dark:#b9c2bc;--color-bg:var(--color-background);--color-bg-muted:var(--color-surface-alt);--color-bg-hover:var(--color-primary-light);--color-metallic:var(--color-text-muted);--color-link:var(--color-primary);--color-white:#fff;--color-success-bg:#e7f0ec;--color-success-text:#17634d;--color-error-bg:#fee2e2;--color-error-text:#991b1b;--font-family:var(--font-hanken-grotesk);--font-size-base:1.125rem;--font-size-small:.875rem;--font-size-xs:.75rem;--font-size-h1:clamp(2.5rem, 6vw, 4rem);--font-size-h2:clamp(1.75rem, 3vw, 2.25rem);--font-size-h3:1.375rem;--line-height-body:1.65;--line-height-heading:1.1;--line-height-tight:1.2;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--content-reading:800px;--content-standard:960px;--content-wide:1200px;--page-padding:1.5rem;--page-padding-wide:2rem;--shadow-sm:0 1px 3px #00000008;--shadow-md:0 4px 12px #0000000d;--shadow-card:0 4px 16px #0000000a;--radius-none:0;--radius-sm:6px;--radius-xs:4px;--radius-md:8px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-15:60px;--space-20:80px;--transition-standard:.2s ease}html{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-background)}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-body);font-weight:var(--font-weight-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-family);color:var(--color-primary-dark);line-height:var(--line-height-heading);margin:0;padding:0}h1{font-weight:var(--font-weight-bold);font-size:var(--font-size-h1);letter-spacing:-.02em;color:var(--color-primary-dark)}.hero-title{font-size:clamp(3rem,7vw,5rem)}@media (width<=600px){.hero-title{font-size:3rem}}h2{font-weight:var(--font-weight-bold);font-size:var(--font-size-h2)}h3{font-weight:var(--font-weight-semibold);font-size:var(--font-size-h3)}p{font-size:var(--font-size-base);line-height:var(--line-height-body);color:var(--color-text);margin:0 0 1.5rem}li{font-size:var(--font-size-base);line-height:var(--line-height-body);margin-bottom:.5rem}a{color:var(--color-primary)}.link-underline,.prose a{color:var(--color-primary);transition:color var(--transition-standard);text-decoration:none;position:relative}.link-underline:hover,.prose a:hover{color:var(--color-primary-dark)}.link-underline:before,.prose a:before{content:"";background-color:var(--color-primary);transform-origin:0 0;width:100%;height:1.5px;transition:transform .3s;display:block;position:absolute;bottom:0;left:0;transform:scaleX(0)}.link-underline:hover:before,.prose a:hover:before{transform:scaleX(1)}.content-container{max-width:var(--content-wide);padding:0 var(--page-padding-wide);margin:0 auto}.text-container{max-width:var(--content-reading);margin:0 auto}.masthead{gap:var(--space-3);padding:var(--space-12) 0 var(--space-8) 0;flex-direction:column;display:flex}@media (width<=600px){.masthead{padding:var(--space-8) 0 var(--space-5) 0}}.masthead h1,.masthead h2{line-height:var(--line-height-heading);margin:0}.masthead h1{font-size:var(--font-size-h1);color:var(--color-primary-dark)}.masthead h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-primary-dark)}.masthead .eyebrow{margin-bottom:0}.masthead .intro,.masthead .subtitle{max-width:var(--content-reading);font-size:var(--font-size-base);line-height:var(--line-height-body);color:var(--color-text-muted);margin:0}.year-section{margin-bottom:var(--space-12)}.year-heading{padding-bottom:var(--space-2);margin-bottom:var(--space-6);font-family:var(--font-family);font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary-dark);border-bottom:2px solid var(--color-border);width:100%;display:inline-block}.bg-container{padding:var(--space-8) 0;background-color:var(--color-surface-alt);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative}.card--padded{padding:var(--card-padding,var(--space-6))}.card--interactive,.clickable-card{color:inherit;transition:transform var(--transition-standard), border-color var(--transition-standard), box-shadow var(--transition-standard), background-color var(--transition-standard);text-decoration:none;position:relative}.card--interactive:hover,.clickable-card:hover{background-color:var(--color-surface);border-color:var(--color-border-dark);box-shadow:var(--shadow-md)}.card--interactive:focus-visible,.clickable-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card--interactive .stretched-link:after,.clickable-card .stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.card--text,.text-card{gap:var(--space-2);padding:var(--space-6);flex-direction:column;display:flex}:is(.card--text,.text-card) h2{color:var(--color-primary-dark);margin:0;font-size:1.375rem}:is(.card--text,.text-card) h2 a{color:inherit;text-decoration:none}:is(.card--text,.text-card) .location{margin:var(--space-1) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}:is(.card--text,.text-card) p,:is(.card--text,.text-card) .description{margin:var(--space-2) 0 0;font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--color-text-muted)}.eyebrow{margin-bottom:var(--space-2);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;display:block}nav{padding:var(--space-3) var(--page-padding-wide);font-family:var(--font-family);font-weight:var(--font-weight-medium);background-color:var(--color-background);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:relative}nav a{color:var(--color-text);transition:color var(--transition-standard);text-decoration:none}nav .menu-toggle{padding:var(--space-2);color:var(--color-text);cursor:pointer;background:0 0;border:none;display:none}@media (width<=600px){nav .menu-toggle{display:block}}nav a.site-logo-container{align-items:center;gap:var(--space-2);display:flex}nav a.site-logo-container:hover{color:var(--color-primary-dark)}nav a.site-logo-container:before{display:none}nav a.site-logo-container span{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary-dark);display:inline-block}nav a.site-logo-container svg{width:48px;height:48px;display:inline}nav a.site-logo-container svg .st0{stroke:var(--color-primary-dark)}nav ul{align-items:center;gap:var(--space-6);flex-direction:row;margin:0;padding:0;display:flex}@media (width<=600px){nav ul{z-index:10;padding:var(--space-4) 0;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;gap:0;display:none;position:absolute;top:100%;left:0;right:0}}nav ul.active{display:flex}nav ul li{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);text-align:center;margin:0;padding:0;list-style-type:none}@media (width<=600px){nav ul li{padding:var(--space-3)}}nav ul li a{padding:var(--space-2) 0;color:var(--color-text);position:relative}nav ul li a:hover{color:var(--color-primary)}nav ul li a.active,nav ul li a[aria-current=page]{color:var(--color-primary-dark);font-weight:var(--font-weight-semibold)}:is(nav ul li a.active,nav ul li a[aria-current=page]):after{content:"";background-color:var(--color-primary);border-radius:1px;height:2px;position:absolute;bottom:-6px;left:0;right:0}
