:root {
  --navy-950: #06182d;
  --navy-900: #0a2240;
  --navy-850: #0d2d50;
  --navy-800: #12395f;
  --ink: #102033;
  --muted: #667487;
  --paper: #f7f8fa;
  --white: #ffffff;
  --line: rgba(15, 38, 64, .13);
  --gold: #f4c85a;
  --gold-strong: #eab83d;
  --gold-soft: #fff2c5;
  --radius-lg: 30px;
  --radius-md: 20px;
  --shadow: 0 24px 70px rgba(4, 20, 38, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(6, 24, 45, .93);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav-wrap { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--white); }
.brand-mark {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 13px; background: var(--gold); color: var(--navy-950);
  font-weight: 800; letter-spacing: -.05em;
}
.brand-copy { display: grid; line-height: 1.1; gap: 4px; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { font-size: .71rem; color: rgba(255,255,255,.62); font-weight: 500; }
.main-nav { display: flex; align-items: center; gap: 30px; }
.main-nav a { color: rgba(255,255,255,.75); font-size: .91rem; font-weight: 600; transition: .25s ease; }
.main-nav a:hover { color: var(--gold); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 0 24px; border-radius: 999px;
  font-weight: 800; font-size: .94rem; transition: .25s ease; border: 1px solid transparent;
}
.btn:hover { transform: translateY(-2px); }
.btn-small { min-height: 44px; padding: 0 19px; font-size: .86rem; }
.btn-gold { background: var(--gold); color: var(--navy-950); box-shadow: 0 10px 30px rgba(244,200,90,.16); }
.btn-gold:hover { background: #ffd56f; }
.btn-ghost { color: var(--white); border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.03); }
.btn-ghost:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.07); }

.hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(29, 94, 147, .34), transparent 28%),
    linear-gradient(135deg, var(--navy-950) 0%, var(--navy-900) 55%, #0b2949 100%);
  color: var(--white);
  min-height: 730px;
}
.hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);
}
.hero-glow { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .45; }
.hero-glow-one { width: 520px; height: 520px; right: -180px; top: -200px; border: 1px solid rgba(244,200,90,.12); }
.hero-glow-two { width: 740px; height: 740px; right: -220px; top: -260px; border: 1px solid rgba(255,255,255,.06); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 66px; padding: 74px 0 82px; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 9px; color: var(--gold);
  font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.eyebrow.dark { color: var(--navy-800); }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: #67d79a; box-shadow: 0 0 0 6px rgba(103,215,154,.1); }
.hero h1, .section-heading h2, .audience-copy h2, .about-copy h2, .cta-card h2 {
  font-family: "Playfair Display", Georgia, serif; letter-spacing: -.035em; line-height: 1.03; margin: 18px 0;
}
.hero h1 { font-size: clamp(3.5rem, 6vw, 6.1rem); max-width: 720px; }
.hero h1 em { color: var(--gold); font-style: italic; }
.hero-lead { max-width: 655px; font-size: 1.13rem; color: rgba(255,255,255,.74); margin: 0 0 30px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-proof { margin-top: 42px; display: grid; grid-template-columns: repeat(3, 1fr); max-width: 650px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); }
.hero-proof div { padding-right: 24px; }
.hero-proof strong { display: block; font-size: 1rem; color: var(--white); }
.hero-proof span { font-size: .77rem; color: rgba(255,255,255,.53); }

.hero-visual { position: relative; }
.portrait-frame {
  position: relative; overflow: visible; border-radius: 240px 240px 34px 34px;
  background: #0c355b; box-shadow: var(--shadow); max-width: 480px; margin-left: auto;
  border: 1px solid rgba(255,255,255,.12);
}
.portrait-frame::before {
  content:""; position:absolute; inset:16px; border:1px solid rgba(244,200,90,.2); border-radius: 224px 224px 26px 26px; z-index:1; pointer-events:none;
}
.portrait-frame img { width: 100%; height: 580px; object-fit: cover; object-position: center top; border-radius: inherit; }
.portrait-card {
  position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,.95); color: var(--ink); padding: 13px 16px; min-width: 190px;
  border-radius: 16px; box-shadow: 0 18px 45px rgba(2,17,32,.24); backdrop-filter: blur(10px);
}
.portrait-card-top { right: -34px; top: 32%; }
.portrait-card-bottom { left: -42px; bottom: 15%; }
.portrait-card strong, .portrait-card small { display: block; }
.portrait-card strong { font-size: .85rem; }
.portrait-card small { font-size: .7rem; color: var(--muted); }
.mini-icon { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--gold-soft); color: #8a6300; font-weight: 900; }

.trust-showcase.coverage-pill-strip {
  position: relative;
  overflow: hidden;
  padding: 34px 0 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(18,57,95,.055), transparent 38%),
    linear-gradient(180deg, #fbfcfd 0%, #f4f6f8 100%);
  border-bottom: 1px solid var(--line);
}
.coverage-strip-heading {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 22px;
}
.coverage-strip-heading h3 {
  margin: 12px 0 0;
  color: var(--navy-900);
  font-size: clamp(1.2rem, 2.1vw, 1.75rem);
  line-height: 1.22;
  font-weight: 800;
}
.coverage-pill-stack {
  display: grid;
  gap: 12px;
}
.coverage-pill-marquee {
  overflow: hidden;
  padding: 3px 0;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.coverage-pill-marquee-top { padding-bottom: 4px; }
.coverage-pill-marquee-bottom { padding-top: 4px; }
.coverage-pill-track {
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  animation: coveragePillMarquee 38s linear infinite;
}
.coverage-pill-track-reverse {
  animation: coveragePillMarqueeReverse 42s linear infinite;
}
.coverage-pill {
  min-height: 46px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(13,45,80,.075);
  box-shadow: 0 9px 22px rgba(6,24,45,.055);
  color: var(--navy-800);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -.012em;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
}
.coverage-pill:hover {
  transform: translateY(-2px);
  color: var(--navy-950);
  border-color: rgba(234,184,61,.38);
  box-shadow: 0 13px 30px rgba(6,24,45,.085);
}
.coverage-disclaimer {
  display: block;
  margin-top: 9px;
  text-align: center;
  color: #718096;
  font-size: .7rem;
}
@keyframes coveragePillMarquee {
  to { transform: translateX(-50%); }
}
@keyframes coveragePillMarqueeReverse {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}


.broker-banner-section {
  padding: 46px 0 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
.broker-banner-wrap {
  position: relative;
  min-height: 560px;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(10, 28, 48, .11);
  isolation: isolate;
  background: #edf1f5;
}
.broker-banner-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.broker-banner-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.14)),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.1), rgba(255,255,255,.26));
}
.broker-banner-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(820px, calc(100% - 90px));
  padding: 38px 54px 42px;
  text-align: center;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.76);
  box-shadow: 0 18px 46px rgba(13, 33, 55, .11);
  backdrop-filter: blur(20px) saturate(112%);
  -webkit-backdrop-filter: blur(20px) saturate(112%);
  border-radius: 26px;
}
.broker-banner-kicker {
  display: block;
  margin-bottom: 16px;
  color: #2f80cf;
  font-size: .82rem;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.broker-banner-card h2 {
  margin: 0 auto;
  max-width: 710px;
  color: #24262b;
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: clamp(1.95rem, 3.15vw, 3.35rem);
  line-height: 1.03;
  letter-spacing: -.048em;
  font-weight: 600;
}
.broker-banner-wrap::after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.26);
  pointer-events: none;
}

.section { padding: 100px 0; }
.section-heading { margin-bottom: 48px; }
.section-heading.centered { text-align: center; max-width: 760px; margin-left: auto; margin-right: auto; }
.section-heading h2, .audience-copy h2, .about-copy h2, .cta-card h2 { font-size: clamp(2.4rem, 4.2vw, 4.3rem); color: var(--navy-950); }
.section-heading p { color: var(--muted); max-width: 620px; margin: 0 auto; }

