/* Prevent browser text inflation while preserving user zoom and font preferences. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* The offer must fit narrow phones without turning the headline into two rows. */
body:not(.admin-body) .welcome-offer{width:min(400px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;overscroll-behavior:contain}
body:not(.admin-body) .welcome-offer .welcome-offer-percent{font-size:clamp(40px,12vw,58px);line-height:1.08;white-space:nowrap;letter-spacing:-2px;margin:12px 0 10px}
body:not(.admin-body) .welcome-offer h2{font-size:24px;line-height:1.22;text-wrap:balance}
body:not(.admin-body) .welcome-offer .welcome-offer-top{padding:38px 22px 20px}
body:not(.admin-body) .welcome-offer .welcome-offer-content{padding:18px 20px}
body:not(.admin-body) .welcome-offer .welcome-offer-content>p{font-size:13px;line-height:1.5;margin-bottom:14px}
body:not(.admin-body) .welcome-offer .welcome-offer-kicker{font-size:10px;letter-spacing:1.4px}
body:not(.admin-body) .welcome-offer .welcome-offer-close{width:40px;height:40px;top:7px;right:7px;font-size:24px}
body:not(.admin-body) .welcome-code{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px;border-radius:10px}
body:not(.admin-body) .welcome-code code{font-size:clamp(15px,4.5vw,20px);letter-spacing:1px;white-space:nowrap;min-width:0}
body:not(.admin-body) .welcome-code button{font-size:12px;line-height:1.2;padding:12px 10px;white-space:nowrap;min-height:40px}
body:not(.admin-body) .welcome-offer .welcome-terms{font-size:11px;line-height:1.5;margin:12px 0}
body:not(.admin-body) .welcome-offer .welcome-countdown{font-size:11px;line-height:1.4;margin:8px 0 0}
@media(max-width:600px){
 body:not(.admin-body) #siteHeader .site-header,body:not(.admin-body) .product-quickview .quickview-sitebar.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:4px}
 body:not(.admin-body) #siteHeader .site-header>.logo,body:not(.admin-body) .quickview-sitebar>.logo{justify-self:center}
 body:not(.admin-body) #siteHeader .mobile-menu-btn,body:not(.admin-body) .quickview-sitebar .mobile-menu-btn{justify-self:start}
 body:not(.admin-body) #siteHeader .header-actions,body:not(.admin-body) .quickview-sitebar .header-actions{justify-self:end;gap:6px;white-space:nowrap}
 body:not(.admin-body) #siteHeader .header-actions button,body:not(.admin-body) .quickview-sitebar .header-actions button{padding:0}
 body:not(.admin-body) #siteHeader .header-actions button:last-child,body:not(.admin-body) .quickview-sitebar .header-actions button:last-child{font-size:10px}
 body:not(.admin-body) #siteHeader .cart-count,body:not(.admin-body) .quickview-sitebar .cart-count{font-size:12px;width:22px;height:22px}
 /* Keep a clear band between the lower notes, progress circle and collection CTA. */
 body[data-page=home] .hero-note{width:64px;gap:5px}
 body[data-page=home] .hero-note-icon{width:44px;height:44px}
 body[data-page=home] .hero-note-0,body[data-page=home] .hero-note-2{top:29%}
 body[data-page=home] .hero-note-1,body[data-page=home] .hero-note-3{top:55%}
 body[data-page=home] .hero-note{font-size:10px;line-height:1.4}
 body[data-page=home] .hero-note-0,body[data-page=home] .hero-note-1{left:2%}
 body[data-page=home] .hero-note-2,body[data-page=home] .hero-note-3{right:2%}
 body[data-page=home] .hero-slide-controls{right:18px;bottom:90px}
 body[data-page=home] .hero-slide-counter{width:44px;height:44px;flex-basis:44px;font-size:12px}
 body[data-page=home] .hero-discover{max-width:calc(100% - 32px);padding:12px 14px 12px 18px;gap:12px;min-height:48px;font-size:10px;letter-spacing:.08em}
 body[data-page=home] .hero-discover b{width:28px;height:28px;flex:0 0 28px;font-size:16px}
 body:not(.admin-body) .hero-discover{font-size:10px}
 /* Square product pictures and type sized to a two-column mobile grid. */
 body:not(.admin-body) .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 body:not(.admin-body) .product-card{padding:8px 8px 62px;border-radius:20px;min-width:0}
 body:not(.admin-body) .product-card .product-image{height:auto;aspect-ratio:1;border-radius:13px}
 body:not(.admin-body) .product-card .product-info{padding:12px 3px 0;min-width:0}
 body:not(.admin-body) .product-card .product-info h3{font-size:15px;line-height:1.3;margin:0 0 6px;overflow-wrap:anywhere}
 body:not(.admin-body) .product-card .saving{font-size:11px!important;line-height:1.45;margin:8px 0 7px}
 body:not(.admin-body) .product-card .price-stack strong{font-size:clamp(13px,3.9vw,17px);line-height:1.3;letter-spacing:-.02em;white-space:nowrap;margin:0}
 body:not(.admin-body) .product-card .price-stack s{font-size:11px;line-height:1.4;margin-top:4px}
 body:not(.admin-body) .product-card .sale-badge{font-size:9px;line-height:1.2;letter-spacing:.02em;left:6px;top:7px;padding:5px 7px}
 body:not(.admin-body) .product-card .wishlist-btn{width:30px;height:30px;right:6px;top:6px;font-size:19px}
 body:not(.admin-body) .product-card .round-add{width:40px;height:40px;right:11px;bottom:12px;font-size:25px}
 body:not(.admin-body) .section-head h2{font-size:26px;line-height:1.2}
 body[data-page=home] .service-strip>div{padding:15px 16px}
}
@media(max-height:650px){
 body:not(.admin-body) .welcome-offer .welcome-offer-top{padding:32px 18px 14px}
 body:not(.admin-body) .welcome-offer .welcome-offer-percent{font-size:40px;margin:6px 0}
 body:not(.admin-body) .welcome-offer h2{font-size:21px}
 body:not(.admin-body) .welcome-offer .welcome-offer-content{padding:14px 18px}
}
