@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter-400.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter-700.ttf") format("truetype")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/work-sans-600.ttf") format("truetype")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/work-sans-700.ttf") format("truetype")}
:root{--red:#c8102e;--ink:#171923;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:17px/1.75 Inter,Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.narrow{max-width:850px}.section{padding:90px 0}h1,h2,h3{font-family:"Work Sans",Arial,sans-serif;line-height:1.3;font-weight:700}h2{font-size:clamp(28px,3vw,35px);margin:0 0 26px}h3{font-size:25px}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;color:#fff;transition:background .25s,box-shadow .25s}.site-header:not(:has(+ main .hero)){background:#151515;position:sticky}.site-header.scrolled{background:#151515;box-shadow:0 2px 15px #0005}.site-header:has(+ main .hero).scrolled{position:fixed}.header-inner{max-width:1180px;padding:0 16px;margin:auto;height:114px;display:flex;align-items:center;gap:40px}.brand{display:block;flex:none}.brand img{width:180px;height:89px;object-fit:contain;display:block}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:42px}.site-header nav>a{text-decoration:none;font-size:22px;white-space:nowrap}.site-header nav>a:hover,.site-header nav>a:focus{color:#ff415b}.social{border-left:1px solid #ffffff66;padding-left:28px}.social a{text-decoration:none;font-size:28px}.menu{display:none}.hero{height:490px;min-height:490px;position:relative;overflow:hidden;background:#151515 url('/assets/0A9D97A8-A6F2-4005-9B68-2235F5B4CCA1-scaled-e1773685220788-rkls91w6it7bkxncnpsc0j7mi46uhawzwzvy4f7v60.jpg') center/cover;color:#fff;display:flex;align-items:center;justify-content:center}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover}.hero-shade{background:#000b}.hero-content{position:relative;text-align:center;padding:115px 20px 10px;max-width:980px}.hero h1{color:#dd183b;font-size:clamp(34px,4vw,46px);margin:0 0 34px;font-weight:800}.hero p{margin:0;color:#e7e7e7;line-height:2}.hero .hero-strong{font-weight:800}.btn{display:inline-block;text-decoration:none;padding:14px 24px;font-weight:800;border:0;cursor:pointer;font:700 18px Inter,Arial,Helvetica,sans-serif}.btn-white{background:#fff;color:var(--red);margin-top:38px}.btn-white span{margin-left:18px;font-size:26px;vertical-align:-2px}.btn-red{background:#b90022;color:#fff}.btn:hover{filter:brightness(.9)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.intro-grid>img{max-height:490px;width:100%;object-fit:contain}.overline{font-weight:800;margin:0 0 15px}.intro p{max-width:650px}.text-link{color:var(--red);font-weight:800;text-decoration:none}.services{background:#fff}.services h2,.projects h2{text-align:center}.services>.wrap>.btn{display:table;margin:40px auto 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin:40px 0}.service-card{display:block;text-decoration:none;background:#fff;padding:0;min-height:340px;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0002}.service-card img{width:100%;height:220px;object-fit:contain;border-radius:7px}.service-card h3{margin:20px 0;text-align:center;font-size:24px;font-weight:600}.service-card p{font-size:16px}.service-num{color:var(--red);font-weight:800}.card-arrow{font-size:28px;color:var(--red)}.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.gallery img{scroll-snap-align:start}.gallery-controls{display:flex;justify-content:center;gap:16px;margin-top:20px}.gallery-controls[hidden]{display:none}.gallery-controls button{border:1px solid #ddd;background:#fff;color:var(--red);font-size:28px;width:48px;height:48px;cursor:pointer}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}.contact{background:#b90025;padding:40px 0;display:flex;justify-content:center}.contact-card{background:#fff;width:min(700px,calc(100% - 48px));padding:62px 72px;box-shadow:0 10px 30px #0001}.contact-card h2{font-size:36px}.contact form label{display:block;margin-bottom:18px}.contact form label span{display:block;font-size:14px;font-weight:700;margin-bottom:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact input,.contact textarea{width:100%;padding:15px;border:1px solid #d5d5d5;background:#fff;font:inherit;min-width:0}.contact textarea{resize:vertical}.contact input:focus,.contact textarea:focus{outline:2px solid var(--red);outline-offset:1px}.honeypot{position:absolute!important;left:-9999px;width:1px!important;height:1px}.contact .btn{margin-top:3px}#form-status{font-size:15px;margin-bottom:0}#form-status:empty{display:none}.footer{background:#141414;color:#ddd;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:45px}.footer h2{font-size:23px;color:#fff}.footer p{font-size:16px}.footer a{color:#fff}.copyright{border-top:1px solid #ffffff33;padding-top:22px;margin-top:35px;font-size:14px}.subhero{background:#171717;color:#fff;padding:70px 0}.subhero h1{font-size:52px;margin:0}.subhero p{margin-bottom:0}.service-detail:nth-child(odd){background:#f7f7f7}.service-detail{scroll-margin-top:105px}.service-detail p{max-width:720px}.legal{font-size:16px}.legal h1{font-size:42px}.legal h2{font-size:26px;margin:34px 0 14px}.legal h3{font-size:21px}.legal p,.legal li{overflow-wrap:anywhere}@media(max-width:900px){.site-header nav{gap:20px}.site-header nav>a{font-size:17px}.intro-grid{gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-auto-columns:calc((100% - 12px)/2)}}@media(max-width:767px){body{font-size:16px}.section{padding:65px 0}.header-inner{height:80px}.brand img{width:130px;height:65px}.menu{display:flex;margin-left:auto;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;cursor:pointer}.menu span{display:block;height:2px;background:#fff;width:26px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;margin:0;background:#171717;padding:25px 24px;flex-direction:column;align-items:flex-start;gap:20px}.site-header nav.open{display:flex}.social{border:0;padding:0}.hero{height:610px}.hero-content{padding-top:70px}.hero h1{margin-bottom:25px}.hero p{line-height:1.5}.intro-grid{grid-template-columns:1fr}.intro-grid>img{max-height:310px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.contact-card{padding:38px 25px}.contact-card h2{font-size:30px}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.subhero{padding:50px 0}.subhero h1{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
.service-layout{display:grid;grid-template-columns:1.5fr .65fr;align-items:center;gap:65px}.service-layout img{width:100%;max-height:380px;object-fit:contain}.service-detail ul,.about-full ul{padding-left:25px}.service-detail li,.about-full li{margin-bottom:8px}.service-detail .btn{margin-top:16px}.about-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:60px;align-items:start}.about-layout img{width:100%;object-fit:cover;max-height:520px}.about-full h2:not(:first-child){margin-top:48px}.about-full h3{margin-top:32px}.phone-large{font-size:clamp(24px,4vw,40px);color:var(--red);font-weight:800}@media(max-width:767px){.service-layout,.about-layout{grid-template-columns:1fr}.service-layout img{max-height:230px}.about-layout img{max-height:300px}}

