@font-face{font-family:"Pretendard";src:url("../fonts/Pretendard-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pretendard";src:url("../fonts/Pretendard-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Pretendard";src:url("../fonts/Pretendard-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Pretendard";src:url("../fonts/Pretendard-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:Pretendard,system-ui,sans-serif;font-size:15px;line-height:1.72;letter-spacing:-.002em;color:#14202B;word-break:keep-all;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{color:#101418;margin:0;font-weight:700;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
img{max-width:100%}
a{color:#04548F;text-decoration:none;transition:color 120ms cubic-bezier(.2,0,.2,1)}
a:hover{color:#033F6C;text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2A82C4;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#8A96A3;opacity:1}
svg text{font-family:Pretendard,system-ui,sans-serif}
[hidden]{display:none!important}

/* Breakpoints: Desktop >=1200 · Tablet 768-1199 · Mobile <=767 */
.v-t,.v-m{display:none}
@media (max-width:1199px){.v-d{display:none}.v-m{display:block}.has-t .v-m{display:none}.has-t .v-t{display:block}}
@media (max-width:767px){.has-t .v-t{display:none}.has-t .v-m{display:block}}

/* Same clipping as the Hi-Fi frames (clip keeps sticky TOP / CTA working) */
.v-d,.v-t,.v-m{overflow-x:clip}

/* Desktop 1200-1359: keep side margin inside 1280 containers */
@media (max-width:1359px){.v-d .wrap{width:calc(100% - 80px)}}
/* Desktop 1200-1399: product family card side padding 36px -> 28px so titles fit */
@media (min-width:1200px) and (max-width:1399px){.v-d a[style*="padding:36px 36px 34px"]{padding-left:28px!important;padding-right:28px!important}}

/* Desktop PUMPS dropdown */
.dd>.dd-menu{display:none!important}
.dd:hover>.dd-menu,.dd:focus-within>.dd-menu{display:flex!important}

/* Tablet (no dedicated frame): Mobile structure, wider gutters, 880px measure */
@media (min-width:768px) and (max-width:1199px){
.mpad{padding-left:max(40px,calc((100% - 880px)/2))!important;padding-right:max(40px,calc((100% - 880px)/2))!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
