/* Extends the existing navy/blue visual system and components. */
:root{--cits-space:clamp(1.25rem,3vw,2.5rem);--cits-reading:70ch;--cits-border:#d6dfeb;--cits-ink:#152940;--cits-muted:#42546b;--cits-surface:#f2f6fb;--cits-radius:14px}
html{scroll-padding-top:130px}body{overflow-wrap:break-word}img{max-width:100%;height:auto}main{min-width:0}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0082c8;outline-offset:4px}button,.btn,summary{touch-action:manipulation}.btn{min-height:44px;white-space:normal;text-align:center}.container{min-width:0}.msp-hero{background-image:url('/assets/images/hero-video-poster.jpg');background-size:cover;background-position:center}.msp-hero__inner{position:relative;z-index:2}.home-hero .home-hero-slider{min-height:0}.home-hero .home-hero-slide.is-active{position:relative;inset:auto;opacity:1;visibility:visible;transform:none}.home-hero .home-hero-slider .msp-actions{margin-top:1.75rem}.home-hero h1{max-width:22ch;text-wrap:balance}.home-hero__trust{margin-top:1.5rem}.msp-pill-list a{display:inline-flex;align-items:center;padding:.75rem 1rem;border:1px solid #8799af;border-radius:999px;color:inherit;min-height:44px;text-decoration:none}.msp-pill-list a:hover{background:#fff;color:#0d3473}.motion-toggle{position:absolute;right:1rem;bottom:1rem;z-index:4;background:#071526;color:#fff;border:1px solid #91a4ba;border-radius:8px;min-height:44px;padding:.6rem .9rem;font:inherit;cursor:pointer}.local-hero__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:var(--cits-space);align-items:center}.local-hero{padding-block:clamp(3rem,6vw,6rem)}.local-hero h1,.editorial-hero h1{max-width:19ch;font-size:clamp(2rem,4.4vw,3.7rem);line-height:1.1;letter-spacing:-.035em}.local-hero-note{background:rgba(7,21,38,.92);border:1px solid #6684a0;border-radius:var(--cits-radius);padding:var(--cits-space);color:#fff}.local-hero-note h2{font-size:1.6rem;line-height:1.25;color:#fff}.local-hero-note p{color:#d8e3f0;line-height:1.75}.local-hero-note a{color:#85daff;text-decoration:underline}.local-intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}.local-intro-grid h2,.local-reading-layout h2,.seo-faq h2,.home-business-context h2,.editorial-body h2,.service-local-links h2,.local-nearby h2{color:var(--cits-ink);font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}.local-intro-grid p,.local-support-row p,.service-depth-section p,.service-depth-section li,.editorial-body p,.editorial-body li,.business-context-grid p,.local-nearby p,.service-local-links p{color:var(--cits-muted);line-height:1.85}.local-needs,.engineer-approach{padding:var(--cits-space);border-left:4px solid #1756b9;background:var(--cits-surface);border-radius:0 var(--cits-radius) var(--cits-radius) 0}.local-needs h2,.engineer-approach h2{font-size:1.3rem}.local-needs ul,.engineer-approach ul,.service-depth-section ul,.editorial-body ul,.editorial-body ol{padding-left:1.25rem;line-height:1.8;color:var(--cits-muted)}.local-needs li,.engineer-approach li,.service-depth-section li{margin-bottom:.75rem}.local-reading-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(235px,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}.local-reading-content{min-width:0}.local-support-section,.home-business-context,.engineer-section,.service-depth{background:var(--cits-surface)}.local-support-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:1rem;padding-block:2rem;border-top:1px solid var(--cits-border)}.local-support-row:first-child{padding-top:0;border-top:0}.local-support-row h2,.service-depth-section h2{font-size:clamp(1.4rem,2vw,1.9rem)}.local-row-number{font-size:.9rem;font-weight:700;color:#185ab6;line-height:2}.local-service-links{background:#fff;padding:var(--cits-space);border:1px solid var(--cits-border);border-radius:var(--cits-radius)}.local-service-links h2{font-size:1.35rem}.local-service-links ul{padding:0;list-style:none;margin:1rem 0 1.75rem}.local-service-links li{border-bottom:1px solid var(--cits-border)}.local-service-links li a{display:block;padding:1rem 0;color:#164fa0;font-weight:650;line-height:1.5}.local-service-links .btn{width:100%}.seo-faq{max-width:880px}.seo-faq details{border-bottom:1px solid #becbdb}.seo-faq summary{font-size:1.05rem;font-weight:650;padding:1.15rem .4rem;color:var(--cits-ink);cursor:pointer;min-height:48px}.seo-faq details p{padding:0 .4rem 1.25rem;line-height:1.8;color:var(--cits-muted);max-width:var(--cits-reading)}.seo-text-link{display:inline-block;margin-top:1.5rem;text-decoration:underline}.local-link-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.local-link-row a{display:inline-flex;align-items:center;min-height:46px;padding:.65rem 1rem;border:1px solid #a7bdd7;border-radius:8px;color:#164b96;background:#fff;font-weight:600}.service-depth-section{padding:0 0 2rem;margin-bottom:2rem;border-bottom:1px solid var(--cits-border)}.expertise-list{border-top:1px solid var(--cits-border)}.expertise-list a{display:block;padding:1.5rem 0;border-bottom:1px solid var(--cits-border);text-decoration:none}.expertise-list strong{display:block;font-size:1.3rem;color:#174f9f;margin-bottom:.6rem}.expertise-list span{color:var(--cits-muted);line-height:1.7}.business-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}.business-context-grid article{border-top:3px solid #1a5bb7;padding-top:1.5rem}.business-context-grid h3{font-size:1.25rem;line-height:1.4;color:var(--cits-ink)}.business-context-grid a{display:inline-block;padding-block:.7rem;text-decoration:underline;font-weight:600}.editorial-hero{padding-block:4rem}.editorial-body{max-width:960px}.editorial-row{display:block;padding:1.75rem 0;border-bottom:1px solid var(--cits-border)}.editorial-body section{margin-bottom:2.5rem}.editorial-body figure{margin:2rem 0}.editorial-body img{border-radius:var(--cits-radius)}.editorial-topics{margin-top:2rem}.editorial-topics a{display:block;padding:1.25rem 0;border-bottom:1px solid var(--cits-border)}.editorial-topics strong,.editorial-topics span{display:block}.editorial-topics span{color:var(--cits-muted);margin-top:.5rem;line-height:1.65}.editorial-next{margin-top:3rem;border-top:1px solid var(--cits-border);padding-top:2rem}.verified-review{margin:1.5rem 0;padding:1.75rem;background:var(--cits-surface);border-left:4px solid #1a5bb7}.verified-review footer{line-height:1.8;color:var(--cits-muted)}.editorial-byline{font-size:.9rem}.local-hero .service-breadcrumb{flex-wrap:wrap}.service-breadcrumb{line-height:1.6}.local-hero .service-breadcrumb span,.editorial-hero .service-breadcrumb span{color:#dbe7f4}.msp-status-dot{animation:none!important}.site-footer__nav-group li a{line-height:1.6}
@media(min-width:1281px){.navbar-menu{gap:.25rem}.navbar-menu>li>a,.nav-services-entry>a{padding:.6rem .5rem;font-size:.8rem}.logo-copy strong{font-size:1rem}.header-review-cta{padding:.7rem .8rem}.header-tools{gap:.45rem}}
@media(max-width:1280px){.navbar-toggle{display:inline-flex!important}.navbar-menu{display:none!important}.navbar-menu.active{display:flex!important;flex-direction:column;position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - 110px);overflow-y:auto;background:#fff;padding:1rem;align-items:stretch;z-index:1000}.navbar-menu>li{width:100%}.navbar-menu>li>a{display:block;padding:.8rem 1rem}.msp-mega-menu{position:static!important;transform:none!important;width:100%!important;min-width:0!important;max-width:none!important;display:none!important;opacity:1!important;visibility:visible!important}.is-mobile-open .msp-mega-menu{display:grid!important;grid-template-columns:1fr 1fr}.msp-mega-menu .mega-intro{grid-column:1/-1}.header-review-cta{display:none!important}.navbar>.container{position:static}.navbar{position:relative}.navbar-menu .mobile-menu-review{display:block}.nav-services-entry{justify-content:space-between;display:flex}.nav-services-entry>a{flex:1}.nav-services-entry button{width:48px;min-height:48px}.msp-mega-menu .sub-menu{position:static;display:block;opacity:1;visibility:visible;transform:none;box-shadow:none}.local-hero__grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}}
@media(max-width:767px){html{scroll-padding-top:95px}.local-hero__grid,.local-intro-grid,.local-reading-layout{grid-template-columns:1fr}.local-hero-note{margin-top:1rem}.local-hero{padding-block:2.5rem}.local-reading-layout{gap:2rem}.business-context-grid{grid-template-columns:1fr;gap:1.5rem}.local-support-row{grid-template-columns:1.5rem minmax(0,1fr);gap:.65rem}.home-hero h1{font-size:clamp(2rem,7vw,3rem)}.local-link-row{gap:.5rem}.motion-toggle{font-size:.8rem}.local-hero-note h2{font-size:1.35rem}.local-intro-grid{gap:2rem}.editorial-hero{padding-block:2.5rem}}
@media(max-width:430px){.is-mobile-open .msp-mega-menu{grid-template-columns:1fr}.navbar .logo-copy strong{font-size:.9rem}.navbar .logo-copy small{font-size:.62rem}.navbar .logo img{width:34px;height:34px}.navbar .header-tools{gap:.3rem}.header-icon-btn,.navbar-toggle{width:40px;height:44px}.local-hero .msp-actions{display:flex;flex-direction:column;align-items:stretch}.local-hero h1{font-size:2.1rem}.local-support-row{grid-template-columns:1fr}.local-row-number{display:none}.msp-kicker{letter-spacing:.08em}.local-service-links{padding:1.25rem}.home-hero .msp-actions .btn{font-size:.95rem}}
:root.theme-dark{--cits-ink:#e8f1fc;--cits-muted:#c1cfdf;--cits-surface:#0d2037;--cits-border:#35506c}.theme-dark .local-service-links,.theme-dark .local-link-row a{background:#13283f;color:#b8dcff}.theme-dark .local-service-links li a,.theme-dark .expertise-list strong,.theme-dark .editorial-topics strong,.theme-dark .business-context-grid a{color:#8ac9ff}.theme-dark .local-needs,.theme-dark .engineer-approach{border-left-color:#5bafff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}video[data-src]{display:none!important}}
@media(max-width:760px){.motion-toggle{display:none!important}}

/* Shared navigation and layout repairs for the current templates. */
.theme-dark{--cits-ink:#e8f1fc;--cits-muted:#c1cfdf;--cits-surface:#0d2037;--cits-border:#35506c}
.nav-services-entry{display:flex;align-items:center;gap:.25rem}
.nav-services-entry>a{display:inline-flex;align-items:center;gap:.4rem;color:var(--nav-text);font-weight:800;padding:.6rem .5rem}
.nav-services-entry button{background:transparent;border:1px solid var(--border-mid);border-radius:8px;color:inherit;min-width:36px;min-height:44px;cursor:pointer}
.navbar-menu>li.menu-solutions{position:static}
.navbar-menu .msp-mega-menu{margin:0;grid-template-columns:minmax(0,1.1fr) repeat(4,minmax(0,1fr));max-height:70vh;overflow-y:auto}
.navbar-menu>li.is-mobile-open>.msp-mega-menu{display:grid;visibility:visible;opacity:1;transform:translateX(-50%)}
.navbar-menu .msp-mega-menu a{overflow-wrap:anywhere}
.msp-hero__inner>*,.contact-form-grid>*,.msp-section .container>*{min-width:0}
.footer p,.contact-hero-card a strong{overflow-wrap:anywhere}
@media(max-width:1280px){
 .navbar .container{display:flex;flex-wrap:nowrap;gap:10px}
 .navbar-brand{flex:1 1 auto;min-width:0}
 .navbar-brand .logo{white-space:normal}
 .navbar-toggle{order:3;flex:0 0 40px;align-items:center;justify-content:center}
 .navbar-actions{order:2;flex:0 0 auto;margin-left:auto}
 .navbar-actions .btn-login,.navbar-actions .btn-register{display:none}
 .navbar-actions .actions-right{width:auto}
 .navbar-menu.active{background:var(--nav-bg);color:var(--nav-text);margin:0;border:0}
 .navbar-menu .msp-mega-menu{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}
 .nav-services-entry button{color:var(--nav-text)}
}
@media(max-width:760px){
 .msp-hero__inner{grid-template-columns:minmax(0,1fr)}
 .navbar-menu .msp-mega-menu{grid-template-columns:minmax(0,1fr)}
 .topbar-inner,.topbar-left,.topbar-right{flex-wrap:wrap;gap:.5rem}
 .msp-hero h1{font-size:clamp(2rem,8vw,3.2rem)}
 .footer-bottom>.container,.footer-bottom>div{min-width:0}
}

.navbar-menu>li.menu-solutions:not(.is-mobile-open)>.msp-mega-menu{display:none!important}

#faqSearch{min-width:0}
