/* Core service experiences: shared type, rhythm, color and lightweight motion. */
.core-service{--service-paper:#f6f7f1;--service-ink:#192125;--service-silver:#a7b4b4;background:var(--service-paper)}
.core-service main>section{scroll-margin-top:90px}
.core-service .header .home-header-icon{display:none}
.core-service .header .home-header-wordmark{opacity:1;transform:translateY(-50%)}
.core-service .service-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:690px;background:var(--service-ink);color:#f6f7f1;isolation:isolate}
.service-hero-copy{padding:75px 5vw 80px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.service-hero .eyebrow{font-size:10px;color:#d3ddda;line-height:1.8;letter-spacing:1.7px;display:flex;gap:15px;align-items:center;max-width:540px}
.service-pulse{position:relative;width:7px;height:7px;border-radius:50%;background:#bd192a;flex:none}
.service-pulse:after{content:'';position:absolute;inset:-5px;border:1px solid #bd192a;border-radius:50%;animation:service-pulse 3s ease-out infinite}
@keyframes service-pulse{0%{transform:scale(.6);opacity:.9}80%,100%{transform:scale(1.6);opacity:0}}
.service-hero h1{font-size:clamp(46px,5.4vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1.025;margin:32px 0;max-width:760px;text-wrap:balance}
.service-hero h1>span{display:block;color:#a7b4b4}
.service-lead{max-width:530px;color:#cbd5d1;font-size:15px;line-height:1.9}
.service-lead p{font-size:inherit;margin:0 0 18px;line-height:inherit}
.service-hero .button{margin-top:16px;gap:55px;font-size:13px}
.core-service .button>svg,.service-text-link>svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;flex:none}
.service-hero-image{position:relative;min-width:0;overflow:hidden;margin:24px 24px 24px 0;min-height:590px;background:#243337}
.service-hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.service-hero-monitoring .service-hero-image img{object-position:58% center}
.service-hero-training h1,.service-hero-overwatch h1{font-size:clamp(42px,4.6vw,72px)}
.service-hero-installation .service-hero-image img,.service-hero-overwatch .service-hero-image img{object-fit:cover}
.service-photo-corners{position:absolute;inset:22px;border:1px solid #ffffff40;pointer-events:none}
.service-photo-corners:before,.service-photo-corners:after{content:'';position:absolute;width:38px;height:38px;border-color:#fff;border-style:solid}
.service-photo-corners:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.service-photo-corners:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.service-monitor-scan{position:absolute;inset:0;background:linear-gradient(0deg,#19212544,transparent 60%);pointer-events:none;overflow:hidden}
.service-monitor-scan>span{position:absolute;left:22px;right:22px;height:1px;background:#d5e4da70;box-shadow:0 -10px 40px #d5e4da40;animation:service-scan 12s linear infinite;top:10%}
@keyframes service-scan{0%,100%{top:10%;opacity:0}10%{opacity:.7}85%{opacity:.4}95%{top:90%;opacity:0}}
.service-rule{display:block;width:36px;height:2px;background:#bd192a;margin:0 0 24px}
.core-service .service-body p{font-size:15px;line-height:1.9;margin:0 0 20px;color:#536369}
.core-service h2{font-size:clamp(34px,3.8vw,60px);line-height:1.08;letter-spacing:-.045em;font-weight:500;text-wrap:balance}
.service-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:95px 6vw;align-items:center;background:#f6f7f1}
.service-split>figure{position:relative;aspect-ratio:1.1;overflow:hidden;background:#dce2dc;min-width:0}
.service-split>figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.service-split:hover>figure img{transform:scale(1.025)}
.service-split-copy{max-width:580px}
.service-split h2{margin:0 0 26px}
.service-reverse>figure{order:2}
.service-dark{background:#1b2b2e;color:#edf2eb}
.core-service .service-dark .service-body p{color:#c4d1ca}
.service-checks{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}
.service-checks li{padding:13px 0;border-bottom:1px solid #8a9b8e40;font-size:14px;line-height:1.5;display:flex;gap:13px;align-items:center}
.service-checks svg{width:18px;height:18px;stroke:#bd192a;stroke-width:1.5;flex:none}
.service-text-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:600;padding:14px 0;border-bottom:1px solid #879c8f70;margin-top:12px}
.service-text-link svg{transition:transform .25s}.service-text-link:hover svg{transform:translate(3px,-3px)}
.service-explorer{padding:95px 6vw;background:#e9eee6}
.service-section-heading{max-width:900px;margin:0 auto 42px;text-align:center}
.service-section-heading .service-rule{margin:0 auto 22px}
.service-section-heading h2{margin:0 0 22px}
.service-section-heading .service-body{max-width:700px;margin:0 auto}
.service-explorer-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;border:1px solid #a4b2a540;background:#cbd4cb;margin-bottom:24px}
.service-explorer-nav[hidden]{display:none}
.service-explorer-nav button{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;min-height:82px;padding:20px 18px;font:inherit;font-size:13px;background:#f6f7f1;color:#526368;border:0;cursor:pointer;overflow:hidden;transition:background .25s,color .25s}
.service-explorer-nav button>svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.3;flex:none}
.service-explorer-nav button[aria-selected=true]{background:#192b2e;color:#f3f7f0}
.service-tab-progress{position:absolute;height:2px;bottom:0;left:0;width:100%;background:#bd192a;transform:scaleX(0);transform-origin:left}
.service-explorer.is-running [aria-selected=true] .service-tab-progress{animation:service-progress 10s linear forwards}
@keyframes service-progress{to{transform:scaleX(1)}}
.service-panel{display:grid;grid-template-columns:1.15fr 1fr;background:#f6f7f1;border:1px solid #c4d1c5;min-height:480px}
.service-panel[hidden]{display:none}
.service-panel-image{position:relative;min-width:0;min-height:450px;background:#26383b;overflow:hidden}
.service-panel-image img{width:100%;height:100%;object-fit:cover;position:absolute;opacity:.92}
.service-panel-copy{padding:50px 4vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.service-panel-copy h3{font-size:clamp(28px,2.8vw,43px);font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:25px 0 22px}
.service-panel-icon>svg{width:35px;height:35px;stroke:#bd192a;stroke-width:1.25}
.service-panel-copy .service-checks{width:100%;margin-top:0}
.service-panels:not(.is-enhanced) .service-panel+.service-panel{margin-top:24px}
.service-route{position:absolute;inset:auto 4% 4%;width:48%;height:auto;background:#192b2ee8;border:1px solid #a7b4b440;border-radius:3px}
.route-line{stroke:#a7b4b4;stroke-width:2;stroke-dasharray:5 7}.route-node{fill:#bd192a;stroke:#fff;stroke-width:3}.route-ping{stroke:#bd192a;stroke-width:2;transform-origin:400px 180px;animation:service-pulse 4s infinite}.route-person{fill:#fff}
.service-capabilities{padding:95px 6vw;background:#f6f7f1}
.service-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px;align-items:stretch}
.service-card{border:1px solid #ccd5ca;background:#fffef8;display:flex;flex-direction:column;transition:transform .35s,border-color .35s,box-shadow .35s}
.service-card:hover{transform:translateY(-5px);border-color:#a4b1a6;box-shadow:0 15px 35px #1921250a}
.service-card>figure{aspect-ratio:1.55;overflow:hidden;background:#d7dfd6}
.service-card>figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.service-card:hover img{transform:scale(1.04)}
.service-card-content{padding:30px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.service-card-icon{width:32px;height:32px;margin-bottom:22px}.service-card-icon svg{width:32px;height:32px;stroke:#bd192a;stroke-width:1.25}
.service-card h3{font-size:25px;line-height:1.18;font-weight:500;letter-spacing:-.025em;margin:0 0 17px;text-wrap:balance}
.core-service .service-card .service-body p{font-size:13px;line-height:1.85}
.service-card .service-text-link{margin-top:auto}
.service-compact .service-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-compact .service-card h3{font-size:23px}
.service-statement{padding:95px 8vw;display:grid;grid-template-columns:1fr 1.3fr;gap:7vw;background:#e8ede5;border-top:1px solid #cad4c8;align-items:start}
.service-statement h2{margin:0}
.core-service .service-statement .service-body p{font-size:17px;line-height:1.9;margin:0}
.core-service .closing h2{font-size:clamp(42px,5.15vw,80px)}
.core-service .closing .closing-intro{color:#c0cec7}
.core-service .closing{scroll-margin-top:78px}
@media(min-width:1600px){.service-hero-copy{padding-left:6vw}.service-hero-image{min-height:700px}.service-panel{min-height:540px}}
@media(max-width:1000px){.service-hero-copy{padding:55px 5vw}.service-hero h1{font-size:50px}.service-hero-image{min-height:550px}.service-split{gap:5vw;padding:70px 5vw}.service-panel-copy{padding:35px}.service-explorer,.service-capabilities{padding:70px 5vw}.service-compact .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .core-service main>section{scroll-margin-top:68px}.core-service .service-hero{grid-template-columns:1fr;min-height:0}.service-hero-copy{padding:46px 24px 38px}.service-hero .eyebrow{font-size:9px;letter-spacing:1.1px;max-width:330px}.service-hero h1,.service-hero-training h1,.service-hero-overwatch h1{font-size:clamp(39px,11vw,62px);margin:25px 0;max-width:550px}.service-lead{font-size:14px;line-height:1.8}.service-hero .button{margin-top:8px;min-height:52px;width:100%;justify-content:space-between}.service-hero-image{height:300px;min-height:0;margin:0 16px 18px}.service-hero-monitoring .service-hero-image{height:280px}.service-photo-corners{inset:15px}.service-hero-image img{object-position:center}.service-split{grid-template-columns:1fr;padding:52px 24px;gap:30px}.service-reverse>figure{order:0}.service-split>figure{aspect-ratio:1.25}.core-service h2{font-size:clamp(32px,8.7vw,45px)}.core-service .service-body p{font-size:14px;line-height:1.85}.service-rule{margin-bottom:20px}.service-split h2{margin-bottom:22px}.service-explorer,.service-capabilities{padding:54px 24px}.service-section-heading{margin-bottom:30px}.service-explorer-nav{grid-template-columns:1fr 1fr;margin-bottom:16px}.service-explorer-nav button{min-height:75px;padding:14px 10px;gap:9px;font-size:11px;text-align:left;justify-content:flex-start}.service-explorer-nav button>svg{width:24px;height:24px}.service-panel{grid-template-columns:1fr;min-height:0}.service-panel-image{min-height:0;height:250px}.service-panel-copy{padding:28px 25px;min-height:330px}.service-panel-copy h3{font-size:29px;margin:20px 0}.service-route{width:45%}.service-card-grid{grid-template-columns:1fr;gap:20px}.service-card-content{padding:27px}.service-card h3{font-size:26px}.service-compact .service-card-grid{grid-template-columns:1fr}.service-compact .service-card-content{display:grid;grid-template-columns:32px 1fr;gap:0 18px}.service-compact .service-card-icon{grid-row:1/3}.service-compact .service-card h3{font-size:22px}.service-compact .service-card .service-body{grid-column:2}.service-compact .service-card .service-body p{margin-bottom:0}.service-statement{grid-template-columns:1fr;gap:24px;padding:54px 24px}.core-service .service-statement .service-body p{font-size:15px}.core-service .closing h2{font-size:clamp(36px,8.8vw,48px)}
}
@media(prefers-reduced-motion:reduce){.core-service *{scroll-behavior:auto!important}.service-pulse:after,.service-monitor-scan>span,.service-tab-progress,.route-ping{animation:none!important}.service-route .route-person{display:none}.service-card,.service-card img,.service-split img,.service-text-link svg{transition:none!important}.service-card:hover,.service-card:hover img,.service-split:hover>figure img{transform:none}}

.service-hero-image>picture,.service-panel-image>picture{position:absolute;inset:0;display:block;width:100%;height:100%}.service-split>figure>picture,.service-card>figure>picture{display:block;width:100%;height:100%}

.service-statement .service-body a{text-decoration:underline;text-underline-offset:3px}

.service-split>figure.integration-visual{aspect-ratio:640/600;background:#192125;border:1px solid #81988d45}.integration-visual svg{display:block;width:100%;height:100%}.integration-flow{animation:integration-flow 9s linear infinite}.integration-center{transform-box:fill-box;transform-origin:center;animation:integration-pulse 4s ease-in-out infinite}@keyframes integration-flow{to{stroke-dashoffset:-64}}@keyframes integration-pulse{50%{opacity:.45;transform:scale(1.3)}}@media(prefers-reduced-motion:reduce){.integration-flow,.integration-center{animation:none}}

.integration-visual svg text{font-size:13px}@media(max-width:760px){.integration-visual svg text{font-size:15px}}
