@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--green:#174c37;--yellow:#f6d85e;--paper:#f9f9f3;--ink:#172d23;--muted:#536157}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #dd711e;outline-offset:5px}.skip{position:absolute;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:0}.topbar{background:var(--green);color:white;text-align:center;font-size:13px;padding:8px 20px}.topbar span{margin-left:30px;font-size:11px;letter-spacing:1.4px}header{max-width:1440px;margin:auto;padding:26px 5.5%;display:flex;justify-content:space-between;align-items:center}.brand{font-family:'Manrope',sans-serif;font-size:27px;line-height:.91;font-weight:800;text-decoration:none;letter-spacing:-1.5px;display:inline-block}.brand>span{display:block;font-size:38px}.brand-dot{color:var(--gold)}nav{display:flex;gap:32px;align-items:center}nav>a{text-decoration:none;font-size:14px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:15px 25px;border-radius:5px;text-decoration:none;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:var(--hover);transform:translateY(-2px)}.button.small{padding:11px 23px}.hero{max-width:1440px;margin:auto;padding:30px 5.5% 70px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.7px;margin:0 0 21px}.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(50px,5.8vw,85px);line-height:1.04;letter-spacing:-5px;margin:0 0 26px;font-weight:800}.hero h1 em{font-style:normal;color:var(--green)}.intro{max-width:390px;font-size:18px;color:var(--muted);margin:0 0 28px}.hero-note{display:flex;gap:25px;margin-top:27px;font-size:12px;font-weight:600}.hero-note span+span{border-left:1px solid #aab4a7;padding-left:25px}.hero-image{height:560px;position:relative;border-radius:120px 8px 8px 8px;background:#cad4c5}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.image-label{position:absolute;bottom:0;background:var(--green);color:white;left:0;right:0;padding:16px;text-align:center;font-size:11px;font-weight:700;letter-spacing:1.8px;border-radius:0 0 8px 8px}.round-badge{position:absolute;top:28px;right:-20px;background:var(--yellow);border-radius:50%;width:116px;height:116px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;line-height:1.25;transform:rotate(9deg);box-shadow:0 0 0 7px var(--paper)}.ticker{display:flex;gap:35px;justify-content:center;align-items:center;background:var(--yellow);padding:20px;overflow:hidden;font-size:12px;font-weight:800;letter-spacing:1.3px}.ticker span{white-space:nowrap}.ticker b{font-size:21px}.section{max-width:1440px;margin:auto;padding:85px 5.5%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}h2{font-family:'Manrope',sans-serif;font-size:clamp(34px,3.6vw,49px);line-height:1.14;letter-spacing:-2px;margin:0;font-weight:800}.section-heading>p{max-width:345px;color:var(--muted);margin:0 0 5px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.categories article{padding:35px 29px;border:1px solid var(--line);border-radius:8px}.categories article:nth-child(2){background:var(--soft)}.categories article:nth-child(3){background:var(--soft-accent)}.number{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--muted)}h3{font-family:'Manrope',sans-serif;font-size:27px;font-weight:800;line-height:1.25;letter-spacing:-1px;margin:24px 0 15px}.categories p{color:var(--muted);margin-bottom:0}.stock-note{font-size:14px;color:var(--muted);margin:25px 0 0}.grooming{background:var(--green);color:var(--paper);padding:65px max(5.5%,calc((100vw - 1282px)/2));display:grid;grid-template-columns:1fr 1fr;gap:8%}.grooming h2{font-size:clamp(38px,4.2vw,58px)}.grooming-copy{max-width:430px;align-self:center}.grooming-copy>p:first-child{font-size:20px}.grooming-copy>p{color:#f5f5f5}.pill{display:inline-block;padding:8px 13px;border:1px solid #8db09b;border-radius:30px;font-size:11px;font-weight:700;letter-spacing:1px;margin-top:24px}.button.yellow{background:var(--yellow);color:var(--green);margin-top:10px}.button.yellow:hover{background:#ffe783}.phone-note{font-size:13px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.location{border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden}.location>img{width:100%;height:290px;object-fit:cover;display:block}.location-body{padding:29px}.location-body .eyebrow{font-size:11px}.location h3{font-size:30px;margin:13px 0 15px}address{font-style:normal;color:var(--muted)}.phone{display:inline-block;margin:13px 0 20px;font-weight:700;text-decoration:none}.location-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700;text-underline-offset:5px}.questions{padding-top:20px;display:grid;grid-template-columns:1fr 1.3fr;gap:7%}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:700;font-size:18px;padding-right:12px}.faq p{color:var(--muted);max-width:560px}.faq details:first-child{padding-top:0}footer{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding:60px max(5.5%,calc((100vw - 1282px)/2)) 25px}footer strong{font-size:12px;letter-spacing:1.5px}footer p,footer>div>a:not(.brand){font-size:14px;color:#f5f5f5}footer .brand{color:var(--yellow)}.footer-bottom{grid-column:1/-1;border-top:1px solid #65816d;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:#f5f5f5}@media(min-width:1600px){.grooming,footer{padding-left:calc((100vw - 1282px)/2);padding-right:calc((100vw - 1282px)/2)}}@media(max-width:850px){.hero h1{letter-spacing:-3px}.hero-image{height:480px}.round-badge{right:-8px;width:95px;height:95px;font-size:14px}.ticker{gap:20px}.ticker span:last-child,.ticker b:last-of-type{display:none}.categories{gap:12px}.categories article{padding:24px 20px}.location>img{height:230px}.section{padding-top:65px;padding-bottom:65px}}@media(max-width:620px){.topbar{font-size:12px}.topbar span{display:none}header{padding:22px 6%}nav{gap:17px}nav>a{font-size:13px}nav>a:first-child{display:none}.brand{font-size:22px}.brand>span{font-size:31px}.button.small{padding:10px 15px}.hero{grid-template-columns:1fr;gap:35px;padding:25px 6% 45px}.hero h1{font-size:62px}.hero-image{height:410px;border-top-left-radius:90px}.hero-note{margin-top:22px}.intro{font-size:17px}.ticker{justify-content:space-around;gap:12px;font-size:10px;padding:16px 12px;letter-spacing:.5px}.ticker span:nth-of-type(3),.ticker b:nth-of-type(2){display:none}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:23px;max-width:100%}.categories{grid-template-columns:1fr}.categories article{padding:26px}h3{margin-top:15px}.categories h3 br{display:none}.grooming{padding:50px 6%;grid-template-columns:1fr;gap:20px}.grooming-copy>p:first-child{font-size:18px}.location-grid{grid-template-columns:1fr}.location>img{height:265px}.location-body{padding:25px}.questions{grid-template-columns:1fr;gap:32px;padding-top:0}footer{grid-template-columns:1fr 1fr;padding:45px 6% 25px;gap:28px}footer>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #dd711e;outline-offset:5px}[hidden]{display:none!important}.carousel{height:585px}.slides{height:100%;border-radius:inherit;overflow:hidden}.slide{margin:0;height:100%;position:relative}.slide img{height:calc(100% - 95px);border-radius:0;object-fit:cover}.slide figcaption{position:absolute;bottom:51px;left:0;right:0;padding:11px 16px;background:var(--green);color:white;font-size:13px;text-align:center;min-height:44px}.carousel-controls{position:absolute;bottom:0;left:0;right:0;height:51px;display:flex;gap:13px;align-items:center;justify-content:center;background:var(--green);color:white;border-radius:0 0 8px 8px}.carousel-controls>button{background:transparent;border:1px solid #88ab96;border-radius:50%;width:35px;height:35px;color:white;font-size:25px;line-height:1}.carousel-controls>button:hover{background:#397258}.carousel-dots{display:flex;gap:5px}.carousel-dots button{border:0;background:transparent;width:28px;height:35px;position:relative}.carousel-dots button:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:#819f8d;top:13px;left:10px}.carousel-dots button[aria-current=true]:after{background:var(--yellow)}.slide-count{font-size:12px;margin-right:4px}.reviews{background:var(--soft);max-width:none;padding-left:max(5.5%,calc((100vw - 1282px)/2));padding-right:max(5.5%,calc((100vw - 1282px)/2))}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-grid figure{margin:0;padding:30px;background:var(--paper);border-radius:8px;display:flex;flex-direction:column}.review-stars{color:var(--gold);letter-spacing:3px;font-size:18px}.review-grid blockquote{margin:22px 0 28px;font-size:23px;font-weight:600;line-height:1.45;letter-spacing:-.4px;flex:1}.review-grid figcaption{font-size:14px}.review-grid figcaption span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.review-links{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-top:20px}.review-links p{font-size:12px;color:var(--muted)}.gallery-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:28px}.gallery-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:15px 22px;color:var(--muted);font-weight:700}.gallery-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:310px;object-fit:cover;display:block;border-radius:8px}.photo-grid figcaption{margin-top:12px;font-size:14px;font-weight:600}.pets-welcome{text-align:center;border:1px dashed #93a58e;border-radius:12px;background:var(--soft);padding:55px 25px}.pets-welcome h3{font-size:35px;margin:15px 0}.pets-welcome p{max-width:430px;margin:0 auto 25px;color:var(--muted)}@media(max-width:850px){nav{gap:18px}.carousel{height:500px}.review-grid{gap:13px}.review-grid figure{padding:23px}.review-grid blockquote{font-size:21px}.photo-grid img{height:240px}}@media(max-width:620px){header{flex-wrap:wrap;gap:22px}nav{gap:18px;flex:1;justify-content:flex-end}nav>a:first-child{display:none}nav>a{font-size:12px}.hero .carousel{height:455px}.review-grid,.photo-grid{grid-template-columns:1fr}.review-grid figure{padding:27px}.review-grid blockquote{font-size:23px}.review-links{display:block}.photo-grid img{height:320px}.gallery-tabs button{padding:14px 17px}.reviews{padding-left:6%;padding-right:6%}}@media(max-width:380px){nav{flex-basis:100%;justify-content:space-between}nav>a:first-child{display:block}}

