/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4
 * focused correction · genre: editorial · tone: cinematic community · anchor hue: forest
 * existing macrostructure, footer, and palette preserved · responsive: pass (34, 49–57)
 */

:root { --forest:#07593d; --deep:#063d2d; --mint:#8fe0bd; --sage:#dcefe3; --coral:#ff6b4a; --sand:#f1eadc; --paper:#fbfaf6; --ink:#14241e; --line:rgba(20,36,30,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:auto; overflow-x:clip; }
body { margin:0; overflow-x:clip; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { object-fit:cover; }
.shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.section { padding:112px 0; }
.eyebrow { margin:0 0 18px; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--forest); }
.eyebrow.light { color:white; }.eyebrow.mint { color:var(--mint); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { min-width:0; overflow-wrap:anywhere; font-family:Georgia, 'Times New Roman', serif; font-weight:500; letter-spacing:-.035em; }
h2 { margin-bottom:20px; font-size:clamp(42px,5vw,70px); line-height:1.02; }
p { line-height:1.68; }
.buttonRow { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 24px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:800; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-2px); }
.button.coral { background:var(--coral); color:#1a1a14; }.button.coral:hover { background:#ff846a; }
.button.dark { background:var(--deep); color:white; }.button.dark:hover { background:var(--forest); }
.button.glass { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.1); color:white; backdrop-filter:blur(9px); }
.button.outline { border-color:var(--deep); color:var(--deep); background:transparent; }
.textLink { display:inline-flex; gap:12px; align-items:center; font-size:14px; font-weight:800; padding-bottom:5px; border-bottom:1px solid currentColor; }
.textLink span { font-size:18px; }

.siteHeader { position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 5px 20px rgba(3,39,28,.08); }
.headerOverlay { position:absolute; inset:0 0 auto; background:linear-gradient(to bottom,rgba(3,31,23,.76),transparent); border:0; color:white; }
.headerInner { height:108px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; }
.brand img { border-radius:0; }
.headerLogo { width:92px; height:92px; object-fit:contain; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand b { font-family:Georgia,serif; font-size:22px; font-weight:500; }
.brand small { margin-top:5px; font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.desktopNav { display:flex; align-items:center; gap:22px; font-size:13px; font-weight:700; }
.desktopNav a { padding:12px 0; white-space:nowrap; }.desktopNav a:hover { opacity:.7; }
.desktopNav .navGive { padding:12px 21px; border-radius:999px; background:var(--coral); color:#1b241f; }
.mobileMenu { display:none; position:relative; }
.mobileMenu nav { position:absolute; right:0; top:36px; width:220px; display:flex; flex-direction:column; padding:18px; border-radius:12px; background:var(--paper); color:var(--ink); box-shadow:0 18px 50px rgba(0,0,0,.2); }.mobileMenu a { padding:12px; white-space:nowrap; }
.mobileMenuToggle { min-height:44px; padding:0 14px; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.mobileMenuToggle { display:none; }
.mobileMenu nav { display:none; }
.siteHeader.mobile-nav-open .mobileMenu nav { display:flex; }
.collectionModal[hidden] { display:none !important; }
.socialIconLinks a span { font-size:18px; font-weight:800; }
.pillarArt,.initiativeHeroImage img,.aboutStoryImage img,.museumPortraitImage img,.collectionImage img,.collectionModalImage img,.storyImage img { position:absolute; inset:0; width:100%; height:100%; }
.initiativeHeroImage img,.aboutStoryImage img,.museumPortraitImage img,.collectionImage img,.collectionModalImage img,.storyImage img { object-fit:cover; }
.collectionImage img,.collectionModalImage img { object-fit:contain; }
.mobileMenuToggle { color:var(--ink); }
.fegHealthFair { margin-top:34px; }

.hero { position:relative; min-height:91vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--deep); color:white; }
.heroVideo,.heroShade { position:absolute; inset:0; width:100%; height:100%; }
.heroVideo { object-fit:cover; }.heroShade { background:linear-gradient(90deg,rgba(1,28,20,.86) 0%,rgba(1,28,20,.53) 48%,rgba(1,28,20,.24) 100%),linear-gradient(0deg,rgba(1,28,20,.55),transparent 55%); }
.heroContent { position:relative; z-index:2; padding-bottom:7vh; }
.hero h1 { max-width:940px; margin:0 0 26px; font-size:clamp(66px,7.4vw,108px); line-height:.86; letter-spacing:-.058em; text-shadow:0 4px 30px rgba(0,0,0,.25); }
.heroLead { max-width:640px; margin-bottom:0; font-size:clamp(18px,2vw,24px); line-height:1.45; }
.heroButtons { margin-top:36px; }

.sponsorBand { padding:108px 0; border-top:1px solid var(--line); background:#fff; color:var(--ink); }
.sponsorBand .shell { display:block; }
.sponsorBand p { margin:0 0 32px; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--forest); }
.sponsorFeatured { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sponsorFeatured > *,.sponsorScroller > * { position:relative; min-height:178px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); background:var(--paper); transition:background .2s,transform .2s; }
.sponsorFeatured a:hover,.sponsorScroller a:hover { transform:translateY(-3px); background:#f4f8f5; }
.sponsorFeatured img,.sponsorScroller img { position:static !important; width:auto !important; height:auto !important; max-width:84%; max-height:82%; object-fit:contain; padding:0 !important; }
.sponsorScroller { display:flex; gap:18px; margin-top:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
.sponsorScroller > * { flex:0 0 min(300px, 78vw); scroll-snap-align:start; }
.sponsorScroller .partnerTown { background:var(--deep); }
.sponsorScroller .partnerTown:hover { background:var(--forest); }
.sponsorScroller .partnerTown img { max-width:86%; }
.sponsorFeatured .partnerLibrary img { max-height:80%; }
.sponsorFeatured .partnerTrust img { max-width:84%; }
.sponsorScroller .partnerParks img { max-height:82%; }
.sponsorNames { width:100%; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:18px; }
.sponsorNames span { font-family:Georgia,serif; font-size:16px; text-align:center; }
.welcomeBand { background:var(--sage); }
.welcome { display:block; max-width:800px; padding:58px 0 54px; text-align:center; }
.welcomeCopy { padding-top:0; }.welcomeCopy .eyebrow { margin-bottom:12px; }.welcomeCopy p { max-width:760px; margin:0 auto; font-size:19px; color:#4f5d57; }

.forest { background:var(--deep); color:white; }
.sectionHead { display:flex; justify-content:space-between; gap:60px; align-items:flex-end; margin-bottom:48px; }
.sectionHead > div { max-width:760px; }.sectionHead > p { max-width:350px; margin:0; color:#64736d; }
.lightHead > p { color:#b9c7c1; }.lightHead h2 { margin-bottom:0; }
.pillars.section { padding:88px 0; }
.pillarGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:1080px; margin:0 auto; background:transparent; border:0; }
.pillarGrid .p1 { grid-column:1 / -1; width:calc(50% - 7px); justify-self:center; }
.pillarCard { position:relative; isolation:isolate; min-height:350px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border:1px solid rgba(255,255,255,.2); background:#0b523b; transition:background .25s,transform .25s; }
.pillarArt { object-fit:cover; object-position:center top; z-index:-1; }
.pillarShade { position:absolute; z-index:0; inset:-1px; background:linear-gradient(180deg,rgba(3,39,28,.34) 0%,rgba(3,39,28,.94) 100%); }
.pillarCard > *:not(.pillarArt):not(.pillarShade) { position:relative; z-index:1; }
.pillarCard:hover { z-index:2; transform:translateY(-7px); background:#0d694a; }.pillarCard.p2 { background:#0c5e45; }.pillarCard.p3 { background:#166d4d; }.pillarCard.p4 { background:#1d7956; }
.pillarNumber { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-width:36px; min-height:26px; padding:0 9px; border:1px solid rgba(255,255,255,.46); background:rgba(3,39,28,.5); color:white; font-size:11px; font-weight:800; letter-spacing:.12em; }
.pillarIcon { position:relative; width:44px; height:44px; margin-bottom:28px; display:flex; align-items:center; justify-content:center; color:var(--mint); }
.pillarIcon-dollar { justify-content:flex-start; font-family:Georgia,serif; font-size:44px; line-height:1; }
.pillarIconShape { position:relative; display:block; color:inherit; }
.pillarIcon-reuse .pillarIconShape { width:28px; height:28px; border:2px solid currentColor; border-left-color:transparent; border-radius:50%; transform:rotate(-28deg); }
.pillarIcon-reuse .pillarIconShape::after { content:""; position:absolute; left:-5px; bottom:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-right:8px solid currentColor; transform:rotate(-18deg); }
.pillarIcon-plate .pillarIconShape { width:27px; height:27px; border:2px solid currentColor; border-radius:50%; }
.pillarIcon-plate::before,.pillarIcon-plate::after { content:""; position:absolute; top:8px; width:2px; height:28px; background:currentColor; border-radius:2px; }
.pillarIcon-plate::before { left:2px; box-shadow:-3px 0 0 currentColor,3px 0 0 currentColor; }
.pillarIcon-plate::after { right:3px; }
.pillarIcon-book .pillarIconShape { width:32px; height:25px; border:2px solid currentColor; border-radius:5px 5px 2px 2px; }
.pillarIcon-book .pillarIconShape::before { content:""; position:absolute; top:-2px; bottom:-2px; left:50%; width:2px; background:currentColor; transform:translateX(-50%); }
.pillarCard h3 { font-family:Georgia,serif; font-size:30px; font-weight:500; line-height:1; }.pillarCard p { margin:0; font-size:14px; color:#d5e5df; }
.cardArrow { position:absolute; left:30px; bottom:17px; font-size:22px; }

.giveHome { padding:92px 0; border-bottom:1px solid var(--line); background:#fff; }
.giveHomeHead { display:grid; grid-template-columns:1fr .9fr; gap:8vw; align-items:start; }
.giveHome h2 { margin:0; max-width:650px; font-size:clamp(42px,4.7vw,66px); }
.quickGive { padding:34px; background:var(--sand); }
.quickGive h3 { max-width:460px; margin:0 0 25px; font-family:Georgia,serif; font-size:32px; font-weight:500; line-height:1.08; }
.quickGiveAmounts { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:22px; }
.quickGiveAmounts a { padding:18px 8px; border:1px solid rgba(20,36,30,.22); background:#fff; font-family:Georgia,serif; font-size:23px; text-align:center; transition:background .2s,color .2s; }
.quickGiveAmounts a:hover { background:var(--forest); color:white; }
.giveWays { display:grid; grid-template-columns:repeat(3,1fr); margin-top:58px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.giveWays > a { display:grid; grid-template-columns:36px 1fr 24px; gap:14px; align-items:start; min-height:190px; padding:28px 24px; border-right:1px solid var(--line); transition:background .2s; }
.giveWays > a:last-child { border-right:0; }
.giveWays > a:hover { background:var(--sage); }
.giveWays > a > span { color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; }
.giveWays h3 { margin:0 0 5px; font-family:Georgia,serif; font-size:28px; font-weight:500; }
.giveWays p { margin:0; color:#5f6f67; font-size:14px; line-height:1.45; }
.giveWays b { color:var(--forest); font-size:20px; }

.feature { display:grid; grid-template-columns:1.08fr .92fr; gap:8vw; align-items:center; }
.featureMedia { position:relative; min-height:650px; overflow:hidden; border-radius:2px; }.imageTag { position:absolute; top:22px; left:22px; padding:9px 13px; background:var(--mint); color:var(--deep); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.museumMosaic { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:1fr 1fr; gap:8px; background:var(--sand); }
.museumMosaic > div { position:relative; min-height:0; overflow:hidden; }
.museumMosaic .mosaicLarge { grid-row:1 / 3; }
.museumMosaic img { object-fit:cover; }
.museumMosaic .mosaicLarge img { object-position:55% center; }
.museumFeatureImage { background:var(--deep); }
.museumFeatureImage img { object-fit:cover; object-position:center; }
.featureCopy p:not(.eyebrow) { font-size:18px; color:#516059; }.featureCopy .button { margin-top:12px; }

.sand { background:var(--sand); }
.impact .shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:end; }.impactIntro h2 { font-size:50px; }.prototypeNote { font-size:12px; color:#6c746f; }
.impactGrid { display:grid; grid-template-columns:repeat(2,1fr); border-left:1px solid rgba(20,36,30,.25); border-top:1px solid rgba(20,36,30,.25); }
.impactGrid div { padding:34px; border-right:1px solid rgba(20,36,30,.25); border-bottom:1px solid rgba(20,36,30,.25); }.impactGrid strong { font-family:Georgia,serif; font-size:64px; font-weight:500; }.impactGrid strong span { color:var(--coral); }.impactGrid p { margin:4px 0 0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.eventsTeaser .sectionHead h2 { margin:0; }
.eventGrid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
.eventGrid.singleEvent { grid-template-columns:minmax(0,760px); }
.eventCard { height:100%; display:grid; grid-template-rows:610px auto; overflow:hidden; border:1px solid var(--line); background:white; }
.eventVisual { position:relative; height:610px; overflow:hidden; background:#e9eee9; }
.eventVisual img { object-fit:cover; }
.eventVisual.flyerVisual { height:610px; background:#edf1ee; }
.eventVisual.flyerVisual img { object-fit:contain; padding:14px; }
.eventDetails { display:grid; grid-template-columns:70px 1fr auto; gap:18px; align-items:center; padding:24px; }
.dateBadge { width:70px; height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--coral); color:var(--ink); font-family:Georgia,serif; font-size:30px; line-height:.85; }
.dateBadge b { font-family:Arial,sans-serif; font-size:10px; letter-spacing:.1em; }
.eventDetails p { margin:0 0 5px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.eventDetails h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:27px; font-weight:500; line-height:1.05; }
.eventDetails div > span { font-size:13px; color:#66736d; }
.eventDetails .button { min-height:44px; padding:0 17px; white-space:nowrap; }

.giveCta { position:relative; min-height:680px; display:flex; align-items:center; overflow:hidden; color:white; }.giveImage,.giveShade { position:absolute; inset:0; }.giveShade { background:linear-gradient(90deg,rgba(3,49,35,.96),rgba(3,49,35,.58) 55%,rgba(3,49,35,.15)); }.giveContent { position:relative; z-index:2; }.giveContent h2 { max-width:770px; }.giveContent > p:not(.eyebrow) { max-width:650px; font-size:18px; }.giveContent .button { margin-top:14px; }

.footer { padding:76px 0 24px; background:#041f17; color:white; }.footerGrid { display:grid; grid-template-columns:1.5fr .7fr 1fr 1fr; gap:50px; }.footerGrid > div { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }.footerGrid > div:first-child p { max-width:300px; color:#a7b9b2; font-size:14px; }.footerGrid > div > b { margin-bottom:8px; font-size:11px; color:var(--mint); letter-spacing:.13em; text-transform:uppercase; }.footerGrid a,.footerGrid span { font-size:13px; color:#d4dfdb; }.footerBottom { margin-top:60px; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.15); color:#82958e; font-size:11px; }

.pageHero { padding:110px 0 100px; background:var(--deep); color:white; }.pageHero h1 { max-width:1000px; margin:0 0 24px; font-size:clamp(60px,8vw,112px); line-height:.9; }.pageHero p:not(.eyebrow) { max-width:760px; margin:0; font-size:20px; color:#c7d6d0; }
.initiativeHero { position:relative; height:72vh; min-height:620px; display:flex; align-items:flex-end; overflow:hidden; color:white; }.initiativeHeroImage,.initiativeHeroShade { position:absolute; inset:0; }.initiativeHeroShade { background:linear-gradient(0deg,rgba(3,39,28,.94),rgba(3,39,28,.1) 75%); }.initiativeHeroContent { position:relative; z-index:2; padding-bottom:8vh; }.initiativeHero h1 { max-width:950px; margin:0 0 18px; font-size:clamp(60px,8vw,112px); line-height:.87; }.initiativeHeroContent > p:last-child { font-size:20px; }.museumHero .initiativeHeroImage img { object-position:center; filter:contrast(1.05) saturate(.9); }.museumHero .initiativeHeroShade { background:linear-gradient(0deg,rgba(3,30,23,.97) 0%,rgba(3,30,23,.8) 22%,rgba(3,30,23,.34) 45%,rgba(3,30,23,.08) 70%,rgba(3,30,23,.03) 100%),linear-gradient(90deg,rgba(3,30,23,.13),transparent 56%); }.museumHero .initiativeHeroContent { width:min(1180px,calc(100% - 48px)); margin-left:clamp(24px,3vw,42px); margin-right:auto; padding-bottom:clamp(74px,11vh,124px); }
.museumHeroLine { max-width:620px; margin:0; font-family:Georgia,serif; font-size:clamp(32px,4.1vw,62px) !important; line-height:1.02; text-wrap:balance; }
.museumIntro { text-align:center; }.museumIntroLead { max-width:950px; margin:0 auto; }.museumIntroLead h2 { margin:14px 0 28px; font-size:clamp(54px,6.3vw,94px); line-height:.9; }.museumIntroLead > p:last-child { max-width:820px; margin:0 auto; color:#52635b; font-size:clamp(18px,1.7vw,22px); line-height:1.58; }.museumFocusList { display:grid; grid-template-columns:repeat(3,1fr); max-width:1100px; margin:68px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.museumFocusList article { min-height:150px; padding:26px 22px 22px; border-right:1px solid var(--line); text-align:left; }.museumFocusList article:last-child { border-right:0; }.museumFocusList span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.13em; }.museumFocusList h3 { margin:42px 0 0; font-family:Georgia,serif; font-size:24px; font-weight:500; line-height:1.04; }
.museumCollection { padding:105px 0 94px; background:#042b20; color:white; overflow:hidden; }.museumCollectionIntro { max-width:760px; margin:0 auto 52px; text-align:center; }.museumCollectionIntro h2 { margin:14px 0 20px; font-size:clamp(50px,5vw,74px); line-height:.93; }.museumCollectionIntro > p:not(.eyebrow) { max-width:620px; margin:0 auto; color:#cad8d1; font-size:17px; line-height:1.65; }.eyebrow.coral { color:var(--coral); }.collectionScroll { display:flex; align-items:center; gap:22px; overflow-x:auto; width:100%; padding:20px max(32px, calc((100vw - 1300px) / 2)) 30px; scroll-snap-type:x mandatory; scrollbar-color:var(--mint) transparent; }.collectionCard { position:relative; flex:0 0 clamp(230px,20vw,320px); height:440px; padding:14px; overflow:hidden; border:1px solid rgba(255,255,255,.24); background:#f1eadc; cursor:pointer; scroll-snap-align:center; box-shadow:0 18px 36px rgba(0,0,0,.25); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }.collectionCard.landscape { flex-basis:clamp(310px,30vw,470px); height:340px; }.collectionCard:nth-child(3n+2) { transform:translateY(-18px); }.collectionCard:nth-child(3n) { transform:translateY(16px); }.collectionCard:hover,.collectionCard:focus-visible { border-color:var(--coral); box-shadow:0 25px 46px rgba(0,0,0,.35); transform:translateY(-12px) scale(1.015); outline:none; }.collectionImage { position:relative; display:block; width:100%; height:100%; }.collectionImage img { object-fit:contain; }.collectionModal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:26px; }.collectionModalBackdrop { position:absolute; inset:0; border:0; background:rgba(2,20,14,.93); cursor:pointer; }.collectionModalPanel { position:relative; z-index:1; width:min(1120px,100%); height:min(90vh,900px); padding:42px; background:#f1eadc; box-shadow:0 28px 80px rgba(0,0,0,.5); }.collectionModalImage { position:relative; width:100%; height:100%; }.collectionModalImage img { object-fit:contain; }.collectionModalClose { position:absolute; z-index:2; top:10px; right:14px; width:42px; height:42px; border:0; border-radius:50%; background:var(--coral); color:var(--ink); cursor:pointer; font-size:30px; line-height:1; }
.initiativeIntro { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }.initiativeIntro > div:last-child > p { font-size:19px; color:#53625b; }.initiativeImpact { margin-top:30px; padding:24px 26px; border-left:4px solid var(--coral); background:#f4efe6; }.initiativeImpact .eyebrow { margin:0 0 10px; }.initiativeImpact > p:last-child { margin:0; color:var(--forest); font-size:16px; line-height:1.65; }.focusList { margin-top:38px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }.focusList span { padding:16px; border:1px solid var(--line); font-weight:800; font-size:13px; }
.programGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.programGrid article { min-height:244px; padding:28px; background:var(--paper); }.programGrid article > span,.valueGrid article > span { color:var(--coral); font-size:11px; font-weight:800; }.programGrid h3,.valueGrid h3 { margin-top:42px; font-family:Georgia,serif; font-size:28px; font-weight:500; }.programGrid p { color:#5c6863; }.museumPrograms .programGrid { grid-template-columns:repeat(3,1fr); }.museumPrograms .programGrid article { min-height:310px; }.museumPrograms .programGrid h3 { margin-top:60px; }
.nextStep { text-align:center; }.nextStep h2,.nextStep > p:not(.eyebrow) { max-width:850px; margin-left:auto; margin-right:auto; }.nextStep .buttonRow { justify-content:center; margin-top:35px; }

.statusPill { padding:10px 15px; border-radius:999px; background:#def2e8; color:var(--forest); font-size:11px; font-weight:800; }.upcomingList { border-top:1px solid var(--line); }.upcomingList article { display:grid; grid-template-columns:130px 1fr auto; gap:34px; align-items:center; padding:36px 0; border-bottom:1px solid var(--line); }.calendarDate { display:flex; flex-direction:column; align-items:center; padding:16px; border:1px solid var(--line); }.calendarDate b,.calendarDate span { font-size:10px; letter-spacing:.13em; }.calendarDate strong { font-family:Georgia,serif; font-size:54px; line-height:1; }.eventType { margin:0; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.upcomingList h3 { margin:7px 0; font-family:Georgia,serif; font-size:28px; font-weight:500; }.upcomingList article div:nth-child(2) > p:not(.eventType) { margin-bottom:8px; }.upcomingList article div:nth-child(2) > span { font-size:12px; font-weight:800; }.pastGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.pastGrid article { padding:18px; background:var(--paper); }.pastImage { position:relative; height:420px; overflow:hidden; }.pastImage.wide { height:300px; }.pastGrid article > p { margin:18px 0 6px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.pastGrid h3 { margin-bottom:8px; font-family:Georgia,serif; font-size:26px; font-weight:500; }.pastGrid article > span { color:#66736d; font-size:13px; }
.aboutPurpose { display:grid; grid-template-columns:.95fr .8fr .85fr; gap:5vw; align-items:start; }.aboutPurpose h2 { margin-bottom:0; font-size:clamp(42px,4.2vw,62px); }.aboutPurpose p { color:#596760; font-size:17px; }.aboutPurposeImage { position:relative; min-height:430px; overflow:hidden; }.aboutPurposeImage img { object-fit:cover; }
.leadershipHead { display:grid; grid-template-columns:1.05fr .7fr; gap:8vw; align-items:end; margin-bottom:48px; }.leadershipHead h2 { margin:0; max-width:680px; }.leadershipHead > p { margin:0; color:#c1d3ca; font-size:16px; }
.leadershipGrid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.17); border:1px solid rgba(255,255,255,.17); }.leadershipCard { position:relative; display:grid; grid-template-columns:185px 1fr; min-height:250px; overflow:hidden; background:#063d2d; outline-offset:-5px; }.leaderPortrait { display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#0d694a,#07593d); color:var(--mint); font-family:Georgia,serif; font-size:52px; letter-spacing:-.08em; }.leaderCopy { padding:30px; }.leaderRole { margin:0 0 50px; color:var(--mint); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.leaderCopy h3,.leaderBio h3 { margin:0 0 10px; font-family:Georgia,serif; font-size:31px; font-weight:500; }.leaderCopy > p { margin:0; color:#c1d3ca; font-size:14px; line-height:1.55; }.leaderPrompt { display:block; margin-top:20px; color:var(--mint); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.leaderBio { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:36px; background:linear-gradient(135deg,#0f7956,#07593d); color:white; transform:translateY(101%); transition:transform .34s cubic-bezier(.2,.8,.2,1); }.leaderBio .leaderRole { margin-bottom:24px; color:#d3f6e5; }.leaderBio > p:last-child { max-width:520px; margin:0; color:white; font-size:15px; line-height:1.65; }.leadershipCard:hover .leaderBio,.leadershipCard:focus .leaderBio { transform:translateY(0); }.leadershipCard:hover .leaderPrompt,.leadershipCard:focus .leaderPrompt { color:white; }
.workStrip { padding:76px 0; }.workStripHead { display:flex; justify-content:space-between; gap:6vw; align-items:end; margin-bottom:34px; }.workStripHead h2 { max-width:720px; margin:0; font-size:clamp(36px,3.7vw,54px); }.workGrid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.workGrid article { min-height:190px; padding:25px 22px; border-right:1px solid var(--line); }.workGrid article:last-child { border-right:0; }.workGrid b { color:var(--forest); font-size:11px; letter-spacing:.12em; }.workGrid h3 { margin:42px 0 8px; font-family:Georgia,serif; font-size:26px; font-weight:500; }.workGrid p { margin:0; color:#596760; font-size:14px; line-height:1.5; }
.giveLayout { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; }.amountGrid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:34px 0 20px; }.amountGrid a { padding:22px 10px; border:1px solid var(--line); text-align:center; font-family:Georgia,serif; font-size:28px; }.amountGrid a:hover { background:var(--mint); }.secureNote { color:#68766f; font-size:12px; }.giveLayout aside { padding:42px; background:var(--deep); color:white; }.giveLayout aside ul { list-style:none; padding:0; margin:28px 0; }.giveLayout aside li { display:flex; gap:20px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.15); }.giveLayout aside li span { color:var(--mint); font-size:10px; }.giveLayout aside > p:last-child { color:#a9bbb4; font-size:12px; }.giveOther .shell > div { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.giveOther article { padding:28px; background:var(--paper); }.giveOther h3 { font-family:Georgia,serif; font-size:30px; font-weight:500; }

@media (max-width:900px) {
  .shell { width:min(100% - 32px, 700px); }.section { padding:78px 0; }.desktopNav { display:none; }.mobileMenu { display:block; }.mobileMenuToggle { display:inline-flex; align-items:center; justify-content:center; }.headerInner { height:84px; }.headerLogo { width:72px; height:72px; }
  .hero { min-height:820px; }.hero h1 { max-width:680px; font-size:76px; }.heroContent { padding-bottom:72px; }
  .sponsorFeatured { grid-template-columns:1fr 1fr; }
  .welcome,.feature,.impact .shell,.initiativeIntro,.aboutStory,.aboutPurpose,.giveLayout,.giveHomeHead { grid-template-columns:1fr; }.welcome { gap:25px; }.welcomeCopy { padding-top:0; }.sectionHead { display:block; }.sectionHead > p,.sectionHead > .textLink { margin-top:25px; }
  .giveWays { grid-template-columns:1fr; }.giveWays > a { min-height:0; border-right:0; border-bottom:1px solid var(--line); }.giveWays > a:last-child { border-bottom:0; }
  .pillarGrid { grid-template-columns:1fr 1fr; }.featureMedia { min-height:520px; }.impactGrid { border-left:0; }.eventGrid { grid-template-columns:1fr; }.eventDetails .button { grid-column:2; justify-self:start; }
  .footerGrid { grid-template-columns:1.4fr 1fr; }.initiativeHero { min-height:560px; }.programGrid { grid-template-columns:1fr; }.upcomingList article { grid-template-columns:100px 1fr; }.upcomingList article > .button { grid-column:2; justify-self:start; }.pastGrid { grid-template-columns:1fr; }.pastImage,.pastImage.wide { height:500px; }.valueGrid { grid-template-columns:1fr 1fr; }.leadershipHead { grid-template-columns:1fr; gap:22px; }.workGrid { grid-template-columns:1fr 1fr; }.giveOther .shell > div { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  h2 { font-size:43px; }.brand b { font-size:19px; }.hero { min-height:auto; display:block; padding-top:0; }.heroVideo { position:relative; inset:auto; z-index:1; display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; object-position:center; }.heroContent { padding-top:48px; padding-bottom:64px; }.hero h1 { font-size:54px; line-height:.9; }.heroLead { font-size:17px; }.buttonRow .button { width:100%; }
  .sponsorFeatured,.impactGrid,.focusList,.valueGrid,.footerGrid,.leadershipGrid,.workGrid { grid-template-columns:1fr; }.sponsorFeatured > * { min-height:116px; }.quickGive { padding:26px 20px; }.quickGiveAmounts { grid-template-columns:1fr 1fr; }.pillarGrid { grid-template-columns:1fr; gap:12px; padding-bottom:0; }.pillarGrid .p1 { grid-column:auto; width:auto; justify-self:stretch; }.pillarCard { min-height:340px; }.featureMedia { min-height:500px; }.museumMosaic { grid-template-columns:1fr 1fr; grid-template-rows:1.6fr .8fr; }.museumMosaic .mosaicLarge { grid-column:1 / 3; grid-row:1; }.impactGrid { border-top:0; }.impactGrid div { border-left:1px solid rgba(20,36,30,.25); }.eventCard { grid-template-rows:540px auto; }.eventVisual,.eventVisual.flyerVisual { height:540px; }.eventDetails { grid-template-columns:64px 1fr; padding:20px; }.eventDetails .button { grid-column:2; }.dateBadge { width:64px; height:70px; }.leadershipCard { grid-template-columns:112px 1fr; min-height:0; }.leaderCopy { padding:24px; }.leaderRole { margin-bottom:24px; }.workStripHead { display:block; }.workStripHead h2 { margin-top:20px; }.giveCta { min-height:730px; }
  .footerBottom { flex-direction:column; gap:10px; }.pageHero { padding:80px 0; }.pageHero h1,.initiativeHero h1 { font-size:56px; }.initiativeHero { min-height:620px; }.upcomingList article { grid-template-columns:1fr; }.upcomingList article > .button { grid-column:1; }.calendarDate { width:100px; }.pastImage,.pastImage.wide { height:420px; }.amountGrid { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.heroVideo { display:none; }.button,.pillarCard,.eventCard img { transition:none; } }

@media (max-width:900px) { .museumFocusList,.museumPrograms .programGrid { grid-template-columns:1fr 1fr; }.museumFocusList article:nth-child(2) { border-right:0; }.museumFocusList article:nth-child(-n+2) { border-bottom:1px solid var(--line); }.collectionScroll { padding-left:32px; padding-right:32px; } }
@media (max-width:560px) { .museumHeroLine { font-size:42px !important; }.museumIntroLead h2 { font-size:58px; }.museumFocusList,.museumPrograms .programGrid { grid-template-columns:1fr; }.museumFocusList article,.museumFocusList article:nth-child(2) { min-height:0; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }.museumFocusList article:last-child { border-bottom:0; }.museumFocusList h3 { margin-top:20px; }.museumCollection { padding:78px 0; }.museumCollectionIntro { width:min(100% - 32px, 700px); }.collectionScroll { gap:16px; padding:14px 24px 26px; }.collectionCard,.collectionCard.landscape { flex-basis:76vw; height:420px; transform:none; }.collectionCard.landscape { height:300px; }.collectionCard:nth-child(3n+2),.collectionCard:nth-child(3n) { transform:none; }.collectionModal { padding:12px; }.collectionModalPanel { height:calc(100vh - 24px); padding:34px 14px 14px; }.collectionModalClose { top:5px; right:5px; } }


/* About, leadership, community calendar, and Living Archive refinements */
.aboutStory { position:relative; min-height:720px; display:flex; align-items:center; overflow:hidden; color:white; }
.aboutStoryImage,.aboutStoryShade { position:absolute; inset:0; }
.aboutStoryImage img { object-fit:cover; object-position:center; }
.aboutStoryShade { background:linear-gradient(90deg,rgba(3,43,32,.93),rgba(3,43,32,.74) 52%,rgba(3,43,32,.44)); }
.aboutStoryContent { position:relative; z-index:1; display:grid; grid-template-columns:.88fr 1.12fr; gap:8vw; align-items:start; }
.aboutStoryContent .eyebrow { grid-column:1 / -1; margin:0 0 -10px; }
.aboutStoryContent h2 { max-width:560px; margin:0; font-size:clamp(52px,5.9vw,84px); line-height:.93; }
.aboutStoryContent > div { max-width:650px; padding-top:8px; }
.aboutStoryContent > div p { margin:0 0 18px; color:#f2f7f4; font-size:18px; line-height:1.67; }
.aboutStoryContent > div p:last-child { margin-bottom:0; }

.leadershipCard { min-height:330px; }
.leaderPortrait { position:relative; display:flex; flex-direction:column; gap:12px; overflow:hidden; }
.leaderPortrait.hasPortrait { background:#0d3d2e; }
.leaderPortrait.hasPortrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.leaderPortrait small { max-width:110px; color:#d7eee3; font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.1em; line-height:1.45; text-align:center; text-transform:uppercase; }
.leaderBio { display:block; overflow-y:auto; scrollbar-color:var(--mint) transparent; }
.leaderBio > p { max-width:680px; margin:0 0 16px; color:white; font-size:15px; line-height:1.65; }
.leaderBio > p:last-child { margin-bottom:0; }

.communityCalendar .sectionHead > p { max-width:440px; color:#5d6b64; line-height:1.6; }
.calendarLayout { display:grid; grid-template-columns:.95fr 1.05fr; gap:28px; margin-top:44px; }
.libraryCalendar { min-height:480px; padding:34px; background:#063d2d; color:white; }
.libraryCalendar > div { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:24px; }
.libraryCalendar h3 { margin:10px 0 0; font-family:Georgia,serif; font-size:35px; font-weight:500; }
.libraryCalendar p:not(.eyebrow) { margin:0; color:#c7d8d0; font-size:14px; }
.libraryCalendar iframe { display:block; width:100%; height:365px; border:0; background:white; }
.communitySourceGrid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.communitySourceGrid a { display:flex; min-height:240px; flex-direction:column; padding:28px; background:var(--paper); transition:background .2s ease; }
.communitySourceGrid a:hover { background:#dff1e6; }
.communitySourceGrid span { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.communitySourceGrid h3 { margin:45px 0 10px; font-family:Georgia,serif; font-size:27px; font-weight:500; }
.communitySourceGrid p { margin:0; color:#5f6c65; font-size:14px; line-height:1.55; }
.communitySourceGrid b { margin-top:auto; color:var(--forest); font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.communitySourceGrid em { color:var(--coral); font-style:normal; font-size:16px; }
.calendarNote { max-width:900px; margin:35px 0 0; color:#5d6b64; font-size:14px; line-height:1.6; }

/* Curated listings keep the calendar feeling like FEG's own useful guide. */
.feCalendarHead { max-width:760px; margin-bottom:40px; }
.feCalendarHead h2 { margin:10px 0 14px; font-family:Georgia,serif; font-size:clamp(34px,4vw,56px); font-weight:500; line-height:1.04; }
.feCalendarHead > p:not(.eyebrow) { margin:0; color:#5d6b64; line-height:1.65; }
.feCalendarGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.feCalendarCard { display:flex; min-height:265px; flex-direction:column; padding:28px; background:var(--paper); transition:background .2s ease, transform .2s ease; }
.feCalendarCard:hover { background:#dff1e6; transform:translateY(-2px); }
.feCalendarCard > span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.feCalendarCard h3 { margin:42px 0 10px; font-family:Georgia,serif; font-size:28px; font-weight:500; line-height:1.1; }
.feCalendarCard p { margin:0; color:#5f6c65; font-size:14px; line-height:1.55; }
.feCalendarCard b { margin-top:auto; padding-top:22px; color:var(--forest); font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.feCalendarCard em { color:var(--coral); font-size:16px; font-style:normal; }

/* Three even rows, three columns visible at a time. The collection continues horizontally. */
.collectionScroll { display:grid; grid-auto-columns:calc((100% - 44px) / 3); grid-auto-flow:column; grid-template-rows:repeat(3, 220px); align-items:stretch; gap:16px 22px; width:min(100% - 64px, 1320px); margin:0 auto; padding:20px 0 30px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-color:var(--mint) transparent; }
.collectionCard,.collectionCard.landscape { width:auto; height:auto; min-height:0; padding:10px; transform:none; scroll-snap-align:start; }
.collectionCard:nth-child(3n+2),.collectionCard:nth-child(3n) { transform:none; }
.collectionCard:hover,.collectionCard:focus-visible { transform:translateY(-8px) scale(1.015); }
.collectionModalPanel { width:min(1240px,100%); height:min(92vh,940px); padding:48px; }
.collectionModalImage { background:#f1eadc; }
.collectionModalImage img { object-fit:contain !important; object-position:center; }

@media (max-width:900px) {
  .aboutStoryContent,.calendarLayout { grid-template-columns:1fr; }
  .aboutStory { min-height:760px; }
  .aboutStoryContent .eyebrow { grid-column:auto; }
  .communitySourceGrid { min-height:480px; }
  .feCalendarGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collectionScroll { grid-auto-columns:calc((100% - 18px) / 2); grid-template-rows:repeat(3, 190px); gap:14px 18px; width:min(100% - 48px, 720px); }
}
@media (max-width:560px) {
  .aboutStory { min-height:700px; }
  .aboutStoryContent { gap:28px; }
  .aboutStoryContent h2 { font-size:51px; }
  .aboutStoryContent > div p { font-size:16px; }
  .leadershipCard { min-height:310px; }
  .leaderBio { padding:25px; }
  .calendarLayout { margin-top:30px; }
  .libraryCalendar { min-height:0; padding:25px 20px; }
  .libraryCalendar > div { display:block; }
  .libraryCalendar p:not(.eyebrow) { margin-top:8px; }
  .communitySourceGrid { grid-template-columns:1fr; }
  .communitySourceGrid a { min-height:190px; }
  .communitySourceGrid h3 { margin-top:30px; }
  .feCalendarGrid { grid-template-columns:1fr; }
  .feCalendarCard { min-height:220px; padding:25px; }
  .feCalendarCard h3 { margin-top:28px; }
  .collectionScroll { display:flex; width:100%; gap:16px; padding:14px 24px 26px; }
  .collectionCard,.collectionCard.landscape { flex:0 0 76vw; height:340px; }
  .collectionModalPanel { height:calc(100vh - 24px); padding:34px 14px 14px; }
}


/* A compact visual bridge after the pillars, before the ways to participate. */
.communityBridge { position:relative; min-height:390px; display:flex; align-items:center; overflow:hidden; color:white; }
.communityBridge > img { object-fit:cover; object-position:center 42%; }
.communityBridgeShade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,43,32,.91),rgba(3,43,32,.66) 54%,rgba(3,43,32,.22)); }
.communityBridgeCopy { position:relative; z-index:1; display:grid; grid-template-columns:.78fr 1.22fr; column-gap:7vw; align-items:end; }
.communityBridgeCopy .eyebrow { grid-column:1 / -1; margin:0 0 14px; }
.communityBridgeCopy h2 { max-width:560px; margin:0; font-size:clamp(43px,4.7vw,68px); line-height:.94; }
.communityBridgeCopy > p { max-width:620px; margin:0; color:#f4f8f5; font-size:18px; line-height:1.6; }
.communityBridgeCopy .lightLink { grid-column:2; margin-top:18px; color:var(--mint); }
.giveHome { padding:76px 0; }
.giveHomeIntro > p:not(.eyebrow) { max-width:550px; margin:20px 0 0; color:#5b6962; font-size:17px; line-height:1.6; }
@media (max-width:900px) {
  .communityBridgeCopy { grid-template-columns:1fr; gap:18px; padding-top:64px; padding-bottom:64px; }
  .communityBridgeCopy .eyebrow,.communityBridgeCopy .lightLink { grid-column:auto; }
}
@media (max-width:560px) {
  .communityBridge { min-height:460px; }
  .communityBridgeCopy h2 { font-size:48px; }
  .communityBridgeCopy > p { font-size:16px; }
}


/* Refined homepage bridge and About lead: no repeated image, one clear story panel. */
.communityBridge { min-height:0; padding:58px 0; background:var(--sage); color:var(--ink); }
.communityBridge > img,.communityBridgeShade { display:none; }
.communityBridgeCopy { display:grid; grid-template-columns:.76fr 1.24fr; column-gap:7vw; align-items:end; }
.communityBridgeCopy .eyebrow { grid-column:1 / -1; margin:0 0 12px; color:var(--forest); }
.communityBridgeCopy h2 { max-width:570px; margin:0; color:var(--forest); font-size:clamp(42px,4.5vw,64px); line-height:.95; }
.communityBridgeCopy > p { max-width:650px; margin:0; color:#40584d; font-size:17px; line-height:1.6; }
.communityBridgeCopy .textLink { grid-column:2; margin-top:16px; color:var(--forest); }

.aboutStory { min-height:760px; }
.aboutStoryImage img { object-position:100% 72%; }
.aboutStoryShade { background:linear-gradient(90deg,rgba(3,43,32,.38),rgba(3,43,32,.08) 70%,rgba(3,43,32,.22)); }
.aboutStoryContent { display:flex; align-items:center; justify-content:flex-start; width:100%; }
.aboutStoryPanel { max-width:650px; margin:76px 0; padding:42px 46px; background:rgba(249,247,240,.93); color:var(--ink); box-shadow:0 24px 54px rgba(1,30,21,.22); }
.aboutStoryPanel .eyebrow { margin:0 0 18px; color:var(--forest); }
.aboutStoryPanel h2 { max-width:570px; margin:0 0 26px; color:var(--forest); font-size:clamp(45px,4.8vw,70px); line-height:.94; }
.aboutStoryPanel > p:not(.eyebrow) { margin:0 0 16px; color:#3e5248; font-size:16px; line-height:1.64; }
.aboutStoryPanel > p:last-child { margin-bottom:0; }
@media (max-width:900px) {
  .communityBridgeCopy { grid-template-columns:1fr; gap:16px; }
  .communityBridgeCopy .eyebrow,.communityBridgeCopy .textLink { grid-column:auto; }
  .aboutStory { min-height:0; padding:70px 0; }
  .aboutStoryPanel { margin:0; }
}
@media (max-width:560px) {
  .communityBridge { padding:48px 0; }
  .communityBridgeCopy h2 { font-size:47px; }
  .aboutStory { padding:42px 0; }
  .aboutStoryPanel { padding:30px 24px; }
  .aboutStoryPanel h2 { font-size:48px; }
}


/* Visible collection labels make people and places discoverable before a click. */
.collectionCard { position:relative; }
.collectionLabel { position:absolute; right:0; bottom:0; left:0; z-index:2; display:flex; min-height:64px; flex-direction:column; justify-content:flex-end; padding:24px 14px 12px; background:linear-gradient(0deg,rgba(1,24,17,.92),rgba(1,24,17,0)); color:white; text-align:left; pointer-events:none; }
.collectionLabel b { font-family:Georgia,serif; font-size:18px; font-weight:500; line-height:1.04; }
.collectionLabel em { margin-top:4px; color:var(--mint); font-family:Arial,sans-serif; font-size:9px; font-style:normal; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.collectionCard:hover .collectionLabel,.collectionCard:focus-visible .collectionLabel { background:linear-gradient(0deg,rgba(1,24,17,.98),rgba(1,24,17,.15)); }
@media (max-width:560px) {
  .collectionLabel b { font-size:20px; }
}


/* Homepage bridge and next-event feature: concise, centered, and free of repeated imagery. */
.communityBridge { padding:72px 0; }
.communityBridgeCopy { display:flex; flex-direction:column; align-items:center; max-width:920px; text-align:center; }
.communityBridgeCopy .eyebrow { width:100%; margin-bottom:16px; }
.communityBridgeCopy h2 { max-width:780px; }
.communityBridgeCopy > p { max-width:745px; margin:22px auto 0; }
.communityBridgeCopy .textLink { margin-top:20px; }

.aboutPageLead { padding:86px 0 72px; background:var(--paper); color:var(--ink); }
.aboutPageLead h1 { max-width:900px; margin:0 0 18px; color:var(--forest); font-size:clamp(55px,6.3vw,90px); line-height:.92; }
.aboutPageLead p:not(.eyebrow) { max-width:690px; margin:0; color:#53635c; font-size:19px; line-height:1.55; }

.homeUpcoming { border-top:1px solid var(--line); }
.homeUpcoming article { display:grid; grid-template-columns:130px minmax(0,1fr) auto; gap:34px; align-items:center; padding:36px 0; border-bottom:1px solid var(--line); }
.homeUpcoming h3 { margin:7px 0; font-family:Georgia,serif; font-size:clamp(28px,3vw,38px); font-weight:500; line-height:1.05; }
.homeUpcoming article div:nth-child(2) > p:not(.eventType) { max-width:670px; margin:0 0 8px; color:#52635b; }
.homeUpcoming article div:nth-child(2) > span { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.04em; }
.homeUpcoming .button { white-space:nowrap; }

@media (max-width:900px) {
  .communityBridgeCopy { padding:0; }
  .homeUpcoming article { grid-template-columns:108px minmax(0,1fr); gap:24px; }
  .homeUpcoming .button { grid-column:2; justify-self:start; }
}
@media (max-width:560px) {
  .communityBridge { padding:58px 0; }
  .communityBridgeCopy h2 { font-size:47px; }
  .aboutPageLead { padding:66px 0 56px; }
  .aboutPageLead h1 { font-size:56px; }
  .aboutPageLead p:not(.eyebrow) { font-size:17px; }
  .homeUpcoming article { grid-template-columns:1fr; gap:20px; padding:28px 0; }
  .homeUpcoming .calendarDate { width:102px; }
  .homeUpcoming .button { grid-column:auto; }
}

/* User review pass: fixed featured partners, clearer social links and tighter spacing. */
.desktopNav .navMuseum,.mobileMenu .navMuseum { color:var(--coral) !important; font-weight:800; }
.desktopNav .navMuseum:hover,.mobileMenu .navMuseum:hover { color:#d95135 !important; }
.giveWays > a { min-height:0; padding:22px 24px; }
.giveWays { margin-top:42px; }
.museumPortraitGrid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:10px; padding:10px; background:#082f23; }
.museumPortraitTile { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-width:0; min-height:0; padding:9px; background:#f1eadc; }
.museumPortraitImage { position:relative; flex:1; min-height:0; background:#f1eadc; }
.museumPortraitImage img { object-fit:contain !important; object-position:center; }
.museumPortraitTile > span { display:block; padding:9px 2px 1px; color:var(--ink); font-size:clamp(11px,.95vw,14px); font-weight:800; line-height:1.2; }
.aboutStory { display:flex; align-items:center; min-height:940px; }
.aboutStoryContent { display:flex; align-items:center; justify-content:flex-start; width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.aboutStoryPanel { margin:0; transform:none; }
.workGrid h3 { margin:18px 0 8px; }
.workStripHead { flex-direction:column; align-items:center; gap:14px; margin-bottom:34px; text-align:center; }
.workStripHead .eyebrow { margin-bottom:0; }
.workStripHead h2 { width:100%; margin-inline:auto; }
.partnerFeaturedCards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.partnerLogoRail { display:flex; align-items:stretch; gap:14px; overflow-x:auto; margin-top:18px; padding:0 0 12px; scroll-snap-type:x mandatory; scrollbar-color:var(--forest) transparent; }
.partnerLogoRail .partnerCard { flex:0 0 clamp(180px,20vw,245px); min-height:130px; scroll-snap-align:start; }
.partnerCard.partnerTown { background:var(--deep); }
.socialIconLinks { display:flex; align-items:center; gap:10px; margin:12px 0 14px; }
.socialIconLinks a { width:38px; height:38px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; color:var(--mint); transition:background .2s,color .2s; }
.socialIconLinks a:hover,.socialIconLinks a:focus-visible { background:var(--coral); color:var(--ink); }
.socialIconLinks svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.socialIconLinks .iconFill { fill:currentColor; stroke:none; }
.footer .socialIconLinks { margin:14px 0; }
.mediaSocial .socialIconLinks a { color:var(--forest); }
.mediaSocial .socialIconLinks a:hover,.mediaSocial .socialIconLinks a:focus-visible { color:var(--ink); }
.communityEventList { border-top:1px solid var(--line); margin-bottom:42px; }
.communityEventList article { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }
.communityEventList article > div { min-width:0; }
.communityEventList time { color:#59675f; font-size:12px; font-weight:700; }
.communityEventList h3 { margin:6px 0; font-family:Georgia,serif; font-size:27px; font-weight:500; }
.communityEventList article > div > p:last-child { margin:0; color:#5f6c65; font-size:14px; }
.communityEventList .textLink { flex:none; }
.calendarEventTag { display:block; margin-top:9px; padding:5px 6px; border-left:3px solid var(--forest); background:#e1f2e8; color:var(--forest); font-size:10px; font-weight:700; line-height:1.25; }
.feMonthDay.hasEvent { background:#fff; }
.fegHealthFair { border-top:3px solid var(--coral); }
.eventArchiveList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border-top:0; }
.eventArchiveList article { min-height:0; grid-template-columns:165px 1fr; gap:20px; padding:16px; border:1px solid var(--line); background:var(--paper); }
.eventArchiveList article > div:first-child { width:100%; height:124px; overflow:hidden; background:#eee8db; }
.eventArchiveList img { width:100%; height:100%; object-fit:cover; background:transparent; }
.eventArchiveList article > div:last-child > p { margin:0 0 5px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.eventArchiveList article > div:last-child > span { display:block; line-height:1.45; }

@media (max-width:900px) {
  .partnerFeaturedCards { gap:12px; }
  .eventArchiveList { grid-template-columns:1fr; }
  .aboutStory { min-height:700px; }
  .aboutStoryContent { width:min(100% - 32px, 700px); }
}
@media (max-width:560px) {
  .museumPortraitTile > span { padding:10px 8px; font-size:10px; }
  .aboutStory { min-height:0; padding:60px 0; }
  .aboutStoryPanel { margin:0; }
  .workGrid h3 { margin:14px 0 8px; }
  .partnerFeaturedCards { grid-template-columns:1fr; }
  .partnerFeaturedCards .partnerCard { min-height:110px; }
  .partnerLogoRail .partnerCard { flex-basis:180px; }
  .communityEventList article { align-items:flex-start; flex-direction:column; gap:10px; }
  .eventArchiveList article { grid-template-columns:100px 1fr; gap:14px; padding:12px; }
  .eventArchiveList article > div:first-child { height:100px; }
}


/* Museum identity and exhibit viewing: the Museum has the donate-color emphasis and its panels fill the screen. */
.desktopNav .navMuseum,.mobileMenu .navMuseum { color:var(--coral) !important; font-weight:800; }
.desktopNav .navMuseum:hover,.mobileMenu .navMuseum:hover { color:#d95135; opacity:1; }

.collectionModal { isolation:isolate; padding:clamp(8px,1.2vw,18px); background:#031e16; }
.collectionModalBlur { position:absolute; z-index:0; inset:-64px; background-position:center; background-size:cover; filter:blur(52px) brightness(.42) saturate(.9); transform:scale(1.16); }
.collectionModalBackdrop { z-index:1; background:rgba(1,16,11,.34); backdrop-filter:blur(4px); }
.collectionModalPanel { z-index:2; width:calc(100vw - clamp(16px,2.4vw,36px)); max-width:none; height:calc(100dvh - clamp(16px,2.4vw,36px)); max-height:none; padding:0; background:transparent; box-shadow:none; }
.collectionModalImage { overflow:visible; background:transparent !important; filter:drop-shadow(0 24px 48px rgba(0,0,0,.42)); }
.collectionModalImage img { object-fit:contain !important; }

@media (max-width:560px) {
  .collectionModal { padding:6px; }
  .collectionModalPanel { width:calc(100vw - 12px); height:calc(100dvh - 12px); }
}

/* September completion pass */
.pillarGrid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pillarGrid .p1 { grid-column:2 / 4; width:auto; justify-self:stretch; }
.pillarGrid .p2 { grid-column:1 / 3; }
.pillarGrid .p3 { grid-column:3 / 5; }
.pillarCard { min-height:360px; }
.pillarShade { inset:0; background:linear-gradient(0deg,rgba(4,35,26,.92),rgba(4,35,26,.35) 58%,rgba(4,35,26,.08)); }
.featureMedia.museumFeatureImage img { object-position:center; }
.museumPanelTriptych { position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:5px; background:#082f23; }
.museumPanelTriptych img { position:relative !important; width:100% !important; height:100% !important; object-fit:cover; object-position:center top; }
.feMonthCalendar { max-width:100%; overflow-x:auto; margin-bottom:34px; padding:22px; border:1px solid var(--line); background:#fff; }
.feMonthWeekdays,.feMonthDays { min-width:620px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.feMonthWeekdays span { padding:10px 8px; color:#53635a; font-size:11px; font-weight:800; text-align:center; text-transform:uppercase; letter-spacing:.1em; }
.feMonthDay { min-height:104px; padding:10px; border:1px solid rgba(20,36,30,.09); }
.feMonthDay time { display:block; font-size:13px; font-weight:700; }
.feMonthDay.hasEvent { background:#e1f2e8; border-color:rgba(7,89,61,.35); }
.feMonthDay a { display:block; margin-top:12px; padding:8px; background:var(--forest); color:white; font-size:11px; font-weight:700; line-height:1.35; }
.feMonthDay a:focus-visible,.feMonthDay a:hover { outline:2px solid var(--coral); outline-offset:2px; }
.pastTextCard { display:flex; min-height:260px; flex-direction:column; justify-content:center; padding:28px; background:#fff; }
.pastTextCard > p { margin:0 0 18px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pastTextCard h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:28px; font-weight:500; }
.eventArchiveList { border-top:1px solid var(--line); }
.eventArchiveList article { min-height:108px; display:grid; grid-template-columns:140px 1fr; align-items:center; gap:22px; padding:14px 0; border-bottom:1px solid var(--line); }
.eventArchiveList article > div:first-child { display:flex; align-items:center; justify-content:center; }
.eventArchiveList img { width:112px; height:90px; object-fit:contain; background:#fff; }
.eventArchiveList article > div:last-child > p { margin:0 0 5px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.eventArchiveList h3 { margin:0 0 5px; font-family:Georgia,serif; font-size:25px; font-weight:500; }
.eventArchiveList span { color:#5f6c65; font-size:13px; }
.pastImage img { width:100%; height:100%; object-fit:cover; }
.amountGrid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.amountGrid a { min-height:68px; display:grid; place-items:center; }
.giveLayout .button.coral { margin-top:8px; }
.museumHero .initiativeHeroShade { background:linear-gradient(0deg,rgba(3,30,23,.96) 0%,rgba(3,30,23,.68) 20%,rgba(3,30,23,.26) 46%,rgba(3,30,23,.04) 76%,rgba(3,30,23,0) 100%),linear-gradient(90deg,rgba(3,30,23,.2),rgba(3,30,23,.02) 48%,transparent 70%); }
.museumHero .initiativeHeroContent { padding-bottom:clamp(100px,14vh,160px); }
.museumHeroLine { max-width:575px; }
.museumIntro.section { padding-block:72px; }
.museumFocusList { margin-top:36px; }
.museumFocusList article { min-height:128px; padding:22px; }
.museumFocusList h3 { margin-top:25px; }
.museumPrograms.section { padding-block:76px; }
.museumProgramHead { margin-bottom:32px; }
.museumProgramHead h2 { margin-bottom:0; }
.museumPrograms .programGrid article { min-height:270px; }
.museumPrograms .programGrid h3 { margin-top:30px; }
.museumPrograms .programGrid article::after { content:none; }
.collectionModalPanel { pointer-events:none; }
.collectionModalImage { pointer-events:auto; }
.leaderPrompt { border-radius:999px; color:var(--mint); }
.leaderBio { overflow-y:auto; justify-content:flex-start; }
.desktopNav .navMuseum,.mobileMenu .navMuseum { color:var(--coral) !important; }
.desktopNav .navMuseum:hover,.mobileMenu .navMuseum:hover { color:#d95135 !important; }
.museumSponsorCta .buttonRow { flex-wrap:wrap; justify-content:center; }
.storyGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.storyGrid article { display:flex; flex-direction:column; padding:20px; background:var(--paper); }

/* Keep the museum portrait montage crisp and proportionate, and halve the gap before events. */
#museum.feature { padding-bottom:56px; }
#upcoming.eventsTeaser { padding-top:56px; padding-bottom:56px; }
.sponsorBand { padding-block:56px; }
@media (max-width:900px) {
  #museum.feature { padding-bottom:36px; }
  #upcoming.eventsTeaser { padding-top:36px; }
  #upcoming.eventsTeaser { padding-bottom:36px; }
  .museumPortraitTile { padding:7px; }
}
.storyImage { position:relative; height:260px; margin:-20px -20px 24px; overflow:hidden; }
.storyGrid .eyebrow { margin-bottom:10px; }
.storyGrid h3 { margin-bottom:10px; font-family:Georgia,serif; font-size:28px; font-weight:500; line-height:1.08; }
.storyGrid article > p:not(.eyebrow) { color:#58675f; font-size:14px; }
.storyGrid .textLink { margin-top:auto; align-self:flex-start; }
.storyInvite { max-width:800px; text-align:center; }
.storyInvite p:not(.eyebrow) { color:#58675f; }
.storyInvite .button { margin-top:12px; }
.mediaHub { display:grid; grid-template-columns:.75fr 1.25fr; gap:6vw; align-items:start; }
.mediaLead { position:sticky; top:140px; }
.mediaLead h2 { color:var(--forest); }
.mediaLead > p:not(.eyebrow) { color:#58675f; }
.mediaVideoGrid { display:grid; gap:28px; }
.mediaVideoGrid article { padding:24px; background:#fff; }
.mediaVideoGrid .eyebrow { margin-bottom:10px; }
.mediaVideoGrid h3 { margin-bottom:20px; font-family:Georgia,serif; font-size:26px; font-weight:500; }
.mediaVideo { width:100%; aspect-ratio:16 / 9; background:#031e16; }
.mediaVideo iframe { display:block; width:100%; height:100%; border:0; }
.mediaSocial { padding-block:76px; }
.partnerCarouselCards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.partnerCard { min-width:0; min-height:178px; display:flex; align-items:center; justify-content:center; padding:22px; border:1px solid var(--line); background:var(--paper); }
.partnerCard img { width:auto; height:auto; max-width:86%; max-height:132px; object-fit:contain; }
.partnerCard.partnerEmergent img { max-height:95px; }
.partnerCard.partnerTown { background:var(--deep); }
.partnerCard.partnerTown img { max-width:92%; }
.partnerCarouselControls { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:18px; }
.partnerCarouselControls button { min-height:40px; padding:0 15px; border:1px solid rgba(7,89,61,.35); border-radius:999px; background:transparent; color:var(--forest); font-size:12px; font-weight:800; cursor:pointer; }
.partnerCarouselControls button:hover,.partnerCarouselControls button:focus-visible { background:var(--forest); color:white; }

@media (max-width:900px) {
  .pillarGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pillarGrid .p1 { grid-column:1 / 3; width:min(100%,680px); justify-self:center; }
  .pillarGrid .p2,.pillarGrid .p3 { grid-column:auto; }
  .partnerCarouselCards { gap:12px; }
  .partnerCard { min-height:145px; padding:14px; }
  .partnerCard img { max-height:100px; }
  .storyGrid { grid-template-columns:1fr 1fr; }
  .storyGrid article:last-child { grid-column:1 / -1; }
  .mediaHub { grid-template-columns:1fr; gap:34px; }
  .mediaLead { position:static; }
}
@media (max-width:560px) {
  .pillarGrid { grid-template-columns:1fr; }
  .pillarGrid .p1,.pillarGrid .p2,.pillarGrid .p3 { grid-column:auto; width:auto; }
  .pillarCard { min-height:330px; }
  .amountGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .storyGrid { grid-template-columns:1fr; }
  .storyGrid article:last-child { grid-column:auto; }
  .storyImage { height:220px; }
  .mediaVideoGrid article { padding:18px; }
  .partnerCarouselCards { grid-template-columns:1fr; }
  .partnerCard { min-height:120px; }
  .aboutStoryPanel { transform:none; }
  .feMonthCalendar { padding:12px; }
  .feMonthDay { min-height:84px; padding:7px; }
  .eventArchiveList article { grid-template-columns:76px 1fr; gap:14px; }
  .eventArchiveList img { width:72px; height:82px; }
}

/* Museum sponsorship story, sourced from the Greenburgh Black History Museum prospectus. */
.museumProgramHead { display:grid; grid-template-columns:.9fr 1.1fr; column-gap:7vw; align-items:end; margin-bottom:52px; }
.museumProgramHead .eyebrow { grid-column:1 / -1; }

/* Month navigation and visible sideways-scroll affordances. */
.feCalendarWrap { margin:0 0 36px; }
.feCalendarControls { display:flex; align-items:center; justify-content:center; gap:20px; margin:0 0 16px; }
.feCalendarControls h3 { min-width:220px; margin:0; font-family:Georgia,serif; font-size:clamp(22px,2.4vw,30px); font-weight:500; text-align:center; }
.monthNavButton { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--forest); border-radius:50%; background:transparent; color:var(--forest); font-size:27px; line-height:1; cursor:pointer; }
.monthNavButton:hover,.monthNavButton:focus-visible { background:var(--forest); color:#fff; outline:2px solid var(--coral); outline-offset:2px; }
.feMonthCalendar { margin-bottom:0; }
.feMonthWeekdays,.feMonthDays { min-width:700px; }
.feMonthDay { min-height:116px; }
.calendarEventTag { display:flex !important; align-items:flex-start; justify-content:space-between; gap:5px; margin-top:7px !important; padding:7px 6px !important; border-left:3px solid var(--coral); background:var(--forest) !important; color:#fff !important; font-size:12px !important; line-height:1.3 !important; text-decoration:none; }
.calendarEventTag span:first-child { overflow-wrap:anywhere; }
.calendarEventTag:hover,.calendarEventTag:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.calendarHint { margin:10px 2px 0; color:#59675f; font-size:13px; text-align:right; }
.feAgenda { display:none; }
.partnerRailWrap { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:14px; }
.partnerLogoRail { width:100%; min-width:0; margin-top:0; }
.partnerRailNext { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 16px; border:1px solid var(--forest); border-radius:999px; background:var(--paper); color:var(--forest); font-size:14px; font-weight:750; white-space:nowrap; cursor:pointer; }
.partnerRailNext:hover,.partnerRailNext:focus-visible { background:var(--forest); color:#fff; outline:2px solid var(--coral); outline-offset:2px; }
.calendarUndated { margin:18px 0 34px; padding:18px 20px; border-left:4px solid var(--coral); background:var(--paper); }
.calendarUndated .eyebrow { margin:0 0 10px; color:var(--forest); }
.calendarUndated a { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; color:var(--forest); font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.calendarUndated a span:last-child { color:#59675f; font-size:13px; font-weight:600; }
.eventArchiveMore { display:inline-flex; align-items:center; gap:8px; margin-top:10px; color:var(--forest); font-size:14px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.eventArchiveMore span { font-size:17px; }
.eventArchiveMore:hover,.eventArchiveMore:focus-visible { color:#b94830; outline-color:var(--coral); }
.eventStoryBack { display:inline-block; margin-bottom:25px; }
.eventStoryMeta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 32px; margin:0 0 28px; }
.eventStoryMeta p { margin:0; }
.eventStoryFeature { display:grid; grid-template-columns:minmax(0,1fr); gap:30px; align-items:start; }
.eventStoryFeature > img { display:block; width:100%; max-height:70vh; object-fit:contain; object-position:left center; background:#eee8db; }
.eventStoryFeature.financialLiteracyStory { grid-template-columns:minmax(250px,.8fr) minmax(280px,1.2fr); }
.financialLiteracyStory > img { width:min(100%,660px); max-height:none; justify-self:center; }
.eventStoryCopy { padding:24px 28px; background:var(--paper); border:1px solid var(--line); }
.eventStoryCopy .eyebrow { margin:0 0 10px; }
.eventStoryCopy ul { margin:0 0 26px; padding-left:22px; line-height:1.7; }
.eventStoryCopy ul:last-child { margin-bottom:0; }
.eventStoryRelated { margin-top:34px; padding-top:22px; border-top:1px solid var(--line); }
.eventStoryRelated > p { margin:0 0 10px; }

@media (max-width:900px) {
  .financialLiteracyStory { grid-template-columns:minmax(220px,.9fr) minmax(250px,1.1fr); }
}
@media (max-width:560px) {
  .feCalendarControls { gap:12px; }
  .feCalendarControls h3 { min-width:190px; }
  .feMonthCalendar { padding:12px; }
  .feMonthDays,.feMonthWeekdays { min-width:650px; }
  .feMonthDay { min-height:100px; }
  .eventStoryFeature.financialLiteracyStory { grid-template-columns:1fr; }
  .eventStoryCopy { padding:20px; }
}

/* Small-screen corrections requested for the FEG review. */
@media (max-width:560px) {
  .hero h1 { max-width:100%; font-size:clamp(36px,10vw,42px); line-height:1.12; letter-spacing:-.045em; }
  .mobileMenu { z-index:60; }
  .mobileMenu nav { top:calc(100% + 10px); width:min(280px,calc(100vw - 32px)); max-height:calc(100dvh - 110px); overflow-y:auto; padding:10px; }
  .mobileMenu a { padding:13px 12px; border-radius:7px; }
  .mobileMenu a:hover,.mobileMenu a:focus-visible { background:#e8f2eb; outline:2px solid var(--forest); outline-offset:-2px; }
  .partnerFeaturedCards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .partnerFeaturedCards .partnerCard { min-height:100px; padding:7px 5px; }
  .partnerFeaturedCards .partnerCard img { max-width:94%; max-height:70px; }
  .partnerFeaturedCards .partnerRotary img { max-width:74%; max-height:72px; }
  .partnerLogoRail .partnerCard { flex-basis:76vw; min-height:112px; }
  .leadershipCardCalvin { grid-template-columns:145px minmax(0,1fr); }
  .leadershipCardCalvin .leaderPortrait img { object-position:40% top; }
  .leaderBio { -webkit-overflow-scrolling:touch; }
  .pageHero { padding:64px 0 58px; }
  .pageHero h1,.initiativeHero h1 { font-size:clamp(40px,11vw,52px); line-height:1.02; letter-spacing:-.04em; }
  .feMonthCalendar { display:none; }
  .feAgenda { display:block; border-top:1px solid var(--line); }
  .feAgendaEvent { display:grid; grid-template-columns:58px minmax(0,1fr) 36px; gap:14px; align-items:center; padding:15px 4px; border-bottom:1px solid var(--line); }
  .feAgendaEvent time { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:62px; border:1px solid var(--line); color:var(--forest); line-height:1.1; }
  .feAgendaEvent time span { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
  .feAgendaEvent time strong { margin:3px 0; font-family:Georgia,serif; font-size:27px; font-weight:500; }
  .feAgendaEvent h4 { margin:0; font-size:14px; line-height:1.35; }
  .feAgendaEvent p { margin:4px 0 0; color:#5f6c65; font-size:12px; }
  .feAgendaEvent > a { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--forest); border-radius:50%; color:var(--forest); font-size:18px; }
  .feAgendaEvent > a:focus-visible,.feAgendaEvent > a:hover { background:var(--forest); color:white; outline:2px solid var(--coral); outline-offset:2px; }
  .feAgendaEmpty { margin:0; padding:20px 4px; color:#5f6c65; font-size:14px; }
  .calendarHint { text-align:left; }
  .museumFocusList article { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:12px; align-items:start; }
  .museumFocusList article > span { grid-column:1; grid-row:1; }
  .museumFocusList h3 { grid-column:2; grid-row:1; margin:0; }
}
.museumProgramHead h2 { max-width:660px; margin:0; font-size:clamp(43px,4.9vw,68px); }
.museumProgramHead > p:last-child { max-width:520px; margin:0 0 7px; color:#56645d; font-size:17px; }
.museumPrograms .programGrid article { position:relative; overflow:hidden; border-top:4px solid var(--forest); }
.museumPrograms .programGrid article::after { content:""; position:absolute; right:-50px; bottom:-58px; width:150px; height:150px; border:1px solid rgba(7,89,61,.16); border-radius:50%; }
.museumProgramVideo { position:relative; z-index:1; width:100%; aspect-ratio:16 / 9; margin-top:24px; overflow:hidden; background:#031e16; }
.museumProgramVideo iframe { display:block; width:100%; height:100%; border:0; }

.museumSupport { background:#072f24; color:white; }
.museumSupportHead { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:end; margin-bottom:56px; }
.museumSupportHead h2 { max-width:620px; margin:0; font-size:clamp(50px,5.7vw,80px); line-height:.93; }
.museumSupportHead > div:last-child > p { max-width:590px; margin:0; color:#cfddd7; font-size:18px; }
.museumSponsorReasons { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.museumSponsorReasons span { padding:10px 12px; border:1px solid rgba(143,224,189,.35); color:var(--mint); font-size:11px; font-weight:800; letter-spacing:.035em; }
.museumSupportGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.18); }
.museumSupportGrid article { min-height:270px; padding:30px; background:#0a4634; }
.museumSupportGrid article:nth-child(even) { background:#0b523b; }
.museumSupportGrid article > span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.13em; }
.museumSupportGrid h3 { margin:58px 0 12px; font-family:Georgia,serif; font-size:30px; font-weight:500; line-height:1.05; }
.museumSupportGrid p { margin:0; color:#c8d8d1; font-size:14px; line-height:1.6; }
.museumSponsorCta { display:flex; flex-direction:column; align-items:center; gap:30px; margin-top:36px; padding:42px; background:#f1eadc; color:var(--ink); text-align:center; }
.museumSponsorCta > div:first-child { display:flex; flex-direction:column; align-items:center; }
.museumSponsorCta h3 { max-width:700px; margin:0 0 14px; font-family:Georgia,serif; font-size:clamp(34px,3.8vw,52px); font-weight:500; line-height:1.02; }
.museumSponsorCta p:not(.eyebrow) { max-width:760px; margin:0; color:#4f6057; }
.museumSponsorCta .eyebrow { color:var(--forest); }
.museumSponsorCta .buttonRow { justify-content:center; }
.museumSponsorCta .button.glass { border-color:var(--forest); color:var(--forest); background:transparent; }

@media (max-width:900px) {
  .museumProgramHead,.museumSupportHead { grid-template-columns:1fr; gap:24px; }
  .museumSupportGrid { grid-template-columns:1fr 1fr; }
  .museumSponsorCta .buttonRow { justify-content:center; }
}

@media (max-width:560px) {
  .museumProgramHead { margin-bottom:34px; }
  .museumSupportHead { margin-bottom:38px; }
  .museumSupportHead h2 { font-size:54px; }
  .museumSupportGrid { grid-template-columns:1fr; }
  .museumSupportGrid article { min-height:0; }
  .museumSupportGrid h3 { margin-top:34px; }
  .museumSponsorCta { padding:30px 22px; }
}

/* Stories and media pages */
.contentHub { display:grid; grid-template-columns:.92fr 1.08fr; gap:9vw; align-items:start; }
.contentHub h2 { margin-bottom:0; color:var(--forest); }
.contentHub > div:last-child > p { max-width:620px; color:#52645b; font-size:18px; }
.contentHub .buttonRow { margin-top:30px; }
.socialPrimary { display:inline-flex; align-items:center; justify-content:space-between; min-width:min(100%,410px); padding:18px 20px; background:var(--deep); color:white; font-weight:800; }
.socialPrimary span { color:var(--mint); font-size:20px; }
.socialPresence { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.socialPresence > span { display:inline-flex; gap:10px; align-items:center; padding:12px 14px; border:1px solid var(--line); font-weight:800; }
.socialPresence em { color:var(--forest); font-size:10px; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.mediaNote { font-size:14px !important; }
.mediaContact { max-width:800px; }
.mediaContact > p:not(.eyebrow) { max-width:650px; color:#52645b; font-size:18px; }
.mediaContact .textLink { margin-left:22px; color:var(--forest); }
.leaderPrompt { display:inline-flex; width:max-content; padding:7px 10px; border:1px solid rgba(143,224,189,.5); }
.calendarDate { gap:4px; }
.calendarDate span { margin-top:4px; line-height:1.25; }
@media (max-width:900px) { .contentHub { grid-template-columns:1fr; gap:28px; } }