.coverage {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(56, 120, 218, .08), transparent 24%),
    radial-gradient(circle at 86% 16%, rgba(234,184,61,.1), transparent 22%),
    linear-gradient(180deg, #f7fafc 0%, #ffffff 100%);
}
.coverage::before,
.coverage::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(42px);
  pointer-events: none;
}
.coverage::before {
  width: 280px;
  height: 280px;
  left: -110px;
  top: 120px;
  background: rgba(56,120,218,.09);
}
.coverage::after {
  width: 320px;
  height: 320px;
  right: -140px;
  top: 80px;
  background: rgba(234,184,61,.08);
}
.coverage .container { position: relative; z-index: 1; }
.coverage-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 42px;
  align-items: start;
}
.coverage-copy-column {
  position: sticky;
  top: 110px;
}
.section-heading.split-left {
  text-align: left;
  max-width: 470px;
  margin: 0;
}
.section-heading.split-left p {
  margin-left: 0;
  margin-right: 0;
}
.section-heading.split-left .coverage-intro-pills {
  justify-content: flex-start;
}
.coverage-plans-column {
  min-width: 0;
}
.coverage-intro-pills {
  margin: 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.coverage-intro-pill {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(17, 46, 78, .08);
  color: #4f6481;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 10px 25px rgba(12, 30, 51, .05);
}
.coverage-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: stretch;
  margin-top: 36px;
}
.coverage-side-stack {
  display: grid;
  gap: 24px;
}
.coverage-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 28px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(17, 46, 78, .08);
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 45px rgba(10, 28, 48, .07);
  backdrop-filter: blur(10px);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.coverage-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(10, 28, 48, .12);
  border-color: rgba(56,120,218,.2);
}
.coverage-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, rgba(56,120,218,.9), rgba(129,119,231,.9));
}
.coverage-card.featured {
  min-height: 100%;
  padding: 32px;
  background: linear-gradient(180deg, #08284a 0%, #0b3560 100%);
  border-color: rgba(255,255,255,.06);
  color: #fff;
  box-shadow: 0 26px 70px rgba(5, 24, 48, .23);
}
.coverage-card.featured::before {
  height: 100%;
  width: 100%;
  inset: auto;
  position: absolute;
  right: -18%;
  top: -16%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234,184,61,.22) 0%, rgba(234,184,61,.1) 38%, transparent 70%);
}
.coverage-card.featured::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 29px;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}
.coverage-card-header,
.coverage-card-topline,
.coverage-card h3,
.coverage-card p,
.coverage-meta,
.coverage-feature-list,
.coverage-card-action {
  position: relative;
  z-index: 1;
}
.coverage-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}
.coverage-badge {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  background: rgba(56,120,218,.12);
  color: #2f68b5;
}
.coverage-card.featured .coverage-badge {
  background: rgba(234,184,61,.18);
  color: #ffd76a;
}
.coverage-micro {
  font-size: .78rem;
  font-weight: 700;
  color: #6d7f94;
}
.coverage-card.featured .coverage-micro { color: rgba(255,255,255,.72); }
.icon-box {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8e9ae 0%, #f1d26e 100%);
  color: #8b6500;
  font-size: 1.55rem;
  box-shadow: 0 10px 20px rgba(170, 126, 10, .18);
}
.coverage-card:not(.featured) .icon-box {
  background: linear-gradient(180deg, #edf4ff 0%, #dce9ff 100%);
  color: #2c6ebb;
  box-shadow: 0 10px 20px rgba(56,120,218,.12);
}
.coverage-card h3 {
  margin: 20px 0 10px;
  font-size: clamp(1.6rem, 2vw, 2rem);
  line-height: 1.08;
  color: var(--navy-900);
}
.coverage-card.featured h3 { color: #fff; }
.coverage-card p {
  margin: 0;
  color: #67798f;
  font-size: .98rem;
  line-height: 1.7;
}
.coverage-card.featured p { color: rgba(255,255,255,.74); }
.coverage-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 18px;
}
.coverage-side-stack .coverage-meta {
  grid-template-columns: 1fr;
  margin: 18px 0 14px;
}
.coverage-meta-box {
  padding: 14px 14px 13px;
  border-radius: 18px;
  background: rgba(10, 35, 64, .04);
  border: 1px solid rgba(17, 46, 78, .06);
}
.coverage-card.featured .coverage-meta-box {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.09);
}
.coverage-meta-box strong {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-bottom: 6px;
  color: #2c6ebb;
}
.coverage-card.featured .coverage-meta-box strong { color: #ffd76a; }
.coverage-meta-box span {
  display: block;
  font-size: .86rem;
  line-height: 1.45;
  color: #4b617a;
}
.coverage-card.featured .coverage-meta-box span { color: rgba(255,255,255,.78); }
.coverage-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: grid;
  gap: 10px;
}
.coverage-feature-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: start;
  gap: 10px;
  font-size: .9rem;
  color: #34495f;
}
.coverage-card.featured .coverage-feature-list li { color: rgba(255,255,255,.88); }
.coverage-feature-list li::before {
  content: "✓";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: .68rem;
  font-weight: 900;
  background: rgba(73, 183, 123, .13);
  color: #45a775;
  margin-top: 1px;
}
.coverage-card.featured .coverage-feature-list li::before {
  background: rgba(234,184,61,.15);
  color: #ffd76a;
}
.coverage-card-action {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid rgba(17, 46, 78, .08);
}
.coverage-card.featured .coverage-card-action { border-top-color: rgba(255,255,255,.09); }
.coverage-card-action small {
  color: #7a8ba0;
  font-size: .76rem;
  font-weight: 700;
}
.coverage-card.featured .coverage-card-action small { color: rgba(255,255,255,.62); }
.coverage-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(10, 35, 64, .06);
  border: 1px solid rgba(17, 46, 78, .08);
  color: var(--navy-900);
  font-weight: 900;
  font-size: .9rem;
}
.coverage-card.featured .coverage-cta-link {
  background: rgba(234,184,61,.14);
  border-color: rgba(234,184,61,.22);
  color: #ffd76a;
}
.coverage-cta-link span { transition: transform .2s ease; }
.coverage-cta-link:hover span { transform: translateX(4px); }


/* Coverage full-width redesign */
.coverage {
  padding-left: 0;
  padding-right: 0;
}
.coverage .container.coverage-layout {
  width: min(96vw, 1760px);
  max-width: none;
  margin: 0 auto;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 2.28fr);
  gap: 34px;
  align-items: start;
}
.coverage-copy-column {
  position: sticky;
  top: 110px;
  align-self: start;
}
.coverage-plans-column {
  min-width: 0;
}
.coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 0;
  align-items: stretch;
}
.coverage-card,
.coverage-card.featured {
  min-height: 100%;
  padding: 22px;
  border-radius: 24px;
}
.coverage-card-topline {
  margin-bottom: 16px;
}
.coverage-card h3 {
  font-size: clamp(1.2rem, 1.35vw, 1.55rem);
  margin: 14px 0 8px;
}
.coverage-card p {
  font-size: .86rem;
  line-height: 1.52;
}
.coverage-meta {
  margin: 14px 0 12px;
}
.coverage-meta-box {
  padding: 12px;
  border-radius: 15px;
}
.coverage-meta-box span {
  font-size: .79rem;
}
.coverage-feature-list {
  margin-bottom: 14px;
  gap: 7px;
}
.coverage-feature-list li {
  font-size: .82rem;
  gap: 8px;
}
.coverage-card-action {
  padding-top: 14px;
  gap: 10px;
}
.coverage-card-action small {
  font-size: .69rem;
  line-height: 1.35;
}
.coverage-cta-link {
  min-height: 42px;
  padding: 0 14px;
  font-size: .82rem;
}
.coverage-badge {
  height: 28px;
  padding: 0 10px;
  font-size: .61rem;
}
.coverage-micro {
  font-size: .68rem;
}
.icon-box {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  font-size: 1.3rem;
}

