:root{--ink:#07111f;--muted:#5d6876;--line:#dfe5eb;--cloud:#f4f7fa;--white:#fff;--signal:#ffc400;--signal-deep:#e7ad00;--success:#23b26d;--radius:1.25rem;--shadow:0 24px 70px rgba(7,17,31,.13)}
html{scroll-behavior:smooth}
body{color:var(--ink);background:var(--white);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body::selection{color:var(--ink);background:var(--signal)}
a{text-underline-offset:.2em}
img{max-width:100%}
section[id]{scroll-margin-top:6rem}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:2000;padding:.75rem 1rem;color:var(--ink);background:var(--signal);border-radius:.65rem;transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #1677ff;outline-offset:3px}
.service-bar{color:#dbe5ef;background:#020812;font-size:.875rem;letter-spacing:.01em}
.service-bar a{color:var(--white);font-weight:750;text-decoration:none}
.status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.45rem;background:var(--success);border-radius:50%;box-shadow:0 0 0 .25rem rgba(35,178,109,.14)}
.navbar{--bs-navbar-toggler-border-color:rgba(7,17,31,.14);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(7,17,31,.08);backdrop-filter:blur(14px)}
.navbar-brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-size:.98rem;font-weight:900;line-height:1.02;letter-spacing:-.015em}
.brand-mark{display:block;width:3rem;height:3rem;flex:0 0 3rem;overflow:hidden;background:transparent;border-radius:.75rem;box-shadow:0 .45rem 1.4rem rgba(255,196,0,.22)}
.brand-mark img{display:block;width:100%;height:100%}
.brand-sub{display:block;color:#697381;font-size:.68rem;font-weight:750;letter-spacing:.18em}
.nav-link{color:#263548;font-weight:700}
.nav-link:hover,.nav-link:focus{color:#000}
.btn{--bs-btn-padding-y:.82rem;--bs-btn-padding-x:1.15rem;--bs-btn-font-weight:800;--bs-btn-border-radius:.85rem}
.btn-signal{--bs-btn-color:var(--ink);--bs-btn-bg:var(--signal);--bs-btn-border-color:var(--signal);--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:#ffd02e;--bs-btn-hover-border-color:#ffd02e;--bs-btn-active-color:var(--ink);--bs-btn-active-bg:var(--signal-deep);--bs-btn-active-border-color:var(--signal-deep);box-shadow:0 .65rem 1.8rem rgba(255,196,0,.22)}
.btn-dark{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink)}
.icon{width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.16em}
.hero{position:relative;overflow:hidden;color:var(--white);background:radial-gradient(circle at 12% 10%,rgba(31,102,178,.25),transparent 33rem),linear-gradient(132deg,#07111f 0%,#0b1a2d 58%,#102944 100%)}
.hero::after{position:absolute;right:-12rem;bottom:-18rem;width:38rem;height:38rem;content:"";border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 6rem rgba(255,255,255,.018),0 0 0 12rem rgba(255,255,255,.012);pointer-events:none}
.hero-content{position:relative;z-index:1;padding:clamp(4rem,8vw,7.5rem) 0}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.15rem;color:#ffe58a;font-size:.8rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.eyebrow::before{width:2rem;height:2px;content:"";background:var(--signal)}
.hero h1{max-width:12ch;margin-bottom:1.35rem;font-size:clamp(2.65rem,6.3vw,5.25rem);font-weight:900;line-height:.98;letter-spacing:-.055em}
.hero .lead{max-width:38rem;color:#cbd6e2;font-size:clamp(1.08rem,2vw,1.28rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0}
.hero .btn-outline-light{--bs-btn-hover-color:var(--ink)}
.hero-note{display:flex;flex-wrap:wrap;gap:.75rem 1.3rem;color:#d7e2ed;font-size:.92rem;font-weight:650}
.hero-note span{display:inline-flex;align-items:center;gap:.45rem}
.hero-note svg{color:var(--signal)}
.hero-visual{position:relative;z-index:1;min-height:100%;padding:2.1rem 0 2.6rem}
.hero-photo{position:relative;min-height:clamp(24rem,53vw,39rem);overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:1.8rem;box-shadow:0 35px 90px rgba(0,0,0,.38)}
.hero-photo::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 45%,rgba(3,10,19,.82) 100%);pointer-events:none}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.dispatch-card{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:rgba(7,17,31,.83);border:1px solid rgba(255,255,255,.15);border-radius:1rem;backdrop-filter:blur(12px)}
.dispatch-card strong{display:block;font-size:1rem}
.dispatch-card span{color:#c7d3df;font-size:.84rem}
.dispatch-badge{flex:0 0 auto;padding:.45rem .7rem;color:var(--ink)!important;background:var(--signal);border-radius:999px;font-weight:850;text-decoration:none;white-space:nowrap}
.safety-strip{position:relative;z-index:3;margin-top:-1px;background:var(--signal)}
.safety-grid{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.2rem 0}
.safety-icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;background:rgba(7,17,31,.1);border-radius:.8rem}
.safety-strip p{margin:0;line-height:1.45}
.safety-strip small{display:block;font-weight:650}
.safety-strip a{color:var(--ink);font-weight:900;white-space:nowrap}
.section{padding:clamp(4.5rem,8vw,7rem) 0}
.section-soft{background:var(--cloud)}
.section-dark{color:var(--white);background:var(--ink)}
.section-label{margin-bottom:.65rem;color:#8b6600;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.section-dark .section-label{color:#ffd84d}
.section-title{max-width:18ch;margin-bottom:1rem;font-size:clamp(2rem,4.2vw,3.4rem);font-weight:900;line-height:1.05;letter-spacing:-.04em}
.section-intro{max-width:44rem;color:var(--muted);font-size:1.08rem}
.section-dark .section-intro{color:#b9c6d3}
.service-card{height:100%;padding:1.55rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-card:hover{transform:translateY(-4px);border-color:#cad3dc;box-shadow:0 20px 50px rgba(7,17,31,.09)}
.service-icon{display:grid;width:3.15rem;height:3.15rem;margin:0 auto 1.2rem;place-items:center;color:var(--ink);background:#fff3c6;border-radius:.9rem}
.service-icon svg{width:1.55rem;height:1.55rem}
.service-card h3{margin-bottom:.55rem;font-size:1.15rem;font-weight:850}
.service-card p{margin-bottom:0;color:var(--muted)}
.process-wrap{position:relative}
.process-line{position:absolute;top:2rem;right:16%;left:16%;height:1px;background:#c8d0d8}
.step{position:relative;text-align:center}
.step-number{position:relative;z-index:1;display:grid;width:4rem;height:4rem;margin:0 auto 1.2rem;place-items:center;background:var(--white);border:1px solid #cad3dc;border-radius:50%;box-shadow:0 0 0 .55rem var(--cloud);font-size:1.15rem;font-weight:900}
.step h3{font-size:1.12rem;font-weight:850}
.step p{max-width:18rem;margin:0 auto;color:var(--muted)}
.diagnostic-panel{padding:clamp(1.5rem,4vw,2.4rem);background:#0f2238;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem}
.check-list{padding:0;margin:1.5rem 0 0;list-style:none}
.check-list li{display:flex;gap:.8rem;padding:.85rem 0;color:#d8e3ee;border-bottom:1px solid rgba(255,255,255,.1)}
.check-list li:last-child{border-bottom:0}
.check-list svg{flex:0 0 auto;margin-top:.3rem;color:var(--signal)}
.quote-card{height:100%;padding:clamp(1.5rem,4vw,2.4rem);color:var(--ink);background:var(--signal);border-radius:1.5rem}
.quote-card .big{margin:.75rem 0 1rem;font-size:clamp(2rem,5vw,3.35rem);font-weight:950;line-height:1;letter-spacing:-.05em}
.quote-card p{line-height:1.5}
.quote-card .btn{width:100%;margin-top:.6rem}
.zone-card{height:100%;padding:1.4rem;background:var(--white);border:1px solid var(--line);border-radius:1rem}
.zone-number{margin-bottom:.55rem;color:#9c7400;font-size:1.55rem;font-weight:950;letter-spacing:-.04em}
.zone-card h3{margin:0;font-size:1rem;font-weight:800}
.zone-card p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}
.interventions-photos{background-color:#020812}
.photo-intervention-media{aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:1.25rem}
.photo-intervention-media picture,.photo-intervention-media img{display:block;width:100%;height:100%}
.photo-intervention-media img{object-fit:cover;transition:transform .35s ease}
.photo-caption{padding:1rem .25rem 0;color:#b8c5d1;line-height:1.5}
.photo-caption strong{display:block;margin-bottom:.2rem;color:var(--white);font-size:1.05rem;font-weight:800}
.photo-caption span{display:block}
@media (hover:hover){
.photo-intervention:hover img{transform:scale(1.025)}
}
.accordion{--bs-accordion-border-color:var(--line);--bs-accordion-border-radius:1rem;--bs-accordion-inner-border-radius:1rem}
.accordion-item{overflow:hidden;margin-bottom:.8rem;border:1px solid var(--line)!important;border-radius:1rem!important}
.accordion-button{padding:1.2rem 1.3rem;color:var(--ink);font-weight:820;box-shadow:none!important}
.accordion-button:not(.collapsed){color:var(--ink);background:#fff7d8}
.accordion-body{padding:.1rem 1.3rem 1.3rem;color:var(--muted)}
.final-cta{position:relative;overflow:hidden;padding:clamp(2rem,5vw,4rem);color:var(--white);background:linear-gradient(120deg,#0e2742,#07111f 72%);border-radius:1.7rem;box-shadow:var(--shadow)}
.final-cta::after{position:absolute;right:-7rem;bottom:-12rem;width:25rem;height:25rem;content:"";border:4rem solid rgba(255,196,0,.07);border-radius:50%}
.final-cta>.row{position:relative;z-index:1}
.final-cta h2{max-width:17ch;margin:0;font-size:clamp(2rem,4.4vw,3.3rem);font-weight:900;line-height:1.06;letter-spacing:-.04em}
.final-cta p{margin:.8rem 0 0;color:#bfccd9}
.phone-large{display:block;margin-top:.3rem;color:var(--white);font-size:clamp(1.7rem,4vw,2.5rem);font-weight:950;letter-spacing:-.035em;text-decoration:none}
.phone-large:hover{color:var(--signal)}
footer{padding:4rem 0;color:#aebdcb;background:#020812}
footer .navbar-brand{color:var(--white)}
footer h2{color:var(--white);font-size:.8rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.footer-links{padding:0;margin:0;list-style:none}
.footer-links li+li{margin-top:.5rem}
.footer-links a{color:#b8c5d1;text-decoration:none}
.footer-links a:hover{color:var(--white)}
.footer-bottom{padding-top:1.4rem;margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem}
.footer-bottom a,.footer-bottom a:visited{color:#dbe5ef;text-decoration:none;transition:color .2s ease}
.footer-bottom a:hover{color:#ffc107;text-decoration:underline}
.footer-bottom a:focus-visible{color:#ffc107;outline:2px solid #ffc107;outline-offset:3px;border-radius:.2rem}
.cta-meta{color:#c8d4df}
.mobile-call{position:fixed;right:.75rem;bottom:.75rem;left:.75rem;z-index:1050;display:none;align-items:center;justify-content:center;gap:.6rem;min-height:3.5rem;color:var(--ink);background:var(--signal);border:1px solid rgba(7,17,31,.1);border-radius:1rem;box-shadow:0 1rem 3rem rgba(0,0,0,.28);font-weight:900;text-decoration:none}
@media (max-width:991.98px){
.navbar-collapse{padding:1rem 0}
.hero-content{padding-bottom:1.2rem}
.hero h1{max-width:14ch}
.hero-visual{padding-top:1rem}
.process-line{display:none}
.step{text-align:left}
.step-number{margin:0 0 1rem;box-shadow:none}
.mobile-call{display:flex}
footer{padding-bottom:6.2rem}
}
@media (max-width:575.98px){
.brand-mark{width:2.65rem;height:2.65rem;flex-basis:2.65rem}
.navbar-brand{font-size:.88rem}
.brand-sub{font-size:.6rem}
.service-bar .desktop-only{display:none}
.hero-photo{min-height:25rem;border-radius:1.2rem}
.hero-actions .btn{width:100%}
.safety-grid{grid-template-columns:auto 1fr}
.safety-grid>a{grid-column:2;justify-self:start}
.dispatch-card{align-items:flex-start;flex-direction:column}
.dispatch-badge{align-self:flex-start}
.final-cta{border-radius:1.2rem}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
