/* Shared mobile foundations. Kept separate so every page loads the same rules. */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{min-width:0;margin:0}
img,video,canvas{max-width:100%}
img{vertical-align:middle}
main,section,article,figure,header,footer,.wrap,.nav,.footer-top,.footer-stores,.footer-store-unit{min-width:0}
.wrap{width:100%}
p,li,address,.footer-contact{overflow-wrap:break-word}
a[href^="mailto:"]{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;max-width:100%}
button,a{-webkit-tap-highlight-color:rgba(108,192,236,.24)}
.btn,.pickup-booking-choice{white-space:normal;text-align:center}
.pickup-booking-choice{text-align:left}
:focus-visible{outline:3px solid #2484b0;outline-offset:4px}
@media(max-width:1024px){
 .calm-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}
 .calm-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .handoff-layout,.pickup-intro-layout{gap:32px}
 .laundrycat-feature{gap:30px}
 .site-footer .footer-top{column-gap:24px}
}
@media(min-width:701px) and (max-width:1024px){
 .nav{flex-wrap:wrap;gap:14px;padding-top:16px;padding-bottom:16px}
 .nav>.brand{order:1}.nav>.lang{order:2;margin-left:auto}
 .nav>nav{order:3;flex:0 0 100%;margin:0;justify-content:space-between;gap:12px;flex-wrap:wrap}
 .nav nav>a:not(.nav-book){display:inline-flex;align-items:center;min-height:44px}
 .cinema-copy h1{font-size:clamp(56px,7vw,74px)}
 .cinema-copy p{max-width:490px}
 .store-heading-grid{gap:32px}
 .soap-promo-copy{padding:28px}.soap-promo h3{font-size:38px}
 #payment>.home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .wrap{padding-left:20px;padding-right:20px}
 .calm-services,.calm-store-grid,.home-price-grid,.pickup-intro-layout,.handoff-layout,.wash-fold-feature,.split,.grid{grid-template-columns:minmax(0,1fr)}
 .calm-services{gap:30px}.calm-store-grid{gap:34px}
 .calm-intro,.home-block{padding-top:44px;padding-bottom:44px}
 .calm-locations{padding-top:48px;padding-bottom:40px}
 .calm-heading h2,.calm-intro h2,.home-block h2{font-size:clamp(29px,8vw,36px);line-height:1.2;letter-spacing:-1px}
 .cinema-hero{height:auto;max-height:none;min-height:0}
 .cinema-copy{padding-top:44px;padding-bottom:200px}
 .cinema-copy h1{font-size:clamp(46px,13vw,60px);letter-spacing:-2.5px;line-height:1.07}
 .cinema-copy p{font-size:17px;line-height:1.65}
 .hero-kicker{letter-spacing:1.5px;line-height:1.8;display:block}
 .hero-bottom{padding-left:20px;padding-right:20px;gap:8px}
 .hero-slide-dot{width:44px;height:44px}.hero-slide-toggle{min-height:44px;padding:9px 12px}
 .hero-slideshow-controls{gap:0}
 .nav>.lang{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .btn,.mobile-menu-toggle{min-height:48px}
 summary{min-height:48px}
 .actions{gap:12px}.actions>.btn{min-width:0}
 .store-visit{max-width:100%}.store-heading h1{font-size:clamp(36px,10vw,46px)}
 .pageintro h1{font-size:clamp(38px,10vw,48px);line-height:1.1;letter-spacing:-1.5px}
 .pickup-booking-intro h1{font-size:clamp(38px,11vw,48px)}
 .pickup-booking-choice>span:first-child{min-width:0}.pickup-booking-choice strong{overflow-wrap:break-word}
 .store-phone{min-height:48px;align-items:center}
 .site-footer .footer-links a,.footer-policies a,.footer-contact{min-height:44px;display:inline-flex;align-items:center}
 .site-footer .footer-stores .footer-contact{display:flex;padding:5px 0;line-height:1.5}
 .footer-stores .footer-policies{margin-top:0;gap:20px}.footer-stores .footer-policies a{display:inline-flex;align-items:center;min-height:44px}
 .site-footer .footer-bottom{padding-bottom:env(safe-area-inset-bottom)}
 input,select,textarea{font-size:16px}
}
@media(max-width:360px){
 .wrap{padding-left:16px;padding-right:16px}
 .nav>.brand{font-size:21px;gap:8px}.nav>.brand img{width:40px;height:40px}
 .hero-bottom{padding-left:16px;padding-right:16px}
 .cinema-copy h1{font-size:46px}
 .pickup-booking-choice{flex-wrap:wrap;gap:10px;padding:16px}
 .pickup-booking-choice .pickup-booking-action{min-height:32px;display:inline-flex;align-items:center}
 .soap-promo-copy{padding:24px 20px}.soap-promo h3{font-size:34px;letter-spacing:-1px}
 .laundrycat-feature{padding:20px}.laundrycat-downloads{gap:12px}
 .store-services .store-service-grid .store-service-card{padding:16px!important;gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{transition:none}}

/* Restore a calm vertical rhythm after content additions. */
body[data-page="home"] main>.calm-intro,
body[data-page="home"] main>.wash-fold-feature,
body[data-page="home"] main>.home-block,
body[data-page="home"] main>.calm-locations{padding-top:96px;padding-bottom:96px}
body[data-page="home"] .home-block>.section-note:last-child{margin-top:56px;margin-bottom:0}
body[data-page="home"] .section-note h3{margin:0 0 18px;line-height:1.35}
body[data-page="home"] .section-note p{margin:0;line-height:1.85}
body[data-page="home"] .home-block>.calm-heading{margin-bottom:36px}
body[data-page="home"] .home-price-grid+.section-note{margin-top:28px;margin-bottom:0}
body[data-page="home"] .soap-promo{margin-top:56px}
body[data-page="home"] .laundrycat-feature{margin-top:48px}
@media(max-width:700px){
 body[data-page="home"] main>.calm-intro,
 body[data-page="home"] main>.wash-fold-feature,
 body[data-page="home"] main>.home-block,
 body[data-page="home"] main>.calm-locations{padding-top:64px;padding-bottom:64px}
 body[data-page="home"] .home-block>.section-note:last-child{margin-top:40px}
 body[data-page="home"] .home-block>.calm-heading{margin-bottom:30px}
 body[data-page="home"] .soap-promo{margin-top:40px}
 body[data-page="home"] .laundrycat-feature{margin-top:36px}
}

body[data-page="home"] main>.home-block#faq{padding-top:96px;padding-bottom:96px}
@media(max-width:700px){body[data-page="home"] main>.home-block#faq{padding-top:64px;padding-bottom:64px}}

/* Compact language switch and menu, matching the approved mobile header. */
.header-languages{display:none}
@media(max-width:700px){
 .nav{gap:10px;padding-top:14px;padding-bottom:14px;justify-content:flex-start}
 .nav>.brand{font-size:18px;letter-spacing:-.6px;gap:8px;max-width:none;min-width:0;flex:1 1 auto}
 .nav>.brand img{width:38px;height:38px}
 .nav>.lang{display:none}
 .nav>.header-languages{order:2;display:flex;align-items:center;gap:9px;flex:none;font-size:16px;font-weight:700;line-height:1.2;color:#647387}
 .header-languages a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px;padding:7px 0;text-decoration:none;border-bottom:3px solid transparent}
 .header-languages a[aria-current="page"]{color:#17384b;border-bottom-color:#6CC0EC}
 .nav>.mobile-menu-toggle{order:3;flex:0 0 48px;width:48px;height:48px;min-height:48px;align-items:center;justify-content:center;margin:0;padding:10px;border:1px solid #dbe6ee;border-radius:14px;background:#fff}
 .mobile-menu-toggle svg{width:27px;height:27px;stroke-width:2}
 .mobile-menu-toggle>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .nav>nav{flex:0 0 100%;padding-top:12px;padding-bottom:0}
}
@media(max-width:360px){
 .nav{gap:8px}.nav>.brand{font-size:0;gap:0;flex:1 1 auto}.nav>.brand img{width:42px;height:42px}
}

/* Secondary hero action is a full button, alongside pickup. */
.cinema-hero .actions{align-items:center;gap:14px;flex-wrap:wrap}
.cinema-hero .hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 24px;border:1px solid #ffffffbd;border-radius:999px;background:#102f4629;color:#fff;font-size:15px;font-weight:650;text-decoration:none;line-height:1.4;text-align:center}
.cinema-hero .hero-secondary:hover{background:#ffffff1f;border-color:#fff}
@media(max-width:700px){.cinema-hero .actions{align-items:stretch;gap:12px}.cinema-hero .hero-secondary{min-height:50px;padding:13px 22px;font-size:14px}}

/* Center desktop navigation and keep language selection separate. */
@media(min-width:1025px){
 .nav{display:grid;grid-template-columns:1fr auto 1fr;column-gap:32px}
 .nav>.brand{justify-self:start}
 .nav>nav{margin:0;justify-content:center;gap:26px}
 .nav>.lang{justify-self:end;margin-left:32px}
}
@media(min-width:701px) and (max-width:1024px){.nav>nav{justify-content:center;gap:28px}}

/* Verified Google testimonial excerpts. */
.customer-reviews{padding-top:96px;padding-bottom:96px}
.customer-reviews .calm-heading{margin-bottom:36px}
.google-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.google-review-card{margin:0;padding:30px;border:1px solid #d9e8f0;border-radius:18px;background:#f5faff;display:flex;flex-direction:column;min-width:0}
.review-store{font-size:12px;font-weight:650;letter-spacing:.6px;color:#526c7c}
.review-stars{font-size:21px;letter-spacing:3px;color:#8c660f;margin-top:16px}
.google-review-card blockquote{margin:18px 0 26px;padding:0;border:0;font-size:22px;line-height:1.55;letter-spacing:-.35px;color:#17384b;flex:1}
.review-author{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.review-author>a:first-child{font-weight:700;text-decoration:none}
.review-author>span{font-size:12px;color:#5b7180}
.review-original{font-size:13px;margin-top:8px;text-underline-offset:4px}
@media(max-width:700px){.customer-reviews{padding-top:64px;padding-bottom:64px}.google-review-grid{grid-template-columns:1fr;gap:18px}.google-review-card{padding:24px}.google-review-card blockquote{font-size:20px}}

/* Make the services label comfortably readable. */
.calm-intro>.eyebrow{display:block;font-size:24px;font-weight:750;line-height:1.4;letter-spacing:1.2px;color:#17384b;margin-bottom:20px}
@media(max-width:700px){.calm-intro>.eyebrow{font-size:22px;letter-spacing:1px;margin-bottom:16px}}

/* One language selector at every screen size. */
.nav>.lang{display:none}
.nav>.header-languages{display:flex;align-items:center;gap:9px;flex:none;font-size:16px;font-weight:700;line-height:1.2;color:#647387}
.header-languages a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px;padding:7px 0;text-decoration:none;border-bottom:3px solid transparent;transition:color .15s,border-color .15s}
.header-languages a:hover{color:#17384b;border-bottom-color:#b8e4fa}
.header-languages a[aria-current="page"]{color:#17384b;border-bottom-color:#6CC0EC}
@media(min-width:1025px){.nav>.brand{grid-column:1;grid-row:1}.nav>nav{grid-column:2;grid-row:1}.nav>.header-languages{grid-column:3;grid-row:1;justify-self:end;margin-left:24px}}
@media(min-width:701px) and (max-width:1024px){.nav>.header-languages{order:2;margin-left:auto}}

/* Keep links in the menu until a single header row has enough room. */
@media(min-width:1281px){.nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:28px;flex-wrap:nowrap}.nav>nav{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:24px}.nav>.header-languages{margin-left:12px}.mobile-menu-toggle{display:none}}
@media(max-width:1280px){
 .nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;min-height:0;padding-top:14px;padding-bottom:14px}
 .nav>.brand{order:1;flex:1 1 auto;max-width:none;min-width:0}
 .nav>.header-languages{order:2;flex:none;margin-left:auto}
 .nav>.mobile-menu-toggle{order:3;display:flex;flex:0 0 48px;width:48px;height:48px;min-height:48px;align-items:center;justify-content:center;margin:0;padding:10px;color:#17384b;border:1px solid #dbe6ee;border-radius:14px;background:#fff;cursor:pointer}
 .mobile-menu-toggle svg{width:27px;height:27px;stroke-width:2}
 .mobile-menu-toggle>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .nav>nav{order:4;display:none;flex:0 0 100%;width:100%;margin:0;padding:12px 0 0;gap:0;flex-direction:column;align-items:stretch}
 .menu-open .nav>nav{display:flex}
 .nav nav>a{padding:12px 0;font-size:15px;line-height:1.4;min-height:44px;display:block;border-bottom:1px solid #e9f0f4}
}
@media(max-width:700px){.nav{gap:10px}.nav>.brand{font-size:18px;letter-spacing:-.6px;gap:8px}.nav>.brand img{width:38px;height:38px}}
@media(max-width:360px){.nav{gap:8px}.nav>.brand{font-size:0;gap:0}.nav>.brand img{width:42px;height:42px}}

/* Anchor slideshow indicators independently of changing caption width. */
.cinema-hero .hero-photo-info{margin-left:auto;align-items:flex-end;text-align:right;min-width:240px}
.cinema-hero .hero-slideshow-controls{justify-content:flex-end;flex:none;width:176px;min-width:176px}
.cinema-hero .hero-slide-dot{flex:0 0 44px;width:44px;height:44px}
@media(max-width:700px){.cinema-hero .hero-bottom{align-items:stretch}.cinema-hero .hero-photo-info{width:100%;min-width:0;align-items:flex-end;text-align:right}}

/* Clear primary pickup action with a quieter store action. */
.cinema-hero .actions>.btn{background:#6CC0EC;color:#12384c;font-weight:700}
.cinema-hero .actions>.btn:hover{background:#91d6f8}
.cinema-hero .actions>.hero-secondary{background:transparent;border-color:#ffffff80;font-weight:500}
.cinema-hero .actions>.hero-secondary:hover{background:#ffffff12;border-color:#fff}

/* Quiet language selector, consistent with navigation typography. */
.nav>.header-languages{font-size:14px;font-weight:500;color:#647387;gap:7px}
.header-languages a{border-bottom-width:2px}
.header-languages a[aria-current="page"]{font-weight:550;border-bottom-color:#8fcce9}

/* Layout follows measured content width rather than a fixed breakpoint. */
.nav:not(.nav-collapsed){display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:28px;flex-wrap:nowrap}
.nav:not(.nav-collapsed)>.brand{grid-column:1;grid-row:1;max-width:none}
.nav:not(.nav-collapsed)>nav{grid-column:2;grid-row:1;display:flex;flex-direction:row;flex-wrap:nowrap;flex:none;width:auto;margin:0;padding:0;gap:24px;align-items:center;justify-content:center;white-space:nowrap}
.nav:not(.nav-collapsed)>nav>a{display:inline-flex;min-height:44px;padding:0;border:0;font-size:14px;line-height:1.4}
.nav:not(.nav-collapsed)>.header-languages{grid-column:3;grid-row:1;justify-self:end;margin-left:0}
.nav:not(.nav-collapsed)>.mobile-menu-toggle{display:none}
.nav.nav-collapsed{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.nav.nav-collapsed>.brand{order:1;flex:1 1 auto}
.nav.nav-collapsed>.header-languages{order:2;margin-left:auto}
.nav.nav-collapsed>.mobile-menu-toggle{order:3;display:flex;flex:0 0 48px;width:48px;height:48px;min-height:48px;align-items:center;justify-content:center;margin:0;padding:10px;color:#17384b;border:1px solid #dbe6ee;border-radius:14px;background:#fff}
.nav.nav-collapsed>nav{order:4;display:none;flex:0 0 100%;width:100%;margin:0;padding:12px 0 0;gap:0;flex-direction:column;align-items:stretch}
.menu-open .nav.nav-collapsed>nav{display:flex}

/* Center link text inside its touch target, aligned with brand and language. */
.nav:not(.nav-collapsed)>nav>a{align-items:center;justify-content:center}

/* One-line English hero headline; color separates its two phrases. */
html[lang="en"] .cinema-copy h1{white-space:nowrap;font-size:clamp(40px,6vw,84px);letter-spacing:-.055em}
@media(max-width:700px){html[lang="en"] .cinema-copy h1{font-size:clamp(26px,8vw,52px);letter-spacing:-.045em}}

.cinema-copy .hero-walk-in{margin-top:18px;font-size:16px;line-height:1.6;max-width:470px;color:#e6eff4}
@media(max-width:700px){.cinema-copy .hero-walk-in{font-size:15px;margin-top:16px}}

/* Center hero content to match the page's section headings. */
.cinema-copy{text-align:center}
.cinema-copy p{margin-left:auto;margin-right:auto;max-width:580px}
.cinema-copy .hero-walk-in{max-width:540px}
.cinema-copy .actions{justify-content:center}
.cinema-hero .hero-shade{background:linear-gradient(0deg,rgba(8,35,53,.55),rgba(8,35,53,.42)),linear-gradient(90deg,rgba(8,35,53,.12),transparent 50%,rgba(8,35,53,.12))}

/* Slideshow indicators stay centered independently of the photos. */
.cinema-hero .hero-bottom{justify-content:center;align-items:center}
.cinema-hero .hero-photo-info{margin-left:0;margin-right:0;min-width:0;align-items:center;text-align:center}
.cinema-hero .hero-slideshow-controls{justify-content:center}
@media(max-width:700px){.cinema-hero .hero-bottom{align-items:center}.cinema-hero .hero-photo-info{width:auto;align-items:center}}

/* Left-aligned reading area, with independently centered slideshow dots. */
.cinema-copy{text-align:left}
.cinema-copy p{margin-left:0;margin-right:0;max-width:490px}
.cinema-copy .hero-walk-in{max-width:470px}
.cinema-copy .actions{justify-content:flex-start}
.cinema-hero .hero-shade{background:linear-gradient(90deg,#082e49d9 0%,#123b5280 48%,#123b5210 100%)}
@media(max-width:700px){.cinema-hero .hero-shade{background:linear-gradient(90deg,#082e49e0,#123b5280)}}

/* Keep photo controls aligned with the left-hand hero content. */
.cinema-hero .hero-bottom{justify-content:flex-start;align-items:flex-start}
.cinema-hero .hero-photo-info{align-items:flex-start;text-align:left}
.cinema-hero .hero-slideshow-controls{justify-content:flex-start}
@media(max-width:700px){.cinema-hero .hero-bottom{align-items:flex-start}.cinema-hero .hero-photo-info{align-items:flex-start}}

/* Give the approved hero copy a little more vertical breathing room. */
.cinema-copy h1{margin-bottom:32px}
.cinema-copy>p{line-height:1.75}
.cinema-copy .hero-walk-in{margin-top:26px;line-height:1.75}
.cinema-copy .actions{margin-top:38px}
@media(max-width:700px){.cinema-copy h1{margin-bottom:26px}.cinema-copy .hero-walk-in{margin-top:22px}.cinema-copy .actions{margin-top:30px}}

.calm-service .treat-note{display:block;margin-top:10px;font-size:12px;line-height:1.5;color:#647887}

/* Connected pickup timeline and courier wordmarks. */
#how .home-steps li{position:relative;isolation:isolate}
#how .home-steps li:not(:last-child)::after{content:"";position:absolute;left:23px;top:48px;bottom:-30px;width:2px;background:#d5ecf8;z-index:-1}
#how .home-steps li>span{background:#fff;border:2px solid #6CC0EC;color:#205575;font-size:19px;box-shadow:0 0 0 5px #fff}
.courier-logos{display:flex;align-items:center;gap:22px;margin:30px 0}
.courier-logos .courier-uber{width:76px;height:27px;object-fit:contain}
.courier-logo-divider{height:24px;width:1px;background:#d7e4eb}
.courier-doordash{display:flex;align-items:center;gap:8px}
.courier-doordash img{max-width:none;object-fit:contain}
@media(max-width:700px){#how .home-steps li:not(:last-child)::after{bottom:-20px}.courier-logos{gap:18px}}

/* Clear booking buttons with softly squared corners rather than pills. */
.cinema-hero .actions>.btn,#how .center-action>.btn{border-radius:10px;min-height:54px;padding:15px 26px;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:0;gap:20px;background:#6CC0EC;color:#12384c;box-shadow:none;border:1px solid transparent}
.cinema-hero .actions>.btn:hover,#how .center-action>.btn:hover{background:#91d6f8}
.cinema-hero .actions>.hero-secondary{border-radius:10px;min-height:54px;font-size:16px;padding:15px 24px;font-weight:500}
@media(max-width:700px){.cinema-hero .actions>.btn,#how .center-action>.btn,.cinema-hero .actions>.hero-secondary{font-size:15px;min-height:52px;padding:14px 22px}}

/* Let pickup content breathe across the height of the photo. */
#how .handoff-layout{align-items:stretch}
#how .handoff-layout>div{display:flex;flex-direction:column;justify-content:space-between;padding:8px 0;min-width:0}
#how .home-steps{margin-bottom:0}
#how .home-steps li{margin-bottom:36px}
#how .home-steps li:last-child{margin-bottom:0}
#how .home-steps li:not(:last-child)::after{bottom:-36px}
#how .courier-logos{margin-top:30px;margin-bottom:28px}
#how .center-action{margin-top:auto}
@media(max-width:700px){#how .handoff-layout>div{padding:0}#how .home-steps li{margin-bottom:28px}#how .home-steps li:not(:last-child)::after{bottom:-28px}#how .courier-logos{margin-top:28px;margin-bottom:24px}}

/* Medium section headings with a little less compressed lettering. */
#services>h2,#how>.calm-heading>h2{font-weight:550;letter-spacing:-.7px}
@media(max-width:700px){#services>h2,#how>.calm-heading>h2{letter-spacing:-.4px}}
#services>h2,#how>.calm-heading>h2{font-size:44px;line-height:1.2;font-weight:550;letter-spacing:-.7px}
@media(max-width:700px){#services>h2,#how>.calm-heading>h2{font-size:34px;letter-spacing:-.4px}}

/* Pickup pricing separates laundry charges from transport. */
#pricing>.calm-heading>h2{font-size:44px;line-height:1.2;font-weight:550;letter-spacing:-.7px}
#pricing .home-price-grid{margin-top:40px;max-width:900px;gap:24px}
#pricing .home-price-grid article{padding:32px;border-radius:14px;background:#f3f9fc;border:1px solid #dcebf3}
#pricing .home-price-grid h3{font-size:17px;line-height:1.4;font-weight:600;letter-spacing:0;text-transform:none;margin:0;color:#17384b}
#pricing .home-price-grid article>p:not(.price){min-height:0;margin-bottom:0;font-size:15px}
.delivery-fee-summary{max-width:900px;margin:24px auto 0;padding:24px 30px;border-top:1px solid #d7e5ed;border-bottom:1px solid #d7e5ed;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.delivery-fee-summary>div{display:flex;align-items:center;gap:12px;font-size:16px;color:#17384b}
.delivery-fee-summary strong{font-size:23px;font-weight:600}
.delivery-fee-summary .fee-plus{color:#7893a3}
.delivery-fee-summary>p{flex-basis:100%;text-align:center;margin:0;font-size:14px;color:#5a7381}
#pricing .center-action{margin-top:30px}
#pricing .center-action>.btn{border-radius:10px;min-height:54px;padding:15px 26px;font-size:16px;font-weight:600;background:#6CC0EC;color:#12384c}
@media(max-width:700px){#pricing>.calm-heading>h2{font-size:34px;letter-spacing:-.4px}.delivery-fee-summary{padding:22px 12px;gap:18px}.delivery-fee-summary>div{font-size:15px;gap:8px}}

/* More expressive pricing composition, keeping every charge readable. */
#pricing .home-price-grid{grid-template-columns:1.15fr 1fr;gap:22px;align-items:stretch}
#pricing .home-price-grid article{position:relative;overflow:hidden;border-radius:20px;padding:36px;min-height:265px}
#pricing .home-price-grid article:first-child{background:#dff3fe;border:1px solid #b9e0f4}
#pricing .home-price-grid article:first-child::before{content:"";position:absolute;width:190px;height:190px;border:24px solid #6cc0ec28;border-radius:50%;right:-75px;top:-90px;pointer-events:none}
#pricing .home-price-grid article:first-child::after{content:"";position:absolute;right:24px;bottom:25px;width:35px;height:35px;border:1px solid #6cc0ec80;border-radius:50%;pointer-events:none}
#pricing .home-price-grid article:nth-child(2){background:#17384b;border-color:#17384b;color:#fff}
#pricing .home-price-grid article:nth-child(2) h3,#pricing .home-price-grid article:nth-child(2) .price{color:#fff}
#pricing .home-price-grid article:nth-child(2)>p:not(.price){color:#d4e5ef}
#pricing .home-price-grid .price{font-size:64px;font-weight:550;margin:24px 0 26px;position:relative}
#pricing .home-price-grid .price span{font-size:16px;font-weight:400;letter-spacing:0}
#pricing .home-price-grid h3{font-size:18px;position:relative}
#pricing .delivery-fee-summary{margin-top:20px;background:#f5f9fc;border:1px solid #e0ebf1;border-radius:14px;padding:22px 28px;gap:20px}
#pricing .delivery-fee-summary>div{gap:12px}
#pricing .delivery-fee-summary strong{font-size:26px}
#pricing .delivery-fee-summary>p{font-size:13px}
@media(max-width:700px){#pricing .home-price-grid{grid-template-columns:1fr;gap:18px}#pricing .home-price-grid article{padding:28px;min-height:0}#pricing .home-price-grid .price{font-size:56px}#pricing .delivery-fee-summary{padding:22px 14px;gap:16px}}

#pricing .delivery-fee-note{text-align:center;margin:22px auto 0;font-size:13px;line-height:1.6;color:#617b8b}

#pricing .additional-rate{font-size:30px;line-height:1.3;font-weight:600;color:#17384b;letter-spacing:-.5px}
#pricing .additional-rate-label{font-size:16px;line-height:1.5;color:#254b60}
#pricing .home-price-grid article:first-child>p:not(.price){display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;position:relative;padding-right:12px}
@media(max-width:700px){#pricing .additional-rate{font-size:28px}#pricing .additional-rate-label{font-size:15px}}

#pricing .pricing-folded-photo{float:right;width:120px;height:96px;object-fit:cover;object-position:25% 62%;border-radius:12px;margin:0 0 18px 16px;position:relative}
#pricing .home-price-grid article:first-child h3{max-width:210px;padding-top:6px}
#pricing .home-price-grid article:first-child .price{clear:both}
#pricing .home-price-grid article:first-child::before,#pricing .home-price-grid article:first-child::after{display:none}
@media(max-width:700px){#pricing .pricing-folded-photo{width:108px;height:88px;margin-left:12px}#pricing .home-price-grid article:first-child h3{max-width:160px}}
#pricing .home-price-grid h3{min-height:96px;margin-bottom:0}
#pricing .home-price-grid article:first-child h3{padding-top:0}
@media(max-width:700px){#pricing .home-price-grid h3{min-height:88px}}

/* Photography and rates form one considered pricing composition. */
#pricing .pricing-composition{display:grid;grid-template-columns:.9fr 1.1fr;max-width:1000px;margin:40px auto 0;border-radius:22px;overflow:hidden;border:1px solid #d7e9f3;background:#dff3fe}
#pricing .pricing-photo-panel{margin:0;min-width:0;position:relative;overflow:hidden}
#pricing .pricing-photo-panel img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;object-position:30% center}
#pricing .pricing-composition .home-price-grid{display:grid;grid-template-columns:1fr;gap:0;margin:0;max-width:none}
#pricing .pricing-composition .home-price-grid article{min-height:0;padding:30px 36px;border:0;border-radius:0}
#pricing .pricing-composition .home-price-grid h3{min-height:0;max-width:none;font-size:17px;margin:0;padding:0}
#pricing .pricing-composition .home-price-grid .price{font-size:52px;margin:14px 0 18px;line-height:1.15}
#pricing .pricing-composition .home-price-grid .price span{font-size:15px}
#pricing .pricing-composition .additional-rate{font-size:27px}
#pricing .pricing-composition .additional-rate-label{font-size:15px}
#pricing .pricing-composition .home-price-grid article:nth-child(2)>p:not(.price){font-size:14px;max-width:370px}
@media(max-width:700px){#pricing .pricing-composition{grid-template-columns:1fr;margin-top:30px}#pricing .pricing-photo-panel img{height:230px;min-height:0;object-position:40% 65%}#pricing .pricing-composition .home-price-grid article{padding:28px}#pricing .pricing-composition .home-price-grid .price{font-size:50px}}

/* Open pricing layout mirrors pickup information without enclosing cards. */
#pricing .pricing-composition{grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;background:transparent;border:0;border-radius:0;overflow:visible}
#pricing .pricing-photo-panel{order:2;border-radius:16px;overflow:hidden}
#pricing .pricing-photo-panel img{height:470px;min-height:0;object-position:30% center}
#pricing .pricing-composition .home-price-grid{order:1;background:transparent;display:block}
#pricing .pricing-composition .home-price-grid article{background:transparent;border:0;border-radius:0;padding:0 0 30px;overflow:visible;color:#17384b}
#pricing .pricing-composition .home-price-grid article:nth-child(2){padding:28px 0 0;border-top:1px solid #dbe8ef;background:transparent}
#pricing .pricing-composition .home-price-grid article h3,#pricing .pricing-composition .home-price-grid article .price{color:#17384b}
#pricing .pricing-composition .home-price-grid article:nth-child(2)>p:not(.price){color:#5a7381}
#pricing .pricing-composition .home-price-grid .price{margin:18px 0;font-size:52px}
#pricing .delivery-fee-note{margin-top:28px}
@media(max-width:700px){#pricing .pricing-composition{grid-template-columns:1fr;gap:32px}#pricing .pricing-photo-panel{order:2}#pricing .pricing-composition .home-price-grid{order:1}#pricing .pricing-photo-panel img{height:300px;object-position:40% 65%}#pricing .pricing-composition .home-price-grid article{padding:0 0 26px}#pricing .pricing-composition .home-price-grid article:nth-child(2){padding-top:26px}}

/* Brand color and functional icons give the open pricing layout structure. */
#pricing .pricing-composition{grid-template-columns:1fr 1fr;gap:32px}
#pricing .pricing-composition .home-price-grid article h3{display:flex;align-items:center;gap:14px;font-size:18px}
.pricing-service-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#ddf2fd;color:#22668e;border:1px solid #b6dff3}
.pricing-service-icon svg{width:26px;height:26px}
#pricing .pricing-composition .home-price-grid article:first-child .price{color:#17384b}
#pricing .pricing-composition .additional-rate{color:#1c678f}
#pricing .pricing-composition .home-price-grid article:nth-child(2){border-top-color:#b8dff2}
#pricing .pricing-composition .home-price-grid .price{margin:18px 0 18px 60px}
#pricing .pricing-composition .home-price-grid article>p:not(.price){margin-left:60px}
#pricing .pricing-photo-panel{box-shadow:9px 9px 0 #e2f3fc}
@media(max-width:700px){#pricing .pricing-composition{grid-template-columns:1fr;gap:30px}#pricing .pricing-composition .home-price-grid .price{margin-left:0}#pricing .pricing-composition .home-price-grid article>p:not(.price){margin-left:0}.pricing-service-icon{width:42px;height:42px;flex-basis:42px}}
/* Avoid repeating circular badges in pricing. */
#pricing .pricing-service-icon{border:0;background:transparent;border-radius:0;width:34px;height:34px;flex-basis:34px;color:#2879a7}
#pricing .pricing-service-icon svg{width:30px;height:30px}
#pricing .pricing-composition .home-price-grid .price{margin-left:48px}
#pricing .pricing-composition .home-price-grid article>p:not(.price){margin-left:48px}
@media(max-width:700px){#pricing .pricing-composition .home-price-grid .price,#pricing .pricing-composition .home-price-grid article>p:not(.price){margin-left:0}}
/* Align the pricing action with the rate column. */
#pricing>.center-action,#pricing .delivery-fee-note{max-width:1000px;margin-left:auto;margin-right:auto;text-align:left}
#pricing>.center-action{justify-content:flex-start}
/* Give the pricing photograph the same visual height as the pickup image. */
#pricing .pricing-photo-panel img{height:550px;object-position:center}
@media(max-width:700px){#pricing .pricing-photo-panel img{height:400px}}
/* Keep rates, disclosure and action within the photograph height. */
#pricing .pricing-composition{align-items:stretch}
#pricing .pricing-composition .home-price-grid{display:flex;flex-direction:column;justify-content:space-between;min-height:550px;padding:8px 0}
#pricing .pricing-composition .home-price-grid article{flex:0 0 auto;padding-bottom:22px}
#pricing .pricing-composition .home-price-grid article+article{padding-top:22px;padding-bottom:0}
#pricing .home-price-grid .delivery-fee-note{margin:20px 0 16px;text-align:left}
#pricing .home-price-grid .center-action{margin:0;justify-content:flex-start;text-align:left}
@media(max-width:700px){#pricing .pricing-composition .home-price-grid{min-height:0;gap:20px}#pricing .home-price-grid .delivery-fee-note{margin:0}}
/* Keep pricing service labels on one line when the column has room. */
#pricing .home-price-grid h3.eyebrow{width:auto;max-width:none;white-space:nowrap;letter-spacing:0}
/* Final pricing readability refinements. */
#pricing .pricing-composition .home-price-grid .price{margin-top:20px;margin-bottom:22px;line-height:1.15}
#pricing .additional-rate-label{font-weight:500;line-height:1.6;color:#365c70}
#pricing .pricing-composition .home-price-grid article>p:not(.price){line-height:1.65}
/* Match the photo treatment across the pickup and pricing sections. */
#how .handoff-layout>figure{box-shadow:9px 9px 0 #e2f3fc}
/* Location overview follows the same calm heading hierarchy. */
#stores{padding:88px 0;background:#f2f9fc}
#stores .calm-heading h2{font-size:44px;font-weight:550;letter-spacing:-.7px;line-height:1.15}
#stores .calm-heading p{max-width:650px;margin:22px auto 0;line-height:1.65}
#stores .calm-store-grid{gap:32px;margin-top:48px;align-items:stretch}
#stores .calm-store{display:flex;flex-direction:column}
#stores .store-photo-link{border-radius:14px;overflow:hidden;display:block;margin-bottom:25px}
#stores .store-photo,#stores .store-coming-photo{height:220px;width:100%;object-fit:cover;margin:0}
#stores .calm-store h3{font-size:24px;font-weight:550;letter-spacing:-.3px;margin:12px 0}
#stores .store-zone{font-size:12px;letter-spacing:1px}
#stores .store-hours{line-height:1.65;margin:12px 0 24px}
#stores .store-visit{margin-top:auto;padding-top:14px;border-top:1px solid #cde2ec;font-weight:550}
@media(max-width:700px){#stores{padding:64px 0}#stores .calm-heading h2{font-size:34px;letter-spacing:-.4px}#stores .calm-store-grid{gap:44px;margin-top:34px}}
/* A compact, coordinated location overview with clear visual anchors. */
#stores{padding:54px 0 48px;background:linear-gradient(180deg,#f5fbfe,#eaf5fb)}
#stores .calm-heading h2:after{content:"";display:block;width:48px;height:3px;background:#73bfe5;margin:18px auto 0;border-radius:2px}
#stores .calm-heading p{margin-top:16px;font-size:16px}
#stores .calm-store-grid{gap:32px;margin-top:30px}
#stores .store-photo-link{margin-bottom:18px;border-radius:12px;box-shadow:0 4px 0 #c9e7f6;transition:transform .2s ease}
#stores .store-photo-link:hover{transform:translateY(-3px)}
#stores .store-photo,#stores .store-coming-photo{height:175px}
#stores .store-zone{font-size:11px;letter-spacing:1px;color:#326984}
#stores .calm-store h3{margin:7px 0 11px;font-size:23px}
#stores .calm-store>p{margin:0;font-size:14px;line-height:1.6}
#stores .store-hours{min-height:0;margin:14px 0 18px;font-size:13px;line-height:1.6}
#stores .last-wash{font-size:12px;line-height:1.5;padding-top:7px;margin-top:7px}
#stores .store-visit{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 0 0;font-size:14px;color:#1c668c;border-bottom:0;border-top:1px solid #b8d9ea}
#stores .store-visit span{font-size:22px;line-height:1}
@media(max-width:700px){#stores{padding:54px 0}#stores .calm-store-grid{gap:34px}#stores .store-photo,#stores .store-coming-photo{height:210px}}
#stores .calm-store>p{position:relative;padding-left:22px}
#stores .calm-store>p:before{content:"";position:absolute;left:0;top:3px;width:16px;height:18px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23326984' stroke-width='1.6'%3E%3Cpath d='M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
/* Readability takes priority over fitting one viewport. */
#stores .store-zone{font-size:13px;color:#36566a;letter-spacing:.7px}
#stores .calm-store h3{font-size:25px;margin:10px 0 14px}
#stores .calm-store>p{font-size:16px;line-height:1.65;color:#294b60;padding-left:24px}
#stores .store-hours{font-size:16px;line-height:1.6;color:#294b60;margin:16px 0 20px}
#stores .last-wash{font-size:14px;line-height:1.6;color:#36566a;padding-top:9px;margin-top:9px}
#stores .store-visit{font-size:16px;padding-top:14px}
#stores .calm-heading p{font-size:17px;color:#36566a}
/* Give each store a distinct, readable place in the location overview. */
#stores{background:#eef7fc;padding:58px 0}
#stores .calm-store-grid{gap:24px}
#stores .calm-store{position:relative;background:#fff;border:1px solid #d8e8f1;border-radius:16px;padding:0 22px 20px;overflow:hidden;box-shadow:0 6px 18px rgba(26,67,91,.035)}
#stores .store-photo-link{margin:0 -22px 21px;border-radius:0;box-shadow:none;border-bottom:3px solid #83c7e8;width:calc(100% + 44px)}
#stores .store-photo,#stores .store-coming-photo{height:180px;border-radius:0}
#stores .store-zone{font-size:12px;letter-spacing:.8px;color:#397695;font-weight:550}
#stores .calm-store h3{font-size:24px;line-height:1.2;margin:9px 0 15px;color:#17384b}
#stores .calm-store>p{font-size:16px;line-height:1.6;margin-bottom:3px}
#stores .store-hours{font-size:15px;line-height:1.65;margin:15px 0 20px;padding-top:13px;border-top:1px solid #e1edf3}
#stores .last-wash{border:0;padding-top:7px;margin-top:4px;font-size:14px;color:#44677b}
#stores .store-visit{margin-top:auto;border-top:1px solid #d5e7f1;padding-top:15px;color:#1b638b;font-size:16px;font-weight:600}
#stores .store-visit:hover{color:#17384b}
@media(max-width:700px){#stores .calm-store-grid{gap:28px}#stores .store-photo,#stores .store-coming-photo{height:220px}}
/* Outline clock complements the address pin on location panels. */
#stores .store-hours{position:relative;padding-left:24px}
#stores .store-hours:before{content:"";position:absolute;left:0;top:17px;width:16px;height:16px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23326984' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
#stores .store-photo,#stores .store-coming-photo{height:200px}
#stores .store-directions{color:inherit;text-decoration:none;display:inline-block}
#stores .store-directions:hover{text-decoration:underline;text-underline-offset:3px;color:#1b638b}
#stores .store-directions:focus-visible{outline:2px solid #2879a7;outline-offset:4px;border-radius:2px}
@media(max-width:700px){#stores .store-photo,#stores .store-coming-photo{height:230px}}
/* In-store amenities are a concise invitation, followed by a distinct special. */
#amenities{padding-top:76px;padding-bottom:76px}
#amenities .calm-heading h2{font-size:44px;font-weight:550;letter-spacing:-.7px;line-height:1.15}
#amenities .home-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:42px}
#amenities .amenity-card{border:0;padding-top:0}
#amenities .amenity-icon{background:transparent;border:0;border-radius:0;width:36px;height:36px;padding:0;color:#2879a7;margin-bottom:18px}
#amenities .amenity-icon svg{width:32px;height:32px}
#amenities .home-feature-grid h3{font-size:20px;font-weight:550;line-height:1.3;margin:0 0 13px}
#amenities .home-feature-grid p{font-size:16px;line-height:1.65;color:#456272;margin:0}
#amenities .soap-promo{margin-top:54px;border-radius:16px;overflow:hidden}
#amenities .soap-promo h3{font-weight:550}
@media(max-width:900px){#amenities .home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:700px){#amenities{padding-top:56px;padding-bottom:56px}#amenities .calm-heading h2{font-size:34px;letter-spacing:-.4px}}
@media(max-width:420px){#amenities .home-feature-grid{grid-template-columns:1fr}}
/* Lift the amenities heading and let the features breathe beneath it. */
#amenities{padding-top:60px}
#amenities .home-feature-grid{margin-top:58px}
#amenities .soap-promo{margin-top:64px}
@media(max-width:700px){#amenities{padding-top:48px}#amenities .home-feature-grid{margin-top:38px}#amenities .soap-promo{margin-top:46px}}
/* Preserve the established heading position; add space only below it. */
#amenities{padding-top:76px}
@media(max-width:700px){#amenities{padding-top:56px}}
/* Lead the in-store section with the special, then the four amenities. */
body[data-page="home"] #amenities .soap-promo{margin-top:40px}
#amenities .home-feature-grid{margin-top:48px}
@media(max-width:700px){body[data-page="home"] #amenities .soap-promo{margin-top:30px}#amenities .home-feature-grid{margin-top:36px}}
/* Blend the soap photograph into the ivory offer panel. */
#amenities .soap-promo{background:#fcf8ee}
#amenities .soap-promo-photo{position:relative}
#amenities .soap-promo-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fcf8ee 0%,rgba(252,248,238,.9) 5%,rgba(252,248,238,.35) 17%,rgba(252,248,238,0) 34%)}
@media(max-width:700px){#amenities .soap-promo-photo:after{background:linear-gradient(180deg,#fcf8ee 0%,rgba(252,248,238,.5) 14%,rgba(252,248,238,0) 35%)}}
/* Keep the soap special as a lighter horizontal banner. */
#amenities .soap-promo{grid-template-columns:1.05fr 1fr;min-height:300px}
#amenities .soap-promo-copy{padding:26px 36px;display:flex;flex-direction:column;justify-content:center}
#amenities .soap-promo h3{font-size:38px;margin:0 0 16px;line-height:1.12}
#amenities .soap-promo .soap-promo-days{margin:0 0 6px;font-size:18px}
#amenities .soap-promo-copy>p:last-child{margin:0}
#amenities .soap-promo-photo img{height:300px;min-height:0;object-position:60% center}
@media(max-width:700px){#amenities .soap-promo{grid-template-columns:1fr;min-height:0}#amenities .soap-promo-copy{padding:26px 24px}#amenities .soap-promo h3{font-size:34px}#amenities .soap-promo-photo img{height:230px}}
#amenities .soap-promo-copy>p:last-child{font-size:17px;line-height:1.65;max-width:390px;color:#29475a}
/* Give the special and amenities more vertical breathing room. */
#amenities .soap-promo{min-height:340px}
#amenities .soap-promo-copy{padding:44px 36px}
#amenities .soap-promo-photo img{height:340px}
#amenities .home-feature-grid{margin-top:60px;padding-top:8px;padding-bottom:24px}
#amenities .amenity-icon{margin-bottom:22px}
#amenities .home-feature-grid h3{margin-bottom:16px}
#amenities{padding-bottom:88px}
@media(max-width:700px){#amenities .soap-promo{min-height:0}#amenities .soap-promo-copy{padding:34px 24px}#amenities .soap-promo-photo img{height:230px}#amenities .home-feature-grid{margin-top:44px;row-gap:36px;padding-bottom:12px}#amenities{padding-bottom:64px}}
/* Mark the transition from pickup steps to pricing. */
#pricing{border-top:1px solid #dce8ef}
/* Put the two machine-payment choices first, with practical extras below. */
#payment{padding-top:76px;padding-bottom:76px}
#payment .calm-heading h2{font-size:44px;font-weight:550;letter-spacing:-.7px}
#payment .payment-main-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;align-items:start}
#payment .payment-card-option{padding:32px;background:#eff8fd;border-radius:16px;border-top:3px solid #79c2e8}
#payment .payment-card-option h3{font-size:25px;font-weight:550;margin:0 0 18px}
#payment .payment-card-option p{font-size:17px;line-height:1.7;margin:0}
#payment .laundrycat-feature{display:block;margin:0;padding:0;border:0;background:transparent}
#payment .laundrycat-how{display:none}
#payment .laundrycat-intro h3{font-size:25px;font-weight:550}
#payment .laundrycat-intro p{font-size:17px;line-height:1.7}
#payment .laundrycat-logo{max-width:160px;height:auto}
#payment .payment-supporting{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;padding-top:28px;border-top:1px solid #dce8ef}
#payment .payment-supporting h3{font-size:19px;font-weight:550;margin:0 0 10px}
#payment .payment-supporting p{font-size:16px;line-height:1.65;margin:0;color:#456272}
@media(max-width:700px){#payment{padding:56px 24px}#payment .calm-heading h2{font-size:34px}#payment .payment-main-options,#payment .payment-supporting{grid-template-columns:1fr;gap:30px}#payment .payment-card-option{padding:26px}}
#payment .payment-card-option{background:transparent;border:0;padding:0}
#payment .payment-card-visual{display:block;width:100%;max-width:330px;height:auto;border-radius:12px;box-shadow:0 8px 22px rgba(18,57,82,.12);margin:0 0 28px}
#payment .card-bonus{margin-top:24px;padding-top:20px;border-top:1px solid #dce8ef}
#payment .card-bonus h3{font-size:19px;margin:0 0 8px}
#payment .card-bonus p{font-size:16px;line-height:1.65;color:#456272}
#payment details.laundrycat-how{display:block;max-width:none;margin:22px 0 0;border-top:1px solid #dce8ef;border-bottom:1px solid #dce8ef;padding:16px 0}
#payment .laundrycat-how summary{font-size:16px;font-weight:550;color:#1b638b;cursor:pointer}
#payment .laundrycat-how ol{margin:20px 0 12px;padding-left:22px}
#payment .laundrycat-how li{margin:0 0 18px;padding-left:5px}
#payment .laundrycat-how li strong{font-size:16px}
#payment .laundrycat-how li p,#payment .laundrycat-how .laundrycat-note{font-size:15px;line-height:1.65;margin:5px 0 0;color:#456272}
/* One composed payment section: recognizable stations and two clear options. */
#payment .payment-layout{display:grid;grid-template-columns:.92fr 1fr;gap:48px;align-items:start;margin-top:44px}
#payment .payment-stations-photo{margin:0;position:sticky;top:32px;border-radius:16px;overflow:hidden;box-shadow:9px 9px 0 #e2f3fc}
#payment .payment-stations-photo img{display:block;width:100%;height:540px;object-fit:cover;object-position:center}
#payment .payment-main-options{display:flex;flex-direction:column;gap:30px;margin:0;min-width:0}
#payment .payment-card-option{position:relative;padding:0 0 28px;border-bottom:1px solid #dce8ef;width:100%}
#payment .payment-card-visual{float:right;width:136px;max-width:35%;margin:0 0 16px 20px;box-shadow:0 5px 14px rgba(18,57,82,.1);border-radius:7px}
#payment .payment-card-option h3{font-size:23px;margin:0 0 16px;line-height:1.25}
#payment .payment-card-option>article p{font-size:16px;line-height:1.7}
#payment .card-bonus{clear:both;border:0;margin-top:18px;padding:16px 18px;background:#f0f8fc;border-radius:10px}
#payment .card-bonus h3{font-size:17px;margin-bottom:7px}
#payment .card-bonus p{font-size:15px;line-height:1.6}
#payment .laundrycat-logo{float:right;width:112px;margin:0 0 12px 18px}
#payment .laundrycat-intro h3{font-size:23px;line-height:1.25;margin:0 0 16px}
#payment .laundrycat-intro p{font-size:16px;line-height:1.7;margin:0 0 20px}
#payment .laundrycat-downloads{clear:both}
#payment details.laundrycat-how{margin-top:22px}
@media(max-width:800px){#payment .payment-layout{grid-template-columns:1fr;gap:36px}#payment .payment-stations-photo{position:static}#payment .payment-stations-photo img{height:320px;object-fit:cover}#payment .payment-main-options{gap:28px}}
/* A single station cutout keeps attention on the payment choices. */
#payment .payment-stations-photo{background:linear-gradient(145deg,#f4faff,#e8f5fc);box-shadow:none;padding:26px;display:flex;align-items:center;justify-content:center}
#payment .payment-stations-photo img{height:490px;object-fit:contain;max-width:100%}
@media(max-width:800px){#payment .payment-stations-photo img{height:360px}}
/* Read the payment choices first, with the station on the right. */
#payment .payment-layout{grid-template-columns:1fr .92fr}
#payment .payment-main-options{grid-column:1;grid-row:1}
#payment .payment-stations-photo{grid-column:2;grid-row:1}
#payment .payment-card-visual{width:156px;margin-right:0}
#payment .laundrycat-logo{width:130px;margin-right:0}
@media(max-width:800px){#payment .payment-layout{grid-template-columns:1fr}#payment .payment-main-options{grid-column:1;grid-row:1}#payment .payment-stations-photo{grid-column:1;grid-row:2}}
/* Place each payment visual before its explanation. */
#payment .payment-card-visual{float:left;width:140px;max-width:34%;margin:0 22px 20px 0}
#payment .laundrycat-logo{float:left;width:118px;max-width:30%;margin:0 22px 20px 0}
#payment .laundrycat-intro h3,#payment .payment-card-option h3{padding-top:3px}
#payment .laundrycat-downloads{clear:both;padding-top:4px}
@media(max-width:420px){#payment .payment-card-visual{width:105px;margin-right:16px}#payment .laundrycat-logo{width:92px;margin-right:16px}}
#payment .laundrycat-intro h3,#payment .laundrycat-intro>p{margin-left:140px}
#payment .laundrycat-intro>p{min-height:54px}
#payment .payment-card-option>article{margin-left:162px}
@media(max-width:420px){#payment .laundrycat-intro h3,#payment .laundrycat-intro>p{margin-left:108px}#payment .payment-card-option>article{margin-left:121px}}
#payment .payment-card-visual{width:180px;max-width:38%;margin-right:24px}
#payment .payment-card-option>article{margin-left:204px}
.laundrycat-help-trigger{border:0;background:transparent;padding:12px 0;color:#1b638b;font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.laundrycat-help-dialog{border:1px solid #dce8ef;border-radius:18px;padding:34px;max-width:520px;width:calc(100% - 40px);max-height:80vh;color:#17384b;box-shadow:0 24px 80px #102d4b33}
.laundrycat-help-dialog::backdrop{background:#102d4b77}
.laundrycat-help-dialog h3{font-size:26px;margin:0 35px 24px 0;font-weight:550}
.laundrycat-help-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;color:#17384b;cursor:pointer;width:40px;height:40px}
.laundrycat-help-dialog ol{padding-left:24px;margin:0}.laundrycat-help-dialog li{padding-left:6px;margin-bottom:20px}.laundrycat-help-dialog p{font-size:16px;line-height:1.65;margin:6px 0;color:#456272}
.laundrycat-help-dialog .laundrycat-note{font-size:14px;border-top:1px solid #dce8ef;padding-top:16px}
@media(max-width:700px){#payment .payment-card-visual{width:150px;max-width:40%}#payment .payment-card-option>article{margin-left:174px}}
@media(max-width:420px){#payment .payment-card-visual{float:none;max-width:100%;width:180px;margin:0 0 24px}#payment .payment-card-option>article{margin-left:0}}
/* Make the card reward feel like an offer without inventing the bonus amount. */
#payment .card-bonus{margin-top:24px;padding:21px 24px;background:linear-gradient(120deg,#e3f4fd,#f3faff);border:1px solid #bddff1;border-left:4px solid #55add9;border-radius:12px;position:relative}
#payment .card-bonus h3{font-size:16px;letter-spacing:.15px;color:#235e7e;font-weight:650;margin-bottom:10px}
#payment .card-bonus .bonus-benefit{display:block;font-size:24px;font-weight:600;line-height:1.25;color:#17384b;letter-spacing:-.4px}
#payment .card-bonus .bonus-detail{display:block;font-size:14px;line-height:1.6;margin-top:10px;color:#456272}
#payment .payment-card-option{border-radius:0;box-shadow:none;padding-bottom:28px}
#payment .payment-main-options{gap:32px}
/* Let payment stand as a full section, with a clear heading-to-content pause. */
#payment{padding-top:96px;padding-bottom:100px}
#payment .payment-layout{margin-top:62px;gap:56px;align-items:stretch}
#payment .payment-main-options{justify-content:space-between;gap:42px;padding:12px 0}
#payment .payment-stations-photo{position:static;min-height:570px}
#payment .payment-card-option{padding-bottom:34px}
#payment .card-bonus{margin-top:28px;padding:24px}
#payment .laundrycat-heading-row{margin-left:140px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:18px}
#payment .laundrycat-heading-row h3{margin:0;padding:0}
#payment .laundrycat-heading-row .laundrycat-help-trigger{font-size:14px;padding:0;white-space:nowrap}
#payment .laundrycat-intro>p{margin-bottom:24px}
@media(max-width:800px){#payment .payment-stations-photo{min-height:0}#payment .payment-layout{gap:40px;margin-top:40px}}
@media(max-width:700px){#payment{padding-top:64px;padding-bottom:70px}#payment .payment-main-options{padding:0;gap:36px}}
@media(max-width:420px){#payment .laundrycat-heading-row{margin-left:108px}}
/* One shared alignment system for both payment options. */
#payment .payment-card-option{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:24px;row-gap:22px;align-items:start}
#payment .payment-card-visual{float:none;grid-column:1;grid-row:1;width:150px;max-width:100%;margin:0}
#payment .payment-card-option>article{grid-column:2;grid-row:1;margin:0}
#payment .payment-card-option h3{font-size:23px;line-height:1.3;margin:0 0 16px;padding:0}
#payment .payment-card-option>article p{font-size:16px;line-height:1.7;margin:0}
#payment .card-bonus{grid-column:2;grid-row:2;margin:0;padding:18px;border-left-width:3px}
#payment .card-bonus h3{font-size:16px;margin:0 0 10px}
#payment .card-bonus .bonus-benefit{font-size:21px}
#payment .laundrycat-intro{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:24px;row-gap:0;align-items:start}
#payment .laundrycat-logo{float:none;grid-column:1;grid-row:1 / span 2;width:150px;max-width:100%;margin:0}
#payment .laundrycat-heading-row{grid-column:2;grid-row:1;margin:0 0 16px;gap:12px;display:flex;flex-wrap:wrap}
#payment .laundrycat-heading-row h3{font-size:23px;line-height:1.3;margin:0;padding:0}
#payment .laundrycat-intro>p{grid-column:2;grid-row:2;margin:0;min-height:0;font-size:16px;line-height:1.7}
#payment .laundrycat-downloads{grid-column:2;grid-row:3;margin-top:22px;padding:0;gap:10px;display:flex;flex-wrap:wrap}
#payment .laundrycat-downloads img{width:120px;height:auto}
@media(max-width:1100px) and (min-width:801px){#payment .payment-layout{gap:40px;grid-template-columns:1.15fr .85fr}#payment .payment-card-option,#payment .laundrycat-intro{grid-template-columns:124px minmax(0,1fr);column-gap:20px}#payment .payment-card-visual,#payment .laundrycat-logo{width:124px}}
@media(max-width:520px){#payment .payment-card-option,#payment .laundrycat-intro{grid-template-columns:100px minmax(0,1fr);column-gap:18px}#payment .payment-card-visual,#payment .laundrycat-logo{width:100px}#payment .card-bonus{grid-column:1 / -1}#payment .laundrycat-downloads{grid-column:1 / -1}#payment .payment-card-option h3,#payment .laundrycat-heading-row h3{font-size:21px}}
@media(max-width:1100px) and (min-width:801px){#payment .payment-card-option,#payment .laundrycat-intro{grid-template-columns:150px minmax(0,1fr);column-gap:24px}#payment .payment-card-visual,#payment .laundrycat-logo{width:150px}}
/* Size the terminal panel to the product, giving the explanations more room. */
#payment .payment-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);gap:48px;align-items:center}
#payment .payment-stations-photo{min-height:0;padding:18px;align-self:center}
#payment .payment-stations-photo img{height:360px;width:100%;object-fit:contain}
#payment .payment-main-options{gap:32px;justify-content:flex-start}
@media(max-width:800px){#payment .payment-layout{grid-template-columns:1fr;gap:36px}#payment .payment-stations-photo{width:100%;max-width:400px;justify-self:center}#payment .payment-stations-photo img{height:320px}}
/* One reward banner, followed by two equal payment choices. */
#payment .payment-layout{display:block;margin-top:48px}
#payment .payment-reward-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(110deg,#eef8fe,#e4f2fb);border:1px solid #d6e9f4;border-radius:16px;padding:24px 40px;min-height:270px;gap:32px}
#payment .payment-reward-banner .card-bonus{display:block;border:0;background:transparent;padding:0;margin:0;grid-column:auto;grid-row:auto}
#payment .payment-reward-banner .card-bonus h3{font-size:20px;margin:0 0 14px}
#payment .payment-reward-banner .bonus-benefit{font-size:32px;line-height:1.2}
#payment .payment-reward-banner .bonus-detail{font-size:16px;margin-top:16px;max-width:330px}
#payment .payment-reward-banner .payment-stations-photo{grid-column:auto;grid-row:auto;min-height:0;padding:0;background:transparent;border-radius:0;box-shadow:none;width:100%;max-width:none}
#payment .payment-reward-banner .payment-stations-photo img{height:250px;width:100%;object-fit:contain}
#payment .payment-main-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:48px;padding:0;align-items:start}
#payment .payment-card-option{display:grid;grid-template-columns:1fr;row-gap:22px;border:0;padding:0}
#payment .payment-card-visual{grid-column:1;grid-row:1;width:180px;max-width:100%;margin:0}
#payment .payment-card-option>article{grid-column:1;grid-row:2;margin:0}
#payment .laundrycat-intro{display:grid;grid-template-columns:1fr;row-gap:0}
#payment .laundrycat-logo{grid-column:1;grid-row:1;width:180px;max-width:100%;height:115px;object-fit:contain;object-position:left center;margin:0 0 22px}
#payment .laundrycat-heading-row{grid-column:1;grid-row:2;margin:0 0 16px}
#payment .laundrycat-intro>p{grid-column:1;grid-row:3;margin:0;font-size:16px}
#payment .laundrycat-downloads{grid-column:1;grid-row:4;margin-top:22px}
@media(max-width:700px){#payment .payment-reward-banner{padding:28px 24px;gap:20px;grid-template-columns:1fr 1fr}#payment .payment-reward-banner .bonus-benefit{font-size:26px}#payment .payment-reward-banner .payment-stations-photo img{height:210px}#payment .payment-main-options{grid-template-columns:1fr;gap:38px;margin-top:36px}#payment .laundrycat-logo{height:auto;margin-bottom:22px}}
@media(max-width:420px){#payment .payment-reward-banner{grid-template-columns:1fr}#payment .payment-reward-banner .payment-stations-photo img{height:220px}}
/* A clear reward moment, coordinated with the soap special. */
#payment .payment-reward-banner{min-height:240px;padding:22px 40px;background:radial-gradient(ellipse at 83% 45%,#d4ecfa 0%,#e8f5fc 40%,#f2f9fd 78%);border-color:#d1e7f3}
#payment .payment-reward-banner .payment-stations-photo img{height:225px}
#payment .payment-reward-banner .card-bonus h3{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:.25px;margin-bottom:16px}
#payment .payment-reward-banner .card-bonus h3:before{content:"";width:26px;height:26px;flex:0 0 26px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%232878a3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13h24v6H4zM7 19v10h18V19M16 13v16M16 13c-6 0-10-2-10-6a4 4 0 0 1 7-2l3 8Zm0 0c6 0 10-2 10-6a4 4 0 0 0-7-2l-3 8Z'/%3E%3C/svg%3E")}
#payment .payment-reward-banner .bonus-benefit{font-size:34px;line-height:1.1;letter-spacing:-.8px;font-weight:550}
#payment .bonus-benefit>span{display:block}
#payment .bonus-benefit b{font-weight:650}
#payment .payment-reward-banner .bonus-result{color:#247da9;margin-top:7px}
#payment .payment-reward-banner .bonus-detail{margin-top:18px;font-size:15px}
@media(max-width:700px){#payment .payment-reward-banner{padding:26px 24px}#payment .payment-reward-banner .bonus-benefit{font-size:29px}#payment .payment-reward-banner .payment-stations-photo img{height:210px}}
/* Each column tells one payment story: physical card or mobile app. */
#payment .payment-layout.payment-two-stories{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
#payment .payment-physical-column{min-width:0}
#payment .payment-two-stories .payment-card-option{display:flex;flex-direction:column;gap:22px;padding:0;border:0}
#payment .payment-two-stories .payment-card-visual{width:200px;margin:0}
#payment .payment-two-stories .payment-card-option>article{margin:0}
#payment .payment-two-stories .payment-reward-banner{display:flex;flex-direction:column;align-items:stretch;margin-top:28px;padding:28px;gap:22px;min-height:0}
#payment .payment-two-stories .payment-reward-banner .bonus-benefit{font-size:30px}
#payment .payment-two-stories .payment-reward-banner .payment-stations-photo img{height:230px}
#payment .payment-two-stories>.laundrycat-feature{margin:0;padding:0}
#payment .payment-two-stories .laundrycat-logo{height:128px;width:200px;margin-bottom:22px}
#payment .payment-two-stories .laundrycat-heading-row h3,#payment .payment-two-stories .payment-card-option h3{font-size:25px}
#payment .payment-two-stories .laundrycat-intro>p,#payment .payment-two-stories .payment-card-option>article p{font-size:17px;line-height:1.7}
@media(max-width:700px){#payment .payment-layout.payment-two-stories{grid-template-columns:1fr;gap:40px}#payment .payment-two-stories .laundrycat-logo{height:auto}#payment .payment-two-stories .payment-reward-banner{padding:24px}}
#payment .payment-reward-left{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
#payment .payment-reward-left>.payment-reward-banner{margin-top:0}
#payment .payment-methods-stack{display:flex;flex-direction:column;gap:34px;min-width:0}
#payment .payment-methods-stack .payment-card-option{padding-bottom:28px;border-bottom:1px solid #dce8ef}
#payment .payment-methods-stack .laundrycat-feature{margin:0;padding:0}
#payment .payment-methods-stack .laundrycat-logo{height:90px;width:160px;margin-bottom:20px}
#payment .payment-methods-stack .payment-card-visual{width:180px}
@media(max-width:700px){#payment .payment-reward-left{grid-template-columns:1fr}#payment .payment-methods-stack{gap:30px}}
/* Align the reward panel bottom with the app download buttons. */
#payment .payment-layout.payment-two-stories.payment-reward-left{align-items:stretch}
#payment .payment-reward-left>.payment-reward-banner{height:100%;box-sizing:border-box;justify-content:space-between}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo{margin-top:auto;padding-top:26px}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{height:270px}
@media(max-width:700px){#payment .payment-reward-left>.payment-reward-banner{height:auto}#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{height:230px}}
#payment .payment-methods-stack .laundrycat-downloads{margin-bottom:0}
/* A complete bonus feature: stronger offer, generous product visual, no dead middle. */
#payment .payment-reward-left>.payment-reward-banner{position:relative;isolation:isolate;overflow:hidden;padding:34px 30px 24px;gap:20px;background:linear-gradient(155deg,#f1f9fe 0%,#e3f2fc 65%,#cfe9f8 100%);border:1px solid #c8e2f2}
#payment .payment-reward-left>.payment-reward-banner:after{content:"";position:absolute;z-index:-1;left:-15%;right:-15%;bottom:-45px;height:180px;background:linear-gradient(175deg,rgba(255,255,255,.05),rgba(255,255,255,.7));transform:rotate(-7deg);pointer-events:none}
#payment .payment-reward-left .card-bonus h3{font-size:17px;letter-spacing:.2px;margin-bottom:19px;color:#245d7e}
#payment .payment-reward-left .card-bonus .bonus-benefit{font-size:38px;line-height:1.13;letter-spacing:-1px}
#payment .payment-reward-left .bonus-benefit b{font-size:1.24em;font-weight:650}
#payment .payment-reward-left .bonus-result{color:#237da9;margin-top:8px}
#payment .payment-reward-left .bonus-detail{max-width:310px;margin-top:18px;font-size:15px;line-height:1.6}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo{margin-top:0;padding:0;flex:1;min-height:290px;display:flex;align-items:center;justify-content:center;overflow:visible}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{width:100%;max-width:390px;height:330px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(22,71,103,.14))}
@media(max-width:700px){#payment .payment-reward-left>.payment-reward-banner{padding:28px 26px 22px}#payment .payment-reward-left .card-bonus .bonus-benefit{font-size:34px}#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{height:290px}#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo{min-height:270px}}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo{min-height:240px}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{height:295px}
/* Compare payment options first, reward feature second. */
#payment .payment-reward-left>.payment-methods-stack{grid-column:1;grid-row:1}
#payment .payment-reward-left>.payment-reward-banner{grid-column:2;grid-row:1}
@media(max-width:700px){#payment .payment-reward-left>.payment-methods-stack{grid-column:1;grid-row:1}#payment .payment-reward-left>.payment-reward-banner{grid-column:1;grid-row:2}}
/* Match the visual rhythm of the two payment methods. */
#payment .payment-methods-stack .payment-card-visual{width:180px;height:116px;object-fit:contain;object-position:left center}
#payment .payment-methods-stack .laundrycat-logo{width:180px;height:116px;object-fit:contain;object-position:left center;margin-bottom:22px}
#payment .payment-methods-stack .laundrycat-heading-row{align-items:baseline;gap:10px 18px}
/* A slightly narrower payment section keeps the composition together. */
#payment.wrap{max-width:1080px}
#payment.wrap{max-width:1000px;width:calc(100% - 128px)}
@media(max-width:700px){#payment.wrap{width:100%}}
/* Restore the width; shorten the section vertically. */
#payment.wrap{max-width:none;width:calc(100% - 96px)}
#payment{padding-top:68px;padding-bottom:68px}
#payment .payment-layout{margin-top:40px}
#payment .payment-methods-stack{gap:24px}
#payment .payment-methods-stack .payment-card-option{gap:16px;padding-bottom:22px}
#payment .payment-methods-stack .payment-card-visual{height:96px;width:150px}
#payment .payment-methods-stack .laundrycat-logo{height:80px;width:150px;margin-bottom:16px}
#payment .payment-two-stories .payment-card-option h3{margin-bottom:12px}
#payment .payment-methods-stack .laundrycat-heading-row{margin-bottom:12px}
#payment .payment-methods-stack .laundrycat-downloads{margin-top:16px}
#payment .payment-reward-left>.payment-reward-banner{padding:28px 30px 20px;gap:14px}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo{min-height:190px}
#payment .payment-reward-left>.payment-reward-banner .payment-stations-photo img{height:245px}
@media(min-width:1300px){#payment.wrap{max-width:1200px}}
@media(max-width:700px){#payment.wrap{width:100%}#payment{padding-top:52px;padding-bottom:52px}#payment .payment-layout{margin-top:32px}}
#payment.wrap{width:100%;max-width:1200px}
/* Remove the decorative heading rule and its vertical footprint. */
#stores .calm-heading h2:after{display:none}
/* Reviews belong to their store: one consistent column per location. */
#reviews{padding-top:76px;padding-bottom:76px}
#reviews .calm-heading h2{font-size:44px;font-weight:550;letter-spacing:-.7px;line-height:1.15}
#reviews .calm-heading p{font-size:17px;margin-top:20px;color:#456272}
.store-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}
.store-review-column{display:flex;flex-direction:column;padding:26px;background:#f5faff;border:1px solid #dce9f1;border-radius:16px;min-width:0}
.store-review-column>header{padding-bottom:20px;border-bottom:1px solid #d4e5f0}
.store-review-column>header>span{font-size:12px;color:#47728a;letter-spacing:.5px}
.store-review-column h3{font-size:23px;font-weight:550;margin:8px 0 0;letter-spacing:-.3px}
.store-review-quote{margin:0;padding:23px 0;border-bottom:1px solid #dce9f1}
.store-review-quote .review-stars{font-size:18px;color:#ab7d24;letter-spacing:3px}
.store-review-quote blockquote{font-size:18px;line-height:1.6;margin:16px 0 20px;color:#17384b;letter-spacing:0}
.store-review-quote figcaption{display:flex;flex-direction:column;gap:7px;font-size:14px}
.store-review-quote figcaption>a:first-child{font-weight:600;text-decoration:none;color:#17384b}
.store-review-quote figcaption>span{font-size:12px;color:#647b88}
.store-review-quote .review-original{font-size:13px;color:#356680;text-underline-offset:3px;margin-top:4px}
.store-reviews-all{display:flex;justify-content:space-between;margin-top:auto;padding-top:22px;color:#1c668d;font-weight:550;font-size:15px;text-decoration:none}
.store-review-empty{padding:32px 0;color:#5c7381;font-size:16px;line-height:1.65}
@media(max-width:850px){.store-reviews-grid{gap:16px}.store-review-column{padding:20px}.store-review-column h3{font-size:21px}.store-review-quote blockquote{font-size:17px}}
@media(max-width:700px){#reviews{padding-top:56px;padding-bottom:56px}#reviews .calm-heading h2{font-size:34px}.store-reviews-grid{grid-template-columns:1fr;gap:24px;margin-top:32px}.store-review-column{padding:26px}.store-review-quote blockquote{font-size:18px}}
#reviews .store-review-column>header{position:static;background:transparent;box-shadow:none;backdrop-filter:none;z-index:auto;width:auto;min-height:0}
.store-review-rotation{position:relative;min-width:0}
.store-review-rotation .rotating-review{position:absolute;inset:0 0 auto;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}
.store-review-rotation .rotating-review.is-current{opacity:1;visibility:visible;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.store-review-rotation .rotating-review{transition:none}}
/* Reviewer identity, using the site's simple outline icon style. */
.store-review-quote figcaption>a:first-child{display:flex;align-items:center;gap:9px}
.store-review-quote figcaption>a:first-child:before{content:"";display:block;flex:0 0 19px;width:19px;height:21px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b6d89' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E")}
.store-review-quote figcaption>a.has-reviewer-avatar:before{display:none}
.reviewer-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;object-fit:cover;background:#e5eff5}
.store-google-rating{display:flex;align-items:center;gap:9px;margin-top:15px;color:#234b63;font-size:15px}
.store-google-rating img{display:block;width:18px;height:18px}
.store-google-rating strong{font-size:17px;font-weight:600}
.store-google-rating>span{color:#a67a24;letter-spacing:2px;font-size:14px}
/* One star row per store: keep the overall Google rating, simplify quotes. */
#reviews .store-review-quote>.review-stars{display:none}
#reviews .store-review-quote blockquote{margin-top:0}
/* Separate customer reviews from the payment section. */
#reviews{border-top:1px solid #dce8ef}
.store-rating-link{display:inline-block;color:inherit;text-decoration:none;border-radius:4px}
.store-rating-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.store-rating-link:focus-visible{outline:2px solid #2879a7;outline-offset:5px}
.store-unrated{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:15px;color:#73818b}
.store-unrated>span:first-child{font-size:20px;letter-spacing:2px;line-height:1}
.store-unrated>span:last-child{font-size:13px}
/* Keep the divider below every store rating on the same baseline. */
#reviews .store-review-column>header{min-height:126px;box-sizing:border-box}
#reviews .store-review-column>header{height:140px;min-height:140px}
/* Anchor the store link and its divider independently of rotating quote length. */
#reviews .store-review-rotation .store-review-quote{border-bottom:0}
#reviews .store-review-column>.store-reviews-all{border-top:1px solid #dce9f1;padding-top:22px;margin-top:auto}
#reviews .store-review-rotation{margin-bottom:22px;flex:0 0 auto}
/* Keep rotating excerpts short while retaining their full source text. */
#reviews .store-review-quote blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;line-height:1.6;max-height:6.4em}
/* FAQs answer booking questions with the same heading and spacing rhythm. */
#faq{border-top:1px solid #dce8ef;padding-top:76px;padding-bottom:76px}
#faq .calm-heading h2{font-size:44px;font-weight:550;letter-spacing:-.7px;line-height:1.15}
#faq .calm-heading{margin-bottom:38px}
#faq details{max-width:850px;border-bottom:1px solid #dce8ef;padding:0}
#faq summary{padding:25px 0;font-size:20px;font-weight:500;line-height:1.4;color:#17384b;cursor:pointer}
#faq details>p{font-size:17px;line-height:1.75;color:#456272;margin:0;padding:0 38px 26px 0;max-width:760px}
#faq summary:focus-visible{outline:2px solid #79bde1;outline-offset:5px;border-radius:3px}
@media(max-width:700px){#faq{padding-top:56px;padding-bottom:56px}#faq .calm-heading h2{font-size:34px}#faq summary{font-size:18px;padding:22px 0}#faq details>p{font-size:16px}}
/* A compact footer with clear navigation, aligned stores, and quieter legal links. */
.site-footer{background:#f0f7fb;border-top:1px solid #d6e6ef;color:#17384b;padding:0}
.site-footer .footer-top{display:grid;grid-template-columns:1fr 2fr;gap:30px 64px;padding-top:42px;padding-bottom:32px}
.site-footer .footer-brand .brand{font-size:25px;letter-spacing:-.7px}
.site-footer .footer-brand .brand img{width:46px;height:46px}
.site-footer .footer-brand p{font-size:15px;line-height:1.6;margin:16px 0 0;color:#456272}
.site-footer .footer-links{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:flex-end;align-items:center;gap:13px 24px}
.site-footer .footer-links>.eyebrow{display:none}
.site-footer .footer-links>a{font-size:15px;text-decoration:none;font-weight:500}
.site-footer .footer-links>a:hover{text-decoration:underline}
.site-footer .footer-stores{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:26px;border-top:1px solid #cfE1ec}
.site-footer .footer-stores>.eyebrow{grid-column:1 / -1;font-size:12px;margin-bottom:-10px;letter-spacing:1px}
.site-footer .footer-store-unit{display:flex;flex-direction:column;gap:9px;min-width:0}
.site-footer .footer-store-unit>a:first-child{display:flex;flex-direction:column;gap:10px;text-decoration:none}
.site-footer .footer-store-unit strong{font-size:19px;font-weight:550;line-height:1.3}
.site-footer .footer-store-unit>a>span{font-size:15px;line-height:1.6;color:#456272}
.site-footer .footer-contact{font-size:14px;line-height:1.5;text-decoration:none;color:#315a72;overflow-wrap:anywhere}
.site-footer .footer-contact:hover{text-decoration:underline}
.site-footer .footer-legal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:18px;padding-bottom:20px;border-top:1px solid #d5e5ee}
.footer-legal-group{display:flex;flex-wrap:wrap;gap:7px 14px;font-size:12px;color:#557183}
.footer-legal-group>span{flex-basis:100%;font-weight:550}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d5e5ee;padding-top:16px;padding-bottom:18px;font-size:13px;color:#456272}
.site-footer .back-to-top{font-size:14px;text-decoration:none;color:#245f80}
@media(max-width:800px){.site-footer .footer-top{grid-template-columns:1fr;gap:26px}.site-footer .footer-links{justify-content:flex-start}.site-footer .footer-stores{gap:22px}}
@media(max-width:600px){.site-footer .footer-stores,.site-footer .footer-legal{grid-template-columns:1fr;gap:26px}.site-footer .footer-top{padding-top:32px;padding-bottom:28px}.site-footer .footer-legal{gap:18px}.site-footer .footer-bottom{gap:18px}.site-footer .footer-store-unit{gap:8px}}
.site-footer .footer-service-terms{font-size:13px;color:#456272;text-decoration:none;margin-left:auto;margin-right:24px}
.site-footer .footer-service-terms:hover{text-decoration:underline}
.service-terms-page{padding-top:72px;padding-bottom:84px;min-height:420px;max-width:1000px}
.service-terms-page h1{font-size:48px;font-weight:550;letter-spacing:-1px;margin:0 0 40px}
.service-terms-page h2{font-size:25px;font-weight:550;margin:0 0 20px}
.service-terms-page p{font-size:17px;line-height:1.75;max-width:720px}
.service-terms-page .terms-policy{font-size:20px;color:#17384b}
@media(max-width:600px){.site-footer .footer-bottom{flex-wrap:wrap}.site-footer .footer-service-terms{margin-left:0;margin-right:0}.service-terms-page h1{font-size:36px}.service-terms-page{padding-top:48px;padding-bottom:56px}}
/* Balance the footer's brand and navigation instead of leaving an orphan link. */
.site-footer .footer-top{grid-template-columns:minmax(260px,.85fr) minmax(0,1.7fr);column-gap:48px;row-gap:28px;padding-top:36px}
.site-footer .footer-links{display:grid;grid-template-columns:repeat(3,max-content);justify-content:end;align-content:center;gap:14px 30px}
.site-footer .footer-links>a{line-height:1.5;font-size:15px;white-space:nowrap}
.site-footer .footer-brand p{margin-top:12px;font-size:15px}
@media(min-width:1400px){.site-footer .footer-links{grid-template-columns:repeat(5,max-content);gap:24px}.site-footer .footer-top{grid-template-columns:300px 1fr;column-gap:36px}}
@media(max-width:950px){.site-footer .footer-top{grid-template-columns:1fr;gap:24px}.site-footer .footer-links{justify-content:start;grid-template-columns:repeat(3,max-content);gap:13px 28px}}
@media(max-width:600px){.site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.site-footer .footer-links>a{white-space:normal}.site-footer .footer-top{padding-top:30px}}
/* Compact footer navigation forms one intentional desktop row. */
.site-footer .footer-top{grid-template-columns:280px minmax(0,1fr);column-gap:32px}
.site-footer .footer-links{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;align-content:normal;gap:22px}
.site-footer .footer-links>a{font-size:15px;white-space:nowrap}
@media(max-width:1050px){.site-footer .footer-top{grid-template-columns:1fr;row-gap:22px}.site-footer .footer-links{justify-content:flex-start;flex-wrap:wrap;gap:14px 24px}}
@media(max-width:600px){.site-footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}}
/* Refine the footer brand lockup and subordinate the supporting line. */
.site-footer .footer-brand .brand{gap:10px;font-size:24px;font-weight:600;letter-spacing:-.65px;line-height:1.2}
.site-footer .footer-brand .brand img{width:42px;height:42px;flex:0 0 42px}
.site-footer .footer-brand p{margin:8px 0 0 52px;font-size:13px;line-height:1.5;letter-spacing:0;color:#5b7484;white-space:nowrap}
@media(max-width:600px){.site-footer .footer-brand .brand{font-size:23px}.site-footer .footer-brand p{font-size:13px;white-space:normal;max-width:250px}}
/* A compact footer signature uses the circular badge without a wordmark. */
.site-footer .footer-brand{display:flex;align-items:center;gap:14px}
.site-footer .footer-brand .brand{display:inline-flex;flex:0 0 42px}
.site-footer .footer-brand p{margin:0;font-size:13px;line-height:1.5;white-space:normal;max-width:190px}
.site-footer .footer-top{padding-top:28px;row-gap:24px}
@media(max-width:600px){.site-footer .footer-brand p{max-width:220px}}
/* Keep the short footer tagline together beside the badge. */
.site-footer .footer-top{grid-template-columns:340px minmax(0,1fr);column-gap:26px}
.site-footer .footer-brand p{max-width:none;white-space:nowrap}
@media(max-width:1050px){.site-footer .footer-top{grid-template-columns:1fr}}
@media(max-width:600px){.site-footer .footer-brand p{white-space:normal;max-width:230px}}
.site-footer .footer-top{grid-template-columns:60px minmax(0,1fr);column-gap:28px}
.site-footer .footer-brand{gap:0}
@media(max-width:600px){.site-footer .footer-top{grid-template-columns:1fr;row-gap:20px}}
/* Quiet legal links and recognizable contact actions. */
.site-footer .footer-legal-group>span{display:none}
.site-footer .footer-contact{display:flex;align-items:center;gap:8px}
.site-footer .footer-contact:before{content:"";display:block;width:16px;height:16px;flex:0 0 16px;background:center/contain no-repeat}
.site-footer .footer-contact[href^="tel:"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23456b82' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 3 4 4-2 3a15 15 0 0 0 6 6l3-2 4 4-2 3C10 23 1 14 3 5Z'/%3E%3C/svg%3E")}
.site-footer .footer-contact[href^="mailto:"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23456b82' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.site-footer .footer-legal{display:flex;justify-content:flex-start;padding-top:14px;padding-bottom:14px}
.footer-policy-menus{display:flex;align-items:center;gap:28px;min-height:24px}
.footer-policy-menus details{position:relative;border:0;margin:0;padding:0}
.footer-policy-menus summary{list-style:none;cursor:pointer;font-size:13px;color:#456272;font-weight:500;padding:4px 0;display:flex;gap:9px;align-items:center}
.footer-policy-menus summary::-webkit-details-marker{display:none}
.footer-policy-menus summary:after{content:'⌄';font-size:14px;line-height:1}
.footer-policy-menus details[open] summary:after{transform:rotate(180deg)}
.footer-policy-options{position:absolute;bottom:calc(100% + 10px);left:0;min-width:210px;background:#fff;border:1px solid #d6e6ef;border-radius:10px;box-shadow:0 8px 28px #17384b1a;padding:8px;z-index:10;display:flex;flex-direction:column;gap:2px}
.footer-policy-options a{padding:9px 12px;font-size:14px;text-decoration:none;border-radius:6px;white-space:nowrap}
.footer-policy-options a:hover,.footer-policy-options a:focus-visible{background:#edf7fc}
.footer-bottom-policies{display:flex;align-items:center;gap:25px;margin-left:auto;margin-right:28px}
.site-footer .footer-bottom-policies .footer-service-terms{margin:0;white-space:nowrap}
.footer-bottom-policies .footer-policy-menus{gap:25px;min-height:0}
.footer-bottom-policies .footer-policy-menus summary{font-size:13px;padding:0}
@media(max-width:700px){.site-footer .footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom-policies{margin:0;gap:20px;flex-wrap:wrap}.footer-bottom-policies .footer-policy-menus{gap:20px}}
/* The footer policy menu opens upward. */
.footer-policy-menus summary:after{content:'⌃'}
#stores .calm-heading h1{font-size:44px;font-weight:550;letter-spacing:-.7px;line-height:1.15;margin:8px 0 22px}
@media(max-width:700px){#stores .calm-heading h1{font-size:34px;letter-spacing:-.4px}}