@media (max-width: 1320px) {
  .coverage .container.coverage-layout {
    width: min(96vw, 1480px);
    grid-template-columns: minmax(280px, .68fr) minmax(0, 2.32fr);
    gap: 26px;
  }
  .coverage-grid { gap: 14px; }
  .coverage-card,
  .coverage-card.featured { padding: 18px; }
  .coverage-card-action small { display: none; }
}

@media (max-width: 1100px) {
  .coverage .container.coverage-layout {
    width: min(94vw, 1100px);
    grid-template-columns: 1fr;
  }
  .coverage-copy-column { position: static; }
  .section-heading.split-left {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
  }
  .section-heading.split-left p { margin-left: auto; margin-right: auto; }
  .section-heading.split-left .coverage-intro-pills { justify-content: center; }
  .coverage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .coverage-grid { grid-template-columns: 1fr; }
  .coverage-card,
  .coverage-card.featured { padding: 22px; }
}

.audience {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(72, 126, 201, .12), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(242, 199, 82, .10), transparent 18%),
    linear-gradient(180deg, #031f3b 0%, #02162c 100%);
  color: #fff;
}
.audience::before,
.audience::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(56px);
  pointer-events: none;
}
.audience::before {
  width: 320px;
  height: 320px;
  left: -110px;
  top: 120px;
  background: rgba(30, 119, 214, .15);
}
.audience::after {
  width: 260px;
  height: 260px;
  right: -90px;
  bottom: 60px;
  background: rgba(242, 199, 82, .10);
}
.audience-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr);
  gap: 68px;
  align-items: center;
}
.audience-image {
  position: relative;
}
.audience-portrait-shell {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 38px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 26px 80px rgba(0,0,0,.28);
}
.audience-portrait-shell::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}
.audience-image img {
  display: block;
  width: 100%;
  height: 680px;
  object-fit: cover;
  object-position: center top;
  border-radius: 28px;
  background: #0b2a4b;
}
.image-badge {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 30px;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(4, 24, 46, .78);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.image-badge strong,
.image-badge span { display: block; }
.image-badge strong {
  font-size: 1.08rem;
  color: #fff;
  margin-bottom: 6px;
}
.image-badge span {
  font-size: .9rem;
  color: rgba(255,255,255,.70);
  line-height: 1.55;
}
.audience-floating-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  color: var(--navy-950);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}
.audience-floating-top {
  top: 42px;
  right: -30px;
}
.audience-floating-card .mini-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(242, 199, 82, .24);
  color: #b2870f;
  font-weight: 900;
}
.audience-floating-card strong,
.audience-floating-card small { display: block; }
.audience-floating-card strong {
  font-size: .96rem;
  line-height: 1.2;
}
.audience-floating-card small {
  margin-top: 3px;
  color: #6b7b8f;
  font-size: .8rem;
}
.audience-copy { max-width: none; }
.audience-copy h2 {
  color: #fff;
  max-width: 860px;
  font-size: clamp(3.1rem, 4.4vw, 5rem);
  line-height: .96;
  letter-spacing: -.03em;
}
.audience-line {
  display: block;
}
.audience-mid-line {
  white-space: nowrap;
}
.audience-last-line {
  display: inline-block;
  white-space: nowrap;
  font-size: .91em;
}
.audience-copy > p {
  color: rgba(255,255,255,.72);
  max-width: 660px;
  font-size: 1.02rem;
  line-height: 1.8;
}
.broker-value-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.broker-value-chip {
  min-height: 38px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.86);
  font-size: .82rem;
  font-weight: 800;
}

.broker-panels-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr 1.08fr;
  gap: 20px;
  margin-top: 8px;
  align-items: stretch;
}
.broker-panel {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  padding: 28px 28px 26px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.038));
  border: 1px solid rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 18px 42px rgba(0,0,0,.14);
  transform: translateY(0) scale(1);
  transition:
    transform .38s cubic-bezier(.2,.8,.2,1),
    border-color .35s ease,
    box-shadow .35s ease,
    background .35s ease;
  will-change: transform;
}
.broker-panel::after {
  content: "";
  position: absolute;
  inset: -45% auto -45% -55%;
  width: 42%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,.02) 28%,
    rgba(255,255,255,.13) 48%,
    rgba(255,255,255,.03) 66%,
    transparent 100%
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
}
.broker-panel:hover {
  transform: translateY(-10px) scale(1.012);
  border-color: rgba(244,200,90,.30);
  background:
    linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.05));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 28px 65px rgba(0,0,0,.24),
    0 0 0 1px rgba(244,200,90,.06);
}
.broker-panel:hover::after {
  opacity: 1;
  animation: brokerCardSheen .85s ease forwards;
}
.broker-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 42%;
  height: 3px;
  background: linear-gradient(90deg, rgba(244,200,90,.98), rgba(244,200,90,.18), transparent);
  opacity: .9;
  transition: width .48s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
}
.broker-panel:hover::before {
  width: 100%;
  opacity: 1;
}
.broker-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.broker-panel-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(244,200,90,.14);
  border: 1px solid rgba(244,200,90,.20);
  color: var(--gold);
  font-size: 1rem;
  font-weight: 900;
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .3s ease,
    box-shadow .3s ease;
}
.broker-panel:hover .broker-panel-icon {
  transform: translateY(-2px) rotate(-4deg) scale(1.08);
  background: rgba(244,200,90,.22);
  box-shadow: 0 10px 26px rgba(244,200,90,.12);
}
.broker-panel h3,
.broker-panel .broker-panel-subtitle {
  transition: transform .34s ease, color .3s ease;
}
.broker-panel:hover h3 {
  transform: translateX(4px);
}
.broker-panel:hover .broker-panel-subtitle {
  transform: translateX(4px);
  color: rgba(255,255,255,.68);
}
.broker-panel h3 {
  margin: 0;
  color: #fff;
  font-size: 1.15rem;
  line-height: 1.25;
}
.broker-panel-subtitle {
  margin: 5px 0 0;
  color: rgba(255,255,255,.55);
  font-size: .78rem;
  line-height: 1.4;
}
.broker-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.broker-help-grid span {
  min-height: 40px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  border-radius: 13px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.065);
  color: rgba(255,255,255,.83);
  font-size: .79rem;
  font-weight: 750;
  line-height: 1.25;
  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease;
}
.broker-help-grid span:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.10);
  border-color: rgba(244,200,90,.18);
}
.broker-coverage-list {
  display: grid;
  gap: 11px;
}
.broker-coverage-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 11px;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 14px;
  transition: background .2s ease, transform .2s ease;
}
.broker-coverage-item:hover {
  background: rgba(255,255,255,.065);
  transform: translateX(6px);
}
.broker-coverage-check {
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.broker-coverage-item:hover .broker-coverage-check {
  transform: scale(1.12);
  background: rgba(244,200,90,.20);
  box-shadow: 0 8px 20px rgba(244,200,90,.10);
}
.broker-coverage-check {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(244,200,90,.13);
  color: var(--gold);
  font-size: .72rem;
  font-weight: 900;
}
.broker-coverage-item span:last-child {
  color: rgba(255,255,255,.80);
  font-size: .84rem;
  line-height: 1.35;
}
.broker-cta-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(circle at 92% 10%, rgba(244,200,90,.16), transparent 33%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.04));
}
.broker-cta-card:hover {
  background:
    radial-gradient(circle at 88% 8%, rgba(244,200,90,.24), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.05));
}
.broker-cta-card h3 {
  max-width: 260px;
  font-size: 1.3rem;
}
.broker-cta-card p {
  margin: 0;
  max-width: 320px;
  color: rgba(255,255,255,.68);
  font-size: .88rem;
  line-height: 1.65;
}
.broker-cta-actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.broker-cta-actions .btn {
  min-height: 48px;
  padding: 0 20px;
}
.broker-contact-note {
  display: block;
  margin-top: 14px;
  color: rgba(255,255,255,.46);
  font-size: .72rem;
  line-height: 1.4;
}

/* keep the top broker presentation as a two-column layout */
.audience-grid {
  grid-template-columns: minmax(360px, .86fr) minmax(520px, 1.14fr);
  align-items: center;
}
.audience-copy h2 {
  max-width: 800px;
}