header .header-logo{display:block;flex-shrink:0;line-height:0}header .header-logo img{display:block;width:110px;height:78px;object-fit:contain;border-radius:4px}@media(max-width:620px){header .header-logo img{width:96px;height:68px}}

/* Seasonal palettes: one site, shared content. */
:root{--green:#174c37;--yellow:#f6d85e;--paper:#f9f9f3;--ink:#172d23;--muted:#536157;--soft:#edf1e5;--soft-accent:#f3edcf;--line:#c9d2c5;--hover:#256e50;--gold:#8a6200;}
:root[data-theme="spring"]{--green:#24542c;--yellow:#e0ee86;--paper:#fbfdf7;--ink:#203423;--muted:#526650;--soft:#eaf2df;--soft-accent:#f4efd3;--line:#c6d7bf;--hover:#326d3c;--gold:#705900;}
:root[data-theme="fall"]{--green:#71351e;--yellow:#f1b84c;--paper:#fffaf3;--ink:#37271d;--muted:#705846;--soft:#f4e8d6;--soft-accent:#f9e2bc;--line:#dbc6af;--hover:#8a4428;--gold:#885900;}
:root[data-theme="winter"]{--green:#173e5d;--yellow:#a9dceb;--paper:#f7fbff;--ink:#193446;--muted:#526775;--soft:#e5eff6;--soft-accent:#dceef3;--line:#bccfdd;--hover:#245575;--gold:#705800;}
:root[data-theme="july4"]{--green:#173769;--yellow:#ffc9c7;--paper:#ffffff;--ink:#172f50;--muted:#536379;--soft:#e9eef9;--soft-accent:#fff0ed;--line:#c5cfe0;--hover:#264e89;--gold:#875800;}
:root[data-theme="halloween"]{--green:#382048;--yellow:#ffb258;--paper:#fffaf4;--ink:#2d2033;--muted:#68556b;--soft:#ede4f2;--soft-accent:#ffe4c3;--line:#d4c5db;--hover:#533269;--gold:#875100;}
:root[data-theme="valentines"]{--green:#792344;--yellow:#ffc6d5;--paper:#fff8fa;--ink:#452535;--muted:#785569;--soft:#f7e6ed;--soft-accent:#ffe5ea;--line:#e5c3d0;--hover:#982e57;--gold:#885400;}

.theme-picker{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #ffffff50}.theme-picker label{font-size:16px;font-weight:700}.theme-picker p{margin:3px 0 0;font-size:13px;color:#fff}.theme-picker select{font:inherit;font-size:16px;min-height:46px;min-width:205px;max-width:100%;padding:10px 36px 10px 14px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper)}.theme-picker select:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.button.yellow:hover{background:var(--yellow);filter:brightness(1.08)}.carousel-controls>button:hover{background:var(--hover)}.carousel-controls>button{width:44px;height:44px}.carousel-dots button{width:32px;height:44px}.carousel-dots button:after{top:18px;left:12px}.carousel-controls{height:54px}.slide figcaption{bottom:54px}.slide img{height:calc(100% - 98px)}.reviews .review-grid figure,.location{background:var(--paper)}.grooming,.carousel-controls,.image-label,footer,.topbar{color:#fff}.button.yellow{color:var(--green)}.gallery-tabs{overflow-x:auto}.gallery-tabs button{white-space:nowrap;min-height:48px}.hero-copy,.hero-image,.section-heading>*,.grooming>*,.location,.questions>*{min-width:0}nav>a{min-height:44px;display:inline-flex;align-items:center}footer a:not(.brand){display:inline-block;min-height:44px;padding-top:6px}
@media(max-width:620px){header{gap:14px;padding:16px 6%}header .header-logo img{width:90px;height:64px}nav{flex-basis:100%;justify-content:space-between;gap:10px;flex-wrap:wrap}nav>a,nav>a:first-child{display:inline-flex;font-size:14px}nav .button.small{padding:10px 13px}.hero h1{font-size:clamp(46px,12.5vw,62px);letter-spacing:-2px}.theme-picker{align-items:stretch;flex-direction:column;gap:15px}.theme-picker select{width:100%}.hero .carousel{height:430px}.hero-note{flex-wrap:wrap;gap:15px}.hero-note span+span{padding-left:15px}.location-actions{gap:15px}.location-actions .button{padding:14px 18px}.round-badge{right:0}.footer-bottom{overflow-wrap:anywhere}}

.topbar{padding:7px 5.5%}.topbar-inner{max-width:1282px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar-inner p{margin:0;font-size:13px;text-align:left}.top-contact{display:flex;gap:8px;flex-shrink:0}.top-contact a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid #ffffff70;border-radius:5px;text-decoration:none;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}.top-contact a:hover{background:#ffffff20}.top-contact a:focus-visible{outline-color:var(--yellow)}.top-contact svg{width:17px;height:17px;flex-shrink:0}@media(max-width:900px){.topbar-inner{justify-content:center}.topbar-inner p{display:none}}@media(max-width:420px){.topbar{padding:7px 4%}.top-contact{width:100%;gap:6px}.top-contact a{flex:1;padding:8px 7px;font-size:12px;gap:5px}.top-contact svg{width:14px;height:14px}}

/* Navigation and neighborhood sections. */
header{flex-wrap:wrap;gap:22px}header nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 23px;flex:1;min-width:0}header nav>a{font-size:14px}.about-us{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;border-bottom:1px solid var(--line)}.about-copy p{margin:0 0 18px;color:var(--muted)}.about-copy p:first-child{font-size:21px;color:var(--ink)}.our-brands{padding-top:0}.brand-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.brand-list article{border-top:2px solid var(--green);padding:25px 20px 30px;background:var(--soft);border-radius:0 0 8px 8px}.brand-list article>span{font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.brand-list h3{margin:18px 0 0;font-size:28px;overflow-wrap:anywhere}.promotions{padding-top:15px;display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}.promotions-intro{color:var(--muted);margin:20px 0 0}.promotion-card{padding:32px;background:var(--soft-accent);border:1px solid var(--line);border-radius:8px}.promotion-card h3{margin:0 0 14px}.promotion-card p{color:var(--muted);margin:0 0 25px}.promotion-actions{display:flex;flex-wrap:wrap;gap:12px}.promotion-actions .button{padding:14px 20px}@media(max-width:850px){header nav{gap:4px 17px}.about-us,.promotions{gap:35px}.brand-list h3{font-size:24px}}@media(max-width:620px){header nav{flex-basis:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}header nav>a,header nav>a:first-child{display:flex;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:5px;font-size:14px;justify-content:center;text-align:center}header nav>a:last-child{grid-column:1/-1}.about-us,.promotions{grid-template-columns:1fr;gap:28px}.brand-list{grid-template-columns:1fr;gap:14px}.brand-list article{padding:22px}.brand-list h3 br{display:none}.our-brands{padding-top:0}.promotion-card{padding:25px}.promotions{padding-top:10px}}

.promo-carousel{position:relative;height:465px;border-radius:10px;overflow:hidden;background:var(--soft);min-width:0}.promo-carousel .slide img{width:100%;display:block;object-fit:cover}.promo-carousel .slide:nth-child(2) img{object-fit:contain;background:var(--soft)}.promo-carousel .slide figcaption{font-size:14px;padding:10px 12px}.promo-carousel .slides{border-radius:10px}@media(max-width:620px){.promo-carousel{height:390px}.promo-carousel .slide figcaption{font-size:12px}}

:root[data-theme="christmas"]{--green:#173f31;--yellow:#f0d18b;--paper:#fffaf5;--ink:#24352a;--muted:#59675d;--soft:#eaf0e8;--soft-accent:#f7e3e5;--line:#c9d5c8;--hover:#265d43;--gold:#845d0b;--festive:#a32842}
.season-banner{max-width:1282px;margin:4px auto 14px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 38px;background:var(--soft-accent);border-radius:12px;border:1px solid var(--line);overflow:hidden}.season-message{text-align:center;min-width:0}.season-label{font-size:12px;font-weight:800;letter-spacing:1.6px;color:var(--green);margin:0 0 5px}.season-title{font-family:'Manrope',sans-serif;font-size:23px;font-weight:800;line-height:1.35;color:var(--ink);margin:0}.season-decor{display:flex;align-items:center;gap:20px;flex-shrink:0}.season-decor span{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:43px;line-height:1.3;display:block}.season-decor span:nth-child(2){font-size:30px;transform:rotate(10deg)}[data-theme="july4"] .season-banner{border-top:5px solid #af233a;border-bottom:5px solid #173769;background:#fff}[data-theme="july4"] .season-label{color:#af233a}[data-theme="halloween"] .season-banner{background:#382048;border-color:#ffb258}[data-theme="halloween"] .season-label{color:#ffb258}[data-theme="halloween"] .season-title{color:#fff}[data-theme="valentines"] .season-banner{background:#ffe5ee;border-color:#e5a7be}[data-theme="christmas"] .season-banner{background:#173f31;border-top:5px solid #a32842;border-bottom:5px solid #a32842}[data-theme="christmas"] .season-label{color:#f0d18b}[data-theme="christmas"] .season-title{color:#fff}[data-theme="christmas"] .ticker{background:#a32842;color:#fff}
@media(max-width:1440px){.season-banner{margin-left:5.5%;margin-right:5.5%}}@media(max-width:850px){.season-banner{padding:20px;gap:12px}.season-decor{gap:7px}.season-decor span{font-size:32px}.season-decor span:nth-child(2){font-size:24px}.season-title{font-size:20px}}@media(max-width:620px){.season-banner{margin:0 6% 8px;padding:19px 12px;gap:10px}.season-decor span{font-size:29px}.season-decor span:nth-child(2){display:none}.season-label{font-size:10px;letter-spacing:1px}.season-title{font-size:17px}.season-message{flex:1}}

/* Swipeable brand cards, with native scrolling and keyboard controls. */
.brand-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:5px 2px 18px;scrollbar-width:thin;scrollbar-color:var(--green) var(--soft)}
.brand-card{flex:0 0 calc((100% - 70px)/6);min-width:0;min-height:165px;padding:18px 14px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:8px;background:var(--soft);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center}
.brand-card:nth-child(even){background:var(--soft-accent)}.brand-card>span{font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.brand-card h3{font-size:clamp(18px,1.7vw,23px);line-height:1.2;letter-spacing:-.4px;margin:14px 0;overflow-wrap:break-word}.brand-card .text-link{margin-top:4px}.brand-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.brand-controls p{font-size:14px;color:var(--muted);margin:0}.brand-controls>div{display:flex;gap:10px;flex-shrink:0}.brand-controls button{width:48px;height:48px;border:1px solid var(--green);border-radius:50%;background:var(--green);color:#fff;font-size:30px;cursor:pointer}.brand-controls button:hover{background:var(--hover)}.brand-controls button:focus-visible,.brand-rail:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.brand-card{flex-basis:calc((100% - 56px)/5)}}@media(max-width:900px){.brand-card{flex-basis:calc((100% - 42px)/4)}}@media(max-width:700px){.brand-card{flex-basis:calc((100% - 28px)/3)}}@media(max-width:480px){.brand-card{flex-basis:calc((100% - 14px)/2);min-height:155px}.brand-card>span{letter-spacing:.8px}.brand-controls p{max-width:180px}}
@media(prefers-reduced-motion:reduce){.brand-rail{scroll-behavior:auto}}

.hero .carousel-progress{position:absolute;left:0;right:0;bottom:95px;height:5px;background:rgba(255,255,255,.4);overflow:hidden;pointer-events:none}.carousel-progress span{display:block;width:100%;height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left center}.hero .carousel-controls{gap:8px}.hero .carousel-controls>.carousel-play{width:auto;min-width:54px;border-radius:18px;font:600 13px 'DM Sans',sans-serif;padding:0 9px}.hero .carousel-controls button{cursor:pointer}.hero .carousel-controls button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media(max-width:360px){.hero .carousel-controls{gap:3px}.hero .carousel-dots{gap:0}.hero .carousel-dots button{width:24px}.hero .carousel-controls>.carousel-play{min-width:48px;padding:0 6px}}

/* Keep homepage navigation within reach after following section links. */
html{scroll-padding-top:calc(var(--sticky-nav-height, 0px) + 24px)}
header.sticky-navigation{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 4px 16px rgba(0,0,0,.07)}
.skip:focus{position:fixed;z-index:50}
@media(max-width:620px){
 header.sticky-navigation{padding:8px 6% 10px;gap:5px}
 header.sticky-navigation .header-logo img{width:64px;height:45px}
 header.sticky-navigation nav{display:flex;flex-basis:100%;flex-wrap:nowrap;justify-content:flex-start;gap:7px;overflow-x:auto;min-width:0;max-width:100%;padding:3px 2px 6px;scrollbar-width:thin;scrollbar-color:var(--green) var(--soft)}
 header.sticky-navigation nav>a,header.sticky-navigation nav>a:first-child{flex:0 0 auto;white-space:nowrap;font-size:14px;padding:9px 12px;min-height:44px}
}

/* Theme-aware navigation feedback and compact mobile disclosure. */
header.sticky-navigation{transition:background-color .2s,border-color .2s;border-bottom:3px solid transparent}
header.sticky-navigation.has-active-section{border-bottom-color:var(--green)}
header.sticky-navigation nav>a{position:relative;border-radius:6px;padding:10px 12px;transition:background-color .18s,color .18s,box-shadow .18s;}
header.sticky-navigation nav>a:hover,header.sticky-navigation nav>a:focus-visible{background:var(--soft-accent);color:var(--green);box-shadow:inset 0 -3px var(--green);transform:none}
header.sticky-navigation nav>a[aria-current="location"]{background:var(--green);color:#fff;box-shadow:inset 0 -3px var(--yellow)}
.menu-toggle{display:none}
@media(max-width:850px){
 header.sticky-navigation{padding:9px 6%;gap:0;flex-wrap:nowrap;justify-content:space-between}
 header.sticky-navigation .header-logo img{width:72px;height:51px}
 header.sticky-navigation .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--green);cursor:pointer}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .18s,opacity .18s}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .menu-toggle:focus-visible{outline:3px solid var(--green);outline-offset:3px}
 header.sticky-navigation nav{display:none;position:absolute;top:100%;left:0;right:0;max-width:100%;max-height:calc(100dvh - 80px);overflow-y:auto;background:var(--paper);border-bottom:3px solid var(--green);padding:12px 6% 18px;box-shadow:0 12px 20px rgba(0,0,0,.12)}
 header.sticky-navigation.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}
 header.sticky-navigation nav>a,header.sticky-navigation nav>a:first-child{display:flex;flex:0 0 auto;justify-content:flex-start;text-align:left;white-space:normal;border:0;border-radius:5px;min-height:46px;font-size:16px;padding:11px 14px;background:transparent;color:var(--ink)}
 header.sticky-navigation nav>a:hover,header.sticky-navigation nav>a:focus-visible{background:var(--soft-accent);color:var(--green)}
 header.sticky-navigation nav>a[aria-current="location"]{background:var(--green);color:#fff}
}
@media(prefers-reduced-motion:reduce){header.sticky-navigation,header.sticky-navigation nav>a,.menu-toggle span{transition:none}}

header.sticky-navigation nav>a[aria-current="page"]{background:var(--green);color:#fff;box-shadow:inset 0 -3px var(--yellow)}
