@font-face{font-family:Montserrat;src:url('../fonts/montserrat-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/montserrat-700.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
:root{--red:#cf000b;--red-dark:#a60009;--purple:#471181;--ink:#282e3b;--muted:#525662;--line:#e0e2e7;--paper:#fbfbfc;--container:1520px;--gutter:6.25%;--radius:5px;--header-height:clamp(68px,5.7vw,100px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:clamp(14px,1.18vw,18px);line-height:1.45;-webkit-font-smoothing:antialiased}
body.has-modal{overflow:hidden}
img{display:block;max-width:100%;height:auto}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button{border-radius:0}
button:disabled{cursor:default}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:700}
button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
::selection{background:var(--purple);color:white}
.container{width:min(calc(100% - var(--gutter)*2),var(--container));margin-inline:auto}
.icon{width:24px;height:24px;flex-shrink:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;left:16px;top:12px;padding:12px 18px;background:var(--purple);color:white;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:clamp(44px,3.65vw,62px);padding:12px 24px;border:1px solid #b90009;border-radius:var(--radius);background:linear-gradient(110deg,#c80009,#b90005);color:#fff;font-size:clamp(11px,1vw,16px);font-weight:700;line-height:1.35;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}
.button>.icon{width:17px;height:17px;stroke-width:1.8}
.button:hover{background:var(--red-dark);box-shadow:0 4px 15px #b9000920;transform:translateY(-1px)}
.button-outline{color:var(--purple);border-color:var(--purple);background:transparent}
.button-outline:hover{background:var(--purple);color:white}
.text-link{display:inline-flex;align-items:center;gap:9px;border:0;padding:0;color:var(--red);background:none;text-align:left;font-size:clamp(11px,1.04vw,16px);font-weight:700;line-height:1.4}
.text-link .icon{width:16px;height:16px;transition:transform .2s}
.text-link:hover .icon{transform:translateX(3px)}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.text-link-light{color:white}
.eyebrow{display:flex;align-items:center;gap:clamp(16px,2vw,30px);margin-bottom:clamp(10px,1.1vw,18px);color:var(--muted);font-size:clamp(10px,.92vw,14px);line-height:1.4;font-weight:400;text-transform:uppercase}
.eyebrow::before,.red-rule{content:'';display:block;width:clamp(28px,2.6vw,40px);height:2px;flex:0 0 auto;background:var(--red)}
.site-header{position:sticky;z-index:40;top:0;min-height:var(--header-height);background:#fcfcfdf5;border-bottom:1px solid #eceef0;backdrop-filter:blur(12px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,2.2vw,38px);min-height:var(--header-height)}
.brand{width:clamp(145px,12.2vw,206px);flex-shrink:0}
.brand img{width:100%}
.main-navigation{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,1.4vw,22px);flex:1}
.main-navigation a{position:relative;padding:17px 0;font-size:clamp(11px,.9vw,14px);font-weight:400;white-space:nowrap}
.main-navigation a.is-active{color:var(--red);font-weight:700}
.main-navigation a.is-active::after{content:'';position:absolute;bottom:4px;left:50%;height:2px;width:18px;background:var(--red);transform:translateX(-50%)}
.main-navigation a:hover{color:var(--red)}
.header-cta{padding-inline:16px;min-height:clamp(39px,3.3vw,56px);font-size:clamp(9px,.83vw,13px);white-space:nowrap;gap:7px}
.header-cta .icon{width:14px;height:14px}
.menu-toggle{display:none}
.site-footer{background:linear-gradient(#fbfbfc,#f5f6f8)}
.footer-main{display:grid;grid-template-columns:1fr 1.55fr .7fr;align-items:center;gap:clamp(36px,4vw,64px);padding-block:clamp(34px,3.1vw,50px)}
.footer-brand img{width:clamp(165px,14.5vw,220px)}
.footer-brand p{margin-top:20px;margin-left:clamp(0px,4vw,55px);font-size:clamp(12px,1.14vw,17px);line-height:1.4}
.footer-contacts{display:grid;gap:clamp(9px,1vw,16px);font-style:normal;font-size:clamp(12px,1.13vw,17px)}
.footer-contacts a{display:flex;align-items:center;gap:17px;line-height:1.35}
.footer-contacts a:last-child{align-items:flex-start;max-width:460px}
.footer-contacts .icon{width:clamp(22px,1.9vw,29px);height:clamp(22px,1.9vw,29px);color:var(--red)}
.footer-contacts a:hover span{color:var(--red)}
.footer-city{white-space:nowrap}
.footer-message{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:clamp(28px,3.1vw,45px);border-left:2px solid var(--red)}
.footer-message p{font-size:clamp(15px,1.45vw,22px);line-height:1.3}
.social-links{display:flex;gap:22px;margin-top:25px}
.social-links a{display:grid;place-items:center;width:28px;height:28px;transition:color .2s}
.social-links .icon{width:26px;height:26px;stroke-width:2}
.social-links a:hover{color:var(--red)}
.footer-assurance{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-block:clamp(20px,2vw,30px);border-top:1px solid var(--line)}
.footer-company{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;font-size:clamp(12px,1vw,15px);line-height:1.4}
.footer-company strong{font-size:clamp(14px,1.2vw,18px)}
.footer-company>span{white-space:nowrap}
.footer-assurance-details{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);align-items:center;gap:clamp(24px,3vw,48px)}
.footer-certifications h2{font-size:16px;line-height:1.35;margin-bottom:10px}
.footer-certification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px;gap:12px;list-style:none;padding:0;margin:0}
.footer-certification-list li{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.footer-certification-logo{width:clamp(60px,5vw,72px);height:auto;flex-shrink:0;object-fit:contain}
.footer-certification-list strong,.footer-certification-list small{display:block;line-height:1.4}
.footer-certification-list strong{font-size:clamp(13px,1.05vw,16px)}
.footer-certification-list small{font-size:clamp(12px,.95vw,14px);margin-top:4px;color:var(--muted)}
.footer-standards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px 24px;list-style:none;padding:0;margin:0}
.footer-standards li{display:flex;align-items:center;gap:14px;min-width:0;padding-left:16px;border-left:1px solid var(--line)}
.footer-standards li>span{min-width:0}
.footer-standards .icon{width:30px;height:30px;color:var(--red);flex-shrink:0}
.footer-standards strong,.footer-standards small{display:block;line-height:1.35}
.footer-standards strong{font-size:clamp(12px,1.05vw,16px)}
.footer-standards small{font-size:clamp(11px,.9vw,14px);margin-top:3px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:clamp(18px,1.8vw,28px);font-size:clamp(10px,.95vw,14px)}
.footer-bottom small{font-size:inherit}
.footer-legal{display:flex;align-items:center;gap:20px}
.footer-legal button{padding:0;border:0;background:none;font-size:inherit}
.footer-legal button:hover{color:var(--red)}
.footer-legal>span{color:#9699a2}
.site-dialog{position:fixed;max-width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:46px;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 90px #12122544;background:#fff;color:var(--ink)}
.site-dialog::backdrop{background:#15101fcc;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:12px;top:12px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0001}
.dialog-close:hover{color:var(--red)}
.site-dialog .eyebrow{font-size:11px;margin-top:8px}
.site-dialog h2{font-size:28px;letter-spacing:-.04em;line-height:1.15}
.site-dialog p:not(.eyebrow){margin-top:18px;font-size:15px;line-height:1.6}
.site-dialog .button,.site-dialog>.text-link{margin-top:26px}
.dialog-image{width:100%;height:210px;object-fit:cover;margin-bottom:25px;border-radius:4px}
.content-library-list{display:grid;margin-top:24px}
.library-item{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:20px 0;border:0;border-top:1px solid var(--line);background:transparent}
.library-item small{display:block;color:var(--red);font-size:11px;margin-bottom:5px;text-transform:uppercase}
.library-item strong{display:block;font-size:16px}
.library-item:hover{color:var(--red)}
@media(max-width:1150px){
  :root{--header-height:74px}
  .header-inner{gap:20px}.brand{width:152px}.main-navigation{gap:11px}.main-navigation a{font-size:10px}.header-cta{font-size:9px;padding:10px;gap:5px}
}
@media(max-width:980px){
  .main-navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:12px var(--gutter) 24px;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #0001;max-height:calc(100dvh - var(--header-height));overflow:auto}
  .main-navigation.is-open{display:flex}.main-navigation a{font-size:14px;padding:12px 0;border-bottom:1px solid #eee}.main-navigation a.is-active::after{left:0;transform:none;bottom:6px}
  .menu-toggle{display:flex;width:40px;height:40px;padding:9px;border:1px solid var(--line);border-radius:4px;background:none;flex-direction:column;justify-content:space-around;order:3}
  .menu-toggle span{width:100%;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .header-cta{margin-left:auto;font-size:11px;padding:11px 16px}
  .footer-main{grid-template-columns:1fr 1.5fr;gap:30px}.footer-message{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding-left:20px}.footer-message p br{display:none}.footer-message p{max-width:220px}.social-links{margin:0}
  .footer-assurance-details{grid-template-columns:1fr;gap:24px}
}
@media(max-width:600px){
  :root{--gutter:6%;--header-height:68px}.brand{width:128px}.header-inner{gap:12px}.header-cta{display:none}.menu-toggle{margin-left:auto}.main-navigation a{padding:14px 0}
  .button{font-size:12px;min-height:46px;padding:12px 18px}.eyebrow{font-size:10px;gap:13px}.eyebrow::before{width:25px}
  .footer-main{grid-template-columns:1fr;gap:28px;padding-block:35px}.footer-brand img{width:180px}.footer-brand p{margin-left:0;margin-top:15px;font-size:13px}.footer-contacts{font-size:13px;gap:16px}.footer-message{grid-column:auto}.footer-message p{font-size:16px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px;font-size:10px}.footer-legal{gap:14px}
  .footer-standards{grid-template-columns:1fr;gap:18px}.footer-standards li{padding-left:0;border-left:0}.footer-standards strong{font-size:14px}.footer-standards small{font-size:12px}
  .footer-certification-list{gap:12px}.footer-certification-list li{flex-direction:column;gap:8px;padding:12px;text-align:center}.footer-certification-logo{width:64px;max-width:100%}.footer-certification-list strong{font-size:13px}.footer-certification-list small{font-size:12px}
  .site-dialog{padding:42px 24px 28px}.site-dialog h2{font-size:25px}.dialog-image{height:170px}.desktop-break{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
