/* Shared copy/layout polish: deliberate rhythm and mobile readability, scoped to storefronts. */
body[data-product] .site-width{max-width:1160px}
body[data-product] .section{padding-block:clamp(52px,6vw,88px)}
body[data-product] .section-head{margin-bottom:clamp(24px,3vw,38px)}
body[data-product] .section-head h2{font-size:clamp(27px,3.5vw,44px);line-height:1.22;text-wrap:balance;margin-bottom:13px}
body[data-product] .section-head p{font-size:14px;line-height:1.85;max-width:610px}
body[data-product] .page-hero{padding-block:clamp(45px,6vw,75px) 38px}
body[data-product] .page-hero h1{font-size:clamp(32px,4vw,54px);line-height:1.2;text-wrap:balance;margin-bottom:16px}
body[data-product] .page-hero p{font-size:14px;line-height:1.85}
body[data-product] .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:14px}
body[data-product] .service-card h3{margin:18px 0 10px;font-size:clamp(21px,2.2vw,26px)}
body[data-product] .service-card p{min-height:0;font-size:13px;line-height:1.8}
body[data-product] .card p{min-height:0;line-height:1.75}
body[data-product] .steps{gap:20px}
body[data-product] .step h3{font-size:clamp(18px,1.9vw,22px);margin:12px 0}
body[data-product] .step p{font-size:13px;line-height:1.75}
body[data-product] .faq-stack{padding-bottom:clamp(50px,7vw,90px)}
body[data-product] .faq-stack details{padding:19px 22px}
body[data-product] .faq-stack summary{font-size:14px;line-height:1.6}
body[data-product] .faq-stack p{font-size:13px;line-height:1.8}
body[data-product] .booking-sidebar h3{font-size:clamp(21px,2.2vw,27px);line-height:1.3}
body[data-product] .booking-sidebar ul{padding-left:19px}
body[data-product] .booking-sidebar li{padding:6px 0;line-height:1.65}
body[data-product] .contact-layout{align-items:start}
body[data-product] .contact-item{overflow-wrap:anywhere}
body[data-product] .contact-item a{word-break:break-word}
body[data-product] .cta{padding:clamp(52px,6vw,75px) 0}
body[data-product] .cta h2{font-size:clamp(27px,3.25vw,41px);line-height:1.24;text-wrap:balance}
body[data-product] .cta p{font-size:14px;line-height:1.75}
body[data-product] .footer-links{row-gap:12px}
body[data-product] .footer-bottom{line-height:1.7;align-items:start}
body[data-product] .btn{white-space:normal;text-align:center}
body[data-product] .hero-actions,.cm-hero-actions,.ph-hero-actions{align-items:center}
body[data-product] p,body[data-product] h1,body[data-product] h2,body[data-product] h3{overflow-wrap:break-word}
body[data-product=boarding] .cm-care-item p{min-height:0}
body[data-product=boarding] .cm-hero-copy h1{max-width:620px}
body[data-product=boarding] .cm-gallery img{object-fit:cover}
body[data-product=boarding] .cm-gallery-footer{margin-top:14px}
body[data-product=boarding] .cm-hero-art{min-height:490px}
body[data-product=grooming] .ph-service-content p{min-height:0;font-size:13px}
body[data-product=grooming] .ph-section-title{margin-bottom:30px}
body[data-product=grooming] .ph-service-content{padding:24px 26px}
body[data-product=grooming] .ph-service h3{margin:10px 0;font-size:clamp(21px,2.3vw,29px)}
body[data-product=grooming] .ph-service-media{height:clamp(185px,21vw,250px)}
@media(max-width:850px){
 body[data-product] .cards,body[data-product] .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-product] .contact-layout{grid-template-columns:1fr}
 body[data-product] .booking-layout{grid-template-columns:1fr;gap:20px}
 body[data-product] .booking-sidebar{padding:25px}
 body[data-product] .panel{padding:25px}
 body[data-product] .footer-main{flex-wrap:wrap}
}
@media(max-width:600px){
 body[data-product] .cards,body[data-product] .service-grid,body[data-product] .steps{grid-template-columns:1fr}
 body[data-product] .form-grid{grid-template-columns:1fr;gap:14px}
 body[data-product] .form-grid .full{grid-column:1}
 body[data-product] .faq-stack details{padding:17px 18px}
 body[data-product] .header-row{gap:10px}
 body[data-product] .header-nav.open{max-height:calc(100dvh - 95px);overflow-y:auto}
 body[data-product] .booking-sidebar,body[data-product] .panel{padding:20px}
 body[data-product] .cta-grid{align-items:stretch;flex-direction:column}
 body[data-product] .cta-grid .btn{width:100%}
 body[data-product] .footer-bottom{flex-direction:column;gap:10px}
 body[data-product] .ph-service-grid{grid-template-columns:1fr}
 body[data-product=boarding] .cm-care-grid,body[data-product=boarding] .cm-gallery{grid-template-columns:1fr}
 body[data-product=boarding] .cm-hero-art{min-height:390px}
}
@media(prefers-reduced-motion:reduce){body[data-product] .card,body[data-product] .btn{transition:none!important}}
