@font-face{font-family:DM Sans;src:url('../assets/fonts/sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}@font-face{font-family:DM Serif;src:url('../assets/fonts/serif.woff2') format('woff2');font-weight:400;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#3c3c3c;color:#fff;font:18px/1.5 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0 0 18px}h1,h2{font:400 36px/1.2 'DM Serif',Georgia,serif;text-transform:uppercase}p{line-height:1.5}.container{max-width:1200px;margin:auto;padding-left:30px;padding-right:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-width:180px;padding:13px 26px;background:#e50e0e;color:white;border:2px solid white;border-radius:6px;font:700 16px/1.3 'DM Sans',sans-serif;box-shadow:3px 0 11px #0004;cursor:pointer;text-align:center}.button:hover{border-color:#e50e0e}.site-header{position:absolute;z-index:2;left:0;right:0;top:0}.header-inner{max-width:1250px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:100px;max-height:100px;object-fit:contain}.nav-list{display:flex;align-items:center;gap:20px;list-style:none;padding:0;margin:0;font-size:16px;font-weight:700}.nav-list a:hover{text-decoration:underline}.header-call{min-width:180px}.menu-toggle{display:none}.hero{min-height:675px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#0007,#0007),url('../assets/images/4.jpg') center/cover}.hero-content{max-width:1200px;padding:100px 30px 20px}.hero h1{font-size:clamp(38px,4.4vw,60px);margin-bottom:4px}.hero p{font-size:22px;font-weight:500;margin-bottom:26px}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-top:75px;padding-bottom:75px}.split img{width:100%;height:480px;object-fit:cover}.split p{margin-bottom:24px}.services{text-align:center;padding:75px 0;background:linear-gradient(#000a,#000a),url('../assets/images/7.jpg') center/cover}.services h2{font:700 36px/1.2 'DM Sans',sans-serif;text-transform:none}.services p{max-width:1100px;margin:0 auto 28px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px}.service-grid a{height:250px;position:relative;overflow:hidden}.service-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000a)}.service-grid img{width:100%;height:100%;object-fit:cover}.service-grid span{position:absolute;z-index:1;bottom:15px;left:10px;right:10px;font:400 22px/1.15 'DM Serif',Georgia,serif;text-transform:uppercase}.repair img{height:460px}.access{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.access-copy{padding:70px max(45px,calc((100vw - 1200px)/2));padding-right:60px;align-self:center}.access img{width:100%;height:100%;min-height:500px;object-fit:cover}.banner{min-height:600px;padding:70px 25px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center}.safety{background-image:linear-gradient(#0005,#0005),url('../assets/images/10.jpg')}.custom{background-image:linear-gradient(#0005,#0005),url('../assets/images/11.png')}.banner-box{background:#3c3c3c;max-width:800px;padding:50px 60px}.contact{display:grid;grid-template-columns:1fr 1fr;padding-top:80px;padding-bottom:80px}.contact>img{width:100%;height:100%;min-height:450px;object-fit:cover}.contact-form{background:#fff;color:#111;padding:40px 55px;text-align:center}.contact-form h2{font-size:30px}.contact-form p{font-size:15px}.contact-form label{display:block;text-align:left;font-size:14px;margin-bottom:10px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #e50e0e;padding:9px;font:inherit}.contact-form textarea{min-height:90px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.honeypot{position:absolute;left:-10000px}.faq{max-width:1000px;padding-top:80px;padding-bottom:80px;text-align:center}.faq>p{margin-bottom:30px}.faq details{background:#f8f7f5;color:#000;text-align:left;margin:12px 0;border-bottom:4px solid #000}.faq summary{cursor:pointer;list-style:none;padding:22px 70px 22px 24px;font-weight:700;text-transform:uppercase;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'⌄';position:absolute;right:28px;top:50%;transform:translateY(-50%);background:#e50e0e;border-radius:50%;color:white;width:36px;height:36px;display:grid;place-items:center}.faq details[open] summary:after{content:'⌃'}.faq details p{padding:0 24px 24px;margin:0}.footer-top{text-align:center;border-bottom:2px solid white;padding:15px}.footer-content{max-width:1100px;display:grid;grid-template-columns:1fr 1fr 1fr;margin:auto;padding:50px 25px;text-align:center;align-items:center}.footer-content img{width:240px;justify-self:center}.footer-cta{align-self:center;justify-self:center}.footer-content h2{font:700 28px 'DM Sans',sans-serif;text-transform:none}.footer-content p{margin:12px 0}.copyright{text-align:center;font-size:14px;margin:35px 0 10px}.standard-page{padding-top:150px;padding-bottom:80px}.menu-toggle:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:800px){.header-inner{padding:15px 20px}.brand img{width:75px}.menu-toggle{display:block;margin-left:auto;background:transparent;border:1px solid white;color:white;font-size:24px;cursor:pointer}.header-call{min-width:auto;padding:10px;font-size:13px}#primary-menu{display:none;position:absolute;top:90px;left:0;right:0;background:#3c3c3c;padding:20px}#primary-menu.open{display:block}.nav-list{display:block}.nav-list li{padding:8px}.hero{min-height:600px}.hero h1{font-size:38px}.hero p{font-size:18px}.split{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:50px}.split img{height:auto;max-height:450px}.service-grid{grid-template-columns:1fr 1fr}.service-grid a{height:200px}.access{grid-template-columns:1fr}.access-copy{padding:50px 30px}.access img{min-height:300px;max-height:450px}.banner{min-height:450px}.banner-box{padding:40px 25px}.contact{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px}.contact-form{padding:35px 25px}.contact>img{min-height:300px}.footer-content{grid-template-columns:1fr;gap:30px}h1,h2{font-size:30px}.services h2{font-size:30px}body{font-size:16px}}@media(max-width:420px){.service-grid{grid-template-columns:1fr 1fr}.service-grid span{font-size:17px}.service-grid a{height:160px}.hero h1{font-size:33px}.form-row{grid-template-columns:1fr}.faq summary{font-size:15px}}

.reviews{text-align:center;padding-top:65px;padding-bottom:65px}.reviews h2{font-size:30px}.reviews .button{margin-top:25px}
.service-hero{background-image:linear-gradient(#0008,#0008),url('../assets/images/access-hero.png')}.has-dropdown{position:relative}.dropdown-toggle{background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}.dropdown-toggle span{display:inline-block;margin-left:4px}.dropdown{display:none;position:absolute;top:100%;left:0;margin:0;padding:0;list-style:none;background:white;color:#111;width:345px;max-height:415px;overflow-y:auto;box-shadow:0 5px 20px #0003;font-weight:400;font-size:16px}.has-dropdown.is-open .dropdown{display:block}.dropdown a,.pending-service{display:block;padding:12px 20px;line-height:1.3}.dropdown a:hover,.dropdown a:focus{background:#e50e0e;color:white;text-decoration:none}.pending-service{color:#111}.service-hero h1{font-size:clamp(38px,4vw,60px)}@media(max-width:800px){.dropdown{position:static;width:100%;max-height:240px;box-shadow:none}.nav-list .dropdown li{padding:0}.dropdown a,.pending-service{padding:10px 15px}}

.dropdown-toggle{display:inline-flex;align-items:center;gap:10px}.dropdown-toggle .dropdown-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin:0}.has-dropdown.is-open .dropdown-chevron,.has-dropdown:hover .dropdown-chevron{transform:rotate(225deg) translate(-2px,-1px)}
/* Reference typography and desktop proportions. */
@media (min-width:801px){.nav-list{font-size:18px;gap:22px}.button{font-size:18px}.hero:not(.service-hero){min-height:clamp(675px,67.6vw,925px)}.intro img{height:550px}.header-inner{max-width:1365px;padding-left:5%;padding-right:3.5%}}
/* Background video retains the local poster when autoplay or the remote video is unavailable. */
.hero{position:relative;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:has(.hero-video):before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.44);z-index:1;pointer-events:none}.hero-content{position:relative;z-index:1}
.faq summary:after,.faq details[open] summary:after{content:"";display:block;background:#e50e0e;border-radius:50%;width:36px;height:36px;right:28px;top:50%;transform:translateY(-50%)}.faq summary:before{content:"";position:absolute;z-index:1;right:42px;top:50%;width:8px;height:8px;border-right:1.5px solid white;border-bottom:1.5px solid white;transform:translateY(-65%) rotate(45deg);pointer-events:none}.faq details[open] summary:before{transform:translateY(-25%) rotate(225deg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}}

/* Sticky header and accessible mobile navigation. */
.site-header{position:fixed;transition:background-color .25s ease,box-shadow .25s ease;top:0}
.site-header.is-scrolled{background:#3c3c3c;box-shadow:0 3px 12px #0002}
.site-header.is-scrolled .nav-list{color:#000}
.site-header.is-scrolled .nav-home{color:#f00;border-bottom:2px solid #f00;padding-bottom:8px}
.brand .logo-dark{display:none}.site-header.is-scrolled .brand .logo-light{display:none}.site-header.is-scrolled .brand .logo-dark{display:block}
.admin-bar .site-header{top:32px}
.safety{background-attachment:fixed}
@media (hover:hover) and (min-width:801px){.has-dropdown:hover .dropdown{display:block}}
/* Content remains visible without JavaScript or when reduced motion is requested. */
.js-motion .reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.js-motion .reveal-ready.revealed{opacity:1;transform:none}
@media(max-width:800px){.site-header.is-scrolled .nav-list{color:#fff}.site-header.is-scrolled .nav-home{padding-bottom:0}.site-header.is-scrolled #primary-menu{background:#3c3c3c}.menu-toggle{min-width:44px;min-height:44px;border:0;font-size:0;position:relative}.menu-toggle:before,.menu-toggle:after,.menu-toggle span{content:"";position:absolute;left:8px;right:8px;height:2px;background:white;transition:transform .2s,opacity .2s}.menu-toggle:before{top:13px}.menu-toggle span{top:21px}.menu-toggle:after{top:29px}.menu-toggle[aria-expanded=true]:before{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span{opacity:0}.menu-toggle[aria-expanded=true]:after{transform:translateY(-8px) rotate(-45deg)}#primary-menu{top:100%;max-height:calc(100vh - 100px);overflow-y:auto}.safety{background-attachment:scroll}.admin-bar .site-header{top:46px}}
@media(max-width:380px){.header-inner{gap:8px}.brand img{width:65px}.header-call{font-size:11px;padding:8px}.header-inner{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){.site-header,.js-motion .reveal-ready{transition:none}.js-motion .reveal-ready{opacity:1;transform:none}.safety{background-attachment:scroll}}
