@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{--navy:#101d39;--blue:#244be8;--red:#e62930;--ink:#17243c;--muted:#647083;--paper:#f4f6f8;--line:#dce1e8;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;flex-shrink:0}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:2px;margin:0 0 21px}.blue{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.04;font-weight:700}h1{font-size:clamp(65px,6.4vw,96px);letter-spacing:-1.5px;margin-bottom:26px}h2{font-size:clamp(42px,4.3vw,62px);letter-spacing:-.6px;margin-bottom:23px}h3{font-size:34px}p{margin-bottom:20px}.section{padding:100px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:18px 23px;background:var(--blue);color:white;font-weight:700;font-size:14px;line-height:1.5;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#1839ba;transform:translateY(-2px)}.button-small{padding:13px 18px;font-size:13px}.button-red{background:var(--red)}.button-red:hover{background:#bd1923}.button .arrow{margin-left:17px}.text-link{display:inline-flex;align-items:center;gap:15px;font-weight:700;font-size:15px;color:var(--blue)}.text-link:hover{gap:21px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #ec9f29;outline-offset:5px}
.topbar{background:var(--navy);color:#fff;font-size:10px;letter-spacing:1.4px;font-weight:600}.topbar-inner{height:35px;display:flex;align-items:center;justify-content:space-between}.topbar a{letter-spacing:.2px;font-size:11px;color:#d5dce8}.topbar a span{margin-left:12px}.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #ebedf1}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{width:189px;display:block}.brand img{width:100%;height:auto}.header-inner nav{display:flex;gap:32px;align-items:center}.header-inner nav>a:not(.button){font-size:12px;font-weight:600}.header-inner nav>a:not(.button):hover{color:var(--blue)}.menu-toggle{display:none}
.hero{position:relative;background:var(--navy);color:white;overflow:hidden}.hero-photo{position:absolute;top:0;bottom:0;right:0;width:53%;overflow:hidden}.hero-photo img{width:100%;height:100%;object-position:49% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(16,29,57,.16) 34%,rgba(16,29,57,.04) 100%)}.hero-inner{position:static;min-height:644px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.hero-copy{position:relative;padding:65px 0 40px}.hero .eyebrow{font-size:10px;letter-spacing:1.7px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px}.hero h1 span{color:#91adff}.hero-description{font-size:17px;line-height:1.8;max-width:410px;color:#d2d8e3;margin-bottom:30px}.hero-link{display:block;font-size:14px;margin-top:20px;width:max-content;color:#e4e9f2}.hero-link span{margin-left:14px}.hero-note{font-size:9px;letter-spacing:1.5px;font-weight:600;display:flex;align-items:center;gap:12px;margin-top:39px;color:#aebad0}.mini-line{width:24px;height:2px;background:var(--red)}.price-card{position:relative;background:#fff;color:var(--ink);width:330px;justify-self:end;align-self:end;margin-bottom:39px;padding:27px 28px 23px;border-radius:4px;box-shadow:0 15px 45px #07152d36;border-top:4px solid var(--red)}.price-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.price-top .eyebrow{font-size:11px;letter-spacing:1.5px;margin:0;color:var(--muted)}.price-tag{font-size:10px;letter-spacing:1px;background:#edf1fd;color:var(--blue);padding:4px 7px;font-weight:700}.price{display:flex;align-items:center;gap:15px;margin:8px 0 6px}.price>span:first-child{font-family:var(--display);font-size:79px;line-height:1.1;font-weight:700;letter-spacing:-2px}.price>span:last-child{font-size:13px;line-height:1.6;color:var(--muted)}.price-card>p{font-size:16px;line-height:1.6;margin-bottom:19px}.price-inclusions{padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:8px}.price-inclusions span{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:500}.price-inclusions .icon{color:var(--blue);width:16px;height:16px}.price-card>a{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:14px;font-weight:700;margin-top:18px}.price-card>small{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:11px}.benefits{border-bottom:1px solid var(--line)}.benefits-inner{display:flex;justify-content:space-between;gap:25px;padding-block:25px}.benefits-inner>span{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.benefits .icon{color:var(--blue);width:17px;height:17px}
.services{background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:43px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:390px;font-size:16px;color:var(--muted);margin:0 0 3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:white;padding:32px 30px 29px;border:1px solid #e5e9ee;border-radius:3px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:37px}.service-icon{width:37px;height:37px;color:var(--blue);stroke-width:1.5}.service-top>span{font-size:11px;letter-spacing:1.4px;font-weight:600;color:var(--muted)}.service-card h3{margin-bottom:18px}.service-card p{font-size:16px;line-height:1.85;color:var(--muted);min-height:0}.service-card ul{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line);font-size:15px;line-height:1.7;display:grid;gap:8px}.service-card li{position:relative;padding-left:16px}.service-card li:before{content:'';position:absolute;left:0;top:6px;width:5px;height:5px;background:var(--blue)}.service-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}.service-foot p{font-size:14px;color:var(--muted);margin:0}.service-foot strong{color:var(--ink)}.service-foot .text-link{font-size:14px;white-space:nowrap}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.approach-images{position:relative;padding-bottom:37px}.equipment-photo{height:490px;width:100%;border-radius:3px;object-position:45% center}.image-caption{position:absolute;right:-21px;bottom:0;background:var(--blue);color:white;display:flex;align-items:center;gap:18px;padding:25px 28px;min-width:280px;border-radius:2px}.caption-mark{font-size:45px;line-height:1;font-weight:400}.image-caption p{font-size:15px;line-height:1.6;margin:0}.approach-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.approach-highlight{display:flex;gap:14px;padding:18px 0;margin-top:6px;border-top:1px solid var(--line)}.approach-highlight>.icon{color:var(--blue);width:20px;height:20px;margin-top:3px}.approach-highlight p{font-size:16px;font-weight:600;line-height:1.7;margin-bottom:12px}
.repairs{background:var(--navy);color:white;padding:85px 0}.repairs-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.repairs .eyebrow{color:#9eb5fc}.repairs-grid>div>p:not(.eyebrow){font-size:16px;color:#bac4d7;max-width:355px}.button-outline{border-color:#62718c;background:transparent;font-size:14px;padding:13px 20px;margin-top:10px}.button-outline:hover{background:#273b61}.repair-options>div{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #34415a;align-items:flex-start}.repair-options>div:first-child{padding-top:0}.repair-options>div>span{font-size:10px;color:#93adf8;margin-top:5px}.repair-options h3{font-size:29px;margin-bottom:10px}.repair-options section p{font-size:16px;line-height:1.8;color:#bac4d7;margin:0;max-width:310px}.repair-options>div>.icon{margin-left:auto;width:17px;height:17px;color:#8a9ab8;margin-top:7px}.repairs-grid .repair-note{font-size:13px!important;max-width:100%!important;margin:20px 0 0;color:#a7b4cb!important}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:85px}.faq-grid>div>p:not(.eyebrow){font-size:16px;color:var(--muted)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:23px 0;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:14px;height:14px;flex-shrink:0;position:relative}.faq-list summary>span:before,.faq-list summary>span:after{content:'';position:absolute;background:var(--blue);width:12px;height:2px;top:6px;left:1px}.faq-list summary>span:after{transform:rotate(90deg)}.faq-list details[open] summary>span:after{transform:rotate(0)}.faq-list details[open] summary{color:var(--blue)}.faq-list details>div>p{font-size:16px;line-height:1.9;color:var(--muted);padding-right:33px;margin-bottom:24px}
.contact{background:var(--blue);color:white;padding:62px 0;position:relative;overflow:hidden}.contact:after{content:'';width:500px;height:500px;border:1px solid #ffffff15;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05;position:absolute;right:-170px;top:-150px;border-radius:50%;pointer-events:none}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:45px;position:relative;z-index:1}.contact h2{font-size:49px;margin-bottom:17px}.contact .eyebrow{font-size:9px;color:#d2dcff}.contact p:last-child{font-size:16px;color:#dce4ff;margin:0}.button-white{background:white;color:var(--blue);padding:19px 24px;font-size:18px}.button-white:hover{background:#e8edff}.contact-action{text-align:center;flex-shrink:0}.contact-action>span{display:block;font-size:13px;color:#dce4ff;margin-top:13px}footer{padding-top:36px}.footer-top{display:flex;align-items:center;gap:43px;padding-bottom:32px}.footer-top .brand{width:155px}.footer-top p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.back-top{margin-left:auto;font-size:13px;font-weight:600}.back-top>span{margin-left:15px;color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding-block:19px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.mobile-call{display:none}
@media(min-width:1600px){.hero-photo{width:54%}.hero-inner{min-height:690px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner nav{gap:23px}.hero-inner{gap:30px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:74px}.hero-description{max-width:350px}.price-card{width:300px;padding:24px}.hero-inner{min-height:610px}.section{padding:80px 0}.service-card{padding:26px 22px}.service-card p{min-height:0}.approach-grid{gap:60px}.repairs-grid{gap:65px}.faq-grid{gap:60px}.contact h2{font-size:44px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{height:82px}.brand{width:156px}.header-inner nav{gap:18px}.header-inner nav>a:not(.button){font-size:11px}.header-inner nav .button{font-size:11px;padding:12px}.hero-inner{grid-template-columns:1.1fr 1fr;gap:22px;min-height:610px}.hero h1{font-size:64px}.hero-copy{padding-top:43px}.hero-description{font-size:17px;max-width:320px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero .button{font-size:12px;padding:15px}.hero .button .arrow{margin-left:0}.price-card{width:265px;margin-bottom:30px;padding:22px}.price-card .price-tag{font-size:10px}.price-card .price-top .eyebrow{font-size:11px;letter-spacing:1px}.hero-note{font-size:8px;letter-spacing:.8px}.benefits-inner{gap:15px}.benefits-inner>span{font-size:14px;gap:6px}.section-heading{gap:35px}.section-heading>p{max-width:300px;font-size:16px}.service-grid{gap:12px}.service-card{padding:23px 17px}.service-card h3{font-size:29px}.service-card p{font-size:16px;min-height:0}.service-card ul{font-size:15px}.service-top>span{font-size:11px;letter-spacing:.7px}.service-icon{width:30px;height:30px}.service-foot{align-items:flex-start}.service-foot p{font-size:14px}.service-foot .text-link{font-size:14px}.approach-grid{gap:40px}.equipment-photo{height:465px}.image-caption{right:-12px;min-width:240px;padding:20px}.approach-copy .eyebrow{font-size:9px;letter-spacing:1.3px}.approach-copy h2{font-size:42px}.repairs-grid{gap:45px;grid-template-columns:1fr 1.1fr}.faq-grid{gap:40px;grid-template-columns:1fr 1.4fr}.faq-grid .eyebrow{font-size:9px;letter-spacing:1.4px}.contact h2{font-size:39px}.contact-action .button{font-size:15px;padding:16px}.contact-action .arrow{display:none}}
@media(max-width:640px){html{scroll-padding-top:83px}.container{width:calc(100% - 40px)}.topbar-inner{height:30px}.topbar{font-size:8px;letter-spacing:1px}.topbar a{font-size:9px}.header-inner{height:76px}.brand{width:151px}.menu-toggle{display:flex;width:43px;height:43px;background:var(--paper);border:0;border-radius:3px;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;background:var(--ink);width:19px;height:2px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header-inner nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:14px 20px 24px;box-shadow:0 15px 20px #101d3914;align-items:stretch;gap:0}.header-inner nav.is-open{display:flex;flex-direction:column}.header-inner nav>a:not(.button){font-size:14px;padding:13px 0}.header-inner nav .button{margin-top:12px;font-size:14px}.hero-inner{display:block;min-height:unset;padding-top:1px;padding-bottom:24px}.hero-copy{padding:39px 0 0}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:21px}.hero h1{font-size:clamp(47px,14.4vw,64px);line-height:1;letter-spacing:-.7px;margin-bottom:22px}.hero-description{font-size:17px;max-width:345px;margin-bottom:24px}.hero .button{font-size:13px;padding:17px 19px}.hero .button .arrow{margin-left:12px}.hero-link{font-size:14px;margin-top:18px}.hero-note{display:none}.hero-photo{position:relative;width:calc(100% + 40px);top:auto;bottom:auto;right:auto;height:255px;margin:25px -20px 0}.hero-photo img{object-position:center center}.hero-photo:after{background:linear-gradient(180deg,var(--navy),transparent 25%,transparent 65%,var(--navy))}.price-card{position:relative;width:100%;margin:-10px 0 0;padding:24px;border-top-width:3px}.price-card .price-top .eyebrow{margin:0;font-size:11px}.price-card .price-tag{font-size:10px}.price{margin:7px 0}.price>span:first-child{font-size:76px}.price-card>p{font-size:16px}.price-inclusions{gap:8px;padding:16px 0}.price-inclusions span{font-size:15px}.price-card>a{font-size:14px}.price-card>small{font-size:13px}.benefits-inner{flex-wrap:wrap;gap:12px;padding-block:20px}.benefits-inner>span{font-size:14px;width:100%}.benefits .icon{width:16px;height:16px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{font-size:16px;max-width:100%;margin-top:22px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:17px}h2{font-size:46px;line-height:1.04}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:28px}.service-top{margin-bottom:23px}.service-icon{width:35px;height:35px}.service-top>span{font-size:11px;letter-spacing:1.3px}.service-card h3{font-size:35px}.service-card h3 br{display:none}.service-card p{min-height:0;font-size:16px}.service-card ul{font-size:15px}.service-foot{display:block;margin-top:23px}.service-foot p{font-size:14px;margin-bottom:13px}.service-foot .text-link{font-size:14px}.approach-grid{grid-template-columns:1fr;gap:39px}.equipment-photo{height:360px}.image-caption{right:0;padding:21px 24px}.approach-copy h2{font-size:46px}.approach-copy>p:not(.eyebrow){font-size:16px}.approach-highlight p{font-size:16px}.repairs{padding:58px 0}.repairs-grid{grid-template-columns:1fr;gap:35px}.repairs h2{font-size:46px}.repairs-grid>div>p:not(.eyebrow){max-width:100%}.repair-options>div{gap:20px;padding:23px 0}.repair-options h3{font-size:29px}.faq-grid{grid-template-columns:1fr;gap:32px}.faq-grid h2 br{display:none}.faq-grid>div>p:not(.eyebrow){margin-bottom:13px}.faq-list summary{font-size:16px;line-height:1.6;padding:21px 0;gap:17px}.faq-list details>div>p{padding-right:20px}.contact{padding:49px 0}.contact-inner{display:block}.contact h2{font-size:42px}.contact h2 br{display:none}.contact p:last-child{font-size:16px}.contact-action{text-align:left;margin-top:25px}.contact-action .button{font-size:17px;padding:18px 23px}.contact-action .arrow{display:block}.contact-action>span{margin-left:2px}footer{padding-top:30px;padding-bottom:65px}.footer-top{flex-wrap:wrap;gap:20px;padding-bottom:24px}.footer-top .brand{width:146px}.footer-top p{font-size:13px;margin-left:auto}.back-top{margin:0;font-size:13px}.footer-bottom{font-size:12px;gap:15px}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--red);color:white;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;padding:16px 12px max(16px,env(safe-area-inset-bottom));box-shadow:0 -4px 18px #101d391a}.mobile-call strong{font-size:13px;margin-left:8px}.mobile-call .icon{width:17px;height:17px}}
@media(max-width:360px){.hero h1{font-size:47px}.hero .eyebrow{font-size:8px}.footer-top p{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Allow service copy to grow while keeping the inclusion lists aligned. */
.service-card{display:flex;flex-direction:column}
.service-card ul{margin-top:auto}
.service-card li:before{top:.7em}
.price-top{flex-wrap:wrap;row-gap:7px}
.price-card>a{gap:10px}
@media(max-width:800px){.benefits-inner{flex-wrap:wrap;justify-content:flex-start;gap:14px 24px}.service-foot{flex-wrap:wrap}}

/* Local service coverage. */
.service-area{padding:65px 0;background:var(--paper);border-top:1px solid var(--line)}
.area-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:85px;align-items:start}
.area-grid h2{margin-bottom:0}
.area-copy>p{font-size:16px;color:var(--muted)}
.area-locations{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:22px 0}
.area-locations li{font-size:15px;font-weight:600;background:white;border:1px solid var(--line);border-radius:3px;padding:9px 18px}
@media(max-width:800px){.area-grid{gap:40px;grid-template-columns:1fr 1.4fr}}
@media(max-width:640px){.service-area{padding:50px 0}.area-grid{grid-template-columns:1fr;gap:25px}}

.footer-bottom a:hover{text-decoration:underline;text-underline-offset:3px}

/* After-hours service, job photography and business details. */
.price-card .price-promise{font-size:15px;line-height:1.6;font-weight:700;color:var(--blue);margin:15px 0 0}
.after-hours{padding:65px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.after-hours-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;align-items:center}
.after-hours h2{font-size:clamp(40px,3.8vw,55px);margin-bottom:0}
.after-hours-grid>div>p:not(.eyebrow){color:var(--muted);font-size:16px}
.after-hours strong{color:var(--ink)}
.approach .equipment-photo{height:auto;aspect-ratio:3/4;object-position:center}
.cctv-example{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;margin:27px 0}
.cctv-example img{width:100%;height:auto;border-radius:3px}
.cctv-example figcaption{font-size:14px;line-height:1.7;color:var(--muted)}
.business-details{display:flex;flex-wrap:wrap;gap:10px 28px;padding-bottom:24px;font-size:14px;font-weight:500;color:var(--muted)}
@media(max-width:800px){.after-hours-grid{gap:40px}.cctv-example{grid-template-columns:1fr;gap:10px}.cctv-example img{max-width:280px}}
@media(max-width:640px){.after-hours{padding:50px 0}.after-hours-grid{grid-template-columns:1fr;gap:25px}.after-hours h2{font-size:43px}.cctv-example{grid-template-columns:1fr 1fr;gap:16px}.business-details{gap:10px 20px;font-size:14px}}
