/* Readable type and compact rhythm for ages 40–80. Relative sizing preserves zoom. */
:root{--muted:#435d6c;--readable-gap:1.4rem}
html{font-size:100%;scroll-padding-top:2rem}
body{font-size:1.25rem;line-height:1.8;overflow-wrap:anywhere}
h1,h2,h3{line-height:1.5;letter-spacing:.02em;overflow-wrap:anywhere}
h2{font-size:clamp(1.75rem,2.5vw,2.25rem)}h3{font-size:1.5rem}
p{line-height:1.8;margin-bottom:.9em}
button,select,input{line-height:1.6}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:.2rem solid #9b4a00;outline-offset:.25rem;box-shadow:0 0 0 .15rem white}
.wrap{max-width:75rem;padding-left:1.75rem;padding-right:1.75rem}
.section{padding-top:3rem;padding-bottom:3rem}
.section-head{gap:1.5rem;margin-bottom:1.5rem;align-items:start}
.section-head h2{font-size:clamp(1.75rem,2.5vw,2.25rem)}
.section-head>p{font-size:1.125rem;line-height:1.8;max-width:27rem}
.eyebrow{font-size:1.125rem;letter-spacing:.06em;line-height:1.65;margin-bottom:.6rem;color:#116b39}
.small,.preview-bar,.preview-bar span,.footer-bottom,.review{font-size:1.125rem;line-height:1.8;color:var(--muted)}
.preview-bar{padding:.65rem 1rem;text-align:center}
.preview-bar span{font-size:1.125rem;margin-right:.6rem;font-weight:800}
.header-inner{padding:1rem 1.75rem;gap:1.5rem;min-height:0}
.brand{gap:.7rem;min-width:0;max-width:100%}
.brand b{font-size:2rem;flex-wrap:wrap;line-height:1.3;gap:.4rem}
.brand .brand-legal{font-size:1.125rem}
.brand small,.brand small.brand-shop{font-size:1.125rem;line-height:1.5;letter-spacing:0;margin-top:.15rem;white-space:normal}
.brand small.brand-shop{color:var(--muted)}
.brand>.icon{width:2.5rem;height:2.5rem}
nav{font-size:1.125rem;gap:1rem;flex-wrap:wrap}
nav>a{white-space:normal;padding:.75rem .25rem;min-height:2.75rem;line-height:1.6}
nav .nav-shop{padding:.75rem 1rem}.nav-contact{padding:.75rem 1rem}
.button,.text-link,.filters button,.menu-toggle,.mobile-shop-shortcut,.cart-quantity button{font-size:1.125rem;line-height:1.65;white-space:normal;min-height:2.75rem}
.button{padding:.8rem 1.1rem;min-height:3.25rem;gap:.7rem;height:auto}
.text-link{align-items:center;gap:.7rem;flex-wrap:wrap;padding:.2rem 0}
.button .icon,.text-link .icon{width:1.6rem;height:1.6rem}
.hero-inner{min-height:0;padding:2.5rem 2rem 2rem;gap:2rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.hero h1{font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.5;margin-bottom:1.15rem}
.hero h1 span{white-space:normal}
.location-tag{font-size:1.125rem;line-height:1.7;letter-spacing:0;flex-wrap:wrap;margin-bottom:1rem}
.hero-sub{font-size:1.25rem;line-height:1.85;margin-bottom:1.25rem}
.hero-foot{font-size:1.125rem;line-height:1.85;margin-top:1.15rem}
.hero-actions{gap:.75rem;max-width:100%}
.hero-actions .button,.hero-actions .outline,.hero-copy .button{font-size:1.125rem;gap:.7rem;padding:.85rem 1rem;min-height:3.25rem}
.hero-bottom{font-size:1.125rem;letter-spacing:0;gap:.75rem 1.2rem;flex-wrap:wrap;padding:1rem}
.mascot-stage{max-width:24rem;padding:.5rem .5rem 1rem}
.mascot-stage-top{padding:0 .5rem .5rem;gap:1rem}
.mascot-bubble{font-size:1.125rem;max-width:13rem;padding:.85rem 1.2rem;transform:none}
.mascot-stage>.clean-mascot{max-width:20rem;width:92%;margin:.25rem auto .65rem}
.mascot-services{gap:.75rem;flex-wrap:wrap}
.mascot-services>span{font-size:1.125rem;padding:.5rem .75rem;gap:.5rem;line-height:1.6}
.mascot-leaf .icon{width:2.5rem;height:2.5rem}
.routes{gap:1.25rem;align-items:start}.route-card{padding:1.5rem;min-width:0}
.route-card h3{font-size:1.55rem;line-height:1.6;margin-bottom:.6rem;white-space:normal}
.route-top{margin-bottom:1rem}.route-top span{font-size:1.5rem;opacity:1;color:var(--muted)}
.route-card p{font-size:1.25rem;line-height:1.8;margin-bottom:1rem;min-height:0}
.route-card .text-link{font-size:1.125rem;padding-top:.8rem;min-height:3rem}
.promise{padding-top:3rem;padding-bottom:3rem;gap:3rem;align-items:start}
.promise-title h2{font-size:2.1rem;margin-bottom:1rem}.promise-title>p:not(.eyebrow),.promise-text{font-size:1.25rem;line-height:1.85}
.promise-title>p:not(.eyebrow){margin-bottom:1rem}.promise-text{padding-top:0}
.service-ribbon{gap:.9rem;flex-wrap:wrap;justify-content:flex-start;margin-top:1.5rem;padding-top:1.25rem}
.service-ribbon span{font-size:1.125rem;gap:.5rem;flex:1 1 7rem;text-align:center}
.concern-grid{gap:1.5rem}.concern-grid>a{padding:1.25rem 0;min-width:0}
.concern-grid h3{font-size:1.5rem;margin:.65rem 0}.concern-grid p{font-size:1.25rem;padding-right:0}
.concern-grid .icon{position:static;width:2.75rem;height:2.75rem;margin-top:.65rem}
.concern-grid span{font-size:1.125rem}
.contact-band{padding:2rem 2.5rem;margin-bottom:3rem;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-band h2{font-size:2rem;margin-bottom:1rem}.contact-band p,.contact-band-right>p{font-size:1.125rem;line-height:1.8}
.contact-band-right>p{margin:.75rem 0 1rem}.contact-band .eyebrow{color:#d5eaff}
.phone{font-size:clamp(1.65rem,2.7vw,2.25rem);letter-spacing:0;line-height:1.7;flex-wrap:wrap;gap:.65rem;white-space:normal;max-width:100%;overflow-wrap:anywhere}
.phone .icon{width:1.75rem;height:1.75rem}.contact-band .button{font-size:1.125rem;min-height:3.25rem}
footer{padding:0 1.75rem 2rem}.footer-main{gap:2rem;margin-bottom:1.75rem;flex-wrap:wrap}
.footer-main p,.footer-links,.footer-bottom,.review{font-size:1.125rem;line-height:1.8}
.footer-links{gap:.5rem 2rem}.footer-links a{padding:.4rem 0;min-height:2.75rem}
.footer-main .brand{margin-bottom:1rem}.footer-bottom{padding:1.1rem 0;gap:1rem;flex-wrap:wrap}
.review{color:var(--muted)}.review summary{min-height:2.75rem;padding:.5rem 0;font-size:1.125rem}.review p{margin-top:.8rem}
.page-hero .wrap{padding-top:1rem;padding-bottom:2rem}.breadcrumb{font-size:1.125rem;min-height:2.75rem;margin-bottom:1rem;line-height:1.7;padding:.35rem 0}
.page-hero h1{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.6;margin-bottom:1rem}
.page-hero .lead{font-size:1.25rem;line-height:1.85}.page-hero .hero-icon{width:8rem;height:8rem;right:2rem;bottom:2rem;opacity:.07}
.editorial{gap:2.5rem;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.editorial h2{font-size:2rem;margin-bottom:1rem}.editorial p:not(.eyebrow){font-size:1.25rem;line-height:1.85}
.big-illustration{min-height:0;padding:2rem 1.25rem;gap:1rem;border-radius:1.3rem}
.big-illustration>.icon{width:8rem;height:8rem}.big-illustration>span{font-size:1.125rem;letter-spacing:.03em;text-align:center;max-width:100%}
.check-list{font-size:1.25rem;line-height:1.8;margin:1.25rem 0}.check-list li{padding:.65rem 0 .65rem 1.8rem}
.mini-grid{gap:1.5rem;margin:1.75rem 0}.mini-grid article{padding-top:1.25rem}.mini-grid h3{font-size:1.5rem;margin-bottom:.6rem}.mini-grid p{font-size:1.25rem}
.mini-grid .icon{margin-bottom:.8rem;width:3.25rem;height:3.25rem}
.info-panel{padding:1.5rem 1.75rem}.info-panel h3{font-size:1.5rem}.info-panel ol{font-size:1.25rem;line-height:1.85;padding-left:1.5rem}.info-panel li{margin:.5rem 0}.info-panel .small{font-size:1.125rem}
.room-grid{gap:1.25rem;align-items:start}.room-grid>a{padding:1.5rem}.room-grid h3{font-size:1.5rem}.room-grid p{font-size:1.25rem;min-height:0;line-height:1.8;margin-right:0}
.room-grid>a>.icon{position:static;width:3rem;height:3rem;margin-bottom:.8rem}.room-grid .text-link{font-size:1.125rem}
.steps{gap:1.75rem;margin:1.5rem 0 0;align-items:start}.steps article{min-width:0;padding-top:1.25rem}.steps h3{font-size:1.5rem;margin:.75rem 0}.steps p{font-size:1.25rem;line-height:1.8}
.notice{padding:1.25rem 1.5rem;margin-bottom:1.5rem}.notice strong{font-size:1.25rem;line-height:1.7}.notice p{font-size:1.125rem;line-height:1.85;margin-top:.6rem}
.sales-scope{gap:1.5rem;margin:1.5rem 0 2rem;align-items:start}.sales-scope article{padding:1.5rem}.sales-scope h2{font-size:1.5rem;margin-bottom:1rem}
.sales-scope p:not(.eyebrow){font-size:1.25rem}.sales-scope p.small,.sales-scope .text-link{font-size:1.125rem}
.catalog-tools{margin:1.75rem 0 1rem;gap:1.25rem;flex-wrap:wrap}.filters{gap:.65rem;flex-wrap:wrap}.filters button{padding:.6rem 1rem;font-size:1.125rem;min-height:3rem}
#list-count{font-size:1.125rem;min-width:2rem;padding:.1rem .4rem}.list-open{font-size:1.125rem;min-height:3rem}
.product-grid,.merchandise-grid{gap:1.5rem;align-items:start}.merchandise-grid .product-art{height:auto;min-height:0;padding:1.25rem;gap:.6rem}.merchandise-grid .product-art>.icon{width:4rem;height:4rem}
.product-photo-label strong,.product-photo-label span{font-size:1.125rem;line-height:1.7;color:var(--muted)}
.merchandise-grid .product-body{padding:1.5rem}.product-body .eyebrow{font-size:1.125rem;line-height:1.9}.product-number{font-size:1.125rem;line-height:1.6;padding:.2rem .5rem;margin-right:.45rem}
.merchandise-grid .product-body h2{font-size:1.6rem;margin-bottom:.75rem}
.product-fields{margin:1rem 0}.product-fields>div{font-size:1.125rem;line-height:1.8;gap:1rem;padding:.7rem 0;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.merchandise-grid .product-body>p.product-sale-note{font-size:1.125rem;line-height:1.85;margin-bottom:1rem;min-height:0}
.merchandise-grid .product-body>p:not(.eyebrow):not(.product-sale-note){font-size:1.25rem;line-height:1.8;min-height:0}
.merchandise-grid .product-body .text-link,.add-cart-preview{font-size:1.125rem;min-height:3rem}.add-cart-preview{margin-top:1rem}
.payment-note{padding:1.5rem;gap:1.25rem;margin-top:2rem}.payment-note h3{font-size:1.5rem;margin-bottom:.8rem}.payment-note p{font-size:1.25rem}.payment-note .text-link{font-size:1.125rem}
dialog{max-width:43rem;width:calc(100% - 2rem);max-height:85dvh;padding:3.5rem 1.75rem 1.75rem;overflow-y:auto;overflow-x:visible;box-sizing:border-box}
dialog h2,#list-dialog h2,#order-review-dialog h2{font-size:1.7rem;line-height:1.6;margin-bottom:1rem}
dialog .eyebrow{font-size:1.125rem;margin-top:0}.dialog-close{width:3rem;height:3rem;min-width:3rem;min-height:3rem;font-size:1.75rem;top:.6rem;right:.6rem}
dialog .button,dialog .text-link{font-size:1.125rem;min-height:3rem;max-width:100%}dialog .notice{padding:1.1rem}
.cart-totals{font-size:1.125rem;line-height:1.8;gap:.8rem 1rem;padding:1.1rem 0;margin:1.3rem 0}
.cart-quantity{font-size:1.125rem;gap:.65rem;margin-top:.8rem;flex-wrap:wrap}.cart-quantity button{font-size:1.125rem;min-height:2.875rem;min-width:2.875rem;padding:.4rem .6rem}
#cart-items li,#review-items li{font-size:1.125rem;padding:1rem 0}#cart-items strong,#review-items strong{font-size:1.25rem;line-height:1.8}#cart-items p,#review-items p{font-size:1.125rem;line-height:1.8;margin-top:.5rem}
.button:disabled{opacity:1;background:#e6ecef;color:#435d6c;border-color:#aabdc7}.cart-quantity button:disabled{opacity:1;background:#edf1f3;color:#657782;border-color:#bbcbd3}
.about-mascot-frame{padding:1.25rem}.about-mascot-frame>.clean-mascot{max-width:18rem;max-height:none;height:auto}
.store-section{padding-top:1rem}.store-grid{gap:1.5rem;align-items:start}.store-photo-placeholder{min-height:0;padding:1.4rem;gap:.65rem}
.store-photo-placeholder>.icon{width:3rem;height:3rem}.store-photo-placeholder>span,.store-photo-placeholder>p{font-size:1.125rem;line-height:1.8}
.store-card-body{padding:1.5rem}.store-card-body h3{font-size:1.7rem;gap:.85rem;flex-wrap:wrap;margin-bottom:1rem}
.store-card-body>p:not(.eyebrow){font-size:1.25rem}.store-card-body>p.small,.store-card-body .store-map-note{font-size:1.125rem;line-height:1.9}
.store-status{font-size:1.125rem;padding:.3rem .8rem}.store-photo-note{font-size:1.125rem;margin-top:1rem}
.company-info{margin-top:1.5rem}.company-info>div{font-size:1.25rem;grid-template-columns:minmax(5rem,.35fr) minmax(0,1fr);gap:1rem;padding:1rem 0;line-height:1.8}
.brand-detail-label{font-size:1.125rem}.access-layout{gap:2rem;align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.access-note{margin-top:1.5rem;padding:1.5rem}.access-note h3{font-size:1.5rem}.access-note p{font-size:1.25rem}.access-note .small{font-size:1.125rem}.access-note .button{font-size:1.125rem;min-height:3.25rem;padding:.8rem 1rem}
.contact-layout{gap:2.5rem;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-phone{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.7;white-space:normal;overflow-wrap:anywhere;margin:.7rem 0}
.contact-layout>div>p:not(.eyebrow){font-size:1.25rem;line-height:1.8}.contact-layout .notice{margin-top:1.5rem}
.contact-shop-route{padding:1.4rem;margin:1.5rem 0}.contact-shop-route>strong{font-size:1.4rem}.contact-shop-route>p{font-size:1.25rem}.contact-shop-route>.small,.contact-shop-route .button{font-size:1.125rem}
.consult-builder{padding:1.75rem}.consult-builder h2{font-size:1.7rem;margin-bottom:1rem}.consult-builder label{font-size:1.25rem;margin:1rem 0 .6rem;line-height:1.7}
select{font-size:1.125rem;min-height:3.25rem;padding:.65rem .7rem;width:100%;max-width:100%;min-width:0}.consult-builder>.button{font-size:1.125rem;margin-top:1.5rem;min-height:3.25rem}
#note-result{margin-top:1.5rem;padding-top:1.3rem}#note-result h3{font-size:1.4rem}#note-text{font-size:1.25rem}
.faq{margin-top:1.5rem}.faq summary{font-size:1.25rem;line-height:1.8;padding:1.1rem 2rem 1.1rem 0;min-height:3rem}.faq p{font-size:1.25rem;line-height:1.8;padding:0 0 1.1rem}
.narrow>h2{font-size:1.8rem;margin:2rem 0 1rem}.narrow>p{font-size:1.25rem}.vertical{gap:1rem;margin-bottom:2rem}.vertical article{padding-left:3.5rem}.vertical b{top:1.25rem}.vertical h3{font-size:1.5rem;margin:0 0 .7rem}
@media(max-width:80rem){
 header{position:relative}.header-inner{flex-wrap:wrap;gap:1rem}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
 .mobile-shop-shortcut{display:flex;align-items:center;justify-content:center;font-size:1.125rem;min-height:3rem;padding:.6rem 1rem;white-space:normal}
 .menu-toggle{display:flex;align-items:center;justify-content:center;width:auto;height:auto;min-width:3rem;min-height:3rem;padding:.6rem .8rem;gap:.5rem}
 .menu-toggle .menu-word{display:inline;font-size:1.125rem}.menu-toggle>span{font-size:1.125rem}
 nav{display:none;position:static;flex-basis:100%;width:100%;padding:.5rem 0 0;box-shadow:none;border:0}
 nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}
 nav>a{font-size:1.25rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);min-height:3rem}
 nav .nav-shop{margin:.4rem 0;font-size:1.25rem}nav .nav-contact{margin-top:.5rem}
 .hero-inner{gap:1.5rem}.routes{grid-template-columns:repeat(3,minmax(0,1fr))}.route-card h3{font-size:1.45rem}
}
@media(max-width:60rem){
 .section{padding-top:2.5rem;padding-bottom:2.5rem}.wrap{padding-left:1.5rem;padding-right:1.5rem}
 .section-head{display:block}.section-head>p{margin-top:.75rem;max-width:none}
 .routes,.concern-grid,.steps,.room-grid{grid-template-columns:1fr;gap:1.25rem}
 .route-card{display:block;position:relative;padding:1.5rem}.route-top{position:static;display:flex;flex-direction:row;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.route-top>.icon{width:3rem;height:3rem}
 .route-card h3{font-size:1.6rem}.route-card p{font-size:1.25rem}.route-card .text-link{font-size:1.125rem}
 .promise,.editorial,.contact-band,.access-layout,.contact-layout{grid-template-columns:1fr;gap:1.75rem}
 .promise{padding-top:2.5rem;padding-bottom:2.5rem}.promise-title h2{font-size:2rem}.promise-text{font-size:1.25rem;padding-top:0}
 .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-grid>a{padding:1.5rem}.room-grid .icon{position:static}.room-grid p{margin-right:0}
 .concern-grid>a{padding:1rem 0;display:block}.concern-grid h3{font-size:1.5rem}.concern-grid h3 br{display:none}.concern-grid p{font-size:1.25rem}
 .concern-grid .icon{position:static;width:2.5rem;height:2.5rem;top:auto;right:auto}
 .steps article{padding:1.25rem 0 0;position:relative}.steps b{position:static;font-size:2rem}.steps h3{margin:.5rem 0 .7rem;font-size:1.5rem}
 .contact-band{margin:0 1.5rem 2.5rem;padding:1.75rem 2rem}.contact-band-right{text-align:left;border-top:1px solid #ffffff40;padding-top:1.25rem;margin-top:0}
 .phone{justify-content:flex-start}.contact-band .button{width:auto}.access-note{margin-top:0}.about-mascot-frame{max-width:27rem;justify-self:center}.consult-builder{max-width:100%}
 .vertical article{padding:1.25rem 0 0}.vertical b{position:static}.vertical h3{margin:.5rem 0 .7rem}
}
@media(max-width:48rem){
 .header-inner{padding:1rem 1.25rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
 .header-actions{display:flex;justify-content:space-between;gap:.75rem;width:100%}.header-actions>a{flex:1 1 auto}.header-actions>button{flex:0 1 auto}
 .brand{max-width:100%;gap:.6rem}.brand>.icon{width:2.1rem;height:2.1rem}.brand b{font-size:2rem}.brand .brand-legal{font-size:1.125rem}
 .brand small,.brand small.brand-shop{font-size:1.125rem;line-height:1.5;letter-spacing:0}
 nav{min-width:0}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding:1.5rem 1.5rem 1.25rem;gap:1.3rem}
 .hero-copy{width:100%}.hero h1{font-size:clamp(1.9rem,6.5vw,2.75rem);line-height:1.55;margin-bottom:1rem}
 .hero-sub{font-size:1.25rem}.hero-actions{max-width:100%;display:flex;flex-direction:column;gap:.75rem}.hero-actions .button{font-size:1.125rem;justify-content:center;flex-wrap:wrap;gap:.65rem;padding:.85rem 1rem}
 .mascot-stage{max-width:23rem;align-self:center;margin:0}.mascot-stage>.clean-mascot{max-width:16rem;width:85%}
 .mascot-bubble{font-size:1.125rem;max-width:12rem;padding:.8rem 1.1rem}.mascot-services>span{font-size:1.125rem;padding:.45rem .65rem}.mascot-services .icon{width:1.6rem;height:1.6rem}
 .hero-foot{font-size:1.125rem;margin-top:1rem}.hero-bottom{font-size:1.125rem;padding:.8rem 1rem;gap:.6rem 1rem}
 .sales-scope,.store-grid,.merchandise-grid,.product-grid{grid-template-columns:1fr;gap:1.25rem}.sales-scope article{padding:1.4rem}
 .catalog-tools{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.filters{flex-wrap:wrap;gap:.5rem}.filters button{font-size:1.125rem;min-height:3rem;padding:.6rem .8rem}.list-open{align-self:stretch;font-size:1.125rem}
 .merchandise-grid .product-body{padding:1.4rem}.merchandise-grid .product-body h2{font-size:1.65rem}.merchandise-grid .product-art{padding:1rem;height:auto;min-height:0}
 .product-fields>div{font-size:1.125rem;padding:.65rem 0}.product-fields .sale-price-field{font-size:1.25rem}.merchandise-grid .product-body>p.product-sale-note{font-size:1.125rem}.merchandise-grid .product-body .text-link{font-size:1.125rem}
 .contact-phone{font-size:1.85rem}.contact-band h2{font-size:1.8rem}.phone{font-size:1.75rem;gap:.6rem}.contact-band .phone .icon{width:1.6rem;height:1.6rem}.contact-band .button{width:100%;font-size:1.125rem}
 .footer-main{display:flex;flex-direction:column;gap:1.5rem}.footer-links{grid-template-columns:1fr;gap:.2rem;font-size:1.125rem}.footer-bottom{font-size:1.125rem;flex-direction:column;align-items:flex-start;gap:.5rem}
 footer{padding:0 1.5rem calc(6.5rem + env(safe-area-inset-bottom))}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:25;background:white;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;padding:.65rem .7rem calc(.65rem + env(safe-area-inset-bottom))}
 .mobile-dock a,.mobile-dock a:last-child{font-size:1.125rem;min-height:3.25rem;padding:.4rem;gap:.4rem;line-height:1.6;flex-wrap:wrap;text-align:center}.mobile-dock .icon{width:1.4rem;height:1.4rem}
 .info-panel{padding:1.4rem}.store-card-body{padding:1.4rem}.store-card-body h3{font-size:1.6rem}.store-photo-note,.store-card-body .store-map-note{font-size:1.125rem}
 .store-photo-placeholder{padding:1.15rem;min-height:0}.store-photo-placeholder>span,.store-photo-placeholder>p{font-size:1.125rem}
 .consult-builder{padding:1.4rem}.consult-builder h2{font-size:1.6rem}.consult-builder label{font-size:1.25rem}.consult-builder>.button{font-size:1.125rem}.contact-shop-route{padding:1.3rem}.contact-shop-route .button{font-size:1.125rem}
 .payment-note{display:block;padding:1.4rem}.payment-note>.icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem}.payment-note p{font-size:1.25rem}.payment-note .text-link{font-size:1.125rem}
 .faq summary,.faq p{font-size:1.25rem}.narrow>h2{font-size:1.7rem}.narrow>p{font-size:1.25rem}
 dialog{width:calc(100% - 1.25rem);padding:3.6rem 1.2rem 1.4rem;border-radius:1rem}.cart-totals{font-size:1.125rem;grid-template-columns:minmax(0,1fr);gap:.35rem}.cart-totals strong{margin-bottom:.65rem}
 .cart-quantity{font-size:1.125rem;gap:.5rem}.cart-quantity button{font-size:1.125rem;min-width:3rem;min-height:3rem}#cart-items strong,#review-items strong{font-size:1.25rem}#cart-items p,#review-items p{font-size:1.125rem}
}
@media(max-width:24rem){
 .wrap{padding-left:1rem;padding-right:1rem}.section{padding-top:2rem;padding-bottom:2rem}.header-inner{padding:1rem;gap:.75rem}
 .header-actions{gap:.5rem;flex-wrap:wrap}.mobile-shop-shortcut{padding:.6rem .7rem;min-height:3rem}.menu-toggle{padding:.6rem .7rem;min-height:3rem}.menu-toggle .menu-word{display:inline}
 .hero-inner{padding:1.5rem 1rem 1.25rem}.hero-actions .shop-primary .icon{width:1.35rem;height:1.35rem}.hero-actions .button{padding:.8rem .7rem}
 .mascot-stage{padding:0 0 .7rem}.mascot-stage-top{padding:0 .2rem .4rem}.mascot-bubble{max-width:11rem;font-size:1.125rem;padding:.75rem 1rem}.mascot-services{gap:.5rem}.mascot-services>span{font-size:1.125rem}
 .mini-grid{grid-template-columns:1fr}.route-card,.room-grid>a,.merchandise-grid .product-body,.sales-scope article,.store-card-body,.consult-builder{padding:1.25rem}
 .product-fields>div{grid-template-columns:minmax(0,1fr);gap:.25rem}.product-fields dd{padding-bottom:.25rem}.company-info>div{grid-template-columns:1fr;gap:.35rem;padding:.8rem 0;font-size:1.25rem}
 .contact-band{margin-left:.75rem;margin-right:.75rem;padding:1.5rem 1.15rem}.phone,.contact-phone{font-size:1.55rem}.contact-band .phone{gap:.4rem}.contact-band .phone .icon{width:1.3rem;height:1.3rem}
 .contact-band h2{font-size:1.7rem}.access-note{padding:1.2rem}.info-panel{padding:1.25rem}.footer-links{grid-template-columns:1fr}
 .mobile-dock{position:static;grid-template-columns:1fr;padding:.75rem;box-shadow:none;border-top:1px solid var(--line)}footer{padding-bottom:1.5rem}
}
@media(max-height:36rem){header{position:relative}.mobile-dock{position:static;box-shadow:none}footer{padding-bottom:1.5rem}dialog{max-height:90dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
