@import url("styles.css");

:root {
  --navy: #101d35;
  --blue: #1768e5;
  --blue-dark: #0d4dae;
  --orange: #f6c945;
  --ink: #172033;
  --muted: #626d80;
  --line: #dce3ee;
  --paper: #ffffff;
  --wash: #f2f6fb;
  --success: #0a8b6e;
  --shadow: 0 20px 50px rgba(16,29,53,.14);
  --radius: 20px;
}

body { background: #fff; font-family: Arial, Helvetica, sans-serif; }
h1, h2, h3 { font-family: Arial, Helvetica, sans-serif; font-weight: 900; letter-spacing: -.045em; }
.topbar { color: #dce9ff; background: #1768e5; }
.topbar a { color: #fff; }
.site-header { background: #fff; box-shadow: 0 5px 25px rgba(16,29,53,.07); border: 0; }
.nav-wrap { min-height: 82px; }
.brand { font-size: 1.08rem; text-transform: uppercase; letter-spacing: .02em; }
.brand-mark { color: var(--navy); background: var(--orange); border-radius: 8px; transform: rotate(-3deg); }
.nav-links > a, .nav-drop > button { text-transform: uppercase; letter-spacing: .045em; font-size: .8rem; }
.phone-btn, .primary-btn { color: var(--navy); background: var(--orange); box-shadow: none; border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }
.phone-btn:hover, .primary-btn:hover { color: #fff; background: #e4ad11; }
.secondary-btn { border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }

.hero { background: var(--navy); }
.hero::before { background: linear-gradient(90deg, #101d35 0%, #101d35 45%, rgba(16,29,53,.72) 63%, rgba(16,29,53,.12)); }
.hero::after { content: ""; position: absolute; z-index: 1; left: 48%; top: -25%; width: 210px; height: 150%; background: rgba(23,104,229,.55); transform: rotate(12deg); }
.hero-bg { left: auto; right: 0; width: 55%; }
.hero .container { grid-template-columns: minmax(0, 58%) 42%; min-height: 620px; }
.hero.compact .container { min-height: 540px; }
.hero h1 { font-size: clamp(2.8rem, 5.7vw, 5.5rem); }
.hero.compact h1 { font-size: clamp(2.55rem, 4.6vw, 4.35rem); }
.hero-copy { max-width: 620px; }
.eyebrow { color: #76b0ff; }
.hero-points li::before { color: var(--orange); }
.hero .secondary-btn { border-radius: 999px; }

.trust-strip { color: #fff; background: var(--blue); border: 0; }
.trust-item { border-color: rgba(255,255,255,.25); }
.trust-item strong { color: #fff; }
.trust-item span { color: #dbe9ff; }
.section { padding-block: 92px; }
.section.alt { background: var(--wash); }
.section-intro { max-width: 760px; }
.service-card, .info-card, .step-card { border: 0; box-shadow: 0 12px 32px rgba(16,29,53,.09); }
.service-card { border-radius: 20px; }
.service-card img { height: 220px; }
.info-card { position: relative; overflow: hidden; }
.info-card::after { content: ""; position: absolute; width: 80px; height: 80px; right: -35px; top: -35px; background: #dceaff; border-radius: 50%; }
.icon-box { color: var(--navy); background: var(--orange); border-radius: 8px; }
.split-image { border-radius: 20px; box-shadow: 16px 16px 0 #d9e8ff; }
.step-card::before { color: var(--navy); background: var(--orange); }
.check-list li::before { background: var(--blue); }
.call-panel { background: linear-gradient(115deg, #1768e5, #0b3f95); border-radius: 22px; }
.page-banner { background: linear-gradient(120deg, #101d35 0%, #173966 62%, #1768e5 160%); }
.site-footer { background: #0b1629; }
.site-footer .brand-mark { color: #101d35; background: var(--orange); }
.mobile-call { color: var(--navy); background: var(--orange); border-radius: 999px; }

.urgent-layout { display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-template-rows: repeat(2, minmax(210px, 1fr)); gap: 18px; }
.service-tile { position: relative; overflow: hidden; display: flex; min-height: 210px; align-items: flex-end; color: #fff; background: var(--navy); border-radius: 22px; text-decoration: none; }
.service-tile.large { grid-row: span 2; min-height: 438px; }
.service-tile img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .35s ease; }
.service-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 18%, rgba(8,18,34,.9)); }
.service-tile:hover img { transform: scale(1.04); }
.service-tile-content { position: relative; z-index: 2; padding: 28px; }
.service-tile h3 { color: #fff; margin-bottom: 7px; font-size: 1.55rem; }
.service-tile.large h3 { font-size: 2.15rem; }
.service-tile p { margin: 0; color: #dce8f9; }
.service-tile .tile-arrow { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-top: 16px; color: var(--navy); background: var(--orange); border-radius: 50%; font-weight: 900; }

.service-band { display: grid; grid-template-columns: .85fr 1.15fr; align-items: stretch; margin-bottom: 25px; overflow: hidden; background: #fff; border-radius: 22px; box-shadow: 0 12px 32px rgba(16,29,53,.08); }
.service-band:nth-child(even) { grid-template-columns: 1.15fr .85fr; }
.service-band:nth-child(even) .band-image { order: 2; }
.band-image { min-height: 310px; height: 100%; object-fit: cover; }
.band-content { padding: 45px; align-self: center; }
.band-content p { color: var(--muted); }

.insurance-row { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 20px; }
.insurance-card { position: relative; overflow: hidden; min-height: 360px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; color: #fff; background: var(--navy); border-radius: 22px; }
.insurance-card:nth-child(2) { background: var(--blue); }
.insurance-card:nth-child(3) { color: var(--ink); background: var(--orange); }
.insurance-card h3 { color: inherit; font-size: 1.75rem; }
.insurance-card p { color: inherit; opacity: .86; }
.insurance-card a { align-self: flex-start; color: inherit; font-weight: 900; text-decoration: none; border-bottom: 2px solid currentColor; }
.insurance-num { font-size: 4.8rem; line-height: 1; font-weight: 900; opacity: .13; }

.guide-card { padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.guide-card img { height: 190px; margin-bottom: 22px; object-fit: cover; border-radius: 12px; }
.guide-card p { color: var(--muted); }
.article-meta { color: var(--blue); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.prose blockquote { margin: 28px 0; padding: 20px 24px; background: #eef5ff; border-left: 5px solid var(--blue); }

@media (max-width: 920px) {
  .hero-bg { width: 50%; opacity: .7; }
  .hero::before { background: linear-gradient(90deg, #101d35 0%, rgba(16,29,53,.95) 58%, rgba(16,29,53,.48)); }
  .hero .container { grid-template-columns: minmax(0, 72%) 28%; }
  .urgent-layout { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
  .service-tile.large { grid-row: auto; grid-column: span 2; min-height: 380px; }
  .insurance-row { grid-template-columns: 1fr 1fr; }
  .insurance-card:first-child { grid-column: span 2; }
}

@media (max-width: 640px) {
  .hero-bg { width: 100%; opacity: .28; }
  .hero::before { background: rgba(16,29,53,.82); }
  .hero::after { display: none; }
  .hero .container { grid-template-columns: 1fr; }
  .urgent-layout { grid-template-columns: 1fr; }
  .service-tile.large { grid-column: auto; min-height: 300px; }
  .service-tile { min-height: 250px; }
  .service-band, .service-band:nth-child(even) { grid-template-columns: 1fr; }
  .service-band:nth-child(even) .band-image { order: 0; }
  .band-image { min-height: 230px; }
  .band-content { padding: 30px 24px; }
  .insurance-row { grid-template-columns: 1fr; }
  .insurance-card:first-child { grid-column: auto; }
}
