:root{--cream:#fbf7ed}a{color:var(--blue)}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f26c4d;outline-offset:3px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--navy);background:var(--navy);color:white;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none;min-height:44px}button.secondary,.button.secondary{background:white;color:var(--navy);border-color:#d5dce7}.button.small{padding:8px 14px;font-size:14px}input,select,textarea{min-height:46px;width:100%;border:1px solid #cbd3df;border-radius:8px;background:white;color:var(--ink);padding:10px 12px;font:inherit}label{display:grid;gap:7px;font-size:14px;font-weight:600}h1{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-1px;margin:12px 0 18px}h2{font-size:22px;line-height:1.25}p{line-height:1.6}.wupHeader{height:110px;background:var(--cream);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1200px)/2));gap:24px}.wupBrand{display:flex;flex-direction:column;text-decoration:none;gap:4px;flex-shrink:0}.wupBrand img{width:200px;height:auto}.wupBrand span{font-size:8px;letter-spacing:1px;font-weight:800;color:var(--navy)}.wupHeader nav{display:flex;gap:28px}.wupHeader nav a{font-weight:700;text-decoration:none}.page{max-width:1250px;margin:0 auto;padding:46px 24px 64px;min-height:60vh}.page.narrow{max-width:560px}.page.medium{max-width:850px}.pageHeading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.pageHeading>div>p{color:#536278}.eyebrow{color:#4c647c;font-size:12px;font-weight:800;letter-spacing:1.4px}.stack{display:grid;gap:20px}.stack>button{width:100%}.panel{padding:26px;border:1px solid var(--line);background:white;border-radius:16px;margin:20px 0}.panel form{margin-top:20px}.panel>h2:first-child{margin-top:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.categoryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 36px}.categoryCard{overflow:hidden;border-radius:18px;background:white;color:var(--navy);text-decoration:none;box-shadow:0 4px 16px #1525480a}.categoryCard>img{width:100%;height:180px;object-fit:cover;display:block}.categoryCard>div{padding:22px}.categoryCard.food>div{background:#ffdcd5}.categoryCard.fun>div{background:#ffe8ab}.categoryCard.services>div{background:#c9ede5}.categoryCard h2{font-size:28px;margin:0 0 8px}.categoryCard p{font-size:14px;margin:0 0 16px}.searchForm{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin:24px 0}.searchForm>label{flex:1;min-width:130px}.searchForm>.grow{flex:2;min-width:220px}.searchForm>button{min-height:46px}.geoStatus{width:100%;font-size:14px}.geoStatus:empty{display:none}.resultHeading{display:flex;justify-content:space-between;align-items:center;gap:12px}.resultHeading>div{display:flex;gap:8px}.listingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.listingCard{border:1px solid var(--line);border-radius:12px;background:white}.listingCard>a{padding:20px;display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);height:100%}.listingCard>a>div:nth-child(2){min-width:0;flex:1}.listingCard h2{font-size:17px;line-height:1.3;margin:5px 0;overflow-wrap:anywhere}.listingCard small{font-size:10px;color:#6d7684}.listingCard p{font-size:13px;color:#5b6675;margin:6px 0}.listingLogo{flex-shrink:0;width:60px;height:60px;position:relative;border-radius:12px;background:#f1f3f7;display:grid;place-items:center;font-size:24px;font-weight:bold;overflow:hidden}.listingLogo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.listedBadge{display:inline-block;border:1px solid #dce2ec;background:#f5f7fa;border-radius:20px;padding:3px 8px;font-size:10px;color:#5b6675}.empty{padding:60px 24px;background:white;border-radius:16px;text-align:center}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:32px 0}.muted{font-size:13px;color:#6d7684}.wupFooter{text-align:center;font-size:12px;color:#637083;padding:24px;line-height:1.8}.wupFooter a{margin-left:15px}.wupBottom{display:none}.flash{padding:18px 24px;background:#d8f1e7;color:#145540;text-align:center}.businessHero{margin-top:24px;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.businessPhoto{width:100%;height:250px;object-fit:cover;display:block}.businessIdentity{display:flex;gap:20px;align-items:center;padding:26px}.businessIdentity>img{object-fit:contain}.businessIdentity h1{font-size:32px}.businessIdentity p{margin-bottom:0}.check{display:flex;align-items:start;gap:10px;font-weight:400;line-height:1.5}.check input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 0}.stack fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:10px}.staffGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.inquiry{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.inquiry h3{margin:6px 0}.passDisplay{background:var(--navy);color:white;border-radius:20px;padding:30px}.passDisplay img{background:white;width:100%;height:auto;border-radius:12px;padding:15px}.passDisplay p{color:#d5dfef}#businessMap{height:520px;border-radius:16px;overflow:hidden;background:#e3e8ed}.desktopLanding .mobileQr>img{width:112px;height:112px}.desktopLanding .compactQr>img{width:86px;height:86px}.desktopLanding .leadTabs button{min-height:42px}.desktopLanding .phoneNav span{color:var(--navy)}
@media(max-width:1000px){.listingGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.wupHeader{padding:12px 24px}.searchForm>label{flex-basis:30%}.searchForm>.grow{flex-basis:100%}}
@media(max-width:800px){.wupHeader{height:90px;padding:10px 18px;gap:10px}.wupBrand img{width:165px}.wupBrand span{font-size:6px}.wupHeader nav{gap:14px;font-size:13px}.wupHeader nav a:nth-child(2){display:none}.page{padding:28px 16px 36px}.pageHeading{align-items:start;flex-direction:column;gap:4px}.pageHeading h1{font-size:32px}.pageHeading>div>p{margin-bottom:4px}.pageHeading>.button{font-size:13px}.categoryGrid{grid-template-columns:1fr;gap:14px}.categoryCard{display:grid;grid-template-columns:42% 58%}.categoryCard>img{height:100%;min-height:168px}.categoryCard>div{padding:22px 18px}.categoryCard h2{font-size:26px}.categoryCard p{font-size:13px}.categoryCard b{font-size:13px}.listingGrid{grid-template-columns:1fr}.searchForm{padding:14px;gap:10px}.searchForm>label{flex-basis:40%;min-width:100px}.searchForm>.grow{min-width:0}.searchForm>button{flex:1}.listingCard>a{padding:16px}.listingCard h2{font-size:17px}.panel{padding:22px}.businessIdentity{align-items:start;padding:20px;gap:14px}.businessIdentity h1{font-size:28px;overflow-wrap:anywhere}.businessIdentity>img{width:55px;height:55px}.businessPhoto{height:210px}.staffGrid{grid-template-columns:1fr;gap:0}.wupFooter{padding-bottom:100px}.wupBottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:14px 6px max(14px,env(safe-area-inset-bottom));z-index:50}.wupBottom a{flex:1;text-align:center;text-decoration:none;font-size:13px;font-weight:700;min-height:30px;display:grid;place-items:center}#businessMap{height:420px}.pagination{gap:15px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.launchNotice{max-width:1200px;margin:16px auto 0;padding:16px 24px;border:1px solid #d4dbe6;border-radius:12px;background:#fff;line-height:1.6;color:#18284d}.launchNotice a{font-weight:700;white-space:nowrap}@media(max-width:800px){.launchNotice{margin:12px 16px;padding:14px}}

/* Restore the source supporter navigation and category-first home. */
.wupHeader{position:sticky;top:0;z-index:38;height:76px;background:#fff;padding:0 clamp(20px,4vw,64px)}
.wupBrand{display:block}.wupBrand img{display:block;width:auto;height:62px;max-width:230px;object-fit:contain}
.wupAvatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#e7f2ec;color:#2d806a;text-decoration:none;font-weight:800}.wupAvatar svg{width:24px;height:24px}
.supporterHome{background:#fbf7ed}.supporterHome a{text-decoration:none}.supporterHome .homeCategoryCard{display:block;color:#fff}.supporterHome .homeCategoryCard>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.supporterHome .schoolMission{color:#fff}.supporterHome .eventsCategoryCard{color:#fff}.supporterHome .mobilePageTagline{display:block;width:min(82vw,310px);height:auto;margin:3px auto 22px}
.wupBottom{display:flex;justify-content:center;gap:24px;padding:16px;background:white;border-top:1px solid #18284d18}.wupBottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:72px;min-height:60px;text-decoration:none;color:#545a70;font-size:11px;font-weight:850;border-radius:12px}.wupBottom .bottomNavIcon{width:24px;height:24px;flex:0 0 24px}.wupBottom a[aria-current]{color:#2d806a;background:#fff0ec}.eventsBack{display:inline-block;text-decoration:none}.eventsLocation label{font-size:10px}
@media(max-width:800px){.wupHeader{height:82px;padding:6px 15px}.wupBrand img{width:180px;height:auto;max-width:calc(100vw - 92px);max-height:58px}.supporterHome{padding:22px 23px 36px}.supporterHome .homeCategoryCard{display:grid;grid-template-columns:42% 58%}.wupBottom{position:fixed;bottom:0;left:0;right:0;z-index:50;gap:0;padding:7px 8px max(8px,env(safe-area-inset-bottom));height:97px;box-shadow:0 -8px 24px #11185f22}.wupBottom a{flex:1;min-width:0}.wupFooter{padding-bottom:115px}}

/* Source layout parity: retain source classes while using accessible PHP links/forms. */
.savedTabs a,.viewSwitch a,.quickFilters a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;text-decoration:none;border-radius:999px;background:white;border:1px solid var(--line);font-weight:800}.savedTabs a.active,.viewSwitch a.active,.quickFilters a.active{background:var(--navy);color:#fff}.savedTabs a span{font-size:12px}.savedCompanyMain{display:flex;align-items:center;gap:14px;padding:20px;text-decoration:none;color:var(--navy)}.savedCompanyMain>div{flex:1}.savedCompanyMain b,.savedCompanyMain em{display:block}.savedCompanyMain em{font-size:12px;font-style:normal;margin-top:6px}.removeSaved{padding:12px 18px;border-top:1px solid var(--line);font-size:12px}.removeSaved summary{cursor:pointer}.favoriteCompanyMark{position:relative}.favoriteCompanyMark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.accountHelp>a{display:flex;align-items:center;gap:16px;padding:15px;text-decoration:none;color:var(--navy)}.accountHelp>a div{flex:1}.accountHelp small{display:block;margin-top:6px}.accountSection summary{cursor:pointer;font-weight:800}.accountEditPanel{margin-top:18px}.accountIdentityCard a,.accountOverviewGrid a,.securityRow a{font-weight:800}.passBenefitSummary>a{color:var(--navy)}.schoolChoiceSummary{cursor:pointer;list-style:none;display:flex}.schoolChoiceSummary::-webkit-details-marker{display:none}.schoolChoiceCard[open]{border-color:var(--navy)}.schoolChoiceSummary .schoolChoiceCopy{flex:1}.schoolwideChoice a{white-space:nowrap;font-weight:800}.schoolFinder button{min-width:80px}.studentEnrollment{padding-top:28px}.studentClaimCard .panel{border:0;padding:0}.studentClaimCard .claimSteps{margin-bottom:24px}.studentClaimIntro .muted{font-size:13px}.categoryQuery{margin:22px 0}.categoryQuery .offerFinder{display:flex;gap:10px}.categoryQuery .offerFinder>label{flex:1;min-width:0}.categoryQuery .offerFinder input{width:100%;border:0;min-width:0}.viewSwitch{display:flex}.quickFilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.distanceControls>label{min-width:0}.distanceControls input{max-width:220px}.distanceControls select{min-width:100px}.directoryOffers>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.submissionChoices{display:flex;gap:12px;flex-wrap:wrap}.wupSide{display:none}
@media(min-width:1100px){body:not([data-page=landing]){padding-left:240px}.wupHeader{margin-left:-240px}.wupSide{display:flex;flex-direction:column;position:fixed;top:76px;bottom:0;left:0;width:240px;padding:28px 20px;background:white;border-right:1px solid var(--line)}.wupSide>a{padding:14px;text-decoration:none;font-weight:800;color:var(--navy)}.wupSide .profile{margin-bottom:25px}.wupSide small{display:block}.wupBottom{display:none}}
@media(max-width:800px){.categoryQuery .offerFinder{flex-wrap:wrap}.categoryQuery .offerFinder>label{flex-basis:100%}.viewSwitch{flex:1}.viewSwitch a{flex:1}.distanceControls{display:flex;flex-wrap:wrap}.distanceControls>label{flex:1}.distanceControls input{width:100%}.schoolFinder{flex-wrap:wrap}.schoolFinder>label{flex-basis:100%}.schoolFinder select{max-width:100%}.schoolChoiceSummary{padding:16px 12px}.schoolChoiceSummary>strong{font-size:10px}.schoolwideChoice{flex-wrap:wrap}.studentEnrollment{padding:20px 16px}.studentClaimCard{min-width:0}.accountIdentityCard{flex-wrap:wrap}.accountIdentityCard>div{min-width:0;overflow-wrap:anywhere}.accountIdentityCard>a{margin-left:0}.savedTabs a{font-size:13px;padding:12px}.securityRow{flex-wrap:wrap}.schoolSupportIntro{gap:16px}}

.referenceStage{position:relative;isolation:isolate;background:#f5f7fa;border:1px solid var(--line);overflow:auto;max-height:80vh}.referenceStage .salesBrochure,.referenceStage .modalShade{position:relative;inset:auto;min-height:600px}.referenceStage .fieldSalesNav,.referenceStage .portalNav{position:relative;top:auto}.referenceStage .roleBottomNav,.referenceStage .fieldSalesMobileNav{position:relative;inset:auto}.referenceStage .salesBrochure>main{min-height:560px}.designPreview>p{max-width:850px}
.accountIdentityCard>a{color:#fff;border:1px solid #ffffff55;border-radius:9px;padding:10px 14px;text-decoration:none}.accountIdentityCard>a:hover{background:#ffffff18}
.schoolChoiceCopy{min-width:0}.schoolChoiceCopy>b{overflow-wrap:anywhere}.schoolChoiceCard[open] .schoolChoiceSummary>strong:after{content:'−'}
@media(max-width:800px){.schoolChoiceSummary>strong{font-size:0;flex:0 0 27px}.schoolChoiceSummary>strong:after{font-size:17px}.schoolChoiceSummary{gap:10px}}

.storefrontPage>.businessStorefront{position:relative;width:100%;max-width:none;max-height:none;margin-top:20px}.businessStorefrontIdentity h1{font-size:28px;margin:0 0 10px;line-height:1.15}.businessStorefrontHero form{margin:0}.storefrontFooter{display:flex;justify-content:space-between;gap:16px}.businessStorefrontActions{flex-wrap:wrap}.storefrontSave{text-decoration:none}.businessOffers h2{font-size:22px}.listingCard .directoryBusiness{width:100%;text-align:left}
[hidden]{display:none!important}.quickFilters{width:100%;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}.schoolTypeFilters{max-width:100%;width:100%;box-sizing:border-box}.schoolFinder{max-width:100%}
@media(max-width:800px){.quickFilters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.quickFilters a{white-space:nowrap;flex-shrink:0}.distanceControls select{font-size:13px;padding:8px 4px;width:100%;min-width:0}}
.storefrontSave{z-index:5}
.myPassPage>header{gap:12px}.myPassPage>header h1{min-width:0}.passStatus{white-space:nowrap;flex-shrink:0}.myPassPage .passBenefitSummary{min-width:0;overflow-wrap:anywhere}

.holderImpactLink{color:white;font-weight:900;font-size:14px;align-self:flex-start;display:inline-flex;align-items:center;min-height:44px}.holderPreviewNote{font-size:10px!important;letter-spacing:0!important;margin-top:5px}.holderThanks.collapsed .holderPreviewNote{display:none}.audiencePreview{font-size:12px;border:1px solid #d9ded7;border-radius:10px;padding:10px 14px;background:#fff}.audiencePreview summary{cursor:pointer}.audiencePreview nav{display:flex;gap:18px;flex-wrap:wrap;padding:14px 0}.audiencePreview a{font-weight:800}
body[data-page=demo]{padding-left:0}.recordingDemo{padding-top:76px;min-height:100vh}.recordingDemo>.appHeader{margin:0;position:fixed;top:0;left:0;right:0;background:#fff}.recordingDemo .appHeader>.brand{margin:0 auto 0 0}.demoMenu{position:relative}.demoMenu summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:10px;color:#637083;list-style:none}.demoMenu summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7f2ec;color:#2d806a;font-size:12px;font-weight:900}.demoMenu nav{position:absolute;right:0;top:50px;display:flex;flex-direction:column;height:auto;width:240px;max-height:80vh;overflow:auto;padding:16px;gap:12px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #18284d33}.demoMenu a{font-size:14px;text-decoration:none;font-weight:700}.demoMenu b{font-size:11px;color:#637083}.recordingDemo .memberSide>button,.recordingDemo .mobileNav button{border:0}.recordingDemo .mobileNav button{background:transparent}.recordingDemo .mobileNav button.active{background:#fff0ec}.demoToast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);max-width:90vw;width:max-content;background:#18284d;color:#fff;padding:14px 20px;border-radius:12px;z-index:200;font-size:13px}.demoDialog{border:0;border-radius:18px;padding:26px;max-width:min(90vw,460px);color:#18284d}.demoDialog::backdrop{background:#18284d88}.demoDialog>form{text-align:right}.demoDialog>form button{min-height:32px;padding:4px 10px}.recordingDemo .salesBrochure{top:76px}.recordingDemo .businessStorefront .storefrontSave{z-index:5}
@media(max-width:800px){.recordingDemo{padding-top:82px}.recordingDemo>.appHeader.mobileConsistentHeader{height:82px}.recordingDemo .salesBrochure{top:82px}.recordingDemo .mobileNav button{min-height:60px}.recordingDemo .demoMenu nav{display:flex}.recordingDemo .discover{padding-bottom:125px}}
.recordingDemo .homeCategoryCard,.recordingDemo .eventsCategoryCard,.recordingDemo button.schoolMission{display:grid;align-items:stretch;justify-content:normal;gap:0;padding:0;border:0}.recordingDemo .homeCategoryCard>span{align-self:stretch}.recordingDemo .homeCategoryCard{grid-template-columns:1fr}.recordingDemo .homeCategoryCard>span{min-height:104px}.recordingDemo .holderThanksToggle{border:0}.recordingDemo .holderImpactLink{border:0}
@media(max-width:800px){.recordingDemo .homeCategoryCard{grid-template-columns:42% 58%}.recordingDemo .homeCategoryCard>span{min-height:210px}.recordingDemo .eventsCategoryCard{grid-template-columns:42% 58%}}
.recordingDemo .viewSwitch button:after{content:none!important}
.recordingDemo .viewSwitch button{font-size:13px!important;color:var(--navy)}.recordingDemo .viewSwitch button.active{color:#fff}

/* Keep the shared footer below content and at the screen bottom on short pages. */
body:not([data-page=landing]):not([data-page=demo]){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}body>.wupHeader{flex-shrink:0}body>.page{width:100%}body>.wupFooter{margin-top:auto;flex-shrink:0}

/* Copyright ends the scrolling content; navigation stays pinned below it. */
body>.wupFooter{position:static;margin-top:auto;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.wupFooter a{margin:0;min-height:32px;display:flex;align-items:center;font-size:12px}.wupFooter small{display:block;font-size:11px;line-height:16px;text-align:center}
@media(max-width:1099px){body:not([data-page=landing]):not([data-page=demo]){--wup-nav-height:calc(89px + max(8px,env(safe-area-inset-bottom)));padding-bottom:var(--wup-nav-height)}body>.wupBottom{position:fixed;bottom:0;left:0;right:0;height:var(--wup-nav-height);padding:7px 8px max(8px,env(safe-area-inset-bottom));margin:0;gap:0;z-index:50}body>.wupBottom a{flex:1;min-width:0}body>.wupFooter{margin-top:auto;padding-bottom:20px}}

/* Compact passholder category rows retain the established category colors. */
@media(max-width:800px){
 .supporterHome .homeCategoryGrid{gap:12px}
 .supporterHome .categoryHome{gap:12px}
 .supporterHome .homeCategoryCard,.supporterHome .eventsCategoryCard{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);min-height:102px;border-radius:14px;padding:0;gap:0;overflow:hidden;align-items:stretch}
 .supporterHome .homeCategoryCard>img,.supporterHome .eventsCategoryCard>img{position:absolute;top:0;left:0;width:104px;height:100%;min-height:102px;object-fit:cover}
 .supporterHome .homeCategoryCard>span,.supporterHome .eventsCategoryCard>span{grid-column:2;min-height:102px;padding:12px 32px 12px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
 .supporterHome .homeCategoryCard b,.supporterHome .eventsCategoryCard>span b{font-size:20px;line-height:1.1;letter-spacing:0}
 .supporterHome .homeCategoryCard small,.supporterHome .eventsCategoryCard small{font-size:12px;line-height:1.35;font-weight:600;margin-top:5px;max-width:none;text-wrap:initial;opacity:1}
 .supporterHome .homeCategoryCard em,.supporterHome .eventsCategoryCard>span em{font-size:26px;right:12px}
}
@media(max-width:360px){.supporterHome .homeCategoryCard,.supporterHome .eventsCategoryCard{grid-template-columns:86px minmax(0,1fr)}.supporterHome .homeCategoryCard>img,.supporterHome .eventsCategoryCard>img{width:86px}}

.passBenefitSummary .startExploring{display:block;text-align:center;background:#287e6b;color:#fff;padding:15px 18px;border-radius:12px;text-decoration:none;margin:18px 0;font-weight:750}
