:root {--blue-900:#082f69;--blue-800:#0a3f8e;--blue-700:#095bb8;--blue-600:#087bd8;--blue-500:#0aa7eb;--blue-100:#eaf7ff;--blue-050:#f6fbff;--text:#10233f;--muted:#5d6d82;--border:#d9e5f0;--white:#ffffff;--shadow:0 18px 45px rgba(11, 65, 122, 0.12);--radius:20px;--container:1180px;}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--white);line-height:1.6;}
img {display:block;max-width:100%;height:auto;}
a {color:var(--blue-700);text-decoration:none;}
a:hover {color:var(--blue-900);}
h1, h2, h3 {margin:0 0 0.7rem;color:var(--blue-900);line-height:1.12;}
h1 {font-size:clamp(2.4rem, 5vw, 4.6rem);}
h2 {font-size:clamp(2rem, 3vw, 3rem);}
h3 {font-size:1.25rem;}
p {margin:0 0 1rem;}
.container {width:min(calc(100% - 32px), var(--container));margin-inline:auto;}
.narrow {width:min(100%, 820px);}
.skip-link, .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}
.skip-link:focus {position:fixed;top:10px;left:10px;width:auto;height:auto;margin:0;padding:10px 14px;clip:auto;background:#fff;z-index:9999;}
.site-header {position:sticky;top:0;z-index:1000;background:rgba(255, 255, 255, 0.97);border-bottom:1px solid var(--border);backdrop-filter:blur(10px);}
.header-inner {min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;}
.brand img {width:220px;}
.primary-nav {display:flex;align-items:center;justify-content:center;gap:22px;}
.primary-nav > a, .nav-dropdown-toggle {color:var(--text);font:inherit;font-weight:700;background:none;border:0;padding:12px 0;cursor:pointer;}
.primary-nav > a:hover, .primary-nav > a.is-active, .nav-dropdown-toggle:hover {color:var(--blue-700);}
.nav-dropdown {position:relative;}
.nav-dropdown-menu {position:absolute;top:calc(100% + 8px);left:0;min-width:260px;display:none;padding:10px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);}
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown.is-open .nav-dropdown-menu {display:grid;}
.nav-dropdown-menu a {padding:10px 12px;border-radius:10px;color:var(--text);}
.nav-dropdown-menu a:hover {background:var(--blue-050);color:var(--blue-700);}
.header-actions {display:flex;align-items:center;gap:14px;}
.header-phone {color:var(--blue-900);font-weight:800;white-space:nowrap;}
.btn {display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:12px;border:1px solid transparent;font-weight:500;transition:0.2s ease;}
.btn:hover {transform:translateY(-1px);}
.btn-primary {color:#fff;background:linear-gradient(135deg, var(--blue-700), var(--blue-500));}
.btn-primary:hover {color:#fff;}
.btn-light {color:var(--blue-900);background:#fff;}
.btn-outline-light {color:#fff;border-color:rgba(255, 255, 255, 0.7);}
.btn-outline {color:var(--blue-700);border-color:var(--blue-700);background:#fff;}
.btn-block {width:100%;}
.nav-toggle {display:none;background:transparent;border:0;}
.nav-toggle span:not(.sr-only) {display:block;width:26px;height:2px;margin:5px 0;background:var(--blue-900);}
.hero, .service-hero, .location-hero {position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%, rgba(10, 167, 235, 0.14), transparent 28%), linear-gradient(135deg, #f9fdff 0%, #eaf7ff 100%);}
.hero-grid, .service-hero-grid, .location-hero-grid {display:grid;grid-template-columns:minmax(0, 1.25fr) minmax(340px, 0.75fr);gap:44px;align-items:center;padding:64px 0;}
.hero-copy p, .service-hero-copy p, .location-hero-copy p {max-width:720px;font-size:1.12rem;color:var(--muted);}
.eyebrow {display:inline-block;margin-bottom:10px;color:var(--blue-600);font-size:0.82rem;font-weight:900;letter-spacing:0.16em;text-transform:uppercase;}
.hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.hero-points, .check-list {display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none;}
.hero-points li, .check-list li {position:relative;padding-left:30px;}
.hero-points li::before, .check-list li::before {content:"✓";position:absolute;left:0;top:0;color:var(--blue-600);font-weight:900;}
.quote-card {background:#fff;padding:28px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);}
.quote-card > p {color:var(--muted);}
.quote-form {display:grid;gap:14px;}
.form-row {display:grid;gap:6px;}
.form-row label {font-weight:800;font-size:0.93rem;}
.form-row label span {color:#d21d2f;}
input, select, textarea {width:100%;border:1px solid #cddce9;border-radius:10px;padding:12px 13px;font:inherit;color:var(--text);background:#fff;}
input:focus, select:focus, textarea:focus {outline:3px solid rgba(10, 167, 235, 0.16);border-color:var(--blue-500);}
.form-consent {margin:0;font-size:0.82rem;color:var(--muted);}
.hp-field {position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important;}
.form-message {padding:12px 14px;border-radius:10px;margin-bottom:14px;}
.form-message-error {background:#fff1f2;color:#9f1239;}
.breadcrumbs {border-bottom:1px solid var(--border);background:#fff;}
.breadcrumbs .container {display:flex;gap:9px;padding-block:13px;font-size:0.9rem;color:var(--muted);}
.section {padding:72px 0;}
.section-soft {background:var(--blue-050);}
.section-heading {max-width:780px;margin:0 auto 36px;text-align:center;}
.section-heading p:not(.eyebrow) {color:var(--muted);}
.two-col {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.cards-grid, .services-grid {display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px;}
.card, .service-card {padding:24px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(10, 64, 121, 0.06);}
.service-card {display:flex;min-height:180px;flex-direction:column;justify-content:space-between;}
.service-card .service-icon {width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--blue-100);color:var(--blue-700);font-size:1.35rem;font-weight:900;}
.service-card p {color:var(--muted);}
.service-link-grid, .location-link-grid {display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;}
.service-link-grid a, .location-link-grid a {padding:15px 18px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--blue-900);font-weight:800;}
.service-link-grid a:hover, .location-link-grid a:hover {border-color:var(--blue-500);background:var(--blue-050);}
.process-grid {display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;counter-reset:steps;}
.process-step {position:relative;padding:28px 24px 24px 78px;border:1px solid var(--border);border-radius:16px;background:#fff;}
.process-step::before {counter-increment:steps;content:counter(steps);position:absolute;left:22px;top:25px;width:40px;height:40px;display:grid;place-items:center;color:#fff;font-weight:900;border-radius:50%;background:var(--blue-600);}
.faq-list {display:grid;gap:12px;}
.faq-list details {border:1px solid var(--border);border-radius:12px;background:#fff;padding:16px 18px;}
.faq-list summary {cursor:pointer;font-weight:800;color:var(--blue-900);}
.faq-list details p {padding-top:12px;color:var(--muted);}
.cta-band {padding:34px 0;color:#fff;background:linear-gradient(135deg, var(--blue-900), var(--blue-600));}
.cta-band h2, .cta-band .eyebrow {color:#fff;}
.cta-band-inner {display:flex;align-items:center;justify-content:space-between;gap:24px;}
.cta-band-actions {display:flex;gap:12px;flex-wrap:wrap;}
.site-footer {padding:56px 0 26px;color:#d7e7fb;background:#06274f;}
.footer-grid {display:grid;grid-template-columns:1.6fr 1fr 1.25fr 1fr 1fr;gap:28px;}
.site-footer h3 {color:#fff;font-size:1rem;}
.site-footer a {display:block;margin:8px 0;color:#d7e7fb;}
.site-footer .btn {color:#fff;}
.footer-brand img {width:220px;margin-bottom:18px;background:#fff;border-radius:10px;padding:8px;}
.footer-brand p {color:#bad1eb;}
.footer-bottom {display:grid;grid-template-columns:1fr auto;gap:24px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(255, 255, 255, 0.14);font-size:0.82rem;}
.footer-bottom p {margin:0;}
.footer-bottom a {display:inline;text-decoration:underline;}
.footer-legal {display:flex;gap:16px;white-space:nowrap;}
.mobile-cta-bar {display:none;}
.page-intro {text-align:center;background:var(--blue-050);}
.compact-intro {min-height:60vh;display:grid;place-items:center;}
.content-section p, .content-section li {color:var(--muted);}
.content-section ul {padding-left:1.2rem;}
@media (max-width:1050px) {
.header-inner {grid-template-columns:auto auto 1fr;}
.nav-toggle {display:block;order:3;justify-self:end;}


.nav-dropdown-menu {position:static;box-shadow:none;margin-top:6px;}
.hero-grid, .service-hero-grid, .location-hero-grid, .two-col {grid-template-columns:1fr;}
.cards-grid, .services-grid {grid-template-columns:repeat(2, 1fr);}
.footer-grid {grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:720px) {body {padding-bottom:64px;}
.container {width:min(calc(100% - 24px), var(--container));}
.header-inner {min-height:50px;gap:10px;}
.brand img {width:150px;}
.primary-nav {top:72px;}
.hero-grid, .service-hero-grid, .location-hero-grid {padding:42px 0;}
.section {padding:52px 0;}
.cards-grid, .services-grid, .service-link-grid, .location-link-grid, .process-grid, .footer-grid, .footer-bottom {grid-template-columns:1fr;}
.cta-band-inner {align-items:flex-start;flex-direction:column;}
.mobile-cta-bar {position:fixed;left:0;right:0;bottom:0;z-index:1200;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -8px 24px rgba(0, 0, 0, 0.14);}
.mobile-cta-bar a {display:grid;min-height:58px;place-items:center;color:#fff;font-weight:900;background:var(--blue-900);}
.mobile-cta-bar a:last-child {background:var(--blue-600);}
}

@media (max-width:1050px) {
.primary-nav {position: fixed;top: 0;left: 0;display: none;align-items: stretch;padding: 18px;background: #fff;border:0;border-radius:0;box-shadow: var(--shadow);z-index: 9;max-width: 250px;width: 100%;        height: 100vh;}   
.primary-nav.is-open {display:block; gap:0;}
.primary-nav > a, .nav-dropdown-toggle{font-weight:500;display: block;padding:8px 0px;}
.header-actions .btn-primary {color: #fff;background: #082f69;min-height: auto;padding: 5px 10px;font-weight: 500;}
}

@media screen and (min-width:480px) and (max-width:1050px) {
.header-inner{display: flex;justify-content: space-between;} 
.header-actions{margin-left: auto;}

}

@media (max-width:479px) {
.header-actions {position: fixed;top: 53px;left: 0;right: 0;justify-content: space-between;padding: 5px 20px;background: #087bd8;color: #fff;}
.header-phone {    color: #fff;}
.header-actions .btn-primary {color: #fff;background: #082f69;min-height: auto;padding: 5px 10px;font-weight: 500;}
.header-inner{justify-content: space-between; display: flex;}
.hero-grid, .service-hero-grid, .location-hero-grid {padding: 72px 0 20px;}
}