@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/inter-latin-variable.woff2") format("woff2")}
:root{
 --green:#205020;--green-dark:#163c28;--green-soft:#eef3ec;--red:#d91020;--red-dark:#a80f18;
 --white:#fff;--off-white:#fafbf8;--ink:#222b24;--muted:#586359;--line:#dce3da;
 --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-section:5.5rem;
 --radius:6px;--radius-sm:4px;--border:1px solid var(--line);--shadow:0 12px 36px #17342112;
 --transition:200ms ease;--container:1240px;
}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font:16px/1.7 var(--font);color:var(--ink);background:var(--white)}
body.menu-open,body.lightbox-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
p a:not(.button):not(.text-link),a[href^="mailto:"]:not(.button){text-decoration:underline;text-underline-offset:3px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
:focus-visible{outline:3px solid #287e3e;outline-offset:4px}
[hidden]{display:none!important}
h1,h2,h3,h4,p{margin:0 0 1rem}
h1,h2,h3,h4{line-height:1.16;font-weight:600;overflow-wrap:break-word}
h1{font-size:3.4rem}h2{font-size:2.6rem}h3{font-size:1.35rem}h4{font-size:1.1rem}
.container{width:min(calc(100% - 80px),var(--container));margin-inline:auto}
.section{padding-block:var(--space-section)}
.compact-section{padding-block:3.5rem}
.soft-section{background:var(--off-white)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.section-head h2{margin-bottom:0}
.section-head>p{color:var(--muted);font-size:.95rem;max-width:360px;margin-bottom:0}
.section-intro{max-width:680px;color:var(--muted);margin-top:-1.25rem;margin-bottom:2.5rem}
.eyebrow{text-transform:uppercase;color:var(--green);font-size:.7rem;font-weight:700;margin-bottom:1rem}
.lead{font-size:1.12rem;color:var(--muted);max-width:690px}
.muted{color:var(--muted)}
.icon{display:inline-block;flex:0 0 auto;width:20px;height:20px;object-fit:contain}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.75rem;padding:.8rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;line-height:1.4;transition:background var(--transition),color var(--transition);text-align:center}
.button:hover{text-decoration:none}
.button-primary{color:var(--white);background:var(--red)}.button-primary:hover{background:var(--red-dark);color:white}
.button-green{background:var(--green);color:white}.button-green:hover{background:var(--green-dark);color:white}
.button-white,.button-outline{color:var(--green-dark);background:var(--white)}
.button-outline{border:var(--border)}.button-white:hover,.button-outline:hover{background:var(--green-soft)}
.button-primary .icon,.button-green .icon{filter:brightness(0) invert(1)}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:.75rem;font-size:.85rem;font-weight:600}
.text-link .icon{width:17px;height:17px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:var(--border);border-radius:50%;background:transparent;flex:0 0 auto}
.icon-button:hover{background:var(--green-soft)}
.icon-button.light{border-color:#ffffff70;color:white}
.icon-button.light .icon{filter:brightness(0) invert(1)}
.icon-button.light:hover{background:#ffffff20}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:5000;transform:translateY(-200%);padding:1rem;background:white;color:var(--ink)}
.skip-link:focus{transform:none}
#site-header{min-height:138px}
.site-header{position:sticky;top:-44px;z-index:1000;background:white}
.topbar{background:var(--green-dark);color:white;font-size:.7rem}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;height:44px}
.topbar-contact,.topbar-social{display:flex;align-items:center;gap:1.25rem}
.topbar-contact>*,.topbar-social>*{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:white}
.topbar .icon{width:13px;height:13px;filter:brightness(0) invert(1)}
.topbar-social{gap:0}
.topbar-social>a,.social-unlinked{min-width:44px;justify-content:center}
.topbar-social .icon{width:16px;height:16px}
.social-unlinked{opacity:.65}.topbar-social .member-shortcut{padding-left:1rem}
.nav-shell{background:white;border-bottom:var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:1.5rem;position:relative}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:70px;height:70px;object-fit:contain}
.primary-nav{display:flex;align-items:center;gap:1.75rem}
.nav-list{display:flex;align-items:center;gap:.45rem;list-style:none;padding:0;margin:0}
.nav-link,.nav-toggle{display:flex;align-items:center;gap:.35rem;min-height:46px;padding:.5rem .5rem;background:none;border:0;font-size:.8rem;font-weight:600;color:var(--ink);white-space:nowrap}
.nav-link:hover,.nav-toggle:hover,.nav-link[aria-current],.nav-toggle[aria-current]{color:var(--green);text-decoration:none}
.nav-link[aria-current]::after{content:"";width:4px;height:4px;background:var(--green);border-radius:50%}
.nav-toggle .icon{width:12px;height:12px}
.nav-item{position:relative}
.dropdown{position:absolute;top:100%;left:0;display:none;min-width:230px;padding:.5rem;list-style:none;margin:0;border:var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow)}
.nav-item.is-open>.dropdown{display:block}
.dropdown a{display:flex;align-items:center;min-height:46px;padding:.6rem .8rem;font-size:.85rem;color:var(--ink);border-radius:var(--radius-sm)}
.dropdown a:hover,.dropdown a[aria-current]{background:var(--green-soft);text-decoration:none}
.mobile-toggle{display:none}
.hero-slider{position:relative;background:var(--green-dark);color:white;height:660px;isolation:isolate;touch-action:pan-y}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 500ms ease,visibility 500ms ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071b12d6,#071b1277 52%,#071b121a);z-index:-1}
.hero-slide{display:flex;align-items:center;isolation:isolate}
.hero-content{padding-block:3rem 6rem}
.hero-content .eyebrow{color:#f2f6f0}
.hero-content h1,.hero-content h2{font-size:3.65rem;line-height:1.08;color:white;max-width:730px;font-weight:600}
.hero-description{max-width:520px;font-size:.96rem;line-height:1.8;color:#f2f4f0}
.hero-bottom{position:absolute;left:0;right:0;bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hero-bottom>p{font-size:.7rem;margin:0}
.slider-controls{display:flex;align-items:center;gap:.5rem}
.slider-dots{display:flex;align-items:center}
.slide-dot{width:44px;height:46px;border:0;background:none;display:grid;place-items:center;padding:0}
.slide-dot span{width:6px;height:6px;border-radius:50%;background:#ffffff75}
.slide-dot[aria-current="true"] span{width:22px;border-radius:10px;background:white}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split>img{width:100%;height:460px;object-fit:cover;border-radius:var(--radius)}
.about-photo{position:relative}
.about-photo>img:first-child{width:100%;height:490px;object-fit:cover;border-radius:var(--radius)}
.about-photo .photo-seal{position:absolute;bottom:1.25rem;right:1.25rem;width:90px;height:90px;padding:.5rem;background:white;border-radius:50%}
.about-home h2{font-size:2.5rem}
.about-home p:not(.eyebrow){color:var(--muted);font-size:.93rem}
.mission-line{padding-left:1rem;border-left:3px solid var(--green);color:var(--green)!important;font-weight:600}
.festival-section{background:var(--green-soft)}
.festival-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}
.festival-picture{position:relative}
.festival-picture>img,.festival-feature>img{width:100%;height:620px;object-fit:cover;border-radius:var(--radius)}
.festival-year{position:absolute;bottom:1.5rem;left:1.5rem;color:white;font-size:4rem;font-weight:700;text-shadow:0 2px 14px #0008}
.festival-copy h2{font-size:3.2rem;margin-top:1rem}
.festival-copy h2 span{display:block;font-size:1.7rem;line-height:1.25;margin-top:.6rem}
.festival-copy>p{color:var(--muted);font-size:.93rem}
.badge{display:inline-flex;padding:.35rem .65rem;border-radius:var(--radius-sm);background:#dbe8d6;color:var(--green-dark);font-size:.7rem;font-weight:600}
.festival-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}
.festival-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.78rem;text-decoration:underline;text-underline-offset:4px}
.event-facts{margin:1.5rem 0;font-size:.82rem}
.event-facts>div{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:.7rem;margin-top:.7rem}
.event-facts dt{display:flex;align-items:center;min-height:24px}
.event-facts dd{margin:0;color:var(--muted)}
.event-facts .icon{width:17px;height:17px;opacity:.75}
.cards{display:grid;gap:1.5rem}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.event-card,.program-card,.story-card,.team-card{border:var(--border);border-radius:var(--radius);overflow:hidden;background:white;min-width:0}
.card-copy{padding:1.5rem}
.card-copy>p:not(.eyebrow){color:var(--muted);font-size:.87rem}
.card-copy h3{font-size:1.25rem}
.event-image{position:relative;display:block;background:var(--green-soft);overflow:hidden}
.event-image>img{width:100%;height:235px;object-fit:cover}
.event-image.event-poster>img{object-fit:contain}
.date-tile{position:absolute;bottom:-18px;right:1.25rem;background:white;width:62px;height:72px;border:var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;justify-content:center;text-align:center;line-height:1.15}
.date-tile span{font-size:.7rem;font-weight:600;color:var(--green);text-transform:uppercase}
.date-tile strong{font-size:1.8rem;margin-top:.25rem;font-weight:600}
.event-card .card-copy{display:flex;flex-direction:column;flex:1}
.event-card{display:flex;flex-direction:column}
.event-card .card-copy>.eyebrow{padding-right:65px;font-size:.65rem;margin-bottom:.8rem}
.event-card .event-facts{margin:.2rem 0 1rem}
.event-card .text-link{margin-top:auto}
.event-card-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--green);font-size:.7rem;font-weight:600;text-transform:uppercase;margin-bottom:1rem}
.event-card h3{font-size:1.15rem;line-height:1.45;margin-bottom:1rem}
.event-card-date,.event-card-place{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem!important;color:var(--muted);margin-bottom:.5rem!important}
.event-card-date .icon,.event-card-place .icon{width:17px;height:17px;flex:none;margin-top:2px}
.event-card .card-copy>p:last-of-type{margin-top:.75rem;font-size:.85rem;line-height:1.75}
.event-card-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:var(--border)}
.event-card-bottom>span{font-size:.68rem;color:var(--muted)}
.event-card-bottom .text-link{font-size:.75rem;margin:0}
.program-row{display:grid;grid-template-columns:155px 1fr;gap:2rem;padding-block:2.2rem;border-top:var(--border)}
.program-label h3{text-transform:capitalize;font-size:1.1rem}
.program-label .text-link{font-size:.75rem}
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.program-card>img{width:100%;height:250px;object-fit:cover}
.program-grid>.program-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.program-card .eyebrow{font-size:.65rem}
img[src$="blood-donation-icon.svg"]{object-fit:contain!important;padding:60px;background:var(--green-soft)}
.impact-section{background:var(--green-dark);color:white}
.impact-section .eyebrow{color:#d6e9cf}
.impact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem}
.impact-grid>.icon,.impact-grid article>.icon{filter:brightness(0) invert(1);width:25px;height:25px;margin-bottom:1.5rem}
.impact-grid h3{font-size:1.05rem;line-height:1.4}
.impact-grid p{font-size:.85rem;color:#d8e4d9}
.story-card>img{width:100%;height:245px;object-fit:cover}
.story-card .eyebrow{font-size:.65rem}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:3.5rem 0 1.5rem}
.gallery-heading h3{margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.gallery-item{display:block;position:relative;width:100%;border:0;padding:0;overflow:hidden;background:var(--green-soft);border-radius:var(--radius);touch-action:pan-y}
.gallery-item>img{width:100%;height:240px;object-fit:cover;transition:transform 400ms ease}
.gallery-item:hover>img{transform:scale(1.035)}
.gallery-item>span{position:absolute;bottom:.75rem;right:.75rem;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:white}
.sponsors-section{background:var(--off-white);border-top:var(--border)}
.sponsor-slider{--sponsor-visible:5;overflow:hidden;touch-action:pan-y;margin:2rem 0}
.sponsor-track{display:flex;width:100%;transition:transform 650ms ease;will-change:transform}
.sponsor-track.is-resetting{transition:none}
.sponsor-slide{flex:0 0 calc(100% / var(--sponsor-visible));padding:.4rem;min-width:0}
.sponsor-logo{display:flex;align-items:center;justify-content:center;background:white;border:var(--border);border-radius:var(--radius-sm);height:140px;padding:1.25rem}
.sponsor-logo img{width:150px;height:100px;object-fit:contain}
.sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.join-band{background:var(--green-dark);color:white}
.join-content{position:relative}
.join-content .eyebrow{color:#d6e9cf}
.join-content h2{max-width:760px;font-size:3rem}
.join-content>p:not(.eyebrow){max-width:650px;color:#e3ece3}
.join-content .text-link{color:white}.join-content .text-link .icon{filter:brightness(0) invert(1)}
.contact-lines{display:grid;gap:.4rem;margin-block:1.5rem}
.contact-lines a{display:flex;align-items:center;gap:.8rem;min-height:44px;overflow-wrap:anywhere;font-size:.95rem}
.map-preview{position:relative;height:370px;border-radius:var(--radius);overflow:hidden;background:var(--green-soft);border:var(--border)}
.map-preview iframe{width:100%;height:100%;border:0}
.map-label{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;min-height:48px;background:white;font-size:.85rem;font-weight:600;box-shadow:var(--shadow)}
.map-label .icon:last-child{margin-left:auto}
.page-hero{padding:2rem 0 3.25rem;background:var(--off-white);border-bottom:var(--border)}
.breadcrumb{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:0;margin:0 0 1.5rem;font-size:.75rem;color:var(--muted)}
.breadcrumb li{display:flex;align-items:center}.breadcrumb li+li::before{content:"/";margin-right:.65rem;color:#707b71}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.page-hero-grid{display:grid;grid-template-columns:1fr 310px;gap:3rem;align-items:center}
.page-hero-grid>img:not(.hero-emblem){width:100%;height:215px;object-fit:cover;border-radius:var(--radius)}
.page-hero h1{max-width:22ch}
.page-hero .lead{margin-bottom:0}
.hero-emblem{width:105px;height:105px;object-fit:contain;justify-self:end;opacity:.9}
.page-hero-grid:has(.hero-emblem){grid-template-columns:1fr 120px}
.text-card,.resource-card{padding:2rem;border:var(--border);border-radius:var(--radius);background:white}
.text-card h2,.resource-card h2{font-size:1.45rem}.text-card>p,.resource-card>p{font-size:.94rem;color:var(--muted)}
.text-card>.icon{margin-bottom:1.5rem}
.program-detail,.story-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;padding-block:3rem;border-bottom:var(--border)}
.program-detail:first-child,.story-detail:first-child{padding-top:0}
.program-detail>img,.story-detail>img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius)}
.check-list{padding-left:1.25rem;color:var(--muted);font-size:.9rem}.check-list li{padding-block:.25rem}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.team-card>img{width:100%;height:350px;object-fit:cover;object-position:center top}
.team-card>img.leadership-photo{object-position:58% top}
.team-card h2{font-size:1.2rem}
.past-leaders .team-card>img{height:285px}
.past-leaders .team-card>img.club-emblem{object-fit:contain;padding:3rem;background:var(--green-soft)}
.tenure{font-size:.75rem!important;color:var(--green)!important}
.subsection{margin-top:4rem}
.member-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.member-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:var(--border);font-size:.9rem}
.member-list span{font-size:.8rem;color:var(--muted)}
.message-layout{display:grid;grid-template-columns:310px 1fr;gap:4rem;align-items:start;max-width:1050px}
.message-layout>img{width:100%;max-height:390px;object-fit:cover;object-position:top;border-radius:var(--radius)}
.message-layout>img.leadership-photo{height:390px;object-position:58% top}
blockquote{border-left:3px solid var(--green);margin:2rem 0;padding-left:1.5rem;font-size:1.35rem;color:var(--green)}
.archive-note{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:var(--border);padding-top:2rem;margin-top:3rem}
.archive-note h2{font-size:1.5rem}.archive-note p{font-size:.93rem;color:var(--muted);max-width:640px;margin-bottom:0}
.event-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;margin-bottom:2rem}
label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.4rem}
label span{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;min-height:48px;border:1px solid #aab7aa;border-radius:var(--radius-sm);padding:.7rem .8rem;color:var(--ink);background:white}
textarea{resize:vertical;min-height:145px}
.event-tabs{display:flex;border-bottom:var(--border);gap:2rem}
.event-tabs button{background:none;border:0;border-bottom:3px solid transparent;min-height:52px;padding:.75rem 0;font-size:.9rem;font-weight:600;color:var(--muted)}
.event-tabs button[aria-selected="true"]{color:var(--green);border-bottom-color:var(--green)}
.results-count{font-size:.8rem;color:var(--muted);margin:1rem 0 1.5rem}
.empty-state{padding:3rem 1rem;text-align:center;border-block:var(--border)}
.empty-state h2{font-size:1.65rem}
.event-detail-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:start}
.detail-photo{width:100%;height:440px;object-fit:cover;border-radius:var(--radius);margin-bottom:2.5rem}
.detail-photo.poster-photo{height:600px;object-fit:contain;background:var(--green-soft)}
.event-detail-layout article>h2{font-size:1.8rem;margin-top:2.5rem}
.event-information{padding:2rem;background:var(--green-soft);border-radius:var(--radius)}
.event-information h2{font-size:1.8rem;margin-top:1.5rem}
.event-information h3{font-size:.9rem;margin-top:1.5rem}
.event-information p{font-size:.9rem}
.archive-detail-hero h1{max-width:950px;font-size:2.8rem;line-height:1.15}
.archive-detail-section{padding-top:3rem}
.event-story>p{max-width:68ch;line-height:1.9}
.event-story>.detail-photo{margin-bottom:2rem}
.event-story>h3{font-size:1rem;margin-top:2rem}
.event-highlights{padding-left:1.2rem;font-size:.9rem;line-height:1.9}
.event-highlights li{padding-left:.4rem;margin-bottom:.3rem}
.archive-source{border-top:var(--border);border-bottom:var(--border);margin-top:2rem;padding-block:.5rem}
.archive-source summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;font-size:.85rem}
.archive-source p{font-size:.85rem;color:var(--muted);line-height:1.8}
.archive-documents{margin-top:2rem}.archive-documents h3{font-size:1rem}.archive-documents .text-link{display:flex;width:fit-content;font-size:.85rem}
.archive-disclaimer{border-top:1px solid #d0dcd1;margin-top:1.5rem;padding-top:1rem;font-size:.78rem!important;line-height:1.8;color:var(--muted)}
.event-share{border-top:1px solid #d0dcd1;margin-top:1.5rem;padding-top:.5rem}
.calendar-button{margin-top:1rem}
.schedule{list-style:none;padding:0;margin:1rem 0}
.schedule li{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:1rem 0;border-bottom:var(--border);font-size:.9rem}
.schedule time{color:var(--green);font-weight:600}
.source-note{font-size:.85rem;color:var(--muted);border-left:2px solid var(--green);padding-left:1rem}
.event-detail-layout .gallery-grid{grid-template-columns:1fr 1fr}.event-detail-layout .gallery-item>img{height:180px}
.contact-layout{align-items:start}
.contact-layout h2{font-size:1.9rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.full-width{grid-column:1/-1}
.form-help{font-size:.8rem;color:var(--muted);margin-block:1rem}
.form-result{margin-top:1.5rem;padding:1.25rem;border-left:3px solid var(--green);background:var(--green-soft)}
.membership-card{border:var(--border);border-radius:var(--radius);padding:2rem;background:white}
.membership-card h2{font-size:1.5rem;min-height:3.5rem}
.membership-card .price{font-size:3rem;color:var(--green);font-weight:600;margin:1.5rem 0}
.price span{font-size:.8rem;font-weight:400}
.membership-card>p:not(.price):not(.eyebrow){font-size:.9rem;color:var(--muted)}
.steps{list-style:none;counter-reset:steps;padding:0;margin:2rem 0}
.steps li{counter-increment:steps;display:grid;grid-template-columns:36px 1fr;gap:.15rem 1rem;padding:1rem 0;border-bottom:var(--border)}
.steps li::before{content:counter(steps);grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;background:var(--green-soft);color:var(--green);border-radius:50%}
.steps strong{font-size:.95rem}.steps span{font-size:.85rem;color:var(--muted)}
.resource-list article{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:var(--border);padding:2rem 0}
.resource-list h2{font-size:1.4rem}.resource-list p{font-size:.95rem;color:var(--muted);margin:0}
.reading-width{max-width:800px}.reading-width h2{font-size:1.75rem;margin-top:2.5rem}.reading-section{padding-bottom:1rem}
.lightbox{border:0;max-width:none;max-height:none;width:100%;height:100%;padding:1.5rem;background:#07190fed;color:white;touch-action:pan-y}
.lightbox::backdrop{background:#07190fed}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox-inner{position:relative;width:min(1100px,100%)}
.lightbox-image{width:100%;height:78vh;object-fit:contain}
.lightbox-caption{text-align:center;font-size:.9rem;padding:1rem 3rem;margin:0}
.lightbox-close{position:absolute;top:.5rem;right:.5rem;background:var(--green-dark);z-index:2}
.lightbox-prev,.lightbox-next{position:absolute;top:48%;background:var(--green-dark)}
.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}
.site-footer{background:#102b1e;color:#d9e5dc;font-size:.8rem}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem;padding-block:4rem}
.footer-brand>img{width:68px;height:68px;object-fit:contain;margin-bottom:1.2rem}
.footer-org{color:white;font-weight:600;font-size:.92rem!important}
.footer-brand>p{font-size:.8rem;line-height:1.8}
.footer-brand>a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.footer-links h2{font-size:.85rem;color:white;margin-top:.5rem}
.footer-links ul,.footer-bottom ul{list-style:none;margin:0;padding:0}
.footer-links a{display:flex;align-items:center;min-height:44px}
.site-footer a{color:#d9e5dc}
.footer-bottom{border-top:1px solid #ffffff20;padding:1rem 0}
.community-partner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #ffffff20;padding-block:1.4rem}
.community-partner p{margin:0;font-size:.8rem;color:#d9e5dc}
.community-partner>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:.65rem 1rem;background:white;border-radius:4px}
.community-partner .partner-logo{width:180px;height:60px;object-fit:contain}
.community-partner .icon{filter:brightness(0) invert(1)}
.footer-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer-bottom-row>p{margin:0;font-size:.72rem}
.footer-bottom ul,.footer-social{display:flex;align-items:center;gap:1rem}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:.72rem}
.footer-social a{width:44px;justify-content:center}.footer-social .icon{filter:brightness(0) invert(1);width:17px;height:17px}
.noscript-note{padding:1.5rem;background:var(--green-soft)}
@media(min-width:981px) and (max-width:1279px){
 .container{width:calc(100% - 48px)}.primary-nav{gap:.7rem}.nav-list{gap:.1rem}.nav-link,.nav-toggle{font-size:.72rem;padding-inline:.35rem}.nav-cta{font-size:.75rem;padding-inline:.8rem}.nav-inner{gap:.75rem}.brand img{width:62px;height:62px}
}
@media(max-width:980px){
 #site-header{min-height:120px}.container{width:calc(100% - 48px)}.nav-inner{min-height:76px}.brand img{width:56px;height:56px}
 .topbar-contact{gap:1rem}.topbar-contact>span{display:none}.topbar-social .member-shortcut{display:none}
 .mobile-toggle{display:flex}.primary-nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;max-height:calc(100dvh - 120px);overflow-y:auto;padding:1rem 1.5rem 2rem;background:white;box-shadow:var(--shadow)}
 .mobile-open .primary-nav{display:block}.nav-list{display:block}.nav-link,.nav-toggle{width:100%;justify-content:space-between;min-height:48px;font-size:.95rem}
 .dropdown{position:static;width:100%;border:0;border-left:var(--border);border-radius:0;box-shadow:none;padding:.25rem .75rem}
 .nav-cta{display:flex;margin-top:1rem}
 .hero-slider{height:630px}.hero-content h1,.hero-content h2{font-size:3.25rem;max-width:670px}
 .split,.festival-feature{gap:2rem}.about-home h2{font-size:2.15rem}.about-photo>img:first-child{height:480px}.festival-picture>img{height:600px}
 h2{font-size:2.2rem}.festival-copy h2{font-size:2.65rem}.festival-copy h2 span{font-size:1.5rem}
 .cards.three,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .program-row{grid-template-columns:1fr;gap:.5rem}.program-label{display:flex;align-items:center;justify-content:space-between}
 .impact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sponsor-slider{--sponsor-visible:4}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-hero-grid{grid-template-columns:1fr 240px}.page-hero h1{font-size:2.7rem}
 .message-layout{grid-template-columns:260px 1fr;gap:2rem}
 .event-detail-layout{grid-template-columns:1.2fr 1fr;gap:2rem}.event-information{padding:1.5rem}
 .program-detail,.story-detail{gap:2rem}
}
@media(max-width:700px){
 :root{--space-section:3.5rem}.container{width:calc(100% - 40px)}
 .topbar-contact>a:first-of-type{display:none}.topbar-contact .icon{display:none}.topbar-contact{gap:0}
 .topbar-social>a,.social-unlinked{min-width:44px}.topbar-social .icon{width:14px;height:14px}
 .topbar-inner{gap:.25rem}.topbar{font-size:.63rem}
 .primary-nav{left:-20px;right:-20px;padding-inline:20px}
 .hero-slider{height:640px}.hero-content{padding-block:2rem 6rem}.hero-content h1,.hero-content h2{font-size:2.4rem;line-height:1.12;max-width:17ch}
 .hero-description{font-size:.9rem;line-height:1.75}.hero-content .eyebrow{font-size:.65rem}
 .hero-content .button-row{gap:.6rem}.hero-content .button{width:100%}
 .hero-bottom{bottom:1rem;justify-content:center}.hero-bottom>p{display:none}.hero-shade{background:linear-gradient(90deg,#071b12df,#071b1270)}
 h1,.page-hero h1{font-size:2.35rem}h2{font-size:2rem}.about-home h2{font-size:2rem}
 .section-head{display:block;margin-bottom:2rem}.section-head>.text-link,.section-head>.slider-controls,.section-head>p{margin-top:1rem}
 .section-intro{margin-top:-.75rem}
 .split,.festival-feature,.program-detail,.story-detail,.message-layout,.event-detail-layout{grid-template-columns:1fr}
 .split>img,.about-photo>img:first-child{height:330px}.about-photo .photo-seal{width:76px;height:76px}
 .festival-picture>img,.festival-feature>img{height:330px}.festival-year{font-size:3rem}
 .festival-copy h2{font-size:2.65rem}.festival-copy h2 span{font-size:1.5rem}
 .cards.three,.cards.two,.team-grid,.program-grid{grid-template-columns:1fr}
 .program-grid>.program-card:only-child{display:block}
 .program-card>img,.story-card>img{height:240px}.event-image>img{height:250px}
 .impact-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.impact-grid h3{font-size:1rem}
 .gallery-heading{display:block;margin-top:2.5rem}.gallery-heading>.text-link{margin-top:.5rem}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.gallery-item>img{height:160px}
 .sponsor-slider{--sponsor-visible:2}.sponsor-logo{height:125px;padding:1rem}.sponsor-logo img{height:85px}
 .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .join-content h2{font-size:2.25rem}.join-content .button-row{flex-direction:column;align-items:stretch}
 .join-content .text-link{justify-content:center}
 .map-preview{height:320px}.contact-lines a{font-size:.86rem}
 .page-hero{padding:1rem 0 2.5rem}.page-hero-grid,.page-hero-grid:has(.hero-emblem){grid-template-columns:1fr}
 .page-hero-grid>img:not(.hero-emblem){height:200px}.hero-emblem{display:none}
 .breadcrumb{margin-bottom:1rem}.page-hero .lead{font-size:1rem}
 .program-detail>img,.story-detail>img{height:290px}.program-detail,.story-detail{padding-block:2rem}
 .team-card>img,.past-leaders .team-card>img{height:320px}
 .member-list{grid-template-columns:1fr}.member-list li{align-items:start}
 .message-layout>img{max-width:300px;max-height:330px}
 .archive-note{display:block}.archive-note>.button{margin-top:1.25rem}
 .event-filters{grid-template-columns:1fr 1fr}.event-filters>div:first-child{grid-column:1/-1}
 .archive-detail-hero h1{font-size:2rem}.event-filters>div:last-child{grid-column:1/-1}
 .event-tabs{gap:1.5rem}.event-tabs button{font-size:.82rem}
 .detail-photo{height:290px}.detail-photo.poster-photo{height:460px}
 .event-detail-layout .gallery-grid{grid-template-columns:1fr}.event-information{padding:1.5rem}
 .form-grid{grid-template-columns:1fr}.inquiry-form{min-width:0}
 .resource-list article{align-items:start;gap:1rem}.resource-list h2{font-size:1.2rem}
 .resource-list .text-link{flex-shrink:0}.text-card,.resource-card{padding:1.5rem}
 .footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-block:3rem}.footer-brand{grid-column:1/-1}
 .footer-bottom-row{flex-wrap:wrap}.footer-bottom-row>p{max-width:240px}.footer-bottom ul{gap:.7rem}
 .lightbox{padding:.5rem}.lightbox-caption{font-size:.8rem;padding-inline:1rem}.lightbox-image{height:72vh}
 .hero-bottom .slider-controls{gap:2px}.hero-bottom .icon-button{width:44px;min-width:44px}
}
@media(max-width:360px){
 .hero-content h1,.hero-content h2{font-size:2.12rem}.hero-description{font-size:.85rem}
 .topbar-inner{width:calc(100% - 24px)}.topbar-contact>a{font-size:.6rem}
 .impact-grid{grid-template-columns:1fr}.resource-list article{display:block}
 .page-hero h1{font-size:2.1rem}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media print{
 .site-header,.site-footer,.button-row,.hero-emblem{display:none!important}
 .section,.page-hero{padding:1rem 0}.container{width:100%;max-width:none}body{font-size:12pt;color:black}
}
