/* September campaign: expressive artwork on discovery pages, quiet task surfaces. */
:root{--forest:#164c38;--ink:#183e30;--yellow:#e9cc77;--paper:#f8f5eb;--line:#d6ddcf;--muted:#526457;--gold:#92702f}
body{background:#fffdf7}
.site-header,.portal-header{background:#fffdf7}
.brand-top{letter-spacing:-.035em}.brand-bottom{color:var(--muted)}
.announcement{background:var(--forest);color:#fff;font-size:.875rem;letter-spacing:.025em}
.announcement a{color:#f6dfa0}
.button{border-radius:6px;min-height:48px;font-weight:600;box-shadow:none}
.button-yellow{background:var(--yellow);color:#173e2d;border-color:var(--yellow)}
.button-yellow:hover{background:#f2db9a}
.eyebrow{font-size:.875rem;letter-spacing:.12em}
.season-label{display:inline-flex;align-items:center;gap:10px;color:var(--forest);font-size:.875rem;letter-spacing:.08em;font-weight:600;line-height:1.5}
.season-label:before{content:'';display:block;width:26px;height:16px;border-block:5px solid var(--forest);background:white;flex-shrink:0}
.home-page .hero{max-width:1440px;grid-template-columns:.9fr 1.2fr;gap:28px;padding:20px 5% 38px;margin:0 auto;align-items:center}
.home-page .hero-copy{padding:28px 0;position:relative;z-index:1}
.home-page .hero h1{font-size:clamp(3rem,5.4vw,5.2rem);line-height:1.05;letter-spacing:-.045em;margin-top:22px}
.home-page .hero h1 em{color:var(--forest);display:block}
.home-page .hero-description{max-width:440px;font-size:1.08rem;line-height:1.65;margin:24px 0}
.home-page .hero-actions{gap:12px}
.home-page .hero-photo{min-height:0;aspect-ratio:16/9;background:var(--paper);border-radius:4px;overflow:visible}
.home-page .hero-photo img{position:static;width:100%;height:100%;object-fit:cover;border-radius:4px}
.home-page .hero-photo:after{display:none}
.home-page .hero-photo figcaption{position:static;color:var(--muted);display:block;font-size:.875rem;padding:10px 0;line-height:1.5}
.home-page .hero-photo figcaption span{font-size:inherit;letter-spacing:0;font-family:var(--sans)}
.home-page .hero-footnote{margin-top:24px;font-size:.875rem}
.category-ribbon{background:transparent;border-block:1px solid var(--line);color:var(--forest);padding:18px 5%;gap:26px;font-size:.95rem}
.category-ribbon .ui-icon{color:var(--gold);font-size:.85rem}
.section{padding-block:72px}.section-heading{margin-bottom:30px}.section-heading .eyebrow{color:var(--gold)}
.plan-panel{background:var(--paper);border:1px solid #e1dfd0;border-radius:8px}
.plan-tabs button{background:#fffdf7;border-radius:6px}.stop-number{background:#fffdf7;border-color:#b5bea9}
.home-page .passport-section{background:var(--forest);padding:64px max(5%,calc((100vw - 1296px)/2));grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.home-page .passport-copy h2{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.12}
.home-page .passport-copy>p:not(.eyebrow){max-width:440px;font-size:1rem;margin:20px 0}
.passport-copy .passport-reward-note{border:0;padding:0;margin:24px 0}
.passport-copy .passport-reward-note h3{font-size:1.5rem;line-height:1.3;margin-bottom:12px}
.passport-copy .passport-reward-note p{font-size:1rem;color:#edf3ed}
.passport-copy .passport-reward-note .passport-note{font-size:.875rem;color:#e0e8db;margin-top:10px}
.collection-preview{min-width:0}
.collection-preview>p{font-size:.875rem;color:#e6ebdd;margin-bottom:14px;line-height:1.5}
.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.art-card{margin:0;min-width:0;background:#fffdf6;border:1px solid #e7dabb;border-radius:5px;overflow:hidden;color:var(--forest);box-shadow:0 8px 24px #07291925}
.art-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#f7f0de}
.art-card figcaption{padding:10px 12px;font-size:.875rem;line-height:1.45;border-top:1px solid #e4dcc8}
.art-card figcaption strong{display:block;font-weight:600}
.art-card figcaption span{display:block;color:var(--muted);margin-top:2px}
.business-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px}
.business-card h3{font-size:1.7rem;letter-spacing:-.025em}
.business-card .business-category{color:var(--gold);font-size:.875rem}
.directory-count{margin:0 0 20px;color:var(--muted);font-size:.95rem}
.business-hours{margin-top:18px;white-space:pre-line}.business-hours strong{display:block;color:var(--forest);margin-bottom:6px}
.business-note{margin-top:14px;font-size:.9rem}.business-note summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.business-note p{margin-top:4px}
.business-phones{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.business-call{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid var(--forest);border-radius:6px;font-size:.95rem;color:var(--forest);font-weight:600}
.business-filters button{min-height:44px;border-radius:5px;background:#fffdf7}
.about-section{background:#eef3e9;border-block:1px solid var(--line)}
.about-section>.eyebrow{color:var(--forest)}
.footer-status{font-size:.875rem;color:var(--forest)}
.photo-attribution{font-size:.875rem;line-height:1.6}
.mobile-dock{background:#fffdf7;border-top:1px solid #c3cebf}
.mobile-dock .dock-passport,.mobile-dock .dock-primary{background:var(--forest);color:white}
/* Shared passport and staff surfaces keep imagery out of data entry. */
.entry-body{background:#fffdf7}.entry-header{border-bottom:1px solid var(--line)}
.entry-main{margin:18px auto 32px;padding-top:20px;max-width:760px}
.entry-main h1{font-size:clamp(2.1rem,6vw,3rem);line-height:1.15;margin-top:16px}
.entry-intro{line-height:1.6}.entry-choice{min-height:122px;border-radius:10px;padding:22px}
.client-choice{background:#f5e9c5;border-color:#c2aa6c}.local-choice{background:var(--forest)}
.entry-choice-copy strong{font-size:1.85rem}.entry-choice-copy>span{font-size:1rem}
.entry-art{width:100%;height:150px;object-fit:cover;object-position:center 65%;border-radius:6px;margin:20px 0 24px}
.portal-header{border-bottom:1px solid var(--line)}
.program-status{background:#eef3e9;border-bottom:1px solid var(--line);font-size:.875rem}
.portal .panel{border-color:var(--line);background:#fff;border-radius:10px}
.portal .panel.forest{background:var(--forest)}
.portal .phone-flow>h1{font-size:clamp(2rem,6vw,2.8rem);line-height:1.15}
.portal .lead{font-size:1rem;line-height:1.65}
.portal .eyebrow{font-size:.875rem;letter-spacing:.075em}
.portal .customer-action:first-child{background:#f5e9c5;border-color:#c2aa6c}
.portal .passport-card{background:#f5e9c5;border:1px solid #a28b4e;box-shadow:0 5px 20px #34553a12}
.portal .passport-card-heading{border-top:4px solid var(--forest)}
.portal .passport-card-validity{border-color:#d8c695}
.portal .three-seals li.is-earned{background:#f5e9c5;border-color:#b29b5e}
.portal .collected-stamp.earned{background:#fff9e8;border-color:#b29b5e}
.portal .small-button{font-size:.95rem}.portal .task-button{border-radius:8px}
.portal input:not([type=checkbox]),.portal select,.portal textarea{font-size:1rem}
@media(max-width:820px){
 .site-header{padding:12px 20px}.site-header .brand-bottom{font-size:.75rem;letter-spacing:.04em}
 .home-page .hero{display:flex;flex-direction:column;align-items:stretch;padding:0 20px 20px;gap:18px}
 .home-page .hero-copy{padding:22px 0 0}
 .home-page .hero h1{font-size:clamp(2.65rem,9.7vw,3.8rem);margin-top:14px;line-height:1.06}
 .home-page .hero-description{font-size:1rem;margin:16px 0 20px;max-width:36rem}
 .home-page .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
 .home-page .hero-actions .button{font-size:1rem;padding:13px 12px}
 .home-page .hero-footnote{display:none}
 .home-page .hero-photo{aspect-ratio:16/9;min-height:0;width:100%;margin-bottom:24px}
 .category-ribbon{gap:12px;padding:14px 20px;font-size:.875rem}
 .section{padding:48px 20px}.section-heading{gap:12px}.section-heading h2{font-size:2.2rem}
 .home-page .passport-section{padding:42px 20px;grid-template-columns:1fr;gap:28px}
 .home-page .passport-copy h2{font-size:2.6rem}
 .home-page .passport-copy h2>span{display:inline}
 .home-page .passport-copy h2>span+span:before{content:' '}
 .home-page .passport-copy .hero-actions{grid-template-columns:1fr}
 .passport-guide-button{justify-self:start;min-height:44px;display:flex;align-items:center}
 .art-grid{gap:12px}.art-card figcaption{padding:10px;font-size:.875rem}
 .plan-tabs{grid-template-columns:1fr}.plan-tabs button{min-height:48px;padding:13px 16px;font-size:1rem}
 .plan-panel{padding:24px 20px}.plan-intro h3{font-size:2rem}
 .about-section{padding:42px 20px}.about-grid h2{font-size:2.25rem}
 .entry-main{padding:18px 20px;margin:0 auto 20px}.entry-art{height:115px;margin:18px 0}
 .entry-choice{padding:20px 16px;min-height:112px;gap:14px}.entry-icon{width:42px;height:52px;flex-basis:42px}
 .entry-choice-copy strong{font-size:1.75rem}.entry-choice-copy>span{font-size:.95rem}
 .portal .panel{padding:22px 18px}.portal .passport-tabs button{font-size:.95rem}
 .portal-header .brand-bottom{display:none}
}
@media(max-width:360px){.home-page .hero-actions{grid-template-columns:1fr}.art-grid{grid-template-columns:1fr}.entry-icon{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