/* Shared interaction and small-screen layout. */
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:#171923;padding:12px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,.gallery:focus-visible{outline:3px solid #dd183b;outline-offset:5px}
.anchor-alias{display:block;scroll-margin-top:130px}
.service-detail{scroll-margin-top:130px}
.btn{border-radius:3px}
.overline{font-size:20px}
@media(max-width:767px){.gallery{grid-auto-columns:100%}.service-card img{height:230px}.hero{height:auto;min-height:610px;padding:100px 0 55px}.hero-content{padding:0 24px}.hero p{line-height:1.6;margin:8px 0}.site-header nav{max-height:calc(100dvh - 80px);overflow-y:auto}.service-detail,.anchor-alias{scroll-margin-top:95px}.footer a{overflow-wrap:anywhere}}

h1,h2,h3{overflow-wrap:anywhere}.legal h1{font-size:clamp(30px,5vw,42px)}

/* Video headers shared by the three main subpages. */
.hero.subhero{height:auto;min-height:375px;padding:164px 24px 44px;text-align:center}
.subhero-content{position:relative;width:100%;max-width:1035px}
.hero.subhero h1{color:white;font-size:clamp(34px,4vw,46px);margin:0 0 30px}
.hero.subhero p{max-width:650px;margin:auto;text-align:left;line-height:1.6}
.hero.subhero-short{min-height:270px;padding-bottom:50px}
.hero.subhero-short h1{margin:0}
.about-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.about-feature>img{width:100%;height:100%;min-height:350px;object-fit:cover}
.about-panel{padding:60px 55px;background:#55595d;color:white}
.about-panel p{color:#ddd}
.about-values{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;padding:75px 0}
.about-values h3{margin-top:0}
.about-call{text-align:center;padding-top:70px}
.service-layout{grid-template-columns:.65fr 1.5fr}
.service-layout>img{grid-column:1;grid-row:1}
.service-layout>div{grid-column:2;grid-row:1}
@media(max-width:767px){
 .hero.subhero{min-height:350px;padding:130px 24px 45px}
 .hero.subhero-short{min-height:260px}
 .about-feature,.about-values{grid-template-columns:1fr;gap:30px}
 .about-panel{padding:35px 25px}
 .about-feature>img{min-height:0;max-height:380px;aspect-ratio:1;object-fit:cover}
 .about-values{padding:50px 0}
 .service-layout{grid-template-columns:1fr}
 .service-layout>img{grid-column:1;grid-row:1}
 .service-layout>div{grid-column:1;grid-row:2}
}

.legal-draft{padding:20px 24px;border-left:4px solid #b90025;background:#fff2f3;margin-bottom:32px}.legal-draft strong{display:block;margin-bottom:8px}.form-privacy{font-size:14px;line-height:1.6}.form-privacy a{text-decoration:underline}.legal h2,.legal h3{scroll-margin-top:135px}

.intro-logo{margin:0;align-self:center}.intro-logo img{display:block;width:100%;height:auto}.intro-logo figcaption{border-top:1px solid #777;margin:14px 10% 0;padding-top:10px;text-align:center;font-family:"Work Sans",Arial,sans-serif;font-weight:600;font-size:clamp(16px,1.6vw,23px);color:#444}

/* Accessible social link and readable service/answer pages. */
.social a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;vertical-align:middle}
.social .tiktok-icon{display:block;width:28px;height:28px}
.breadcrumbs{font-size:15px;margin-bottom:24px;line-height:1.8}
.breadcrumbs a{text-underline-offset:4px}
.subhero h1{font-size:clamp(32px,4vw,52px)}
.service-next{background:#f7f7f7}
.faq{background:#f7f7f7}
.faq details{border-bottom:1px solid #d5d5d5;padding:20px 0}
.faq summary{cursor:pointer;font-weight:700}
.faq summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.faq details p{margin:16px 0 0}