/* allow the three lower panels to span beneath both portrait and text */
.audience-grid > .broker-panels-grid {
  grid-column: 1 / -1;
}

@media (max-width: 1120px) {
  .audience-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .broker-panels-grid {
    grid-template-columns: 1fr 1fr;
  }
  .broker-cta-card {
    grid-column: 1 / -1;
    min-height: 220px;
  }
}
@media (max-width: 760px) {
  .audience-mid-line,
  .audience-last-line {
    white-space: normal;
    font-size: 1em;
  }
  .broker-panels-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .broker-cta-card {
    grid-column: auto;
  }
  .broker-panel {
    min-height: auto;
    padding: 22px 20px;
    border-radius: 22px;
  }
  .broker-help-grid {
    grid-template-columns: 1fr 1fr;
  }
  .broker-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .broker-cta-actions .btn {
    width: 100%;
    justify-content: center;
  }
}


@keyframes brokerCardSheen {
  0% { left: -55%; opacity: 0; }
  18% { opacity: .75; }
  100% { left: 125%; opacity: 0; }
}


.contact-section {
  position: relative;
  padding: 96px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(56,120,218,.08), transparent 26%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  scroll-margin-top: 90px;
}
.contact-shell {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 34px;
  align-items: stretch;
  padding: 18px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(13, 41, 71, .08);
  box-shadow: 0 28px 80px rgba(8, 34, 62, .09);
}
.contact-copy {
  position: relative;
  overflow: hidden;
  padding: 42px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 90% 10%, rgba(244,200,90,.16), transparent 32%),
    linear-gradient(180deg, #082949 0%, #061d35 100%);
  color: #fff;
}
.contact-copy h2 {
  margin: 18px 0 14px;
  color: #fff;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: .98;
}
.contact-copy > p {
  margin: 0;
  max-width: 470px;
  color: rgba(255,255,255,.68);
  line-height: 1.75;
}
.contact-points {
  display: grid;
  gap: 13px;
  margin-top: 30px;
}
.contact-point {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
}
.contact-point span:first-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(244,200,90,.14);
  color: var(--gold);
  font-weight: 900;
}
.contact-email {
  display: inline-block;
  margin-top: 30px;
  color: var(--gold);
  font-weight: 800;
  word-break: break-word;
}
.contact-form-wrap {
  padding: 34px;
  display: flex;
  align-items: center;
}
.contact-form {
  width: 100%;
}
.contact-form h3 {
  margin: 0 0 7px;
  color: var(--navy-950);
  font-size: 1.45rem;
}
.contact-form > p {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: .92rem;
}
.contact-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contact-field {
  display: grid;
  gap: 7px;
}
.contact-field.full {
  grid-column: 1 / -1;
}
.contact-field label {
  color: var(--navy-900);
  font-size: .78rem;
  font-weight: 800;
}
.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  border: 1px solid rgba(13,41,71,.13);
  border-radius: 14px;
  background: #f9fbfd;
  color: var(--navy-950);
  font: inherit;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-field input,
.contact-field select {
  min-height: 50px;
  padding: 0 14px;
}
.contact-field textarea {
  min-height: 118px;
  resize: vertical;
  padding: 13px 14px;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  background: #fff;
  border-color: rgba(52,112,194,.45);
  box-shadow: 0 0 0 4px rgba(52,112,194,.08);
}
.contact-form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.contact-form-note {
  color: #7d8b9b;
  font-size: .72rem;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .contact-shell {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .contact-section { padding: 70px 0; }
  .contact-shell { padding: 10px; border-radius: 26px; }
  .contact-copy,
  .contact-form-wrap { padding: 26px 22px; }
  .contact-fields { grid-template-columns: 1fr; }
  .contact-field.full { grid-column: auto; }
}

.process {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 16%, rgba(63, 115, 203, .08), transparent 22%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%);
  color: var(--navy-950);
}
.process .section-heading {
  max-width: 1220px;
  margin: 0 auto 56px;
  text-align: left;
}
.process .section-heading.centered {
  align-items: flex-start;
}
.process .section-heading h2 {
  color: #21262f;
  max-width: 920px;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(2.45rem, 4.2vw, 4rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 0;
}
.process .section-heading p {
  max-width: 1120px;
  margin: 14px 0 0;
  color: #6b7686;
  font-size: 1rem;
  line-height: 1.65;
}
.process-steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}
.process-arrow {
  position: relative;
  width: 72px;
  min-width: 72px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.process-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 16px;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(85, 115, 231, .35), rgba(85, 115, 231, .9));
}
.process-arrow::after {
  content: "→";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-52%);
  color: #6f7eef;
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
}
.process-card {
  position: relative;
  min-height: 280px;
  padding: 34px 34px 30px;
  text-align: center;
  border-radius: 28px;
  border: 1px solid rgba(104, 127, 173, .26);
  background: rgba(255,255,255,.94);
  box-shadow: 0 20px 50px rgba(20, 46, 78, .08);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.process-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px rgba(20, 46, 78, .11);
  border-color: rgba(105, 123, 237, .35);
}
.process-icon-wrap {
  position: relative;
  width: 66px;
  height: 66px;
  margin: 2px auto 20px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #4f8cd9, #7c74dd);
  box-shadow: 0 16px 28px rgba(90, 113, 222, .22);
  font-size: 1.55rem;
}
.process-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #6c7ae7;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  border: 2px solid #fff;
}
.process-card h3 {
  margin: 0 0 10px;
  color: #2a2f36;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.25;
}
.process-card p {
  margin: 0;
  color: #6a7483;
  font-size: .98rem;
  line-height: 1.6;
  max-width: 290px;
  margin-left: auto;
  margin-right: auto;
}

.reviews {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 18%, rgba(77, 123, 227, .06), transparent 18%),
    linear-gradient(180deg, #f6f9fc 0%, #ffffff 100%);
}
.section-heading.split { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 60px; }
.section-heading.split p { margin: 0 0 20px; max-width: none; }

.reviews-marquee-shell {
  position: relative;
  margin-top: 18px;
  overflow: hidden;
}
.reviews-marquee-shell::before,
.reviews-marquee-shell::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 120px;
  z-index: 3;
  pointer-events: none;
}
.reviews-marquee-shell::before {
  left: 0;
  background: linear-gradient(90deg, rgba(246,249,252,1) 0%, rgba(246,249,252,.82) 28%, rgba(246,249,252,0) 100%);
}
.reviews-marquee-shell::after {
  right: 0;
  background: linear-gradient(270deg, rgba(246,249,252,1) 0%, rgba(246,249,252,.82) 28%, rgba(246,249,252,0) 100%);
}

.reviews-marquee-track {
  display: flex;
  width: max-content;
  animation: reviewsScroll 34s linear infinite;
  will-change: transform;
}
.reviews-marquee-shell:hover .reviews-marquee-track {
  animation-play-state: paused;
}
.reviews-group {
  display: flex;
  gap: 24px;
  padding: 10px 12px 14px;
}

