:root{--black:#090909;--red:#e82b31;--cream:#f4f2ee;--ink:#171717;--muted:#6e6c69;--line:#d5d1ca;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,blockquote{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}p{line-height:1.65}.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:12px;z-index:100}.skip:focus{left:10px}.site-header{height:82px;background:var(--black);color:#fff;position:relative;z-index:20;border-bottom:1px solid #303030}.nav-wrap{height:100%;max-width:1480px;padding:0 4.5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:10px;font:800 1.35rem Manrope,sans-serif;letter-spacing:-.065em;white-space:nowrap}.brand small{display:block;font:700 .52rem 'DM Sans',sans-serif;letter-spacing:.22em;text-align:center;margin-top:-2px}.brand-shield{font:2.1rem sans-serif;line-height:1;color:#fff;transform:rotate(0deg)}.red,.footer-brand span{color:var(--red)}nav{display:flex;align-items:center;gap:clamp(20px,2vw,40px)}nav>a{font-size:.84rem;font-weight:600;color:#d5d5d5;transition:color .2s}nav>a:hover,nav>a.active{color:#fff}nav>a.active:after{content:'';display:block;height:2px;background:var(--red);margin-top:6px}.nav-cta{border:1px solid #6e6e6e;padding:13px 17px;color:#fff!important}.nav-cta span{color:var(--red);margin-left:10px}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{min-height:min(850px,calc(100svh - 82px));background:var(--black);color:#fff;position:relative;display:flex;align-items:center;padding:85px 5% 98px;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/hero.webp') center center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.32) 68%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 45%)}.hero-inner{position:relative;max-width:1400px;width:100%;margin:auto}.eyebrow{font-size:.73rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:var(--red);line-height:1.4}.eyebrow.light{color:#fff}.dash{display:inline-block;width:30px;height:1px;background:var(--red);vertical-align:middle;margin:0 12px}.hero h1,.page-hero h1{font-size:clamp(3.2rem,6.1vw,6.8rem);line-height:1.06;letter-spacing:-.075em;font-weight:500;margin:34px 0 26px;max-width:1060px}.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--red);font-weight:700}.hero-lead{max-width:580px;font-size:clamp(1.1rem,1.6vw,1.35rem);color:#e4e4e4}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 22px;font-size:.9rem;font-weight:700;min-height:56px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.red-button{background:var(--red);color:#fff}.red-button:hover{background:#c91b22}.black-button{background:var(--black);color:#fff}.outline-button{border:1px solid #fff;color:#fff}.text-link{display:inline-flex;gap:20px;align-items:center;font-weight:700;font-size:.9rem;border-bottom:1px solid var(--ink);padding-bottom:10px}.light-link{color:#fff;border-color:#fff}.text-link span{color:var(--red)}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #9b9b9b;padding:22px 0;color:#eaeaea;font-size:.69rem;font-weight:700;letter-spacing:.12em}.section{padding:clamp(70px,8vw,130px) max(5%,calc((100% - 1380px)/2))}.intro,.method{display:grid;grid-template-columns:1fr 2fr;gap:7vw;background:var(--cream)}.section-label{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--red)}h2{font-size:clamp(2.2rem,4vw,4.6rem);line-height:1.13;letter-spacing:-.065em;font-weight:500}.intro h2{margin-bottom:30px}.large-copy{font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.55;color:#4b4947;max-width:850px;margin-bottom:32px}.dark-section{background:var(--black);color:#fff}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}.section-top h2{margin-top:22px}.red-text{color:var(--red)}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #5a5a5a;border-left:1px solid #5a5a5a}.service-card{position:relative;min-height:360px;padding:31px 27px;border-right:1px solid #5a5a5a;border-bottom:1px solid #5a5a5a;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:#171717}.service-card .num{font-size:.76rem;color:var(--red);font-weight:700}.service-card h3{font-size:clamp(1.35rem,1.6vw,2rem);line-height:1.2;letter-spacing:-.04em;margin:auto 0 16px}.service-card p{font-size:.96rem;color:#b9b9b9;line-height:1.5;min-height:70px}.service-card .arrow{position:absolute;right:26px;top:27px;color:var(--red);font-size:1.3rem}.statement{padding:130px 5%;background:var(--cream);text-align:center}.statement blockquote{font:500 clamp(2.7rem,6vw,6rem)/1.22 Manrope,sans-serif;letter-spacing:-.075em;margin-top:34px}.statement em{font-style:normal;color:var(--red)}.cta-band{background:var(--red);color:#fff;padding:90px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.cta-band h2{font-size:clamp(2rem,3vw,3.2rem)}.cta-band .eyebrow{width:100%}.page-hero{background:var(--black);color:#fff;padding:115px 5% 125px}.page-hero h1{margin-top:24px;margin-bottom:27px}.page-hero>p:not(.eyebrow){font-size:1.2rem;color:#c7c7c7;max-width:720px}.page-hero .button{margin-top:35px}.listing{display:grid;grid-template-columns:repeat(2,1fr);padding-top:0;padding-bottom:0;background:var(--black);color:#fff}.listing .service-card{min-height:340px}.industry-list{background:var(--cream)}.industry-list>a{display:grid;grid-template-columns:50px 1fr 1fr 30px;align-items:center;gap:24px;border-top:1px solid var(--line);min-height:130px;padding:20px 0}.industry-list>a:last-child{border-bottom:1px solid var(--line)}.industry-list span{color:var(--red);font-size:.85rem;font-weight:700}.industry-list strong{font:600 clamp(1.3rem,2vw,2rem) Manrope,sans-serif;letter-spacing:-.04em}.industry-list p{color:var(--muted)}.industry-list b{font-size:1.4rem;color:var(--red)}.industry-list a:hover strong{color:var(--red)}.detail-body{display:grid;grid-template-columns:1.7fr .8fr;gap:10vw;background:var(--cream)}.detail-body h2{margin:20px 0 36px}.detail-body ul{padding:0;margin:0;list-style:none}.detail-body li{padding:19px 0;border-top:1px solid var(--line);font-size:1.08rem}.detail-body li span{color:var(--red);margin-right:20px}.detail-body aside{background:#e9e6e0;padding:38px;align-self:start}.detail-body aside h3,.contact-grid aside h3{font-size:1.8rem;letter-spacing:-.05em;margin:30px 0 16px}.detail-body aside p{color:#555;margin-bottom:28px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.principles>div{border-top:1px solid #777;padding-top:25px}.principles span{color:var(--red)}.principles h3{font-size:2rem;margin:45px 0 15px}.principles p{color:#aaa;max-width:280px}.contact-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:10vw}.contact-grid h2{margin:20px 0}.contact-grid>div>p:not(.eyebrow){font-size:1.1rem;max-width:660px}.contact-grid ol{padding-left:20px;line-height:2;margin-top:30px}.contact-grid aside{background:var(--black);color:#fff;padding:38px}.contact-grid aside p{color:#bbb}.pending-contact{display:grid;gap:8px;margin:30px 0;border-top:1px solid #555;padding-top:24px}.pending-contact strong{font-size:.8rem;color:var(--red);text-transform:uppercase;letter-spacing:.1em}.pending-contact span{margin-bottom:17px;color:#fff}.contact-note{font-size:.82rem!important}.footer-top{background:#111;color:#fff;padding:80px 5%;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px}.footer-brand{font:800 2rem Manrope,sans-serif;letter-spacing:-.08em}.footer-top p{color:#999;margin-top:20px}.footer-top strong{display:block;margin-bottom:22px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}.footer-top a:not(.footer-brand){display:block;margin:12px 0;font-size:.9rem;color:#d5d5d5}.footer-top a:hover{color:#fff}.footer-bottom{background:#111;color:#777;border-top:1px solid #333;padding:22px 5%;display:flex;justify-content:space-between;font-size:.76rem}
@media(max-width:980px){nav{gap:17px}.nav-cta{display:none}.cards-grid{grid-template-columns:repeat(2,1fr)}.industry-list>a{grid-template-columns:35px 1fr 25px}.industry-list p{grid-column:2;grid-row:2}.industry-list b{grid-column:3;grid-row:1}.footer-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:72px}.nav-wrap{padding:0 5%}.menu-toggle{display:block}.menu-toggle span{margin-left:8px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#111;flex-direction:column;align-items:stretch;padding:15px 5% 25px;border-top:1px solid #333;gap:0}nav.open{display:flex}nav>a{padding:13px 0;font-size:1rem}nav>a.active:after{display:none}.nav-cta{display:block;border:1px solid #666;padding:14px!important;margin-top:12px}.hero{min-height:750px;padding:70px 5% 100px}.hero-image{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3)),linear-gradient(0deg,rgba(0,0,0,.75),transparent)}.hero h1,.page-hero h1{font-size:clamp(3rem,11vw,5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:25px}.hero-bottom{flex-wrap:wrap;gap:12px 22px;font-size:.57rem}.intro,.method,.detail-body,.contact-grid{grid-template-columns:1fr;gap:34px}.section{padding:75px 5%}.section-top{align-items:flex-start;flex-direction:column}.cards-grid,.listing,.principles{grid-template-columns:1fr}.service-card,.listing .service-card{min-height:245px}.service-card h3{margin:36px 0 10px}.service-card p{min-height:0}.statement{padding:100px 5%}.page-hero{padding:85px 5% 95px}.industry-list>a{gap:10px;min-height:120px}.industry-list p{font-size:.85rem}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{gap:15px;flex-direction:column}}
@media(max-width:430px){.brand{font-size:1.16rem}.brand-shield{font-size:1.8rem}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.hero h1{font-size:2.9rem}.industry-list strong{font-size:1.2rem}}
.local-links{background:var(--cream)}.local-links h2{margin:18px 0 38px}.local-links>div{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.local-links a{padding:27px 0;border-bottom:1px solid var(--line);font:600 clamp(1rem,1.5vw,1.3rem) Manrope,sans-serif;transition:color .2s}.local-links a:hover{color:var(--red)}.pending-contact a{color:#fff;margin-bottom:17px;overflow-wrap:anywhere}.pending-contact a:hover{color:var(--red)}
@media(max-width:700px){.local-links>div{grid-template-columns:1fr}}
.footer-domain{display:block;margin:12px 0;font-size:.9rem;color:#d5d5d5}
.visual-story{display:grid;grid-template-columns:1.2fr 1fr;background:var(--black);color:#fff;min-height:540px}.visual-story.reverse .visual-photo{order:2}.visual-photo{position:relative;min-height:430px;overflow:hidden}.visual-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.visual-photo span{position:absolute;bottom:16px;left:20px;background:rgba(0,0,0,.72);color:#fff;padding:7px 10px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.visual-copy{padding:clamp(50px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.visual-copy h2{font-size:clamp(2rem,3.7vw,4rem);margin:22px 0 25px}.visual-copy p:not(.eyebrow){font-size:1.12rem;max-width:550px;color:#c9c9c9;line-height:1.65}.depth{background:#fff}.depth-intro{display:grid;grid-template-columns:1fr 1.2fr;column-gap:7vw;align-items:start}.depth-intro .eyebrow{grid-column:1/-1;margin-bottom:20px}.depth-intro h2{max-width:600px}.depth-intro p{font-size:1.1rem;color:#555;line-height:1.7;margin:0 0 19px}.depth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:68px}.depth-grid>div{border-top:1px solid var(--black);padding:25px 0}.depth-grid span{font-size:.78rem;color:var(--red);font-weight:700}.depth-grid h3{font-size:1.5rem;letter-spacing:-.04em;margin:22px 0 12px}.depth-grid p{color:#666;font-size:1rem}.faq{background:var(--cream)}.faq h2{margin:18px 0 35px}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font:600 1.2rem Manrope,sans-serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:30px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.5rem;color:var(--red);line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{max-width:800px;margin:17px 0 0;color:#555;font-size:1.05rem}
@media(max-width:800px){.visual-story{grid-template-columns:1fr}.visual-story.reverse .visual-photo{order:0}.visual-photo{min-height:320px;aspect-ratio:3/2}.visual-copy{padding:55px 5%}.depth-intro{grid-template-columns:1fr}.depth-intro h2{margin-bottom:25px}.depth-grid{grid-template-columns:1fr;gap:0;margin-top:40px}}
.fleet-gallery{background:var(--black);color:#fff}.fleet-gallery h2{margin:18px 0}.fleet-gallery>p:not(.eyebrow){max-width:760px;color:#bbb;font-size:1.05rem}.fleet-gallery>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.fleet-gallery figure{margin:0}.fleet-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.fleet-gallery figcaption{font-size:.82rem;color:#aaa;margin-top:13px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:700px){.fleet-gallery>div{grid-template-columns:1fr}}

.industries-hero{min-height:520px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(3,7,13,.9) 0%,rgba(3,7,13,.67) 48%,rgba(3,7,13,.18) 100%),url('assets/industries-header.webp') center center/cover}.industries-hero>p:not(.eyebrow){color:#e6e8eb}@media(max-width:700px){.industries-hero{min-height:500px;background-position:60% center}}

/* Service photography and page headers */
.page-hero.photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:560px;display:block;background:#080b10}
.page-header-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2}
.page-header-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,7,11,.94) 0%,rgba(4,7,11,.78) 43%,rgba(4,7,11,.22) 100%)}
.photo-hero h1{max-width:1050px}.photo-hero>p:not(.eyebrow){color:#f0f0f0}.photo-hero .eyebrow{color:#ff555a}
.photo-card{padding:0;display:flex;flex-direction:column;min-height:0!important;overflow:hidden;background:#101010}
.card-photo{overflow:hidden;aspect-ratio:16/10;flex:none}.card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.photo-card:hover .card-photo img{transform:scale(1.035)}
.card-content{position:relative;padding:28px;flex:1}.photo-card h3{margin:28px 0 15px}.photo-card p{min-height:0}.photo-card .arrow{top:24px}
.listing{gap:24px;padding-top:36px;padding-bottom:70px}.listing .photo-card{border:1px solid #3a3a3a}.listing .card-photo{aspect-ratio:16/8}
.cards-grid{gap:18px;border:0}.cards-grid .photo-card{border:1px solid #3a3a3a}.cards-grid .card-content{padding:23px}
.intro-media img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;margin-top:30px}.intro,.method{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:center;gap:6vw}
.principle-photo{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin-top:25px}.principles h3{margin-top:25px}
@media(max-width:1000px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.page-hero.photo-hero{min-height:540px;padding:75px 5% 85px}.page-header-shade{background:linear-gradient(90deg,rgba(4,7,11,.89),rgba(4,7,11,.5))}.page-header-photo{object-position:62% center}.cards-grid,.intro,.method{grid-template-columns:1fr}.intro-media img{aspect-ratio:16/10}.listing{padding-top:24px;padding-bottom:50px}.card-content{padding:24px}.photo-card h3{margin:24px 0 12px}}

/* Exact supplied brand artwork, cropped by its display frame only. */
/* Keep the complete supplied logo proportional and visible at every size. */
.site-header{height:132px;background:#000}
.brand-logo{display:block;width:104px;flex-shrink:0;line-height:0}
.brand-logo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;position:static}
.brand{letter-spacing:normal}
.footer-brand .brand-logo{width:158px}
footer{background:#000}
.footer-top>div:first-child{min-width:0}
.footer-top a[href^="tel:"]{overflow-wrap:anywhere}
.arrow{font-family:inherit;font-variant-emoji:text}
@media(max-width:700px){
.site-header{height:120px}nav{top:120px}
.brand-logo{width:94px}
.nav-wrap{gap:16px}}

/* Consistent separation between titles and the copy that follows. */
h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:24px}
h2+div>p:first-child,h3+div>p:first-child{margin-top:24px}
p+.button,p+.text-link{margin-top:24px}
.footer-phone{display:flex!important;flex-direction:column;gap:6px;line-height:1.5}
.footer-phone span{display:block;white-space:nowrap}
#inquiry-form{scroll-margin-top:24px}
.inquiry-section{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);align-items:start}
.form-intro{margin-bottom:32px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-fields label{display:flex;flex-direction:column;gap:10px;font-size:.92rem;font-weight:600}
.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-width:0;border:1px solid #aaa;background:#fff;color:#171717;border-radius:0;padding:14px;font:400 16px/1.5 'DM Sans',sans-serif}
.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{outline:2px solid var(--red);outline-offset:2px}
.form-fields textarea{resize:vertical;min-height:150px}
.full-field{grid-column:1/-1}
.form-consent{display:flex;gap:12px;align-items:flex-start;margin:26px 0 14px;font-size:.92rem;line-height:1.6}
.form-consent input{width:19px;height:19px;flex-shrink:0;margin-top:3px;accent-color:var(--red)}
.form-note{color:#666;font-size:.83rem;line-height:1.6;margin-bottom:24px}
#inquiry button{cursor:pointer;border:0;min-width:200px}
.form-trap{display:none}
.form-confirmation{padding:22px;border-left:4px solid var(--red);background:#f5f3ef;margin:25px 0}
.form-confirmation[hidden]{display:none}
.inquiry-section aside{padding:32px;background:#0b0b0b;color:#fff}
.inquiry-section aside>p{color:#ccc}
.inquiry-section aside .pending-contact{margin-top:28px}
@media(max-width:850px){.inquiry-section{grid-template-columns:1fr;gap:48px}}
@media(max-width:600px){.form-fields{grid-template-columns:1fr}.footer-phone{font-size:.9rem}.inquiry-section aside{padding:26px}}

.monitoring-locations .coverage-intro{max-width:850px;margin:0 0 32px;color:#555;font-size:1.1rem}.monitoring-locations .coverage-inquiry{margin-top:32px;border:0;padding:17px 22px}.monitoring-locations>div{column-gap:28px}.monitoring-locations>div a{padding-right:16px}@media(max-width:700px){.monitoring-locations>div{grid-template-columns:1fr}.monitoring-locations .coverage-inquiry{font-size:.9rem;line-height:1.5}}

/* Search-friendly structure retains the established site styling. */
.breadcrumbs{padding:16px 5%;background:#111;color:#bbb;font-size:.8rem;line-height:1.7}.breadcrumbs a{color:#fff}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span{padding-right:8px}.related-services{background:var(--cream)}.related-services h2{margin:20px 0 28px}.seo-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:30px 0}.seo-related a{border-top:1px solid #c8c5c0;padding:22px 0;font-weight:600;line-height:1.5}.depth>p:not(.eyebrow){max-width:900px;line-height:1.8;margin-top:24px;color:#555}.depth>h3{font-size:1.5rem;margin-top:32px}.hero h1{max-width:1050px;font-size:clamp(3rem,5.5vw,6rem)}@media(max-width:700px){.seo-related{grid-template-columns:1fr}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}}

img{max-width:100%;height:auto}
