:root {--navy: #0b1f3a;--navy2: #12335b;--orange: #f47b20;--cream: #f7f5f0;--muted: #647083;--line: #e5e9ef;--white: #fff}
*{box-sizing: border-box}
html {scroll-behavior: smooth}
body {margin: 0;font-family: Inter, Arial, sans-serif;color: #182536;line-height: 1.65;background: #fff}
a {text-decoration: none;color: inherit}
.container {width: min(1180px, 92%);margin: auto}

.topbar {background: var(--navy);color: #fff;font-size: 13px}
.topbar-inner {height: 38px;display: flex;align-items: center;justify-content: space-between}
.site-header {position: sticky;top: 0;z-index: 100;background: #fff;border-bottom: 1px solid var(--line);box-shadow: 0 4px 18px #0b1f3a10}
.header-inner {height: 76px;display: flex;align-items: center;justify-content: space-between;gap: 20px}
.brand {display: flex;align-items: center;gap: 9px;font-size: 19px;font-weight: 900;color: var(--navy);white-space: nowrap}
.brand img {max-width: 200px;}
.brand-mark {width: 35px;height: 35px;border-radius: 9px;background: var(--orange);color: #fff;display: grid;place-items: center}
.desktop-nav {display: flex;align-items: center;gap: 21px;font-size: 14px;font-weight: 750}
.desktop-nav>a:hover, .nav-dropdown>button:hover {color: var(--orange)}
.nav-dropdown {position: relative}
.nav-dropdown>button {font: inherit;font-weight: 750;color: var(--navy);background: none;border: 0;cursor: pointer;padding: 10px 0}
.nav-menu {display: none;position: absolute;top: 43px;left: -15px;width: 255px;max-height: 520px;overflow: auto;background: #fff;border: 1px solid var(--line);border-radius: 12px;padding: 10px;box-shadow: 0 18px 40px #0b1f3a20}
.nav-dropdown:hover .nav-menu, .nav-dropdown:focus-within .nav-menu {display: grid}
.nav-menu a {padding: 8px 10px;border-radius: 7px;font-size: 13px}
.nav-menu a:hover {background: var(--cream);color: var(--orange)}
.locations-menu {width: 230px}
.header-actions {display: flex;gap: 8px}
.btn {display: inline-flex;align-items: center;justify-content: center;padding: 12px 18px;border-radius: 8px;font-weight: 850;border: 1px solid transparent;cursor: pointer}
.btn-orange {background: var(--orange);color: #fff}
.btn-outline {border-color: var(--navy);color: var(--navy);background: #fff}
.hero {background: linear-gradient(110deg, var(--navy), #123d68);color: #fff;padding: 65px 0}
.hero-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 45px;align-items: center}
.eyebrow, .kicker {color: var(--orange);font-size: 12px;font-weight: 900;letter-spacing: 1.6px}
.hero h1 {font-size: clamp(38px, 5vw, 58px);line-height: 1.06;letter-spacing: -1.8px;margin: 12px 0 17px}
.hero p {color: #e4ebf4;font-size: 17px}
.trust {display: flex;gap: 18px;flex-wrap: wrap;margin: 22px 0;font-size: 13px;font-weight: 750}
.quote-form {background: #fff;color: var(--ink);padding: 26px;border-radius: 17px;box-shadow: 0 25px 55px #0004}
.quote-form h2 {color: var(--navy);margin: 0;font-size: 24px}
.quote-form>p {color: var(--muted);font-size: 13px;margin: 2px 0 17px}
.form-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px}
.form-grid label {font-size: 12px;font-weight: 750;color: var(--navy)}
.form-grid input, .form-grid textarea {display: block;width: 100%;margin-top: 4px;padding: 11px;border: 1px solid #d9dee5;border-radius: 7px;font: inherit;font-size: 13px}
.form-grid textarea {min-height: 75px;resize: vertical}
.form-grid .full {grid-column: 1/-1}
.hp {position: absolute;left: -9999px}
.section {padding: 70px 0}
.cream {background: var(--cream)}
.center {text-align: center}
.section h2 {color: var(--navy);font-size: 37px;line-height: 1.15;margin: 7px 0 12px}
.lead {max-width: 740px;margin: 0 auto 35px;color: var(--muted)}
.feature {display: grid;grid-template-columns: 1fr 1fr;gap: 48px;align-items: center}
.photo {height: 350px;border-radius: 20px;background: linear-gradient(135deg, #dce5ee, #f39a5a);display: grid;place-items: center;color: #fff;font-weight: 900;font-size: 30px;letter-spacing: 2px}
.checks {display: grid;grid-template-columns: 1fr 1fr;gap: 12px;margin: 22px 0}
.check {padding: 12px;background: var(--cream);border-radius: 9px;font-weight: 700}
.check b {color: var(--orange)}
.services-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 17px}
.service-card {padding: 23px;border: 1px solid var(--line);border-radius: 16px;background: #fff;transition: .2s}
.service-card:nth-child(even) {background: #fff5ed}
.service-card:hover {transform: translateY(-4px);box-shadow: 0 15px 35px #0b1f3a12}
.service-icon {width: 46px;height: 46px;border-radius: 12px;background: #fff0e5;color: var(--orange);display: grid;place-items: center;font-weight: 900}
.service-card:nth-child(even) .service-icon {background: var(--navy);color: #fff}
.service-card h3 {color: var(--navy);font-size: 17px;margin: 15px 0 7px}
.service-card p {color: var(--muted);font-size: 13px}
.service-card span {color: var(--orange);font-weight: 850;font-size: 13px}
.callout {background: var(--navy);color: #fff;padding: 42px;border-radius: 20px;display: flex;justify-content: space-between;align-items: center;gap: 25px}
.callout h2 {color: #fff;margin: 0;font-size: 32px}
.callout p {color: #dce5ef}
.steps {display: grid;grid-template-columns: repeat(4, 1fr);gap: 15px}
.step {padding: 23px;background: #fff;border: 1px solid var(--line);border-radius: 14px}
.step .num {color: var(--orange);font-weight: 900}
.step h3 {color: var(--navy);font-size: 17px}
.step p {color: var(--muted);font-size: 13px}
.locations-grid {display: grid;grid-template-columns: repeat(5, 1fr);gap: 12px}
.location-card {padding: 15px;border: 1px solid var(--line);border-radius: 9px;font-weight: 750;color: var(--navy);background: #fff}
.location-card:hover {border-color: var(--orange);color: var(--orange)}
.faq {max-width: 850px;margin: auto}
.faq details {border-bottom: 1px solid var(--line);padding: 16px 0}
.faq summary {cursor: pointer;font-weight: 800;color: var(--navy)}
.faq p {color: var(--muted);font-size: 14px}
.footer {background: #07182d;color: #cdd8e5;padding: 55px 0 25px}
.footer-grid {display: grid;grid-template-columns: 1.35fr 1fr 1fr 1fr 1fr;gap: 28px}
.footer-logo {color: #fff}
.footer h3 {color: #fff;font-size: 14px;margin: 0 0 14px}
.footer a {display: block;font-size: 13px;margin: 6px 0}
.footer a:hover {color: var(--orange)}
.contact-lines {display: grid;gap: 5px}
.copyright {border-top: 1px solid #ffffff1a;margin-top: 28px;padding-top: 18px;font-size: 12px}
.mobile-menu, .mobile-menu-toggle, .mobile-bottom-bar {display: none}
.content-narrow {max-width: 900px}
.article-copy h2 {color: var(--navy);margin-top: 34px}
.article-copy p, .article-copy li {color: #4f5d70}
.mobile-menu-toggle {border: 0;background: none;width: 38px;padding: 5px}
.mobile-menu-toggle span {display: block;height: 2px;background: var(--navy);margin: 6px 0}
.mobile-submenu {display: none;background: #f8f9fb;padding: 5px 12px}
.mobile-submenu.open {display: block}
.mobile-submenu a {font-size: 13px !important;color: var(--muted) !important;padding: 9px !important; display:block;}
.mobile-accordion {display: flex;width: 100%;justify-content: space-between;border: 0;background: #fff;color: var(--navy);font: inherit;font-weight: 800;padding: 13px 0;border-bottom: 1px solid var(--line)}
@media(max-width: 1050px) {
.desktop-nav {gap: 12px}
.services-grid {grid-template-columns: repeat(2, 1fr)}
.footer-grid {grid-template-columns: repeat(3, 1fr)}
}
@media(max-width: 800px) {
body {padding-bottom: 64px}
.topbar {display: none}
.header-inner {height: 68px}
.desktop-nav, .header-actions {display: none}
.mobile-menu-toggle {display: block}
.mobile-menu {position: fixed;display: none;inset: 68px 0 64px;background: #fff;z-index: 90;overflow: auto;box-shadow: 0 15px 35px #0002}
.mobile-menu.open {display: block}
.mobile-menu-inner {padding: 14px 20px}
.mobile-menu-inner>a {display: block;padding: 13px 0;border-bottom: 1px solid var(--line);font-weight: 800;color: var(--navy)}
.hero {padding: 45px 0}
.hero-grid, .feature {grid-template-columns: 1fr;gap: 30px}
.hero h1 {font-size: 40px}
.hero p {font-size: 16px}
.form-grid {grid-template-columns: 1fr}
.form-grid .full {grid-column: auto}
.section {padding: 54px 0}
.section h2 {font-size: 30px}
.services-grid {grid-template-columns: 1fr 1fr}
.steps {grid-template-columns: 1fr 1fr}
.locations-grid {grid-template-columns: 1fr 1fr}
.callout {display: block;padding: 30px}
.callout .btn {margin-top: 10px}
.footer-grid {grid-template-columns: 1fr}
.footer-col {border-bottom: 1px solid #ffffff15;padding-bottom: 10px}
.mobile-bottom-bar {position: fixed;display: grid;grid-template-columns: 1fr 1fr 1fr;left: 0;right: 0;bottom: 0;height: 64px;background: var(--navy);z-index: 120;box-shadow: 0 -5px 20px #0003}
.mobile-bottom-bar a, .mobile-bottom-bar button {display: flex;flex-direction: column;align-items: center;justify-content: center;color: #fff;background: var(--navy);border: 0;font: inherit;font-size: 11px;font-weight: 850}
.mobile-bottom-bar .call-action {background: var(--orange)}
.mobile-bottom-bar strong {font-size: 18px;line-height: 20px}
.brand {font-size: 16px}
.btn{    font-weight: 500;margin: 5px 0;padding: 8px 10px;}
}
@media(max-width: 480px) {
.services-grid {grid-template-columns: 1fr}
.steps {grid-template-columns: 1fr}
.hero h1 {font-size: 37px}
.locations-grid {grid-template-columns: 1fr}
.photo {height: 260px}
}