.review-card {
  position: relative;
  flex: 0 0 360px;
  border-radius: 28px;
  padding: 1px;
  overflow: visible;
  background: transparent;
  box-shadow:
    0 16px 36px rgba(18, 43, 73, .07),
    0 0 0 1px rgba(91, 109, 148, .05);
  transform: translateY(0) scale(.94);
  opacity: .76;
  filter: saturate(.92);
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s ease,
    opacity .45s ease,
    filter .45s ease;
}
.review-card:hover {
  transform: translateY(-4px) scale(.97);
  box-shadow:
    0 22px 46px rgba(18, 43, 73, .10),
    0 0 0 1px rgba(91, 109, 148, .07);
}
.review-card::before,
.review-card::after {
  content: "";
  position: absolute;
  border-radius: 32px;
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease, filter .45s ease;
}
.review-card::before {
  inset: -8px;
  background:
    conic-gradient(
      from 0deg,
      rgba(117, 156, 255, 0) 0deg,
      rgba(117, 156, 255, .36) 70deg,
      rgba(186, 132, 255, .33) 150deg,
      rgba(255, 161, 204, .30) 230deg,
      rgba(245, 209, 109, .30) 305deg,
      rgba(117, 156, 255, .36) 360deg
    );
  opacity: 0;
  filter: blur(10px);
}
.review-card::after {
  inset: -16px;
  background:
    radial-gradient(circle at 30% 25%, rgba(117, 156, 255, .16), transparent 34%),
    radial-gradient(circle at 76% 20%, rgba(186, 132, 255, .14), transparent 32%),
    radial-gradient(circle at 70% 80%, rgba(245, 209, 109, .12), transparent 28%),
    radial-gradient(circle at 15% 78%, rgba(255, 161, 204, .13), transparent 28%);
  opacity: 0;
  filter: blur(26px);
  transform: scale(.96);
}
.review-card.active {
  transform: translateY(-10px) scale(1.05);
  opacity: 1;
  filter: saturate(1.03);
  box-shadow:
    0 30px 70px rgba(18, 43, 73, .15),
    0 0 0 1px rgba(146, 162, 201, .12);
  z-index: 4;
}
.review-card.active::before {
  opacity: .95;
  filter: blur(14px);
  animation: reviewBorderSpin 9s linear infinite;
}
.review-card.active::after {
  opacity: 1;
  transform: scale(1.02);
  animation: reviewGlowPulse 3.4s ease-in-out infinite;
}
.review-card-inner {
  position: relative;
  z-index: 1;
  min-height: 290px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 24px 22px;
  border-radius: 27px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.965), rgba(255,255,255,.985));
  border: 1px solid rgba(255,255,255,.62);
}
.review-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.review-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 10px;
  background: #f5f7fb;
  color: #111826;
  font-size: .8rem;
  font-weight: 700;
}
.review-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(133, 194, 39, .75);
  color: #6ca51c;
  background: rgba(184, 224, 122, .10);
  font-size: .72rem;
  font-weight: 800;
}
.stars {
  letter-spacing: .16em;
  color: #d69e18;
  font-size: .92rem;
  margin-top: 8px;
}
.review-card h3 {
  margin: 10px 0 0;
  color: #121922;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.18;
}
.review-card > p,
.review-text {
  margin: 0;
  color: #607086;
  font-size: .95rem;
  line-height: 1.6;
}
.review-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.review-tags span {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  background: #f4f7fb;
  color: #68809f;
  font-size: .72rem;
  font-weight: 650;
}

.reviewer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #edf2f7;
}
.reviewer > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #0d2a48;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: .76rem;
  font-weight: 800;
}
.reviewer strong,
.reviewer small {
  display: block;
}
.reviewer strong {
  font-size: .88rem;
  color: #152131;
}
.reviewer small {
  color: #7a8798;
  font-size: .72rem;
}

@keyframes reviewsScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes reviewBorderSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes reviewGlowPulse {
  0%, 100% {
    opacity: .72;
    filter: blur(24px);
  }
  50% {
    opacity: 1;
    filter: blur(32px);
  }
}

.about { background: var(--paper); }
.about-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 78px; align-items: center; }
.about-copy p { color: var(--muted); }
.about-copy blockquote { margin: 30px 0 0; border-left: 4px solid var(--gold); padding: 4px 0 4px 22px; color: var(--navy-800); font-weight: 700; font-size: 1.04rem; }
.about-image-wrap { border-radius: 28px; overflow: hidden; box-shadow: var(--shadow); }
.about-image-wrap img { width: 100%; height: 610px; object-fit: cover; object-position: 55% top; }

