:root {
  --navy: #0d2740;
  --navy-deep: #081a2b;
  --lake: #2b6884;
  --red: #c93430;
  --red-dark: #a92121;
  --gold: #f2ad36;
  --cream: #f8f3e8;
  --paper: #fffdf8;
  --ink: #14202b;
  --muted: #52616b;
  --line: #d8d4ca;
  --font-display: "Roboto Slab", Georgia, serif;
  --font-body: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.site-shell { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 20; padding: 10px 14px; color: var(--paper); background: var(--navy); }
.skip-link:focus { top: 16px; }
.emergency-strip { background: var(--red); color: #fff; font-size: 0.9rem; font-weight: 700; }
.emergency-inner { display: flex; justify-content: space-between; gap: 24px; align-items: center; min-height: 38px; }
.emergency-inner span, .emergency-inner a { display: inline-flex; align-items: center; gap: 8px; }
.emergency-inner a { text-decoration: underline; text-underline-offset: 3px; }
.emergency-inner svg { width: 15px; height: 15px; }

.site-header { position: absolute; z-index: 5; top: 38px; left: 0; right: 0; color: #fff; }
.nav-wrap { display: flex; min-height: 98px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { flex: 0 0 auto; display: block; }
.brand img { width: 172px; display: block; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25)); }
.main-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; font-weight: 700; font-size: 0.92rem; }
.main-nav a { opacity: 0.94; }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--gold); }
.call-button, .button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 18px; border: 0; border-radius: 5px; font-weight: 800; transition: transform 160ms ease, background 160ms ease; }
.call-button { color: var(--navy); background: var(--cream); }
.call-button:hover, .button:hover { transform: translateY(-2px); }
.call-button svg, .button svg { width: 18px; height: 18px; }

