/* PPU catalog: existing palette and typography, no reset. */
[hidden]{display:none!important}.trap{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.header .brand-logo{width:210px;height:75px;object-fit:contain}.header .logo{flex:0 1 210px}.nav{gap:18px}.nav nav{gap:14px}.cart-header{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:4px;padding:8px;min-height:44px;cursor:pointer;font:inherit;font-size:14px;white-space:nowrap}.cart-header svg,.burger svg,.close svg,.dialog-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.cart-header [data-cart-count]{background:var(--blue);color:white;border-radius:20px;min-width:22px;padding:1px 5px}.catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;border:1px solid var(--line);border-radius:6px;padding:15px 20px;margin:0 0 16px}.catalog-filters legend{padding:0 7px;font-size:15px;font-weight:bold}.catalog-filters label{display:flex;align-items:center;gap:9px;font-size:16px;min-height:44px;cursor:pointer}.catalog-filters input{width:20px;height:20px;margin:0;accent-color:var(--blue)}.filter-reset{margin-left:auto;min-height:44px;border:0;background:none;color:var(--blue);text-decoration:underline;font:inherit;cursor:pointer}.catalog-price-note{font-size:14px;color:var(--muted);line-height:1.6}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.catalog-card img{width:100%;aspect-ratio:1;display:block;object-fit:contain;background:#f1f4f6}.catalog-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.catalog-card h3{font-size:18px;line-height:1.45;margin:0 0 12px;overflow-wrap:anywhere}.catalog-card dl{font-size:14px;color:var(--muted);margin:0 0 16px}.catalog-card dl div{display:flex;flex-wrap:wrap;gap:4px}.catalog-card dt,.catalog-card dd{margin:0}.catalog-price{font-size:24px;font-weight:bold;color:var(--navy);margin-top:auto}.catalog-price small{font-size:14px;font-weight:normal;color:var(--muted)}.catalog-line-total{margin:8px 0 0;color:var(--navy);font-size:15px;font-weight:600;min-height:24px}.catalog-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}.catalog-actions .btn{min-height:46px}.catalog-quantity{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:12px}.catalog-quantity input{width:90px;margin:0;padding:10px;min-height:44px}.catalog-card:hover{border-color:#92b9dc}.shop-dialog{width:min(650px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:32px;border:1px solid var(--line);border-radius:8px;color:var(--text);overflow:auto;overscroll-behavior:contain}.shop-dialog::backdrop{background:rgba(6,31,56,.65)}.shop-dialog h2{font-size:28px;margin:8px 36px 20px 0}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:#f4f8fc;border-radius:4px;display:grid;place-items:center;cursor:pointer;color:var(--navy)}.shop-dialog form>label{display:block;margin:16px 0;font-size:16px}.shop-dialog .consent-check{display:flex;font-size:14px;align-items:flex-start}.shop-dialog .consent-check input{flex:0 0 20px;width:20px;height:20px;margin-top:2px}.cart-line{padding:16px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:16px;margin:0 0 8px;overflow-wrap:anywhere}.cart-line-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cart-line input{width:90px;min-height:44px;margin:0;padding:10px}.cart-remove{margin-left:auto;background:none;border:0;min-height:44px;color:var(--blue);text-decoration:underline;font:inherit;cursor:pointer}.cart-total{font-size:22px;font-weight:bold}.phone-field{display:flex;align-items:center;gap:0;border:1px solid #ccd9e4;border-radius:4px;background:white;margin-top:6px;overflow:hidden}.phone-prefix{padding:12px 0 12px 13px;font-size:16px;font-weight:normal;color:var(--text);flex:none}.phone-field input{margin:0;border:0;background:none;min-width:0;padding-left:8px;font-size:16px}.phone-field:focus-within{outline:2px solid var(--blue);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.btn:disabled{cursor:wait;opacity:.65}body:has(dialog[open]){overflow:hidden}.mobile-lead-cta{transition:opacity .2s}.mobile-lead-cta.is-obscured,body:has(dialog[open]) .mobile-lead-cta{display:none!important}
@media(max-width:1280px){.nav nav,.header-right .phone{display:none}.burger{display:block;flex:0 0 44px;min-width:44px;min-height:44px;margin-left:0}.nav{position:relative}.nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:white;padding:12px;border:1px solid var(--line)}.nav.menu-open nav{display:flex}.header-right{margin-left:auto}}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-label{display:none}.catalog-filters{gap:4px 18px}.section-head{flex-wrap:wrap}}
@media(max-width:650px){.header-right{display:flex;margin-left:auto}.header-right .btn{padding:10px 12px;min-height:44px;font-size:14px}.header .brand-logo{width:156px;height:56px}.header .logo{flex:0 1 156px;min-width:0}.nav{height:68px;gap:7px}.cart-header{padding:6px;gap:2px;font-size:13px}.cart-header svg{width:21px}.cart-header [data-cart-count]{min-width:19px;padding:1px 4px}.burger{padding:6px;flex-basis:36px;min-width:36px}.catalog-grid{grid-template-columns:1fr}.catalog-filters{display:block;padding:12px}.catalog-filters label{font-size:15px;margin:3px 0}.filter-reset{padding-left:0}.shop-dialog{padding:24px 18px}.shop-dialog h2{font-size:25px}.catalog-card-body{padding:18px}.catalog-card img{max-height:320px}.cart-total{font-size:20px}.catalog-quantity input{font-size:16px}}
@media(max-width:370px){.header .brand-logo{width:137px}.header .logo{flex-basis:137px}.nav{gap:6px}.header-right .btn{padding:10px}.cart-header{padding:5px}}
@media(prefers-reduced-motion:no-preference){.catalog-card{transition:border-color .18s}}
/* Constrain the existing hero's intrinsic width on narrow screens. */
.hero-copy,.hero-grid>div{min-width:0}.hero-grid,.two-col{min-width:0}
@media(max-width:1000px){.hero-grid,.two-col{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.hero h1{font-size:clamp(26px,7.5vw,38px);letter-spacing:-.6px;overflow-wrap:anywhere}.hero .actions{flex-wrap:wrap}.hero .actions .btn{max-width:100%}.hero .main-site-link{font-size:14px;max-width:100%;overflow-wrap:anywhere}.hero .hero-facts{gap:12px}.shop-dialog{background:#fff}}
.catalog-card img{height:auto}.header .logo{flex-shrink:0}.header .phone{white-space:nowrap;font-size:14px}.header .nav nav a{font-size:14px;white-space:nowrap}.header .nav nav{gap:12px}.header .header-right{gap:12px}
.catalog-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.catalog-actions .btn{padding:12px 10px;font-size:14px}
@media(min-width:651px){.header .nav{gap:14px}.header .cart-label{display:none}}

/* Review r4: logo scale, catalog spacing, square imagery and footer. */
.header .brand-logo{width:230px;height:76px}.header .logo{flex-basis:230px}
.related article h3{font-size:18px;margin:0 0 12px}.related article p{margin-left:0;margin-right:0}
.catalog-card img{height:auto;max-height:none;aspect-ratio:1;object-fit:contain;background:#eef1f3}
.catalog-card-body{flex:0 0 auto}.catalog-price{margin-top:0}
.hero .actions{flex-wrap:wrap;align-items:stretch;gap:12px}.hero .actions .btn{margin:0;max-width:100%}
#related{scroll-margin-top:92px;padding:48px 0}.section{padding-top:56px;padding-bottom:56px}
.cta-inner{grid-template-columns:minmax(0,1fr) auto}
.footer-price-note{font-size:14px;line-height:1.6;color:#b8cbd9;margin-top:18px;margin-bottom:0}
body:has(.modal.open){overflow:hidden}html{scrollbar-gutter:stable}
.shop-dialog{margin:auto;background:#fff}.shop-dialog::backdrop{background:rgba(6,31,56,.65)}
@media(prefers-reduced-motion:no-preference){
 .shop-dialog[data-motion="opening"]::backdrop{animation:ppu-backdrop-in 220ms ease-out}
 .shop-dialog[data-motion="closing"]::backdrop{animation:ppu-backdrop-out 180ms ease-in forwards}
 @keyframes ppu-backdrop-in{from{background:transparent}to{background:rgba(6,31,56,.65)}}
 @keyframes ppu-backdrop-out{from{background:rgba(6,31,56,.65)}to{background:transparent}}
}
@media(max-width:650px){
 body{padding-bottom:0}.header .brand-logo{width:170px;height:60px}.header .logo{flex-basis:170px}.nav{height:68px;gap:6px}
 .hero-copy{padding-top:28px}.hero-facts{margin-top:24px}.hero-grid{gap:24px}.calc-card{margin-bottom:28px}
 #related{padding:36px 0;scroll-margin-top:12px}.section{padding-top:40px;padding-bottom:40px}
 .cta-inner{grid-template-columns:minmax(0,1fr)}.footer-price-note{font-size:14px}
 .catalog-card img{max-height:none}.catalog-actions{gap:10px}
}
@media(max-width:370px){.header .brand-logo{width:149px}.header .logo{flex-basis:149px}.nav{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shop-dialog::backdrop{animation:none!important}.catalog-card,.mobile-lead-cta{transition:none}}
@media(max-width:650px){
 .hero h1{font-size:clamp(24px,6.6vw,28px);overflow-wrap:normal;letter-spacing:-.6px}
 .hero-copy{background:#f5f9fd;margin-left:-12px;margin-right:-12px;padding:28px 12px 24px}
 .hero .main-site-link{display:block;margin-bottom:16px}
}
@media(min-width:651px) and (max-width:1000px){.hero-copy{background:#f5f9fd;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;padding-bottom:24px}}
@media(max-width:900px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.footer-top{grid-template-columns:minmax(0,1fr);gap:22px}.footer-contact{min-width:0}.footer-top>div:not(.logo) a{white-space:nowrap}.footer-top .brand-logo{width:210px}}

/* 1.1.1: anchor each row of actions to the card bottom. */
.catalog-card-body{flex:1 1 auto}.catalog-actions{margin-top:auto;padding-top:16px}

/* 1.1.2: one focus ring around the complete phone control. */
.phone-field input:focus,.phone-field input:focus-visible{outline:none;box-shadow:none}
.phone-field:focus-within{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(8,117,209,.18)}
.form-status[data-state="error"]{color:#a22b20;background:#fff3f1;border-left:3px solid #bd3b2e;padding:10px 12px;line-height:1.5}
.form-status[data-state="pending"]:not(:empty){color:var(--navy);padding:8px 0}

.form-field-error{color:#a22b20!important;font-size:14px;line-height:1.5;margin:4px 0 12px!important}.form-status{scroll-margin:20px}