.cta-section { padding: 0 0 100px; background: var(--paper); }
.cta-card { background: var(--navy-950); border-radius: 30px; padding: 58px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 50px; align-items: center; color: #fff; overflow: hidden; position: relative; }
.cta-card::after { content:""; position:absolute; width:360px; height:360px; right:-120px; top:-180px; border-radius:50%; border:1px solid rgba(244,200,90,.16); }
.cta-card h2 { color: #fff; font-size: clamp(2.4rem, 4vw, 4rem); max-width: 760px; }
.cta-card p { color: rgba(255,255,255,.65); max-width: 720px; }
.cta-actions { position: relative; z-index: 2; display: grid; gap: 13px; align-content: center; }
.contact-link { color: var(--gold); font-size: .9rem; font-weight: 700; word-break: break-word; }
.phone-placeholder { color: rgba(255,255,255,.48); font-size: .78rem; }

.site-footer { background: #041426; color: #fff; padding: 58px 0 28px; }
.footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.footer-links { display: flex; gap: 28px; flex-wrap: wrap; }
.footer-links a { color: rgba(255,255,255,.62); font-size: .84rem; }
.footer-links a:hover { color: var(--gold); }
.legal { margin-top: 42px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.08); display: grid; grid-template-columns: 1.55fr .45fr; gap: 40px; }
.legal p { margin: 0; color: rgba(255,255,255,.4); font-size: .68rem; }
.legal p:last-child { text-align: right; }



@media (max-width: 1020px) {
  .broker-banner-wrap { min-height: 520px; }
  .broker-banner-card {
    width: min(760px, calc(100% - 46px));
    padding: 34px 36px 38px;
  }
  .broker-banner-card h2 { max-width: 620px; }
}

@media (max-width: 1020px) {
  .audience-grid { grid-template-columns: 1fr; gap: 34px; }
  .audience-copy { max-width: none; }
  .broker-feature-grid { grid-template-columns: 1fr 1fr; }
  .broker-cta-panel { grid-template-columns: 1fr; }
}

@media (max-width: 1120px) {
  .audience-grid { grid-template-columns: 1fr; gap: 42px; }
  .audience-portrait-shell { max-width: 560px; }
  .audience-copy { max-width: none; }
  .broker-panels-grid { grid-template-columns: 1fr 1fr; }
  .broker-cta-card { grid-column: span 2; }
  .broker-cta-actions { justify-content: flex-start; }
}


@media (max-width: 1100px) {
  .reviews-group {
    gap: 18px;
  }
  .review-card {
    flex-basis: 320px;
  }
  .review-card.active {
    transform: translateY(-8px) scale(1.03);
  }
}
@media (max-width: 760px) {
  .reviews-marquee-shell::before,
  .reviews-marquee-shell::after {
    width: 42px;
  }
  .review-card {
    flex-basis: 286px;
    border-radius: 24px;
    transform: translateY(0) scale(.96);
  }
  .review-card.active {
    transform: translateY(-6px) scale(1.02);
  }
  .review-card-inner {
    min-height: 270px;
    padding: 20px 18px 18px;
    border-radius: 23px;
  }
  .review-card h3 {
    font-size: 1.08rem;
  }
  .review-text {
    font-size: .88rem;
  }
  .reviews-marquee-track {
    animation-duration: 28s;
  }
}

@media (max-width: 1100px) {
  .process-steps {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .process-arrow {
    display: none;
  }
  .process .section-heading {
    margin-bottom: 40px;
  }
  .process-card {
    min-height: auto;
  }
}

@media (max-width: 1020px) {
  .main-nav { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .hero h1 { font-size: clamp(3rem, 7vw, 5rem); }
  .portrait-frame img { height: 510px; }
  .coverage-intro-pills { max-width: 720px; margin-left: auto; margin-right: auto; }
  .review-grid { grid-template-columns: 1fr 1fr; }
  .audience-grid, .about-grid { gap: 42px; }
}

@media (max-width: 1200px) {
  .hero-line.combo > span { font-size: .76em; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 28px, 1180px); }
  .nav-wrap { height: 72px; }
  .brand-copy small { display: none; }
  .site-header .btn-small { display: none; }

  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; padding: 54px 0 68px; }
  .hero-copy { text-align: left; }
  .hero h1 { font-size: clamp(3.1rem, 14vw, 4.7rem); }
  .hero-lead { font-size: 1rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-proof { grid-template-columns: 1fr; gap: 14px; }
  .hero-proof div { padding-right: 0; }
  .hero-visual { order: -1; }
  .portrait-frame { max-width: 380px; margin: 0 auto; border-radius: 190px 190px 26px 26px; }
  .portrait-frame img { height: 470px; }
  .portrait-card { min-width: 165px; padding: 10px 12px; }
  .portrait-card-top { right: -5px; top: 25%; }
  .portrait-card-bottom { left: -4px; bottom: 8%; }
  .portrait-card strong { font-size: .76rem; }

  .broker-banner-section { padding: 28px 0 8px; }
  .broker-banner-wrap { min-height: 470px; border-radius: 24px; }
  .broker-banner-wrap::after { inset: 14px; border-radius: 18px; }
  .broker-banner-card {
    width: calc(100% - 24px);
    padding: 26px 20px 30px;
    border-radius: 22px;
  }
  .broker-banner-kicker { margin-bottom: 12px; font-size: .68rem; letter-spacing: .1em; }
  .broker-banner-card h2 { font-size: clamp(1.72rem, 7vw, 2.35rem); line-height: 1.08; }
  .section { padding: 72px 0; }
  .section-heading h2, .audience-copy h2, .about-copy h2, .cta-card h2 { font-size: clamp(2.35rem, 10vw, 3.5rem); }
  .coverage-intro-pills { gap: 8px; }
  .coverage-intro-pill { min-height: 32px; padding: 0 12px; font-size: .72rem; }
  .review-grid, .process-grid { grid-template-columns: 1fr; }
  .coverage-card { min-height: auto; padding: 24px; border-radius: 24px; }
  .coverage-meta { grid-template-columns: 1fr; }
  .coverage-card-action { align-items: flex-start; }
  .coverage-cta-link { width: 100%; justify-content: center; }
  .audience-grid, .about-grid, .section-heading.split, .cta-card { grid-template-columns: 1fr; }
  .audience-portrait-shell { padding: 14px; border-radius: 28px; }
  .audience-portrait-shell::before { inset: 14px; border-radius: 22px; }
  .audience-image img, .about-image-wrap img { height: 520px; }
  .audience-floating-top { right: 12px; top: 16px; min-width: 190px; }
  .image-badge { left: 24px; right: 24px; bottom: 24px; border-radius: 18px; }
  .broker-value-row, .broker-audience-tags { gap: 8px; }
  .broker-value-chip, .broker-audience-tags span { font-size: .74rem; padding: 0 12px; }
  .broker-panels-grid { grid-template-columns: 1fr; }
  .broker-cta-card { grid-column: auto; }
  .broker-list { grid-template-columns: 1fr; }
  .broker-intro-card, .broker-cta-card { border-radius: 18px; padding: 18px; }
  .broker-cta-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .broker-cta-actions .btn { width: 100%; justify-content: center; }
  .section-heading.split { gap: 0; }
  .review-card > p { min-height: 0; }
  .cta-card { padding: 36px 26px; gap: 24px; }
  .footer-grid, .legal { display: grid; grid-template-columns: 1fr; }
  .legal { gap: 16px; }
  .legal p:last-child { text-align: left; }
}


.hero-copy { position: relative; z-index: 2; }
.hero h1 { display: grid; gap: .02em; overflow: visible; }
.hero h1 em { color: inherit; }
.hero-line { display: block; overflow: visible; }
.hero-line > span { display: inline-block; }
.hero-line.combo > span { white-space: nowrap; font-size: .80em; letter-spacing: -.045em; }
.hero-inline-accent { color: var(--gold); font-style: italic; display: inline-block; }
.hero-line.accent > span { color: var(--gold); font-style: italic; }
.hero-animate {
  opacity: 0;
  transform: translateY(26px);
  filter: blur(8px);
  will-change: transform, opacity, filter;
}
body.page-ready .hero-animate {
  animation: heroReveal .88s cubic-bezier(.19,1,.22,1) forwards;
}
body.page-ready .hero-animate-1 { animation-delay: .12s; }
body.page-ready .hero-animate-2 { animation-delay: .2s; }
body.page-ready .hero-animate-3 { animation-delay: .32s; }
body.page-ready .hero-animate-4 { animation-delay: .44s; }
body.page-ready .hero-animate-5 { animation-delay: .56s; }
body.page-ready .hero-animate-6 { animation-delay: .72s; }
body.page-ready .hero-animate-7 { animation-delay: .86s; }
body.page-ready .hero-animate-8 { animation-delay: .98s; }
body.page-ready .hero-animate-9 { animation-delay: 1.08s; }
body.page-ready .hero-animate-10 { animation-delay: 1.16s; }
body.page-ready .hero-animate-11 { animation-delay: 1.24s; }

body.page-ready .site-header {
  animation: headerDrop .95s cubic-bezier(.19,1,.22,1) both;
}
.hero::before {
  content: "";
  position: absolute;
  inset: auto -12% -24% auto;
  width: min(48vw, 700px);
  height: min(48vw, 700px);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,200,90,.18) 0%, rgba(244,200,90,.08) 22%, transparent 68%);
  filter: blur(18px);
  opacity: .7;
  animation: driftGlow 12s ease-in-out infinite alternate;
}
.hero-glow-one { animation: orbitGlow 17s linear infinite; }
.hero-glow-two { animation: orbitGlowReverse 22s linear infinite; }
.hero-proof div {
  border-radius: 16px;
  transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.hero-proof div:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.045);
}
.portrait-frame {
  transform: translateX(18px) scale(.96);
  transform-origin: 65% 50%;
  overflow: hidden;
}
body.page-ready .portrait-frame {
  animation: portraitIn 1.1s .42s cubic-bezier(.19,1,.22,1) forwards;
}
.portrait-frame::after {
  content: "";
  position: absolute;
  inset: -30% -45%;
  background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,.12) 31%, rgba(255,255,255,.18) 35%, transparent 43%);
  transform: translateX(-45%) rotate(12deg);
  animation: sheen 5.8s ease-in-out 1.6s infinite;
  pointer-events: none;
  z-index: 2;
}
.hero-ring {
  position: absolute;
  inset: 20px;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.09);
  pointer-events: none;
  z-index: 2;
}
.hero-ring-one {
  inset: 12px;
  border-color: rgba(244,200,90,.16);
  animation: softPulse 6s ease-in-out infinite;
}
.hero-ring-two {
  inset: 34px;
  border-color: rgba(255,255,255,.08);
  animation: softPulse 7.4s ease-in-out infinite reverse;
}
.portrait-card {
  opacity: 0;
  transform: translateY(18px) scale(.96);
}
body.page-ready .portrait-card-top {
  animation: cardIn .95s 1s cubic-bezier(.19,1,.22,1) forwards, floatCardA 5.6s 2.2s ease-in-out infinite;
}
body.page-ready .portrait-card-bottom {
  animation: cardIn .95s 1.16s cubic-bezier(.19,1,.22,1) forwards, floatCardB 6.6s 2.4s ease-in-out infinite;
}
.mini-icon { box-shadow: 0 0 0 0 rgba(234,184,61,.35); animation: iconPulse 2.8s ease-in-out infinite; }
.pulse { animation: pulseDot 2.2s ease-in-out infinite; }
.btn-gold {
  position: relative;
  overflow: hidden;
}
.btn-gold::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.28) 48%, transparent 68%);
  transform: translateX(-130%) skewX(-18deg);
  animation: buttonSweep 4.8s ease-in-out 2.2s infinite;
}
.hero-actions .btn { position: relative; }
.hero-visual { position: relative; }
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 12% 10% 4% 18%;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 62%);
  filter: blur(20px);
  z-index: 0;
  opacity: .7;
}