.hero { position: relative; min-height: 700px; height: calc(100vh - 38px); max-height: 880px; overflow: hidden; color: #fff; display: flex; align-items: center; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: center; }
.hero-shade { background: linear-gradient(270deg, rgba(7, 22, 35, 0.94) 0%, rgba(8, 27, 43, 0.78) 35%, rgba(8, 27, 43, 0.26) 61%, rgba(8, 27, 43, 0.1) 100%); }
.hero-content { position: relative; z-index: 1; width: 100%; padding: 132px 0 62px; padding-left: 54%; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 14px; color: #fff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 3px; background: var(--gold); }
.eyebrow.blue { color: var(--lake); }.eyebrow.blue span { background: var(--red); }.eyebrow.gold { color: var(--gold); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); letter-spacing: 0; }
h1 { max-width: 740px; margin-bottom: 19px; font-size: clamp(2.45rem, 4.4vw, 4.65rem); line-height: 1.08; }
.hero-copy { max-width: 595px; margin-bottom: 28px; color: #ecf1f3; font-size: 1.1rem; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button-red { background: var(--red); color: #fff; }.button-red:hover { background: var(--red-dark); }
.button-cream { color: var(--navy); background: var(--cream); }.button-blue { color: #fff; background: var(--navy); }.button-blue:hover { background: var(--lake); }
.hero-trust { display: flex; gap: 18px 24px; flex-wrap: wrap; margin-top: 46px; color: #fff; font-size: 0.86rem; font-weight: 700; }
.hero-trust span { display: inline-flex; align-items: center; gap: 7px; }.hero-trust svg { width: 18px; height: 18px; color: var(--gold); }

.intro-section, .review-section { padding: 92px 0; }.section-heading, .review-heading { display: flex; align-items: end; justify-content: space-between; gap: 42px; margin-bottom: 42px; }.section-heading > div { max-width: 610px; }.section-heading > p { max-width: 410px; margin: 0 0 3px; color: var(--muted); }
h2 { margin-bottom: 0; color: var(--navy); font-size: clamp(1.85rem, 3.1vw, 3rem); line-height: 1.2; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.service-item { padding: 28px 26px 26px; border-top: 5px solid var(--lake); background: #eef2ef; }.service-item:nth-child(2) { border-color: var(--gold); background: var(--cream); }.service-item:nth-child(3) { border-color: var(--red); background: #f7efeb; }.service-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 17px; border-radius: 50%; color: #fff; background: var(--lake); }.service-item:nth-child(2) .service-icon { color: var(--navy); background: var(--gold); }.service-item:nth-child(3) .service-icon { background: var(--red); }.service-icon svg { width: 22px; }.service-item h3 { margin-bottom: 8px; color: var(--navy); font-size: 1.25rem; }.service-item p { margin: 0; color: #40515e; font-size: 0.96rem; }

.story-section { padding: 86px 0; color: #fff; background: var(--navy); }.story-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr) 230px; align-items: center; gap: 62px; }.story-stamp { display: grid; place-content: center; justify-items: center; aspect-ratio: 1; border: 2px solid var(--gold); border-radius: 50%; text-align: center; color: var(--gold); transform: rotate(-7deg); }.story-stamp span { font-family: var(--font-display); font-size: 3.2rem; line-height: 0.9; }.story-stamp strong { margin-top: 8px; line-height: 1.05; text-transform: uppercase; font-size: 0.96rem; letter-spacing: 0.08em; }.story-stamp small { margin-top: 13px; font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; }.story-copy h2 { color: #fff; margin-bottom: 18px; }.story-copy > p:not(.eyebrow) { max-width: 600px; color: #d8e2e8; }.text-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 5px; color: var(--gold); font-weight: 800; }.text-link svg { width: 18px; }.story-callout { padding: 24px; border-left: 3px solid var(--gold); background: #123651; }.story-callout > svg { width: 26px; color: var(--gold); }.story-callout p { margin: 12px 0 3px; color: #dce7ec; font-size: 0.85rem; }.story-callout a { display: block; color: #fff; font-family: var(--font-display); font-size: 1.3rem; }.story-callout span { color: var(--gold); font-size: 0.76rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }

.review-section { background: #e8eff1; }.review-heading { margin-bottom: 25px; }.review-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy); font-weight: 800; }.review-link svg { width: 17px; }.review-summary { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }.rating-number { color: var(--navy); font-family: var(--font-display); font-size: 2.3rem; font-weight: 800; }.stars { display: flex; gap: 3px; color: var(--gold); }.stars svg { width: 19px; height: 19px; fill: currentColor; }.review-summary p { margin: 2px 0 0; color: var(--muted); font-size: 0.9rem; }.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.review-card { display: flex; flex-direction: column; min-height: 210px; padding: 24px; background: #fff; border-top: 4px solid var(--gold); }.review-card .stars { margin-bottom: 14px; }.review-card blockquote { margin: 0; color: #334650; font-size: 0.95rem; }.review-card footer { margin-top: auto; padding-top: 20px; color: var(--navy); font-size: 0.86rem; font-weight: 800; }.reviews-status { margin: 0; color: var(--muted); }.review-grid:not(:empty) + .reviews-status { display: none; }

.request-section { padding: 90px 0; background: var(--cream); }.request-layout { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: 70px; align-items: center; }.request-copy h2 { margin-bottom: 18px; }.request-copy > p:not(.eyebrow) { max-width: 440px; margin-bottom: 24px; color: var(--muted); }.address-block { display: flex; align-items: flex-start; gap: 12px; margin-top: 35px; color: var(--navy); }.address-block > svg { width: 25px; height: 25px; color: var(--red); }.address-block strong, .address-block a { display: block; }.address-block a { margin-top: 4px; color: var(--lake); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.help-form { padding: 30px; background: #fff; border: 1px solid #ddd9ce; box-shadow: 8px 8px 0 var(--gold); }.form-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }.form-topline h3 { margin: 0; color: var(--navy); font-size: 1.35rem; }.form-topline span { display: inline-flex; align-items: center; gap: 6px; color: var(--lake); font-size: 0.76rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }.form-topline svg { width: 16px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.form-grid label { color: #263743; font-size: 0.85rem; font-weight: 700; }.form-grid input, .form-grid select, .form-grid textarea { display: block; width: 100%; margin-top: 6px; padding: 11px 12px; border: 1px solid #b7bec0; border-radius: 3px; color: var(--ink); background: #fff; outline: none; }.form-grid textarea { resize: vertical; }.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(43, 104, 132, 0.14); }.full-width { grid-column: 1 / -1; }.optional { color: var(--muted); font-weight: 500; }.bot-trap { display: none; }.submit-button { width: 100%; margin-top: 20px; }.form-message { min-height: 1.45em; margin: 12px 0 2px; color: var(--lake); font-size: 0.9rem; font-weight: 700; }.form-message.error { color: var(--red-dark); }.form-note { margin: 10px 0 0; color: var(--muted); font-size: 0.76rem; }

.site-footer { padding: 28px 0; color: #d5e0e5; background: var(--navy-deep); }.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; }.footer-brand img { display: block; width: 120px; }.footer-inner p { margin: 0; font-size: 0.88rem; }.footer-phone { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); font-weight: 800; }.footer-phone svg { width: 17px; }.mobile-call { display: none; }

@media (max-width: 880px) { .main-nav { display: none; }.story-layout { grid-template-columns: 150px 1fr; gap: 36px; }.story-callout { grid-column: 2; }.request-layout { gap: 42px; }.services-grid { gap: 14px; }.hero { min-height: 660px; }.hero-content { padding-left: 0; }.hero-shade { background: linear-gradient(90deg, rgba(7, 22, 35, 0.84), rgba(8, 27, 43, 0.52) 53%, rgba(8, 27, 43, 0.22) 100%); }.site-header { background: linear-gradient(180deg, rgba(7, 22, 35, 0.75), transparent); } }
@media (max-width: 660px) { .site-shell { width: min(100% - 32px, 1160px); }.emergency-inner { min-height: 35px; justify-content: center; font-size: 0.76rem; }.emergency-inner span { display: none; }.site-header { top: 35px; }.nav-wrap { min-height: 74px; }.brand img { width: 125px; }.call-button { min-height: 38px; padding: 8px 11px; font-size: 0.82rem; }.hero { height: auto; min-height: 720px; max-height: none; align-items: end; }.hero-image { object-position: 34% center; }.hero-shade { background: linear-gradient(180deg, rgba(7, 22, 35, 0.5), rgba(7, 22, 35, 0.2) 27%, rgba(7, 22, 35, 0.9) 72%, rgba(7, 22, 35, 0.96) 100%); }.hero-content { padding: 164px 0 44px; }.hero-copy { font-size: 1rem; }.hero-actions { display: grid; grid-template-columns: 1fr; }.hero-actions .button { width: 100%; }.hero-trust { margin-top: 28px; gap: 13px 16px; font-size: 0.76rem; }.intro-section, .review-section, .request-section { padding: 62px 0; }.section-heading, .review-heading { display: block; margin-bottom: 31px; }.section-heading > p { margin-top: 17px; }.services-grid, .review-grid { grid-template-columns: 1fr; gap: 12px; }.service-item { padding: 23px; }.story-section { padding: 62px 0; }.story-layout { grid-template-columns: 1fr; gap: 30px; }.story-stamp { width: 150px; }.story-callout { grid-column: auto; }.request-layout { grid-template-columns: 1fr; gap: 38px; }.help-form { padding: 22px 18px; box-shadow: 5px 5px 0 var(--gold); }.form-grid { grid-template-columns: 1fr; gap: 14px; }.full-width { grid-column: auto; }.footer-inner { flex-wrap: wrap; }.footer-inner p { width: 100%; order: 3; }.mobile-call { position: fixed; right: 16px; bottom: 16px; z-index: 10; display: grid; place-items: center; width: 54px; height: 54px; border: 3px solid #fff; border-radius: 50%; color: #fff; background: var(--red); box-shadow: 0 3px 13px rgba(0, 0, 0, 0.25); }.mobile-call svg { width: 23px; height: 23px; } }
