:root{--c4-red:#ed2f24;--c4-red-dark:#b91f18;--c4-ink:#151719;--c4-charcoal:#202326;--c4-paper:#fbfaf7;--c4-line:#d7d4ce;--c4-muted:#666b70;--c4-display:'Barlow Condensed',sans-serif;--c4-body:'Inter',sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:var(--c4-body);color:var(--c4-ink);font-size:1rem;line-height:1.65}.bg-paper{background:var(--c4-paper)}.bg-charcoal{background:var(--c4-charcoal)}.bg-deep,.site-footer{background:#0f1113}.section-pad{padding:7.5rem 0}.site-header{border-bottom:1px solid rgba(255,255,255,.18)}
.c4-brand{line-height:1}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--c4-red);color:#fff;font:800 1.4rem var(--c4-display);transform:skew(-5deg)}.c4-brand strong{display:block;font:800 1.4rem var(--c4-display);letter-spacing:.08em}.c4-brand small{display:block;font-size:.56rem;letter-spacing:.22em;margin-top:.25rem}.navbar .nav-link{color:rgba(255,255,255,.8);font-size:.875rem;font-weight:600;padding:.65rem .8rem}.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff}.c4-nav-cta{border-radius:0;padding:.65rem 1.1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.hero{min-height:760px;height:92vh;max-height:920px;background:url('../images/hero-fire-alarm-inspection.png') center/cover no-repeat}.hero-overlay{background:linear-gradient(90deg,rgba(9,11,12,.96) 0%,rgba(10,12,13,.82) 30%,rgba(10,12,13,.22) 68%,rgba(10,12,13,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.hero-content{padding-top:4rem}.eyebrow,.section-index{font-size:.75rem;letter-spacing:.19em;font-weight:700;text-transform:uppercase}.eyebrow span{width:34px;height:2px;background:var(--c4-red)}.display-title,.section-title,.device-card h3,.process-list h3,.contact-card h3{font-family:var(--c4-display);text-transform:uppercase;line-height:.95}.display-title{font-size:clamp(4.4rem,8vw,7.6rem);max-width:820px;font-weight:800;letter-spacing:-.035em}.display-title em{color:var(--c4-red);font-style:normal}.hero-copy{max-width:610px;font-size:1.125rem;color:#d8dadb}
.c4-btn{border-radius:0;min-height:50px;padding:.85rem 1.5rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:.8rem}.c4-btn-primary{background:var(--c4-red);border-color:var(--c4-red);color:#fff}.c4-btn-primary:hover{background:var(--c4-red-dark);border-color:var(--c4-red-dark);color:#fff;transform:translateY(-2px)}.c4-btn-outline{border-color:rgba(255,255,255,.45);color:#fff}.c4-btn-outline:hover{background:#fff;border-color:#fff;color:var(--c4-ink)}.hero-proof{bottom:-18vh;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#d2d3d4}.hero-proof span:before{content:'✓';color:var(--c4-red);margin-right:.5rem}
.section-index{color:var(--c4-red);margin:0 0 1.6rem}.section-index-light{color:#ff5a51}.section-title{font-size:clamp(3.1rem,5vw,5.2rem);font-weight:700;letter-spacing:-.02em}.intro-copy{padding-top:2.8rem}.intro-copy p,.section-lead{font-size:1.075rem}.intro-copy p{color:#51565a;margin-bottom:1.5rem}.text-link{display:inline-flex;gap:1.8rem;color:var(--c4-ink);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.8rem;text-decoration:none;border-bottom:2px solid var(--c4-red);padding-bottom:.35rem}.text-secondary-c4{color:#adb1b4}
.device-grid{border-top:1px solid #45494c;border-left:1px solid #45494c}.device-grid>div{border-right:1px solid #45494c;border-bottom:1px solid #45494c}.device-card{min-height:240px;padding:2.1rem}.device-card>span{font:700 .8rem var(--c4-display);color:#8d9295}.device-card h3{font-size:1.8rem;font-weight:700;margin:2.6rem 0 .9rem}.device-card p{color:#adb1b4;font-size:.88rem;margin:0}.device-card.report-card{background:var(--c4-red)}.report-card span,.report-card p{color:#fff}
.process-list li{padding:1.7rem 0;border-bottom:1px solid var(--c4-line)}.process-list b{min-width:48px;font:700 1rem var(--c4-display);color:var(--c4-red)}.process-list h3{font-size:1.9rem;font-weight:700}.process-list p{margin:.3rem 0 0;color:var(--c4-muted)}.location-figure{min-height:430px;background:#202326}.location-figure img{height:430px;object-fit:cover}.location-figure:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,11,.85),transparent 52%)}.location-figure figcaption{z-index:1}.location-figure strong,.location-figure small{display:block}.location-figure strong{font:700 1.25rem var(--c4-display);letter-spacing:.1em}.location-figure small{color:#d0d3d4;letter-spacing:.16em;font-size:.65rem}
.contact-card{padding:2.6rem;box-shadow:0 22px 60px rgba(26,26,26,.09);border-top:5px solid var(--c4-red)}.contact-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.17em;color:var(--c4-muted)}.contact-card h3{font-size:2.1rem;font-weight:700;margin-bottom:1.6rem}.contact-card>a:not(.btn){display:block;color:var(--c4-ink);text-decoration:none;padding:1.1rem 0;border-top:1px solid var(--c4-line);font-weight:600;word-break:break-word}.contact-card>a span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c4-muted)}.footer-copy,.site-footer small{color:#93979a;font-size:.8rem}
@media(max-width:991.98px){.navbar-collapse{background:#141618;margin:1rem -12px -1rem;padding:1.25rem}.hero{min-height:720px;height:100svh;background-position:64% center}.hero-overlay{background:linear-gradient(90deg,rgba(8,10,11,.96),rgba(8,10,11,.56))}.hero-content{padding-top:2rem}.section-pad{padding:5.2rem 0}.intro-copy{padding-top:0}.location-figure,.location-figure img{min-height:330px;height:330px}}
@media(max-width:575.98px){.display-title{font-size:clamp(3.65rem,17vw,5.2rem)}.hero-copy{font-size:1rem}.device-card{min-height:190px}.section-pad{padding:4.5rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