@keyframes heroReveal {
  0% { opacity: 0; transform: translateY(28px); filter: blur(10px); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes portraitIn {
  0% { opacity: 0; transform: translateX(28px) scale(.94); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes cardIn {
  0% { opacity: 0; transform: translateY(18px) scale(.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes headerDrop {
  0% { opacity: 0; transform: translateY(-18px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes pulseDot {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(103,215,154,.12); }
  55% { transform: scale(1.08); box-shadow: 0 0 0 9px rgba(103,215,154,0); }
}
@keyframes iconPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(234,184,61,.32); }
  60% { box-shadow: 0 0 0 10px rgba(234,184,61,0); }
}
@keyframes buttonSweep {
  0%, 72%, 100% { transform: translateX(-130%) skewX(-18deg); }
  20%, 32% { transform: translateX(135%) skewX(-18deg); }
}
@keyframes driftGlow {
  0% { transform: translate3d(0,0,0) scale(1); }
  100% { transform: translate3d(-28px,-24px,0) scale(1.08); }
}
@keyframes orbitGlow {
  0% { transform: rotate(0deg) scale(1); opacity: .42; }
  50% { transform: rotate(180deg) scale(1.03); opacity: .52; }
  100% { transform: rotate(360deg) scale(1); opacity: .42; }
}
@keyframes orbitGlowReverse {
  0% { transform: rotate(0deg) scale(1); opacity: .26; }
  50% { transform: rotate(-180deg) scale(1.02); opacity: .36; }
  100% { transform: rotate(-360deg) scale(1); opacity: .26; }
}
@keyframes floatCardA {
  0%, 100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-8px) translateX(-3px); }
}
@keyframes floatCardB {
  0%, 100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(8px) translateX(4px); }
}
@keyframes sheen {
  0%, 100% { transform: translateX(-55%) rotate(12deg); opacity: 0; }
  18% { opacity: .9; }
  36% { transform: translateX(55%) rotate(12deg); opacity: 0; }
}
@keyframes softPulse {
  0%, 100% { transform: scale(1); opacity: .85; }
  50% { transform: scale(1.02); opacity: 1; }
}

@media (max-width: 760px) {
  .trust-showcase.coverage-pill-strip { padding: 28px 0 24px; }
  .coverage-strip-heading { margin-bottom: 18px; }
  .coverage-strip-heading h3 { font-size: 1.22rem; }
  .coverage-pill-stack { gap: 10px; }
  .coverage-pill-track { gap: 10px; }
  .coverage-pill { min-height: 42px; padding: 0 18px; font-size: .9rem; border-radius: 12px; }
  .coverage-disclaimer { padding: 0 18px; line-height: 1.45; }
}

@media (prefers-reduced-motion: reduce) {
  .broker-panel,
  .broker-panel::before,
  .broker-panel::after,
  .broker-panel-icon,
  .broker-panel h3,
  .broker-panel .broker-panel-subtitle,
  .broker-help-grid span,
  .broker-coverage-item,
  .broker-coverage-check {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  * { scroll-behavior: auto !important; }
  .marquee-track,
  .coverage-pill-track,
  .hero::before,
  .hero-glow-one,
  .hero-glow-two,
  .pulse,
  .mini-icon,
  .btn-gold::after,
  .portrait-frame::after,
  .hero-ring,
  .portrait-card-top,
  .portrait-card-bottom { animation: none !important; }
  .hero-animate,
  .portrait-frame,
  .portrait-card,
  .site-header { opacity: 1 !important; transform: none !important; filter: none !important; }
}



/* HERO UPDATE: transparent portrait, larger subject, no halo */
.hero-visual {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.hero-visual::before,
.hero::before,
.portrait-frame::after,
.hero-ring {
  display: none !important;
}
.portrait-frame {
  max-width: 560px;
  margin-left: auto;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  border-radius: 0 !important;
}
.portrait-frame::before {
  content: "";
  position: absolute;
  inset: 10px 16px 12px 16px;
  border: 1px solid rgba(244,200,90,.22);
  border-radius: 260px 260px 32px 32px;
  z-index: 0;
  pointer-events: none;
}
.portrait-frame img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 690px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  border-radius: 0 !important;
  filter: none !important;
}
.portrait-card-top { right: -18px; top: 27%; }
.portrait-card-bottom { left: -18px; bottom: 16%; }
@media (max-width: 1020px) {
  .portrait-frame { max-width: 500px; }
  .portrait-frame img { height: 610px !important; }
}
@media (max-width: 760px) {
  .portrait-frame {
    max-width: 420px;
    margin: 0 auto;
  }
  .portrait-frame::before {
    inset: 14px 10px 12px 10px;
    border-radius: 220px 220px 28px 28px;
  }
  .portrait-frame img { height: 520px !important; }
  .portrait-card-top { right: 0; top: 24%; }
  .portrait-card-bottom { left: 0; bottom: 14%; }
}



/* =========================================================
   RESPONSIVE SYSTEM — desktop, laptop, tablet and mobile
   ========================================================= */

html {
  scroll-padding-top: 96px;
}

body {
  overflow-x: hidden;
}

img,
video,
svg,
iframe {
  max-width: 100%;
}

.mobile-menu-toggle,
.mobile-nav-cta {
  display: none;
}

/* Keep long desktop headings controlled instead of overflowing */
.hero h1,
.section-heading h2,
.audience-copy h2,
.about-copy h2,
.cta-card h2,
.contact-copy h2 {
  overflow-wrap: normal;
}

@media (max-width: 1280px) {
  .container {
    width: min(1120px, calc(100% - 48px));
  }

  .main-nav {
    gap: 24px;
  }

  .hero-grid {
    gap: 44px;
  }

  .hero h1 {
    font-size: clamp(3.4rem, 5.8vw, 5.5rem);
  }

  .portrait-frame {
    max-width: 500px;
  }

  .coverage-layout {
    gap: 30px;
  }

  .broker-banner-wrap {
    min-height: 520px;
  }

  .audience-grid {
    gap: 44px;
  }

  .broker-panels-grid {
    gap: 16px;
  }
}

@media (max-width: 1050px) {
  .container {
    width: min(920px, calc(100% - 40px));
  }

  /* Header */
  .nav-wrap {
    height: 76px;
    gap: 18px;
  }

  .brand-copy small {
    font-size: .66rem;
  }

  .main-nav {
    gap: 18px;
  }

  .main-nav a {
    font-size: .84rem;
  }

  .desktop-header-cta {
    padding-inline: 16px;
  }

  /* Hero turns into one clean vertical layout on tablets */
  .hero {
    min-height: auto;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 54px 0 68px;
  }

  .hero-copy {
    max-width: 780px;
  }

  .hero h1 {
    max-width: 780px;
    font-size: clamp(3.7rem, 8vw, 5.7rem);
  }

  .hero-visual {
    justify-content: center;
  }

  .portrait-frame {
    width: min(100%, 540px);
    margin-inline: auto;
  }

  .portrait-frame img {
    height: 620px !important;
  }

  /* Coverage / plan area */
  .coverage-layout {
    grid-template-columns: 1fr;
  }

  .coverage-copy-column {
    position: static;
  }

  .section-heading.split-left {
    max-width: 760px;
  }

  .coverage-grid {
    width: 100%;
  }

  /* Broker presentation */
  .audience-grid {
    grid-template-columns: 1fr;
  }

  .audience-image {
    width: min(100%, 600px);
    margin-inline: auto;
  }

  .audience-copy {
    max-width: 820px;
    margin-inline: auto;
  }

  .audience-copy h2 {
    max-width: 820px;
  }

  .broker-panels-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .broker-cta-card {
    grid-column: 1 / -1;
  }

  /* Process */
  .process-steps {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .process-arrow {
    display: none;
  }

  /* About */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-image-wrap {
    width: min(100%, 650px);
    margin-inline: auto;
  }

  /* CTA */
  .cta-card {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .cta-actions {
    max-width: 420px;
  }

  /* Contact */
  .contact-shell {
    grid-template-columns: 1fr;
  }
}

/* Mobile/tablet navigation activates here */
@media (max-width: 900px) {
  .site-header {
    overflow: visible;
  }

  .nav-wrap {
    position: relative;
    height: 72px;
  }

  .desktop-header-cta {
    display: none;
  }

  .mobile-menu-toggle {
    appearance: none;
    -webkit-appearance: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
    display: grid;
    place-content: center;
    gap: 5px;
    cursor: pointer;
    z-index: 72;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transition:
      transform .25s ease,
      opacity .2s ease,
      width .25s ease;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    width: 0;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .main-nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 70;
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(4, 20, 38, .985);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 22px 60px rgba(0,0,0,.28);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(.985);
    transform-origin: top;
    pointer-events: none;
    transition:
      opacity .22s ease,
      visibility .22s ease,
      transform .22s ease;
  }

  .main-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .main-nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 12px;
    font-size: .95rem;
    color: rgba(255,255,255,.86);
  }

  .main-nav a:hover,
  .main-nav a:focus-visible {
    background: rgba(255,255,255,.07);
    color: #fff;
  }

  .main-nav .mobile-nav-cta {
    display: flex;
    justify-content: center;
    margin-top: 6px;
    background: var(--gold);
    color: var(--navy-950);
    font-weight: 900;
  }

  .main-nav .mobile-nav-cta:hover {
    background: #ffd56f;
    color: var(--navy-950);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 82px;
  }

  .container {
    width: min(100% - 28px, 720px);
  }

  .section {
    padding: 68px 0;
  }

  /* Header */
  .brand {
    gap: 9px;
    min-width: 0;
  }

  .brand-mark {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
  }

  .brand-copy {
    min-width: 0;
  }

  .brand-copy strong {
    font-size: .94rem;
  }

  .brand-copy small {
    display: block !important;
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: .59rem;
  }

  /* Hero */
  .hero-grid {
    padding: 42px 0 56px;
  }

  .hero-visual {
    order: -1;
  }

  .portrait-frame {
    width: min(100%, 410px);
  }

  .portrait-frame img {
    height: min(520px, 125vw) !important;
  }

  .portrait-card {
    min-width: 148px;
    max-width: 185px;
  }

  .portrait-card-top {
    top: 22%;
    right: -2px;
  }

  .portrait-card-bottom {
    left: -2px;
    bottom: 9%;
  }

  .hero h1 {
    font-size: clamp(3.15rem, 14vw, 4.8rem);
    line-height: .96;
  }

  .hero-line.combo > span,
  .hero-line.combo {
    white-space: normal !important;
  }

  .hero-lead {
    max-width: 100%;
  }

  .hero-actions {
    grid-template-columns: 1fr;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .hero-proof {
    grid-template-columns: 1fr;
  }

  /* Scrolling coverage pills */
  .coverage-strip-heading h3 {
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.15;
  }

  .coverage-pill {
    min-height: 40px;
    padding-inline: 16px;
    font-size: .87rem;
  }

  /* Banner */
  .broker-banner-section {
    padding-top: 24px;
  }

  .broker-banner-wrap {
    min-height: 470px;
    border-radius: 24px;
  }

  .broker-banner-card {
    width: calc(100% - 22px);
    padding: 24px 18px 28px;
  }

  .broker-banner-card h2 {
    font-size: clamp(1.8rem, 8vw, 2.45rem);
    line-height: 1.06;
  }

  /* Coverage plans */
  .coverage-layout {
    gap: 22px;
  }

  .section-heading.split-left {
    text-align: left;
  }

  .section-heading.split-left .coverage-intro-pills {
    justify-content: flex-start;
  }

  .coverage-card {
    padding: 22px;
    border-radius: 24px;
  }

  .coverage-card-topline {
    align-items: flex-start;
  }

  .coverage-card-action {
    display: grid;
    grid-template-columns: 1fr;
  }

  .coverage-card-action .coverage-cta-link {
    width: 100%;
    justify-content: center;
  }

  /* Broker presentation */
  .audience {
    overflow: hidden;
  }

  .audience-grid {
    gap: 28px;
  }

  .audience-portrait-shell {
    padding: 12px;
    border-radius: 26px;
  }

  .audience-image img {
    height: min(560px, 128vw);
  }

  .audience-floating-card {
    position: absolute;
    min-width: 0;
    width: min(190px, 52%);
    padding: 10px 12px;
  }

  .audience-floating-top {
    right: 10px;
    top: 18px;
  }

  .image-badge {
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 14px;
  }

  .audience-copy h2 {
    font-size: clamp(2.75rem, 12vw, 4rem) !important;
    line-height: .98;
  }

  .audience-line,
  .audience-mid-line,
  .audience-last-line {
    white-space: normal !important;
  }

  .broker-value-row {
    gap: 8px;
  }

  .broker-panels-grid {
    grid-template-columns: 1fr;
  }

  .broker-cta-card {
    grid-column: auto;
  }

  .broker-help-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Process */
  .process .section-heading {
    margin-bottom: 34px;
  }

  .process .section-heading h2 {
    font-size: clamp(2.1rem, 9vw, 3.1rem);
  }

  .process-card {
    min-height: auto;
    padding: 28px 22px;
  }

  /* Reviews */
  .section-heading.split {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .reviews-marquee-shell::before,
  .reviews-marquee-shell::after {
    width: 34px;
  }

  .review-card {
    flex-basis: min(82vw, 320px);
  }

  .review-card.active {
    transform: translateY(-5px) scale(1.015);
  }

  /* About */
  .about-copy h2 {
    font-size: clamp(2.45rem, 11vw, 3.5rem);
  }

  .about-image-wrap img {
    height: min(560px, 125vw);
  }

  /* Main CTA */
  .cta-section {
    padding-bottom: 68px;
  }

  .cta-card {
    padding: 32px 22px;
    border-radius: 24px;
  }

  .cta-card h2 {
    font-size: clamp(2.35rem, 10vw, 3.4rem);
  }

  .cta-actions {
    width: 100%;
  }

  .cta-actions .btn {
    width: 100%;
  }

  /* Contact form */
  .contact-section {
    padding: 68px 0;
  }

  .contact-shell {
    padding: 10px;
    border-radius: 26px;
  }

  .contact-copy,
  .contact-form-wrap {
    padding: 24px 20px;
  }

  .contact-copy h2 {
    font-size: clamp(2.3rem, 10vw, 3.2rem);
  }

  .contact-fields {
    grid-template-columns: 1fr;
  }

  .contact-field.full {
    grid-column: auto;
  }

  .contact-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .contact-form-actions .btn {
    width: 100%;
  }

  /* Footer */
  .footer-grid {
    align-items: flex-start;
  }

  .footer-links {
    gap: 16px 22px;
  }
}

@media (max-width: 520px) {
  .container {
    width: calc(100% - 22px);
  }

  .nav-wrap {
    height: 68px;
  }

  .brand-copy small {
    max-width: 145px;
  }

  .mobile-menu-toggle {
    width: 42px;
    height: 42px;
  }

  .hero h1 {
    font-size: clamp(2.85rem, 15vw, 4rem);
  }

  .hero-proof {
    gap: 10px;
  }

  .portrait-frame {
    width: 100%;
  }

  .portrait-frame img {
    height: min(475px, 130vw) !important;
  }

  .portrait-card {
    transform: scale(.9);
  }

  .broker-help-grid {
    grid-template-columns: 1fr;
  }

  .broker-panel {
    padding: 20px 17px;
  }

  .broker-list {
    grid-template-columns: 1fr !important;
  }

  .process-card {
    border-radius: 22px;
  }

  .review-card {
    flex-basis: min(86vw, 300px);
  }

  .broker-banner-card {
    padding-inline: 16px;
  }

  .broker-banner-card h2 {
    font-size: clamp(1.7rem, 9vw, 2.25rem);
  }

  .legal,
  .footer-grid {
    gap: 18px;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  .brand-copy small {
    display: none !important;
  }

  .hero h1 {
    font-size: 2.75rem;
  }

  .btn {
    min-height: 48px;
    padding-inline: 18px;
  }

  .portrait-card {
    max-width: 155px;
    font-size: .8rem;
  }

  .coverage-pill {
    font-size: .8rem;
  }

  .audience-copy h2 {
    font-size: 2.65rem !important;
  }

  .review-card {
    flex-basis: 88vw;
  }
}
