/* Readability criteria: 16px body/forms, 14px secondary UI; WCAG does not
   prescribe a universal minimum font size. Keep user zoom unrestricted. */
body{font-size:16px;line-height:1.5}
.hero{height:auto;min-height:clamp(620px,54vw,864px)}
.imported{font-size:16px}
body :where(p,li,label,input,textarea,select){font-size:16px!important;line-height:1.5!important}
body :where(a,button,span,small,code){font-size:max(14px,1em)!important}
body :where(p,li,button,a,label,summary,strong,span,small,figcaption){overflow-wrap:anywhere;min-width:0}
body :where(h1,h2,h3,h4,h5,h6){overflow-wrap:anywhere;min-width:0}
body :where(button,a){line-height:1.5}
body :where(small,.eyebrow,.product-kicker,.section-note,.field-hint,.legal-version,.legal-strip p,.detail-current-composition,.detail-size-summary){font-size:14px!important;line-height:1.5!important}
.hero .hero-caption{font-size:16px!important;line-height:1.5!important;letter-spacing:.04em;white-space:normal}
.hero-action{font-size:16px!important;white-space:normal;min-width:0}
.card-body{height:auto;min-height:150px;max-height:none}
.card-body>span:not(.arrow){font-size:16px!important;line-height:1.5}
.card strong{font-size:20px;line-height:1.2}
.imported .product-body :is(p,.product-description){color:#5a5a5a}
.imported .callback-card p{color:#5c5c5c}
.imported .form-note.call-promise{color:#5c5c5c!important}
.imported :is(.detail-current-composition,.detail-size-summary,.field-hint){color:#5a5a5a}
.imported :is(input,textarea,select){font-size:16px!important;line-height:1.5;max-width:100%}
.imported input::placeholder,.imported textarea::placeholder{color:#626262;opacity:1}
.imported .budget-chip,.imported .pagination button{font-size:14px!important}
.imported .shop-primary,.imported .btn{white-space:normal;height:auto;min-height:44px}
.imported .shop-dialog button,.imported .request-dialog button{font-size:16px!important}
.imported .shop-dialog{max-height:calc(100dvh - 24px)}
.imported .shop-scroll{min-height:0}
.imported .standalone-legal,.standalone-legal{font-size:16px;overflow-wrap:break-word}
.standalone-legal .legal-content :is(p,li){font-size:16px!important;line-height:1.65!important}
.standalone-legal .legal-content h1{font-size:clamp(28px,5vw,42px);line-height:1.15;overflow-wrap:anywhere}
.standalone-legal .legal-content h2{line-height:1.25}
.compact-nav :is(a,span){font-size:14px!important;line-height:1.4}
.compact-nav .compact-mobile-name{font-size:9px!important}
.compact-nav .compact-address :is(a,span){font-size:14px!important}
.imported .lead-launcher{font-size:14px!important}
.imported .product-card{cursor:pointer}
.imported .product-card:focus-within{outline:2px solid #5e5e5e;outline-offset:-3px}
.legal-strip .footer-legal{border-top:0;padding-top:0}
@media(max-width:768px){
 .hero{min-height:0;height:auto}
 .hero-copy{display:flex;flex-direction:column;align-items:stretch}
 .hero .hero-left h1{white-space:normal;overflow-wrap:anywhere}
 .hero .short-line{margin:18px 0 14px;align-self:start;flex:none}
 .hero .hero-caption{letter-spacing:.045em}
 .hero-actions{margin-top:24px}
 .care h2{overflow-wrap:break-word}
 .benefit p{font-size:16px!important}
 .benefit p{width:100%;min-width:0}
 .compact-address-short{font-size:14px!important}
 .imported.compact-nav .compact-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .compact-contacts .compact-quick-call{white-space:normal;max-width:100%;text-align:right;overflow-wrap:anywhere}
 html{scroll-padding-top:calc(var(--compact-header-height,118px) + 12px)}
 .compact-social-links .compact-contact{min-width:32px}
 .imported .lead-launcher{font-size:0!important}
 .imported .lead-launcher>span{display:none}
 .card-body{min-height:0;padding-bottom:44px}
 .card strong{font-size:20px}
 .imported .product-body h3{min-height:0;line-height:1.2}
 .imported .product-card{min-width:0}
 .imported .contacts-grid{grid-template-columns:minmax(0,1fr)}
 .imported .contacts-grid>* ,.imported .contact-item>div{min-width:0}
 .imported .contact-value,.imported .call-number{white-space:normal!important;overflow-wrap:anywhere}
 a[href^="tel:"]{white-space:normal;overflow-wrap:anywhere}
 .footer-right{flex-wrap:wrap;min-width:0}
 .handwriting{white-space:normal;margin-left:0;max-width:100%;min-width:0;transform:none}
 .banner{grid-template-columns:minmax(0,1fr);overflow:visible;height:auto}
 .banner .banner-copy{min-width:0;width:100%}
 .banner-photo{min-width:0;max-width:100%}
 .banner .choose{min-width:0;max-width:100%;width:auto;white-space:normal;padding-inline:20px}
 .imported .map-heading{flex-wrap:wrap;min-width:0}
 .imported .map-provider{margin-left:0;white-space:normal}
}
@media(max-width:359px){
 .imported .catalog-page{grid-template-columns:minmax(0,1fr)}
 .cards{grid-template-columns:minmax(0,1fr)}
 .imported .detail-size-options{grid-template-columns:minmax(0,1fr)}
}
