@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#172124;--yellow:#ffce32;--muted:#617073;--paper:#f4f6f5;--line:#dce1df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}button,a,input,select,textarea,summary{outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05}h1,h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600}h1{font-size:clamp(3.5rem,6.6vw,6.5rem);letter-spacing:-.02em}h2{font-size:clamp(2.5rem,4vw,4.1rem)}h3{font-size:1.4rem;line-height:1.3}.wrap{max-width:1280px;margin:auto;padding:0 48px}.topbar{background:var(--ink);color:#fff;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topbar span{color:#b8c1c1}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:flex;gap:10px;align-items:center;line-height:1.15}.logo strong{font-size:40px;font-weight:800;letter-spacing:-3px}.logo strong i{font-style:normal;color:#a98100}.logo small{font-size:11px;letter-spacing:1.2px;font-weight:700;border-left:1px solid #ccc;padding-left:12px}.links{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}.links>a:hover,.footer a:hover{color:#ab7d00}.btn{border:1px solid transparent;background:var(--yellow);padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:3px;transition:background .2s,transform .2s}.btn:hover{background:#edbd20;transform:translateY(-2px)}.btn.outline{background:transparent;border-color:#a2abaa;color:inherit}.btn.outline:hover{background:#ffffff12}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 12px}.hero{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:580px;position:relative}.hero-copy{padding:75px max(48px,calc((100vw - 1184px)/2));padding-right:40px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;display:block}.hero .eyebrow{color:var(--yellow)}.hero h1 em{color:var(--yellow);font-style:normal}.hero p{color:#c5cfce;max-width:500px;margin-top:24px;font-size:17px}.hero .actions{margin-top:30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-visual{position:relative;overflow:hidden}.hero-visual>img{height:100%;min-height:580px}.photo-label{position:absolute;bottom:30px;left:30px;right:30px;background:#ffffffec;color:var(--ink);padding:18px 22px;display:flex;align-items:center;gap:18px;max-width:390px}.photo-label b{font-size:25px;color:#9f7700}.photo-label strong{display:block;font-size:14px}.photo-label small{font-size:12px;color:var(--muted)}.trust{background:var(--yellow)}.trust .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:19px;padding-bottom:19px;font-size:14px;font-weight:600}.trust span:before{content:'✓';margin-right:10px}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-head p{max-width:400px;color:var(--muted)}.section-head .eyebrow,.section .eyebrow{color:#836300}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s;display:block}.card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #17212412}.card .image{height:230px;position:relative;overflow:hidden}.card img{height:100%;transition:transform .5s}.card:hover img{transform:scale(1.04)}.card .num{position:absolute;top:16px;left:16px;background:var(--yellow);padding:4px 10px;font-size:12px;font-weight:700}.card-body{padding:26px}.card h3{font-size:20px}.card p{color:var(--muted);margin:12px 0 22px;font-size:15px}.text-link{font-size:13px;font-weight:700;border-bottom:2px solid var(--yellow);padding-bottom:5px}.light{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split img{height:490px}.split p{color:var(--muted);margin-top:22px}.values{margin-top:30px;display:grid;gap:20px}.values strong{display:block}.values p{margin:3px 0 0;font-size:15px}.brand-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.brand-list span{border:1px solid var(--line);padding:12px 23px;font-weight:700;font-size:17px;background:white}.brand-note{font-size:12px;color:var(--muted);margin-top:20px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.process b{font-family:'Barlow Condensed',sans-serif;font-size:44px;color:#a78214}.process h3{margin:10px 0}.process p{color:var(--muted);font-size:15px}.quote{background:var(--ink);color:white;padding:70px 0}.quote .split{gap:80px}.quote p{color:#c4cecd;margin-top:22px}.contact-lines{margin-top:30px;display:grid;gap:10px}.contact-lines a{font-size:23px}.quote-form{background:#fff;color:var(--ink);padding:30px}.quote-form h3{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:5px;margin-bottom:14px}label{font-size:13px;font-weight:600}input,select,textarea{border:1px solid #cfd7d4;border-radius:0;background:#fafbfa;width:100%;padding:11px;font-size:14px}textarea{resize:vertical;min-height:100px}.form-note{font-size:12px!important;color:var(--muted)!important;margin:12px 0!important}.quote-form .btn{width:100%}.footer{padding:45px 0 24px;background:#10191b;color:#b7c2c1;font-size:13px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer .logo{color:#fff}.footer p{margin-top:15px;max-width:300px}.footer h4{color:#fff;margin:0 0 16px}.footer nav{display:grid;gap:8px}.copyright{display:flex;justify-content:space-between;border-top:1px solid #344043;padding-top:22px;margin-top:35px;font-size:12px}.breadcrumb{font-size:13px;color:#aebbb8;margin-bottom:22px}.service-hero h1{font-size:clamp(3.4rem,5vw,5.4rem)}.service-hero{min-height:500px}.service-hero .hero-copy{padding-top:48px;padding-bottom:48px}.service-hero .hero-visual img{min-height:500px}.features{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.feature{padding:28px 0;border-top:1px solid var(--line)}.feature p{margin-top:12px;color:var(--muted)}.faq{max-width:900px;margin:35px auto 0}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:600;cursor:pointer;padding-right:20px}details p{color:var(--muted);margin-top:15px}.center{text-align:center}.service-nav{display:flex;overflow:auto;gap:28px;padding:20px 0;font-size:14px;white-space:nowrap}.service-nav .active{font-weight:700;border-bottom:2px solid #bd9200}.skip{position:absolute;left:20px;top:-80px;background:var(--yellow);padding:12px;z-index:100}.skip:focus{top:10px}@media(min-width:1500px){.hero-copy{padding-left:max(48px,calc((100vw - 1184px)/2));padding-right:65px}}@media(max-width:1000px){.links{gap:16px}.nav .btn{display:none}.hero-copy{padding:55px 30px}.wrap{padding:0 30px}.hero h1{font-size:4.5rem}.grid{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.trust .wrap{flex-wrap:wrap}.footer-grid{gap:25px}}@media(max-width:680px){.wrap{padding:0 22px}.topbar .wrap{font-size:11px}.topbar span{display:none}.nav{height:78px}.logo strong{font-size:34px}.logo small{font-size:9px}.menu{display:block}.links{display:none;position:absolute;top:78px;left:0;right:0;padding:25px;background:white;border-bottom:1px solid var(--line);align-items:start}.links.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 22px}.hero h1{font-size:3.9rem}.hero-visual>img,.service-hero .hero-visual img{height:340px;min-height:0}.hero-visual{height:340px}.photo-label{bottom:20px;left:20px;right:20px;padding:14px}.trust .wrap{gap:10px 20px;font-size:12px}.section{padding:58px 0}.section-head{display:block}.section-head p{margin-top:18px}.grid,.split,.process,.features,.footer-grid{grid-template-columns:1fr}.grid{gap:22px}.card .image{height:240px}.split img{height:330px}.process{gap:25px}.quote .split{gap:35px}.quote-form{padding:23px}.form-grid{grid-template-columns:1fr;gap:0}.footer-grid{gap:32px}.copyright{display:block}.copyright span{display:block;margin-top:8px}.service-nav{gap:20px}.brand-list span{font-size:15px;padding:10px 17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{display:block;background:#172124;border:0;padding:0;color:#fff;text-align:left;cursor:zoom-in;overflow:hidden}.gallery-item img{height:270px;transition:transform .35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-weight:600;font-size:15px;gap:12px}.gallery-item small{font-size:12px;font-weight:400;color:#ffce32;white-space:nowrap}.single-photo{grid-template-columns:1fr}.single-photo .gallery-item img{height:470px}.photo-modal{border:0;background:#10191b;color:white;padding:18px;max-width:1000px;width:calc(100% - 36px);max-height:92vh}.photo-modal::backdrop{background:#071011e8}.photo-modal img{object-fit:contain;max-height:72vh;height:auto}.photo-close{display:block;margin:0 0 14px auto;background:#ffce32;border:0;padding:9px 20px;cursor:pointer}.photo-modal p{padding:12px 0 0;font-size:15px}@media(max-width:900px){.photo-grid{grid-template-columns:1fr 1fr}.single-photo{grid-template-columns:1fr}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr}.single-photo .gallery-item img{height:310px}}
.gallery-item img[src*="fire-alarm-detail"]{object-fit:contain;background:#e5e4df}
address{font-style:normal}.footer address{margin-top:18px;max-width:240px}.contact-lines address{margin-top:12px;max-width:380px}.contact-lines address a{font-size:18px}.footer .social-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}.social-links a{border-bottom:2px solid var(--yellow);padding-bottom:4px;color:white}
.service-tile{cursor:pointer}.service-photo .gallery-item{width:100%}.service-photo>p{font-size:16px;color:var(--muted);margin-top:16px;line-height:1.65}.service-photo{min-width:0}
