:root {
  --navy-950: #061522;
  --navy-900: #071b2f;
  --navy-800: #0c2c48;
  --blue-700: #14568a;
  --blue-100: #e9f3fa;
  --gold-500: #d4a84f;
  --gold-300: #ecd493;
  --cream: #f7f4ec;
  --paper: #fffefa;
  --mauve-100: #eee3e6;
  --mauve-200: #dfcdd2;
  --mauve-ink: #63434d;
  --ink: #102436;
  --muted: #5b6b78;
  --line: #d9e0e4;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(7, 27, 47, 0.12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 16px; top: -70px; z-index: 1000; padding: 12px 18px; background: var(--white); color: var(--navy-900); border-radius: 10px; font-weight: 700; }
.skip-link:focus { top: 16px; }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1180px, calc(100% - 48px));
  min-height: 190px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  color: var(--white);
}
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1; letter-spacing: .02em; }
.brand-logo { display: block; width: 150px; height: 150px; object-fit: contain; filter: drop-shadow(0 11px 22px rgba(0,0,0,.3)); }
.brand strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 500; }
.brand small { display: block; margin-top: 5px; color: var(--gold-300); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.site-header nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 650; }
.site-header nav a { text-decoration: none; color: rgba(255,255,255,.8); transition: color .2s, background .2s, border-color .2s; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--white); }
.site-header .nav-cta { padding: 10px 16px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: var(--white); }
.site-header .nav-cta:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 790px;
  padding: 176px max(24px, calc((100vw - 1180px) / 2)) 0;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 78px;
  align-content: start;
  background:
    linear-gradient(120deg, rgba(212,168,79,.06), transparent 38%),
    radial-gradient(circle at 78% 34%, rgba(20,86,138,.48), transparent 29%),
    var(--navy-900);
  color: var(--white);
}
.hero::before { content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, transparent 5%, black 55%, transparent 100%); }
.hero-glow { position: absolute; border: 1px solid rgba(236,212,147,.16); border-radius: 50%; pointer-events: none; }
.hero-glow-one { width: 620px; height: 620px; right: -250px; top: -110px; }
.hero-glow-two { width: 400px; height: 400px; right: -50px; top: 4px; }
.hero-content, .hero-panel, .trust-strip { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 11px; color: var(--gold-300); text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 800; }
.eyebrow span { width: 26px; height: 1px; background: currentColor; }
.eyebrow.dark { color: var(--blue-700); justify-content: center; }
.eyebrow.dark.align-left { justify-content: flex-start; }
.hero h1 { margin: 0; max-width: 720px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(48px, 5.1vw, 74px); line-height: 1.04; letter-spacing: -.035em; }
.hero-copy { max-width: 650px; margin: 27px 0 0; color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 23px; border: 0; border-radius: 9px; cursor: pointer; text-decoration: none; font-size: 14px; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .filter-chip:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #79c5f3; outline-offset: 3px; }
.button-primary { background: var(--gold-500); color: var(--navy-950); box-shadow: 0 12px 30px rgba(212,168,79,.16); }
.button-primary:hover { background: #e0b75f; box-shadow: 0 16px 35px rgba(212,168,79,.22); }
.button-quiet { border: 1px solid rgba(255,255,255,.23); color: var(--white); background: rgba(255,255,255,.04); }
.button-quiet:hover { background: rgba(255,255,255,.1); }
.affiliation-note { max-width: 580px; margin-top: 26px; color: rgba(255,255,255,.47); font-size: 11.5px; }

.hero-panel { align-self: center; margin-top: -18px; padding: 30px; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.025)); box-shadow: 0 32px 80px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.panel-orbit { position: relative; height: 142px; display: grid; place-items: center; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(236,212,147,.21); }
.orbit-one { width: 126px; height: 126px; }
.orbit-two { width: 86px; height: 86px; border-color: rgba(236,212,147,.44); }
.orbit-center { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--gold-500); color: var(--navy-950); font-family: Georgia, serif; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.orbit-one::after, .orbit-two::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-300); box-shadow: 0 0 17px var(--gold-300); }
.orbit-one::after { top: 13px; right: 18px; }
.orbit-two::after { left: -4px; top: 38px; width: 6px; height: 6px; }
.panel-kicker { margin: 4px 0 12px; text-align: center; color: var(--gold-300); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.path-list { margin: 0; padding: 0; list-style: none; }
.path-list li { display: flex; gap: 15px; align-items: flex-start; padding: 15px 4px; border-top: 1px solid rgba(255,255,255,.1); }
.path-list li > span { color: var(--gold-300); font-size: 10px; letter-spacing: .1em; }
.path-list strong, .path-list small { display: block; }
.path-list strong { font-family: Georgia, serif; font-size: 17px; font-weight: 400; }
.path-list small { margin-top: 3px; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.45; }
.trust-strip { grid-column: 1 / -1; align-self: end; margin-top: 72px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.13); }
.trust-strip > div { position: relative; display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; padding: 27px 30px 29px; }
.trust-strip > div:not(:last-child)::after { content: ""; position: absolute; top: 23px; right: 0; height: 46px; width: 1px; background: rgba(255,255,255,.12); }
.check { grid-row: 1 / 3; display: grid; place-items: center; width: 30px; height: 30px; margin-top: 3px; border-radius: 50%; background: rgba(212,168,79,.12); color: var(--gold-300); }
.trust-strip strong { font-family: Georgia, serif; font-size: 16px; font-weight: 400; }
.trust-strip small { color: rgba(255,255,255,.48); font-size: 11px; }

.comparison-section { padding: 112px max(24px, calc((100vw - 1180px) / 2)) 118px; background: var(--paper); }
.section-intro { max-width: 765px; margin: 0 auto 55px; text-align: center; }
.section-intro h2, .review-copy h2 { margin: 0; font-family: Georgia, serif; font-weight: 400; font-size: clamp(39px, 4vw, 56px); line-height: 1.08; letter-spacing: -.025em; }
.section-intro > p:last-child { max-width: 670px; margin: 22px auto 0; color: var(--muted); font-size: 17px; }
.overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 27px; }
.overview-card { position: relative; overflow: hidden; min-height: 260px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); }
.overview-card::after { content: ""; position: absolute; right: -62px; bottom: -85px; width: 190px; height: 190px; border: 1px solid currentColor; border-radius: 50%; opacity: .08; box-shadow: 0 0 0 38px currentColor; }
.fegli-card { background: #eef6fb; border-color: #cbdfe9; }
.private-card { background: #f8f3e6; border-color: #e5dbc1; }
.card-label { display: flex; align-items: center; gap: 10px; color: var(--blue-700); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.private-card .card-label { color: #83601e; }
.card-label span, .column-badge { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--white); background: var(--blue-700); font-family: Georgia, serif; font-size: 13px; }
.private-card .card-label span, .column-badge.private { background: #997124; }
.overview-card h3 { margin: 18px 0 10px; font-family: Georgia, serif; font-weight: 400; font-size: 27px; }
.overview-card p { max-width: 510px; margin: 0; color: #495e6d; font-size: 14px; }
.overview-card a, .source-note { position: relative; z-index: 1; display: inline-block; margin-top: 20px; font-size: 12px; font-weight: 800; color: var(--blue-700); text-underline-offset: 4px; }
.source-note { color: #806838; }

.explorer { overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: var(--white); box-shadow: var(--shadow); }
.explorer-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; padding: 31px 34px 20px; }
.mini-label { margin: 0 0 7px; color: var(--blue-700); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .15em; }
.explorer h3, .considerations h3, .review-form h3 { margin: 0; font-family: Georgia, serif; font-size: 27px; font-weight: 400; line-height: 1.2; }
.filter-status { margin: 0; color: var(--muted); font-size: 12px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 34px 25px; }
.filter-chip { min-height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: #3a5060; cursor: pointer; font-size: 12px; font-weight: 750; transition: .2s; }
.filter-chip:hover { border-color: var(--blue-700); color: var(--blue-700); }
.filter-chip.active { background: var(--navy-900); color: var(--white); border-color: var(--navy-900); }
.comparison-table { border-top: 1px solid var(--line); }
.comparison-header, .comparison-row { display: grid; grid-template-columns: .72fr 1fr 1fr; }
.comparison-header { background: var(--navy-900); color: var(--white); }
.comparison-header > div { display: flex; align-items: center; gap: 9px; padding: 17px 22px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.comparison-header > div + div { border-left: 1px solid rgba(255,255,255,.12); }
.column-badge { width: 24px; height: 24px; background: #216a9b; font-size: 11px; }
.comparison-row { border-bottom: 1px solid var(--line); animation: reveal .35s ease both; }
.comparison-row[hidden] { display: none; }
@keyframes reveal { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.comparison-row > div { min-width: 0; padding: 23px 22px; color: #435766; font-size: 13px; line-height: 1.62; }
.comparison-row > div + div { border-left: 1px solid var(--line); }
.comparison-row > div:first-child { position: relative; display: grid; grid-template-columns: 34px 1fr; align-content: start; column-gap: 10px; background: #f8fafb; color: var(--ink); }
.row-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: var(--blue-100); color: var(--blue-700); font-weight: 800; }
.comparison-row strong { font-family: Georgia, serif; font-size: 15px; font-weight: 400; }
.comparison-row small { display: block; margin-top: 2px; color: #73818b; font-size: 10px; }
.mobile-column { display: none; }
.balance-note { display: flex; gap: 13px; align-items: flex-start; padding: 22px 34px; background: #f7f3e8; color: #5c523a; }
.balance-note > span { flex: 0 0 auto; display: grid; place-items: center; width: 25px; height: 25px; margin-top: 1px; border-radius: 50%; border: 1px solid #aa8b4d; font-family: Georgia, serif; font-size: 13px; }
.balance-note p { margin: 0; font-size: 12px; line-height: 1.65; }

.considerations { margin-top: 86px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; scroll-margin-top: 20px; }
.considerations-intro { padding-top: 10px; }
.considerations-intro h3 { font-size: 36px; }
.considerations-intro > p:last-child { color: var(--muted); }
.accordion-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { position: relative; padding: 20px 38px 20px 0; cursor: pointer; list-style: none; font-family: Georgia, serif; font-size: 17px; }
summary::-webkit-details-marker { display: none; }
summary span { display: inline-block; width: 34px; color: var(--blue-700); font-family: ui-sans-serif, system-ui, sans-serif; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
summary i, summary i::after { position: absolute; top: 50%; right: 2px; width: 13px; height: 1px; background: var(--blue-700); transition: transform .2s; }
summary i::after { content: ""; top: 0; right: 0; transform: rotate(90deg); }
details[open] summary i::after { transform: rotate(0); }
details p { margin: -5px 36px 22px 34px; color: var(--muted); font-size: 13px; }

.retirement-hub { margin-top: 112px; padding: 70px 58px 58px; border: 1px solid #d9dfdc; border-radius: 32px; background: linear-gradient(145deg, #f4f7f5, #fbfaf5 58%, #f5efe0); scroll-margin-top: 24px; }
.retirement-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; }
.retirement-intro h2 { margin: 0; max-width: 700px; font-family: Georgia, serif; font-size: clamp(38px, 4vw, 53px); font-weight: 400; letter-spacing: -.026em; line-height: 1.08; }
.retirement-intro > p { margin: 0 0 3px; color: var(--muted); font-size: 15px; }
.retirement-paths { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-top: 48px; }
.path-card { position: relative; min-height: 245px; padding: 29px 27px; overflow: hidden; border: 1px solid #d7dfdf; border-radius: 19px; background: rgba(255,255,255,.75); }
.path-card.featured { border-color: #c9b37c; background: #fffaf0; box-shadow: 0 18px 45px rgba(78, 62, 28, .08); }
.path-number { position: absolute; right: 22px; top: 18px; color: #bdc9ce; font-family: Georgia, serif; font-size: 30px; }
.path-card.featured .path-number { color: #d0ae61; }
.path-card h3 { margin: 26px 0 10px; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.path-card > p:last-child { margin: 0; color: var(--muted); font-size: 12.5px; }

.income-explorer { display: grid; grid-template-columns: .72fr 1.28fr; gap: 0; margin-top: 18px; overflow: hidden; border-radius: 23px; background: var(--navy-900); color: var(--white); box-shadow: 0 25px 60px rgba(7,27,47,.18); }
.income-control { padding: 38px 32px; border-right: 1px solid rgba(255,255,255,.12); background: linear-gradient(150deg, rgba(255,255,255,.05), transparent); }
.income-control .mini-label { color: var(--gold-300); }
.income-control h3 { margin: 0; font-family: Georgia, serif; font-size: 29px; font-weight: 400; line-height: 1.16; }
.income-control > p:not(.mini-label) { margin: 13px 0 22px; color: rgba(255,255,255,.56); font-size: 12px; }
.income-buttons { display: grid; gap: 7px; }
.income-focus { min-height: 41px; padding: 0 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.68); cursor: pointer; text-align: left; font-size: 11px; font-weight: 750; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.income-focus:hover { color: var(--white); border-color: rgba(236,212,147,.5); transform: translateX(2px); }
.income-focus.active { color: var(--navy-950); border-color: var(--gold-500); background: var(--gold-500); }
.income-panels { position: relative; min-height: 397px; padding: 44px; }
.income-panel { position: relative; animation: reveal .35s ease both; }
.income-panel[hidden] { display: none; }
.income-panel .mini-label { color: var(--gold-300); }
.panel-index { position: absolute; right: 0; top: -24px; color: rgba(255,255,255,.055); font-family: Georgia, serif; font-size: 155px; line-height: 1; }
.income-panel h3 { position: relative; max-width: 500px; margin: 0; font-family: Georgia, serif; font-size: 32px; font-weight: 400; line-height: 1.17; }
.income-panel ul { position: relative; margin: 25px 0 0; padding: 0; list-style: none; }
.income-panel li { position: relative; padding: 13px 0 13px 26px; border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.7); font-size: 13px; }
.income-panel li::before { content: ""; position: absolute; left: 1px; top: 21px; width: 8px; height: 8px; border: 1px solid var(--gold-300); border-radius: 50%; }

.bonus-callout { margin-top: 18px; padding: 31px 34px; border: 1px solid #dfd1ab; border-radius: 20px; background: #fff9ec; }
.bonus-heading { display: flex; align-items: center; gap: 17px; }
.bonus-heading > span { flex: 0 0 auto; display: grid; place-items: center; width: 53px; height: 53px; border-radius: 16px; background: #8b6b28; color: var(--white); font-family: Georgia, serif; font-size: 24px; }
.bonus-heading .mini-label { color: #8b6b28; }
.bonus-heading h3 { margin: 0; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.bonus-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 26px; border-top: 1px solid #e5d9b9; }
.bonus-grid > div { padding: 20px 17px 2px; }
.bonus-grid > div:not(:last-child) { border-right: 1px solid #e5d9b9; }
.bonus-grid strong, .bonus-grid small { display: block; }
.bonus-grid strong { color: #5a4825; font-family: Georgia, serif; font-size: 14px; font-weight: 400; }
.bonus-grid small { margin-top: 4px; color: #827350; font-size: 10px; line-height: 1.5; }

.survivor-grid { display: grid; grid-template-columns: 1.18fr repeat(3, 1fr); gap: 14px; margin-top: 50px; }
.survivor-heading { padding: 23px 26px 23px 0; }
.survivor-heading h3 { margin: 0; font-family: Georgia, serif; font-size: 31px; font-weight: 400; line-height: 1.15; }
.survivor-heading > p:last-child { color: var(--muted); font-size: 12px; }
.survivor-grid article { min-height: 270px; display: flex; flex-direction: column; padding: 24px; border: 1px solid #d6dede; border-radius: 18px; background: rgba(255,255,255,.72); }
.survivor-grid article > span { color: var(--blue-700); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.survivor-grid h4 { margin: 24px 0 9px; font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.survivor-grid article p { margin: 0; color: var(--muted); font-size: 11.5px; }
.survivor-grid article a { margin-top: auto; padding-top: 18px; color: var(--blue-700); font-size: 10px; font-weight: 800; text-underline-offset: 3px; }
.income-explorer[hidden], .bonus-callout[hidden], .survivor-grid[hidden] { display: none !important; }
.retirement-review { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: 20px; padding: 27px 29px; border-radius: 18px; background: var(--navy-900); color: var(--white); }
.retirement-review .mini-label { color: var(--gold-300); }
.retirement-review h3 { margin: 0; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.retirement-review p:last-child { max-width: 720px; margin: 8px 0 0; color: rgba(255,255,255,.65); font-size: 11.5px; }
.retirement-review .button { flex: 0 0 auto; }
.retirement-disclosure { display: flex; gap: 13px; align-items: flex-start; margin-top: 18px; padding: 20px 22px; border-radius: 13px; background: #e7eef0; color: #445a68; }
.retirement-disclosure > span { flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #648296; border-radius: 50%; font-family: Georgia, serif; }
.retirement-disclosure p { margin: 0; font-size: 11px; line-height: 1.65; }

.review-page { background: #f7f4ec; }
.review-header { position: relative; left: auto; transform: none; width: min(1180px, calc(100% - 48px)); margin: 0 auto; color: var(--navy-900); border-bottom-color: #d9e0e4; }
.review-header .brand small { color: #997124; }
.review-header nav a { color: #4a6272; }
.review-header nav a:hover, .review-header nav a:focus-visible { color: var(--navy-900); }
.review-main { max-width: 1180px; margin: 0 auto; padding: 56px 0 88px; }
.review-hero { padding: 72px 8.4%; border-radius: 30px; background: radial-gradient(circle at 83% 18%, rgba(20,86,138,.32), transparent 31%), linear-gradient(135deg, #071b2f, #0d3858); color: var(--white); box-shadow: 0 28px 65px rgba(7,27,47,.18); }
.review-hero h1 { max-width: 815px; margin: 0; font-family: Georgia, serif; font-size: clamp(42px, 5.6vw, 68px); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
.review-hero > p:not(.eyebrow):not(.review-note) { max-width: 690px; margin: 23px 0 0; color: rgba(255,255,255,.72); font-size: 17px; }
.review-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.review-note { margin: 20px 0 0; color: rgba(255,255,255,.5); font-size: 12px; }
.review-steps { padding: 92px 6.3% 80px; color: var(--ink); }
.review-steps .section-intro h2 { color: var(--navy-900); }
.review-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 38px; }
.review-step-grid article { min-height: 210px; padding: 28px; border: 1px solid #d9e0e4; border-radius: 19px; background: #fffefa; }
.review-step-grid span { color: #997124; font-size: 13px; font-weight: 850; letter-spacing: .14em; }
.review-step-grid h3 { margin: 24px 0 10px; font-family: Georgia, serif; font-size: 32px; font-weight: 400; }
.review-step-grid p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.review-topic-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 68px; align-items: center; padding: 60px 6.3%; border-radius: 26px; background: #eaf2f5; }
.review-topic-section h2 { margin: 0; color: var(--navy-900); font-family: Georgia, serif; font-size: clamp(33px, 3.4vw, 48px); font-weight: 400; line-height: 1.1; }
.review-topic-links { border-top: 1px solid #cbd8de; }
.review-topic-links a { display: block; padding: 20px 4px; border-bottom: 1px solid #cbd8de; text-decoration: none; }
.review-topic-links strong, .review-topic-links span { display: block; }
.review-topic-links strong { color: var(--blue-700); font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.review-topic-links span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.review-disclosure { max-width: 980px; margin: 28px auto 0; }
@media (max-width: 760px) { .review-header { width: min(100% - 30px, 1180px); min-height: 120px; } .review-header .brand-logo { width: 92px; height: 92px; } .review-header nav { gap: 14px; font-size: 12px; } .review-main { padding: 24px 15px 56px; } .review-hero { padding: 48px 28px; } .review-steps { padding: 65px 10px; } .review-step-grid, .review-topic-section { grid-template-columns: 1fr; } .review-topic-section { gap: 32px; padding: 40px 25px; } }
@media (max-width: 760px) { .coverage-type-grid { grid-template-columns: 1fr; } }

.review-section { padding: 112px max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; background: var(--navy-900); color: var(--white); }
.review-copy { padding-top: 18px; }
.review-copy > p:not(.eyebrow) { color: rgba(255,255,255,.63); font-size: 16px; }
.review-points { margin: 27px 0 34px; padding: 0; list-style: none; }
.review-points li { display: flex; gap: 11px; padding: 8px 0; color: rgba(255,255,255,.78); font-size: 13px; }
.review-points span { color: var(--gold-300); }
.advisor-card { display: flex; align-items: center; gap: 14px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); }
.advisor-monogram { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(236,212,147,.45); border-radius: 50%; color: var(--gold-300); font-family: Georgia, serif; }
.advisor-card strong, .advisor-card small { display: block; }
.advisor-card strong { font-family: Georgia, serif; font-size: 16px; font-weight: 400; }
.advisor-card small { margin-top: 3px; color: rgba(255,255,255,.46); font-size: 10px; }
.review-form { padding: 37px; border-radius: 25px; background: var(--white); color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.24); }
.form-heading { margin-bottom: 25px; }
.form-heading > p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { display: block; margin-bottom: 16px; }
.field > span, fieldset legend { display: block; margin-bottom: 7px; color: #354b5b; font-size: 11px; font-weight: 800; }
.field em { color: #7d8992; font-style: normal; font-weight: 500; }
input, select, textarea { width: 100%; border: 1px solid #d4dde2; border-radius: 8px; background: #fbfcfc; color: var(--ink); }
input, select { height: 46px; padding: 0 12px; }
textarea { padding: 11px 12px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #97a3aa; }
fieldset { margin: 0 0 16px; padding: 0; border: 0; }
.check-option { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #edf0f2; color: #465b6a; font-size: 12px; cursor: pointer; }
.check-option input { width: 17px; height: 17px; accent-color: var(--blue-700); }
.form-button { width: 100%; }
.form-privacy { display: flex; align-items: center; gap: 8px; margin: 11px 0 0; color: #78858e; font-size: 10px; }
.direct-contact { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 23px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 10px; }
.direct-contact span { width: 100%; color: #74818a; }
.direct-contact a { color: var(--blue-700); font-weight: 750; }

footer { padding: 48px max(24px, calc((100vw - 1180px) / 2)) 30px; background: var(--navy-950); color: rgba(255,255,255,.55); }
.footer-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-top p { font-family: Georgia, serif; color: rgba(255,255,255,.5); font-style: italic; }
.footer-brand { color: var(--white); }
.disclosure { padding: 27px 0 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.disclosure p { margin: 0 0 11px; max-width: 1100px; font-size: 10px; line-height: 1.7; }
.disclosure strong { color: rgba(255,255,255,.74); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 22px; padding-top: 24px; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.footer-bottom a { color: var(--gold-300); text-underline-offset: 3px; }

@media (max-width: 960px) {
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 44px; padding-top: 158px; }
  .hero-content { max-width: 740px; }
  .hero-panel { width: min(560px, 100%); margin: 0; }
  .trust-strip { margin-top: 18px; }
  .considerations { grid-template-columns: 1fr; gap: 30px; }
  .considerations-intro { max-width: 620px; }
  .retirement-hub { padding: 58px 38px 42px; }
  .retirement-intro { grid-template-columns: 1fr; gap: 22px; }
  .retirement-intro > p { max-width: 680px; }
  .retirement-paths { grid-template-columns: 1fr; }
  .path-card { min-height: 0; }
  .retirement-review { align-items: flex-start; flex-direction: column; }
  .income-explorer { grid-template-columns: 1fr; }
  .income-control { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .income-buttons { display: flex; flex-wrap: wrap; }
  .income-focus { padding: 0 12px; }
  .survivor-grid { grid-template-columns: repeat(3, 1fr); }
  .survivor-heading { grid-column: 1 / -1; max-width: 650px; }
  .review-section { grid-template-columns: 1fr; gap: 50px; }
  .review-copy { max-width: 680px; }
}

.inline-review-link { display: block; margin: 14px 0 10px; color: var(--navy-900); font-weight: 750; }
.benefits-home { min-height: 100vh; background: linear-gradient(135deg, #071b2f, #0c2c48 55%, #14568a); color: var(--white); }
.benefits-home footer { background: transparent; }.benefits-main { max-width: 1180px; margin: 0 auto; padding: 234px 24px 86px; }.benefits-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr); gap: 32px; align-items: end; min-height: 490px; }.benefits-hero-copy { align-self: center; max-width: 820px; }.benefits-hero h1, .topic-hero h1 { margin: 12px 0 20px; font-family: Georgia, serif; line-height: 1.02; font-weight: 400; letter-spacing: -.03em; }.benefits-hero h1 { max-width: 810px; font-size: clamp(2.8rem, 5.8vw, 5rem); }.topic-hero h1 { font-size: clamp(2.8rem, 6vw, 5.2rem); }.benefits-hero-copy > p:last-child, .topic-hero > p:last-child { color: rgba(255,255,255,.75); font-size: 1.1rem; }
.hero-mission { margin: 0 0 16px; color: var(--gold-300); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 2vw, 1.38rem); font-weight: 700; letter-spacing: .035em; line-height: 1.25; text-transform: uppercase; }.review-hero .hero-mission { margin-top: 14px; }.questionnaire-hero .hero-mission { margin: 12px 0 14px; }
.paladin-guardian { display: block; justify-self: end; align-self: end; width: min(355px, 100%); max-height: 535px; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 28px 45px rgba(0,0,0,.34)); }
.ferp-definition { display: flex; align-items: baseline; gap: 16px; margin-bottom: 23px; color: var(--white); }
.ferp-definition strong { font-family: Georgia, serif; font-size: clamp(3rem, 5.8vw, 5.25rem); font-weight: 400; line-height: .9; letter-spacing: .025em; }
.ferp-definition span { color: var(--gold-300); font-size: clamp(1rem, 1.7vw, 1.35rem); font-weight: 750; letter-spacing: .04em; }
.benefits-home .brand { display: inline-flex; align-items: center; gap: 17px; width: auto; }
.benefits-home .brand-logo { width: 142px; height: 142px; flex: 0 0 142px; }
.benefits-home .brand > span { display: block; min-width: 0; }
.benefits-home .brand strong { font-size: 1.58rem; line-height: 1.08; white-space: nowrap; }
.benefits-home .brand small { margin-top: 7px; color: var(--gold-300); font-size: .86rem; letter-spacing: .075em; line-height: 1.25; white-space: nowrap; }
.benefits-hero .benefits-subline { max-width: 660px; color: rgba(255,255,255,.62); font-size: .94rem; line-height: 1.55; }
.benefits-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 55px; }.benefit-tab { min-height: 245px; padding: 28px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: rgba(255,255,255,.06); color: var(--white); text-decoration: none; transition: transform .2s, background .2s; }.benefit-tab:hover { transform: translateY(-4px); background: rgba(255,255,255,.12); }.benefit-tab > span, .benefit-tab p { color: var(--gold-300); font-size: .72rem; font-weight: 800; letter-spacing: .14em; }.benefit-tab p { margin: 39px 0 4px; text-transform: uppercase; }.benefit-tab h2 { margin: 0 0 13px; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }.benefit-tab small { color: rgba(255,255,255,.7); font-size: .9rem; line-height: 1.5; }.benefits-disclosure { max-width: 790px; margin: 48px 0 0; color: rgba(255,255,255,.58); font-size: .82rem; }
.age-pathways { margin-top: 46px; padding: clamp(26px, 4vw, 42px); border: 1px solid rgba(236,212,147,.3); border-radius: 24px; background: rgba(255,255,255,.055); }
.age-pathways-heading { display: grid; grid-template-columns: .42fr 1fr 1fr; gap: 24px; align-items: start; }
.age-pathways-heading > p { margin: 7px 0 0; color: var(--gold-300); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.age-pathways-heading h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(1.8rem, 3.2vw, 2.7rem); line-height: 1.08; }
.age-pathways-heading > span { color: rgba(255,255,255,.7); font-size: .9rem; line-height: 1.65; }
.age-pathway-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 28px; }
.age-pathway-grid article { min-width: 0; padding: 19px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(7,27,47,.72); }
.age-pathway-grid strong, .age-pathway-grid span { display: block; }
.age-pathway-grid strong { color: var(--gold-300); font-family: Georgia, serif; font-size: 1.5rem; }
.age-pathway-grid span { min-height: 34px; margin-top: 5px; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.4; }
.age-pathway-grid article > div { display: grid; gap: 6px; margin-top: 15px; }
.age-pathway-grid a { padding: 8px 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: var(--white); font-size: .7rem; font-weight: 800; text-align: center; text-decoration: none; }
.age-pathway-grid a:hover, .age-pathway-grid a:focus-visible { border-color: var(--gold-300); background: rgba(212,168,79,.16); color: var(--gold-300); }
.topic-nav { display: flex; gap: 7px; align-items: center; }.topic-nav a { padding: 9px 13px; border-radius: 999px; color: rgba(255,255,255,.7); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; }.topic-nav a:hover, .topic-nav a.active { background: rgba(212,168,79,.18); color: var(--gold-300); }
.topic-page { background: #f2f5f8; }.topic-hero { padding: 218px max(24px, calc((100vw - 1180px) / 2)) 72px; background: var(--navy-900); color: var(--white); }.topic-hero.health { background: linear-gradient(125deg, #09233a, #17607a); }.topic-content { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 1040px; margin: 0 auto; padding: 68px 24px 86px; }.topic-content article { padding: 36px; border: 1px solid #d9e0e4; border-radius: 20px; background: var(--white); box-shadow: 0 16px 40px rgba(7,27,47,.06); }.topic-content h2 { margin-top: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }.topic-content p, .topic-content li { color: var(--muted); }.topic-content li { margin-bottom: 13px; }.topic-content .button { margin-top: 16px; }
.questionnaire-page { background: linear-gradient(145deg, #eef3f6, #ffffff 48%, #e7edf1); }
.questionnaire-hero { padding: 218px max(24px, calc((100vw - 1180px) / 2)) 76px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 70px; background: var(--navy-900); color: var(--white); }
.questionnaire-hero h1 { max-width: 760px; margin: 10px 0 18px; font-family: Georgia, serif; font-size: clamp(2.35rem, 5vw, 4.5rem); line-height: 1.03; }
.questionnaire-hero > div > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.78); font-size: 1.1rem; line-height: 1.65; }
.questionnaire-hero > div > .fegli-subtitle { margin: 0 0 10px; color: var(--gold-300); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.3rem, 2.3vw, 1.8rem); font-style: italic; font-weight: 700; line-height: 1.25; }
.fegli-source-brief { max-width: 720px; margin-top: 17px; padding: 16px 19px; border-left: 3px solid var(--gold-400); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.06); }.questionnaire-hero > div > .fegli-source-brief p { margin: 0 0 11px; color: rgba(255,255,255,.84); font-size: 1rem; line-height: 1.55; }.questionnaire-hero > div > .fegli-source-brief p:last-child { margin-bottom: 0; }.fegli-source-brief strong { color: var(--gold-300); }.questionnaire-hero > div > .fegli-source-brief .fegli-source-takeaway { margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); color: var(--white); }
.fegli-handbook-link { display: inline-block; margin-top: 14px; color: var(--gold-300); font-size: .88rem; font-weight: 800; text-underline-offset: 4px; }
.questionnaire-note { align-self: center; padding: 25px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.06); }
.questionnaire-note strong { color: var(--gold-500); font-size: 1.05rem; }.questionnaire-note p { line-height: 1.6; color: rgba(255,255,255,.77); }
.questionnaire-wrap { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 36px; max-width: 1180px; padding: 66px 24px 86px; margin: auto; }
.questionnaire-form, .questionnaire-sidebar { border: 1px solid #c9d5dd; border-radius: 20px; background: var(--white); box-shadow: 0 18px 45px rgba(7,27,47,.1); }.questionnaire-form { padding: clamp(25px, 5vw, 52px); color: var(--navy-900); }.questionnaire-form .form-heading h2 { margin: 6px 0 10px; font-family: Georgia, serif; font-size: clamp(1.9rem, 3vw, 2.75rem); }.questionnaire-form fieldset { margin: 28px 0; }
.field-hint { margin: 12px 0 0; color: #556778; font-size: .9rem; }.field-error { color: #af2f2f; font-weight: 700; }.consent-option { display: flex; align-items: flex-start; gap: 11px; margin: 27px 0 18px; color: #31485b; line-height: 1.5; font-size: .93rem; }.consent-option input { margin-top: 4px; inline-size: 18px; block-size: 18px; accent-color: var(--navy-800); flex: 0 0 auto; }
.optional-details { margin: 26px 0; border: 1px solid #d7e0e6; border-radius: 14px; padding: 0 20px; }.optional-details summary { padding: 18px 0; cursor: pointer; color: var(--navy-900); font-weight: 750; }.optional-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; padding: 5px 0 8px; }.optional-details > .field { display: block; padding-bottom: 20px; }.review-reminder { margin: 28px 0; padding: 18px 19px; border-left: 4px solid var(--gold-500); border-radius: 8px; background: #f3f7fa; color: #31485b; line-height: 1.6; }
.questionnaire-sidebar { align-self: start; padding: 30px; color: var(--navy-900); }.questionnaire-sidebar h2 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 1.75rem; }.questionnaire-sidebar h3 { margin-top: 30px; font-size: 1.05rem; }.questionnaire-sidebar p, .questionnaire-sidebar li { line-height: 1.62; color: #43515d; }.questionnaire-sidebar ul { padding-left: 20px; }.sidebar-action { width: 100%; margin-top: 10px; text-align: center; }.tax-source-note { margin-top: 25px; padding: 16px 17px; border-left: 4px solid #b4232d; border-radius: 8px; background: #eef3f6; color: #243d4d; font-size: .78rem; line-height: 1.6; }.tax-source-note a { color: var(--navy-800); font-weight: 800; }.sidebar-contact { margin-top: 30px; }
@media (max-width: 820px) { .questionnaire-hero, .questionnaire-wrap { grid-template-columns: 1fr; gap: 28px; }.questionnaire-hero { padding-top: 174px; padding-bottom: 52px; }.questionnaire-wrap { padding-top: 38px; } }
@media (max-width: 560px) { .optional-grid { grid-template-columns: 1fr; } }

@media (max-width: 720px) {
  .site-header { width: calc(100% - 28px); min-height: 146px; }
  .site-header nav > a:not(.nav-cta) { display: none; }
  .site-header .nav-cta { padding: 8px 13px; font-size: 11px; }
  .site-header .topic-nav { display: flex; gap: 1px; }.site-header .topic-nav a { display: block; padding: 7px 5px; font-size: .62rem; }
  .brand-logo { width: 96px; height: 96px; }
  .brand strong { font-size: 14px; }
  .brand small { font-size: 7px; letter-spacing: .08em; }
  .benefits-home .brand strong { font-size: 1.1rem; }
  .benefits-home .brand small { font-size: .68rem; }
  .ferp-definition { align-items: flex-start; flex-direction: column; gap: 3px; }
  .ferp-definition span { line-height: 1.35; }
  .benefits-home .brand { gap: 10px; }
  .benefits-home .brand-logo { width: 96px; height: 96px; flex-basis: 96px; }
  .benefits-home .brand strong { font-size: .96rem; }
  .benefits-home .brand small { margin-top: 4px; font-size: .51rem; letter-spacing: .045em; }
  .hero { padding: 132px 20px 0; }
  .hero h1 { font-size: clamp(42px, 13.2vw, 58px); }
  .hero-copy { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-panel { padding: 22px; }
  .trust-strip { grid-template-columns: 1fr; padding: 14px 0; }
  .trust-strip > div { padding: 15px 4px; }
  .trust-strip > div:not(:last-child)::after { left: 0; right: auto; top: auto; bottom: 0; height: 1px; width: 100%; }
  .comparison-section { padding: 82px 16px; }
  .section-intro { text-align: left; }
  .eyebrow.dark { justify-content: flex-start; }
  .section-intro h2 { font-size: 40px; }
  .section-intro > p:last-child { font-size: 15px; }
  .overview-grid { grid-template-columns: 1fr; }
  .overview-card { min-height: 0; padding: 25px; }
  .explorer { border-radius: 18px; }
  .explorer-head { display: block; padding: 25px 20px 15px; }
  .filter-status { margin-top: 9px; }
  .filter-row { padding: 0 20px 21px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .filter-row::-webkit-scrollbar { display: none; }
  .filter-chip { flex: 0 0 auto; }
  .comparison-header { grid-template-columns: 1fr; }
  .comparison-header > div:not(:first-child) { display: none; }
  .comparison-row { grid-template-columns: 1fr; padding: 0; }
  .comparison-row > div { padding: 17px 20px; }
  .comparison-row > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .comparison-row > div:first-child { padding: 19px 20px; }
  .comparison-row > div:nth-child(2) { background: #f1f7fb; }
  .comparison-row > div:nth-child(3) { background: #fbf7ec; }
  .mobile-column { display: block; margin-bottom: 6px; color: var(--blue-700); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
  .comparison-row > div:nth-child(3) .mobile-column { color: #85601d; }
  .balance-note { padding: 20px; }
  .considerations { margin-top: 68px; }
  .considerations-intro h3 { font-size: 32px; }
  summary { padding-left: 2px; font-size: 15px; }
  details p { margin-left: 34px; margin-right: 8px; }
  .retirement-hub { margin-top: 78px; padding: 46px 16px 24px; border-radius: 23px; }
  .retirement-intro { padding: 0 5px; }
  .retirement-intro h2 { font-size: 37px; }
  .retirement-paths { margin-top: 34px; }
  .path-card { padding: 25px 22px; }
  .retirement-review { padding: 25px 22px; }
  .retirement-review .button { width: 100%; }
  .income-control { padding: 30px 23px; }
  .income-buttons { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .income-buttons::-webkit-scrollbar { display: none; }
  .income-focus { flex: 0 0 auto; }
  .income-panels { min-height: 480px; padding: 34px 23px; }
  .income-panel h3 { font-size: 28px; }
  .panel-index { font-size: 115px; }
  .bonus-callout { padding: 25px 20px; }
  .bonus-heading { align-items: flex-start; }
  .bonus-heading h3 { font-size: 22px; }
  .bonus-grid { grid-template-columns: 1fr 1fr; }
  .bonus-grid > div { border-bottom: 1px solid #e5d9b9; }
  .bonus-grid > div:nth-child(2) { border-right: 0; }
  .survivor-grid { grid-template-columns: 1fr; margin-top: 38px; }
  .survivor-heading { grid-column: auto; padding: 16px 5px; }
  .survivor-grid article { min-height: 230px; }
  .review-section { padding: 82px 18px; }
  .review-copy h2 { font-size: 42px; }
  .review-form { padding: 26px 20px; }
  .field-grid { grid-template-columns: 1fr; gap: 0; }
  .footer-top { align-items: flex-start; flex-direction: column; gap: 18px; }
  .footer-bottom { flex-direction: column; }
  .benefits-main { padding: 178px 20px 60px; }.benefits-tabs, .topic-content { grid-template-columns: 1fr; }.benefits-tabs { margin-top: 35px; }.benefit-tab { min-height: 0; }.benefit-tab p { margin-top: 22px; }.topic-hero { padding: 176px 20px 54px; }.topic-content { padding: 40px 20px 58px; }.topic-content article { padding: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* TSP age-stage education */
.tsp-stage-hero { padding-bottom: 82px; background: radial-gradient(circle at 82% 28%, rgba(20,86,138,.48), transparent 29%), linear-gradient(130deg, #071b2f, #0c2c48); }
.tsp-stage-hero h1 { max-width: 930px; }
.tsp-stage-hero > p:last-of-type { max-width: 850px; }
.tsp-stage-hero .button { margin-top: 26px; }
.stage-explorer, .retirement-options, .life-cost-section { max-width: 1180px; margin: 0 auto; padding: 86px 24px; }
.stage-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }
.stage-intro h2, .life-cost-copy h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.35rem, 4.5vw, 3.65rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.06; }
.stage-intro > p { margin: 0 0 5px; color: var(--muted); font-size: 1rem; }
.stage-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 46px; }
.stage-tab { min-height: 84px; padding: 14px 10px; border: 1px solid #cad7df; border-radius: 14px; background: rgba(255,255,255,.75); color: var(--ink); cursor: pointer; transition: transform .2s, border-color .2s, background .2s, color .2s; }
.stage-tab:hover { transform: translateY(-2px); border-color: var(--blue-700); }
.stage-tab span, .stage-tab small { display: block; }
.stage-tab span { font-family: Georgia, serif; font-size: 1.35rem; }
.stage-tab small { margin-top: 3px; color: #6d7d88; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.stage-tab.active { border-color: var(--navy-900); background: var(--navy-900); color: var(--white); box-shadow: 0 14px 32px rgba(7,27,47,.16); }
.stage-tab.active small { color: var(--gold-300); }
.stage-panel { margin-top: 14px; padding: clamp(28px, 4vw, 48px); border: 1px solid #d4dde2; border-radius: 25px; background: var(--white); box-shadow: var(--shadow); animation: reveal .32s ease both; }
.stage-panel[hidden] { display: none; }
.stage-panel-heading { max-width: 770px; }
.stage-panel-heading h3 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 400; line-height: 1.1; }
.stage-panel-heading > p:last-child { margin: 14px 0 0; color: var(--muted); }
.stage-priority-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 35px; }
.stage-priority-grid article { padding: 26px; border: 1px solid #dce3e7; border-radius: 18px; background: #f8fafb; }
.stage-priority-grid article:nth-child(2) { background: #fbf7ec; border-color: #e5dcc6; }
.stage-priority-grid article:nth-child(3) { background: #eef6fb; border-color: #cfe0e9; }
.stage-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: var(--navy-900); color: var(--gold-300); font-family: Georgia, serif; }
.stage-priority-grid h4 { margin: 20px 0 11px; font-family: Georgia, serif; font-size: 1.28rem; font-weight: 400; }
.stage-priority-grid ul { margin: 0; padding-left: 18px; }
.stage-priority-grid li { margin: 8px 0; color: var(--muted); font-size: .88rem; }
.stage-action { display: flex; justify-content: space-between; align-items: center; gap: 42px; margin-top: 17px; padding: 29px 32px; border-radius: 18px; background: var(--navy-900); color: var(--white); }
.stage-action h3 { margin: 0; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 400; }
.stage-action p:last-child { max-width: 760px; margin: 7px 0 0; color: rgba(255,255,255,.66); font-size: .82rem; }
.stage-action .mini-label { color: var(--gold-300); }
.stage-action .button { flex: 0 0 auto; }
.retirement-options { max-width: none; padding-left: max(24px, calc((100vw - 1180px) / 2)); padding-right: max(24px, calc((100vw - 1180px) / 2)); background: var(--navy-900); color: var(--white); }
.retirement-options .stage-intro > p { color: rgba(255,255,255,.62); }
.retirement-options .mini-label { color: var(--gold-300); }
.retirement-option-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-top: 42px; }
.retirement-option-grid article { min-height: 250px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.05); }
.retirement-option-grid span { color: var(--gold-300); font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.retirement-option-grid h3 { margin: 33px 0 11px; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.retirement-option-grid p { margin: 0; color: rgba(255,255,255,.63); font-size: .86rem; }
.retirement-option-grid article .button { display: flex; width: 100%; margin-top: 18px; justify-content: center; text-align: center; }
.preferred-carrier-note { margin: 24px auto 0; padding: 24px; border: 1px solid #b69a58; border-radius: 16px; background: #ffffff; color: #102436; }
.preferred-carrier-note strong { display: block; margin-bottom: 10px; color: #102436; font-family: Georgia, serif; font-size: clamp(24px, 3vw, 28px); line-height: 1.3; }
.preferred-carrier-note p { margin: 0; color: #334a5d; font-size: 18px; line-height: 1.7; }
.options-balance { display: grid; grid-template-columns: .5fr 1.5fr; gap: 35px; margin-top: 17px; padding: 23px 26px; border-left: 3px solid var(--gold-500); background: rgba(255,255,255,.055); }
.options-balance strong { font-family: Georgia, serif; font-size: 1.08rem; font-weight: 400; }
.options-balance p { margin: 0; color: rgba(255,255,255,.63); font-size: .8rem; }
.control-warning { max-width: 920px; margin: 34px auto 0; padding: 28px 30px; border: 2px solid var(--gold-400); border-radius: 18px; background: #fff; color: var(--navy-950); box-shadow: 0 22px 52px rgba(1,13,23,.22); }
.control-warning > span { display: block; margin-bottom: 9px; color: #8b6b28; font-size: .68rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.control-warning > strong { display: block; font-family: Georgia, serif; font-size: clamp(1.65rem, 3.7vw, 2.8rem); font-weight: 400; line-height: 1.08; }
.control-warning > strong em { color: #a73b2f; font-style: normal; font-weight: 800; }
.control-warning > p { margin: 15px 0 0; padding-top: 15px; border-top: 1px solid #dce4e8; color: #4e6370; font-size: .8rem; line-height: 1.65; }
.life-cost-section { display: grid; grid-template-columns: .82fr 1.18fr; gap: 48px 70px; }
.life-cost-copy > p:not(.mini-label) { color: var(--muted); }
.life-source-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 25px; }
.life-source-links a, .complementary-note a { color: var(--blue-700); font-size: .78rem; font-weight: 800; text-underline-offset: 4px; }
.official-source-note { position: relative; max-width: 920px; margin: 34px auto 0; padding: 30px 32px 28px; overflow: hidden; border: 1px solid rgba(236,212,147,.42); border-left: 5px solid var(--gold-400); border-radius: 0 18px 18px 0; background: linear-gradient(135deg, #123f60 0%, #082840 100%); box-shadow: 0 24px 58px rgba(1,13,23,.27); }
.official-source-note::after { content: 'TSP'; position: absolute; right: -7px; bottom: -28px; color: rgba(255,255,255,.035); font-family: Georgia, serif; font-size: 8rem; line-height: 1; pointer-events: none; }
.official-source-note .mini-label { position: relative; z-index: 1; margin: 0 0 11px; color: var(--gold-300); font-size: .68rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.official-source-note blockquote { position: relative; z-index: 1; margin: 0 0 18px; color: #fff; font-family: Georgia, serif; font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.42; }
.official-source-note p { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.73); line-height: 1.65; }
.official-source-note .source-citation { display: inline-flex; align-items: center; margin-top: 3px; padding: 10px 14px; border: 1px solid rgba(236,212,147,.38); border-radius: 999px; background: rgba(255,255,255,.06); font-size: .78rem; }
.official-source-note .source-citation strong { color: #fff; }
.official-source-note a { color: var(--gold-300); font-weight: 800; text-underline-offset: 3px; }
.life-cost-grid { display: grid; gap: 11px; }
.life-cost-grid article { padding: 23px 25px; border: 1px solid #d7e0e5; border-radius: 16px; background: var(--white); }
.life-cost-grid span { color: var(--blue-700); font-size: .65rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.life-cost-grid h3 { margin: 7px 0 6px; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; }
.life-cost-grid p { margin: 0; color: var(--muted); font-size: .82rem; }
.complementary-note { grid-column: 1 / -1; display: grid; grid-template-columns: .62fr 1.12fr auto; gap: 26px; align-items: center; padding: 26px 29px; border: 1px solid #dfd1ab; border-radius: 18px; background: #fff9ec; }
.complementary-note strong { font-family: Georgia, serif; font-size: 1.16rem; font-weight: 400; }
.complementary-note p { margin: 0; color: #776947; font-size: .8rem; }
.complementary-note a { white-space: nowrap; }

.carrier-shortlist { padding: 88px max(24px, calc((100vw - 1180px) / 2)); background: var(--white); }
.carrier-shortlist .stage-intro { max-width: 1180px; margin: 0 auto; }
.carrier-shortlist .stage-intro h2, .health-plan-review .stage-intro h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.25rem, 4.4vw, 3.5rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
.carrier-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 1180px; margin: 44px auto 0; }
.carrier-group { overflow: hidden; border: 1px solid #d7e1e7; border-radius: 22px; background: #f8fafb; }
.carrier-group-heading { padding: 27px 30px; background: var(--navy-900); color: var(--white); }
.carrier-group-heading > span { color: var(--gold-300); font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.carrier-group-heading h3 { margin: 7px 0 0; font-family: Georgia, serif; font-size: 1.75rem; font-weight: 400; }
.carrier-list { margin: 0; padding: 5px 30px 15px; list-style: none; }
.carrier-list li { padding: 22px 0; border-bottom: 1px solid #dfe6ea; }
.carrier-list li:last-child { border-bottom: 0; }
.carrier-list li > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.carrier-list strong { color: var(--navy-900); font-family: Georgia, serif; font-size: 1.05rem; font-weight: 400; }
.carrier-list span { color: #85601d; font-size: .68rem; font-weight: 800; text-align: right; }
.carrier-list p { margin: 8px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.carrier-list .carrier-link-row { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 12px; }
.carrier-link-row a { color: var(--blue-700); font-size: .72rem; font-weight: 800; text-underline-offset: 3px; }
.carrier-link-row a:hover, .carrier-link-row a:focus-visible { color: #0c3f67; }
.carrier-review-note { max-width: 1180px; margin: 20px auto 0; padding: 22px 25px; border-left: 4px solid var(--gold-500); border-radius: 10px; background: #fff8e8; }
.carrier-review-note strong { color: var(--navy-900); }
.carrier-review-note p { margin: 6px 0 0; color: #5d563f; font-size: .82rem; line-height: 1.65; }
.carrier-review-note a { color: var(--blue-700); font-weight: 800; text-underline-offset: 3px; }
.carrier-tabs { max-width: 1180px; margin: 40px auto 0; }
.carrier-tablist { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 12px; scrollbar-width: thin; }
.carrier-tab { flex: 0 0 auto; min-height: 46px; padding: 11px 17px; border: 1px solid #cad7df; border-radius: 999px; background: var(--white); color: var(--navy-900); font-weight: 800; cursor: pointer; }
.carrier-tab:hover, .carrier-tab:focus-visible { border-color: var(--blue-700); }
.carrier-tab.active { border-color: var(--navy-900); background: var(--navy-900); color: var(--white); box-shadow: 0 10px 24px rgba(7,27,47,.14); }
.carrier-panel { min-height: 285px; padding: clamp(27px, 4vw, 42px); border: 1px solid #d7e1e7; border-radius: 22px; background: var(--white); box-shadow: var(--shadow); }
.carrier-panel[hidden] { display: none; }
.carrier-panel h3 { margin: 13px 0 12px; font-family: Georgia, serif; font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 400; }
.carrier-panel > p:not(.carrier-status) { max-width: 820px; color: var(--muted); line-height: 1.7; }
.carrier-status { display: inline-block; margin: 0; padding: 7px 10px; border-radius: 999px; font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.carrier-status.verified { background: var(--blue-100); color: var(--blue-700); }
.carrier-status.pending { background: #fff2d3; color: #755318; }
.carrier-panel > .button { margin-top: 20px; }
.carrier-panel-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 23px; }
.carrier-panel-actions > a:not(.button) { color: var(--blue-700); font-size: .8rem; font-weight: 800; text-underline-offset: 3px; }
.heartland-feature { margin: 28px 0; padding: clamp(24px, 4vw, 38px); border: 1px solid #b9902f; border-radius: 22px; background: linear-gradient(145deg, #071e33, #0c3a5b); color: var(--white); box-shadow: 0 22px 54px rgba(7,27,47,.2); }
.heartland-feature-heading > p, .heartland-library-heading p { margin: 0 0 8px; color: var(--gold-300); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.heartland-feature-heading > strong { display: block; color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(3.2rem, 8vw, 5.8rem); font-weight: 400; line-height: .9; }
.heartland-feature-heading h4 { margin: 12px 0 0; font-family: Georgia, serif; font-size: clamp(1.55rem, 3vw, 2.3rem); font-weight: 400; }
.heartland-feature > p { max-width: 900px; color: #d7e4eb; line-height: 1.7; }
.heartland-bonus-levels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 24px 0; }
.heartland-bonus-levels > div { padding: 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.055); }
.heartland-bonus-levels span, .heartland-bonus-levels strong, .heartland-bonus-levels small { display: block; }
.heartland-bonus-levels span { color: #a9bdc9; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.heartland-bonus-levels strong { margin-top: 5px; color: var(--white); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.heartland-bonus-levels small { margin-top: 5px; color: var(--gold-300); font-size: .72rem; line-height: 1.35; }
.heartland-vesting { margin: 26px 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); }
.heartland-vesting h5 { margin: 0 0 13px; color: var(--white); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.vesting-table { overflow-x: auto; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; }
.vesting-table [role="row"] { display: grid; grid-template-columns: 100px repeat(11, minmax(48px, 1fr)); min-width: 730px; }
.vesting-table [role="row"] + [role="row"] { border-top: 1px solid rgba(255,255,255,.14); }
.vesting-table span { padding: 10px 8px; border-right: 1px solid rgba(255,255,255,.11); color: #e7eff3; font-size: .68rem; text-align: center; }
.vesting-table span:first-child { color: var(--gold-300); font-weight: 850; text-align: left; }
.heartland-vesting > p { margin: 14px 0 0; color: #bdccd5; font-size: .75rem; line-height: 1.65; }
.heartland-feature .button-gold { border-color: #dcc16e; background: var(--gold-300); color: var(--navy-900); }
.heartland-library { margin: 30px 0 10px; padding: clamp(22px, 4vw, 34px); border: 1px solid #d5e0e6; border-radius: 20px; background: #f7fafb; }
.heartland-library-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.heartland-library-heading p { color: #8a641b; }
.heartland-library-heading h4 { margin: 0; color: var(--navy-900); font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 400; }
.heartland-library-heading > span { color: var(--muted); font-size: .72rem; text-align: right; }
.heartland-library-groups { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 24px; }
.heartland-library-groups > section { overflow: hidden; border: 1px solid #d8e2e7; border-radius: 15px; background: var(--white); }
.heartland-library-groups h5 { margin: 0; padding: 18px 20px; background: var(--navy-900); color: var(--white); font-family: Georgia, serif; font-size: 1.15rem; font-weight: 400; }
.heartland-library-groups ul { margin: 0; padding: 6px 20px; list-style: none; }
.heartland-library-groups li + li { border-top: 1px solid #e3eaed; }
.heartland-library-groups a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; color: var(--navy-900); text-decoration: none; }
.heartland-library-groups a:hover strong, .heartland-library-groups a:focus-visible strong { color: var(--blue-700); text-decoration: underline; text-underline-offset: 3px; }
.heartland-library-groups strong { font-size: .8rem; }
.heartland-library-groups span { color: var(--muted); font-size: .68rem; text-align: right; }
.heartland-library-groups .featured-doc { margin: 6px -10px; padding: 0 10px; border: 1px solid #d7b85e; border-radius: 10px; background: #fff8e3; }
.heartland-library-note { margin: 20px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.carrier-path { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 1180px; margin: 20px auto 0; }
.carrier-path > div { padding: 22px; border: 1px solid #d7e1e7; border-radius: 15px; background: #f8fafb; }
.carrier-path span, .coverage-path-grid > article > span { color: #85601d; font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.carrier-path strong { display: block; margin-top: 12px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.15rem; font-weight: 400; }
.carrier-path p { margin: 7px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.life-carrier-center { background: #f5f8fa; }
.coverage-type-section { padding: 88px max(24px, calc((100vw - 1180px) / 2)); background: #eef4f6; }
.coverage-type-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 40px; }
.coverage-type-grid article { display: flex; flex-direction: column; min-height: 300px; padding: 27px; border: 1px solid #d6e1e6; border-radius: 18px; background: var(--white); box-shadow: 0 12px 32px rgba(7,27,47,.06); }
.coverage-type-grid article > span { color: #85601d; font-size: .65rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.coverage-type-grid h3 { margin: 25px 0 11px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.coverage-type-grid p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.coverage-type-grid a { margin-top: auto; padding-top: 22px; color: var(--blue-700); font-size: .78rem; font-weight: 800; text-underline-offset: 3px; }
.rop-annuity-bridge { padding: 74px max(24px, calc((100vw - 1180px) / 2)); background: linear-gradient(135deg, #081f35, #0d4568); color: var(--white); }
.rop-annuity-bridge > div:first-child { max-width: 860px; }
.rop-annuity-bridge h2 { margin: 8px 0 14px; font-family: Georgia, serif; font-size: clamp(2.2rem, 4vw, 3.6rem); font-weight: 400; line-height: 1.08; }
.rop-annuity-bridge > div:first-child > p:last-child { color: #d7e5ed; line-height: 1.75; }
.rop-bridge-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 32px; }
.rop-bridge-steps > div { padding: 24px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 16px; background: rgb(255 255 255 / 7%); }
.rop-bridge-steps span { color: var(--gold-300); font-size: .68rem; font-weight: 850; letter-spacing: .12em; }
.rop-bridge-steps strong { display: block; margin-top: 10px; font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.rop-bridge-steps p { margin: 8px 0 0; color: #d7e5ed; font-size: .8rem; line-height: 1.6; }
.rop-bridge-note { margin: 22px 0 0; padding: 18px 20px; border-left: 4px solid var(--gold-300); border-radius: 0 12px 12px 0; background: rgb(255 255 255 / 8%); color: #dce8ee; font-size: .8rem; line-height: 1.65; }
.rop-bridge-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.rop-bridge-actions .button-secondary { border-color: #d9c274; color: var(--white); }
.carrier-product-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 5px; }
.carrier-product-list span { padding: 7px 10px; border-radius: 999px; background: #edf4f7; color: #365265; font-size: .68rem; font-weight: 750; }
.coverage-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1180px; margin: 40px auto 0; }
.coverage-path-grid article { display: flex; flex-direction: column; min-height: 250px; padding: 27px; border: 1px solid #d7e1e7; border-radius: 18px; background: var(--white); }
.coverage-path-grid h3 { margin: 28px 0 10px; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.coverage-path-grid p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.coverage-path-grid a { margin-top: auto; padding-top: 20px; color: var(--blue-700); font-size: .8rem; font-weight: 800; text-underline-offset: 3px; }
.needs-analysis-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 42px; max-width: 1180px; margin: 0 auto; padding: 62px; border: 1px solid #8caec4; border-radius: 30px; background: linear-gradient(135deg, #dceaf2 0%, #bfd6e5 52%, #9dbfd4 100%); box-shadow: 0 24px 65px rgba(7,27,47,.14); }
.needs-analysis-copy { align-self: start; padding: 34px; border: 1px solid #789bb4; border-top: 5px solid #14568a; border-radius: 20px; background: #b7d0e0; box-shadow: 0 18px 45px rgba(7,27,47,.1); }
.needs-analysis-copy h2 { margin: 0; color: var(--navy-900); font-family: Georgia, serif; font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 400; line-height: 1.08; }
.needs-analysis-copy > p:not(.eyebrow) { color: #243d4d; font-size: 1.05rem; font-weight: 520; line-height: 1.78; }
.needs-analysis-copy ol { margin: 28px 0 0; padding-left: 24px; color: #1d3748; font-size: 1rem; font-weight: 650; line-height: 1.65; }
.needs-analysis-copy li { margin: 13px 0; padding-left: 7px; }
.needs-analysis-copy li::marker { color: #89631c; font-weight: 900; }
.needs-analysis-form { padding: 32px; border: 1px solid #9db9c9; border-radius: 22px; background: #d6e6ee; box-shadow: var(--shadow); }
.needs-analysis-form .field-grid { gap: 14px; }
.needs-analysis-form fieldset { margin: 18px 0; padding: 17px 18px; border: 1px solid #acc4d2; border-radius: 12px; background: #d2e3ec; }
.needs-analysis-form .field > span, .needs-analysis-form fieldset legend { color: #203949; font-size: .84rem; line-height: 1.4; }
.needs-analysis-form input, .needs-analysis-form select, .needs-analysis-form textarea { border-color: #a8c4d5; background: #edf5fa; color: #102436; font-size: .96rem; }
.needs-analysis-form input::placeholder, .needs-analysis-form textarea::placeholder { color: #687985; opacity: 1; }
.needs-analysis-form .check-option { color: #263f4f; font-size: .88rem; line-height: 1.5; }
.needs-analysis-form .field-hint { color: #425a69; font-size: .76rem; line-height: 1.5; }
.needs-analysis-form .form-privacy { color: #485f6d; font-size: .76rem; line-height: 1.5; }
.analysis-form-heading { display: flex; align-items: center; gap: 13px; margin: 34px 0 20px; padding: 17px 18px; border: 1px solid #9bb9cb; border-radius: 12px; background: #c7dce8; }
.analysis-form-heading:first-child { margin-top: 0; }
.analysis-form-heading > span { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: var(--navy-900); color: var(--gold-300); font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.analysis-form-heading strong, .analysis-form-heading small { display: block; }
.analysis-form-heading strong { color: var(--navy-900); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.analysis-form-heading small { margin-top: 3px; color: #405766; font-size: .82rem; }
.analysis-source-note { margin-top: 27px; padding: 18px 19px; border: 1px solid #b6c9d1; border-radius: 12px; background: #e6eef0; color: #243f4d !important; font-size: .86rem !important; line-height: 1.68 !important; }
.analysis-source-note a { color: var(--blue-700); font-weight: 800; }
.coverage-gap { margin: 22px 0; padding: 22px; border-left: 4px solid var(--gold-500); border-radius: 10px; background: #f3f7fa; }
.coverage-gap span, .coverage-gap strong, .coverage-gap small { display: block; }
.coverage-gap span { color: #536976; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.coverage-gap strong { margin-top: 7px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.75rem; font-weight: 400; }
.coverage-gap small { margin-top: 6px; color: var(--muted); line-height: 1.45; }
.path-options .check-option { align-items: flex-start; }
.path-options .check-option span { line-height: 1.5; }
.path-options .check-option strong { color: var(--navy-900); }
.outcome-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin: 8px 0 24px; }
.outcome-guide article { padding: 21px; border: 1px solid #afc6cf; border-radius: 14px; background: #dcebed; }
.outcome-guide article:last-child { border-color: #dfd2af; background: #fff9ea; }
.outcome-guide span { color: #85601d; font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.outcome-guide h3 { margin: 12px 0 8px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.18rem; font-weight: 400; }
.outcome-guide p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.6; }
.rop-explanation { margin: 20px 0 26px; padding: 19px 21px; border: 1px solid #dfd2af; border-radius: 12px; background: #fff9ea; }
.rop-explanation strong { color: var(--navy-900); }
.rop-explanation p { margin: 7px 0 0; color: #665d47; font-size: .76rem; line-height: 1.65; }
.liquidity-alert { margin: 0 0 18px; padding: 18px 20px; border-left: 4px solid var(--gold-500); border-radius: 0 12px 12px 0; background: #fff8e7; }
.liquidity-alert strong { color: var(--navy-900); }
.liquidity-alert p { margin: 6px 0 0; color: #665d47; font-size: .78rem; line-height: 1.6; }
.bonus-feature { margin: 18px 0 24px; padding: 24px; border: 1px solid #c9a955; border-radius: 18px; background: linear-gradient(135deg, #071e33 0%, #0d3858 100%); color: #fff; box-shadow: var(--shadow); }
.bonus-kicker { margin: 0 0 12px; color: var(--gold-300); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.bonus-feature-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; }
.bonus-feature-grid > div > span { display: block; max-width: 35rem; color: #e2edf3; font-size: .85rem; line-height: 1.45; }
.bonus-number { display: block; color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(2.5rem, 7vw, 4.2rem); font-weight: 400; line-height: .95; }
.bonus-feature .button { border-color: #dcc16e; color: var(--navy-900); background: var(--gold-300); white-space: nowrap; }
.bonus-feature > p:last-child { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgb(255 255 255 / 18%); color: #cbd9e1; font-size: .7rem; line-height: 1.65; }
.bonus-feature > p:last-child strong { color: #fff; }
.annuity-glossary { margin: 20px 0 26px; padding: 24px; border: 1px solid #9eb9c9; border-radius: 18px; background: #eaf3f7; }
.annuity-glossary h3 { margin: 7px 0 8px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.65rem; font-weight: 400; }
.glossary-intro { margin: 0 0 18px; color: #405866; font-size: .82rem; line-height: 1.6; }
.glossary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.glossary-grid > div { padding: 16px; border: 1px solid #bfd0d9; border-radius: 12px; background: #f8fbfc; }
.glossary-grid dt { color: var(--navy-900); font-weight: 850; }
.glossary-grid dd { margin: 6px 0 0; color: #4b616e; font-size: .76rem; line-height: 1.6; }
.glossary-note { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid #bfd0d9; color: #536976; font-size: .72rem; line-height: 1.6; }
[data-protection-fields][hidden], [data-tsp-fields][hidden] { display: none; }

/* FEHB retirement analysis */
.health-hero { background: radial-gradient(circle at 80% 24%, rgba(63,172,180,.24), transparent 31%), linear-gradient(125deg, #071b2f, #0b5365); }
.health-hero h1 { max-width: 980px; }
.health-hero > p:last-of-type { max-width: 790px; }
.health-hero .button { margin-top: 26px; }
.health-plan-review { max-width: 1180px; margin: 0 auto; padding: 86px 24px; }
.health-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-top: 44px; }
.health-plan-grid article { display: flex; flex-direction: column; min-height: 290px; padding: 30px; border: 1px solid #d6e1e5; border-radius: 20px; background: var(--white); box-shadow: 0 14px 35px rgba(7,27,47,.06); }
.health-plan-grid article > span, .health-factor-grid article > span { color: #24717c; font-size: .68rem; font-weight: 850; letter-spacing: .16em; }
.health-plan-grid h3, .health-factor-grid h3 { margin: 25px 0 10px; color: var(--navy-900); font-family: Georgia, serif; font-size: 1.75rem; font-weight: 400; }
.health-plan-grid p, .health-factor-grid p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.65; }
.health-plan-grid a { margin-top: auto; padding-top: 20px; color: #126475; font-size: .75rem; font-weight: 800; text-underline-offset: 3px; }
.health-plan-footnote { margin: 18px 3px 0; color: #5e6e77; font-size: .75rem; line-height: 1.6; }
.health-decision-section { padding: 88px max(24px, calc((100vw - 1180px) / 2)); background: var(--navy-900); color: var(--white); }
.health-decision-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; }
.health-decision-copy h2, .health-retirement-card h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.2rem, 4.2vw, 3.45rem); font-weight: 400; line-height: 1.08; }
.health-decision-copy > p { margin: 0; color: rgba(255,255,255,.68); }
.health-factor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 45px; }
.health-factor-grid article { min-height: 230px; padding: 26px; border: 1px solid rgba(255,255,255,.15); border-radius: 17px; background: rgba(255,255,255,.05); }
.health-factor-grid article > span { color: var(--gold-300); }
.health-factor-grid h3 { color: var(--white); font-size: 1.35rem; }
.health-factor-grid p { color: rgba(255,255,255,.65); }
.health-retirement-section { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 1180px; margin: 0 auto; padding: 86px 24px; }
.health-retirement-card { padding: 36px; border: 1px solid #d5e0e6; border-radius: 22px; background: var(--white); }
.health-retirement-card h2 { margin-bottom: 22px; color: var(--navy-900); font-size: clamp(2rem, 3.3vw, 2.8rem); }
.health-retirement-card p, .health-retirement-card li { color: var(--muted); line-height: 1.65; }
.health-retirement-card ul { padding-left: 21px; }
.health-retirement-card li { margin-bottom: 9px; }
.health-retirement-card > a:not(.button) { display: inline-block; margin-top: 14px; color: #126475; font-weight: 800; text-underline-offset: 3px; }

@media (max-width: 960px) {
  .stage-intro, .life-cost-section { grid-template-columns: 1fr; gap: 22px; }
  .stage-priority-grid { grid-template-columns: 1fr; }
  .outcome-guide { grid-template-columns: 1fr; }
  .coverage-type-grid { grid-template-columns: repeat(2, 1fr); }
  .retirement-option-grid { grid-template-columns: 1fr 1fr; }
  .retirement-option-grid article { min-height: 215px; }
  .complementary-note { grid-template-columns: 1fr 1.3fr; }
  .complementary-note a { grid-column: 1 / -1; }
  .carrier-groups, .health-retirement-section { grid-template-columns: 1fr; }
  .carrier-path { grid-template-columns: 1fr 1fr; }
  .coverage-path-grid, .needs-analysis-section { grid-template-columns: 1fr; }
  .health-plan-grid { grid-template-columns: 1fr; }
  .health-plan-grid article { min-height: 0; }
  .health-decision-copy { grid-template-columns: 1fr; gap: 18px; }
  .health-factor-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .bonus-feature-grid { grid-template-columns: 1fr; }
  .bonus-feature .button { width: 100%; white-space: normal; }
  .heartland-bonus-levels { grid-template-columns: 1fr 1fr; }
  .heartland-library-heading { align-items: flex-start; flex-direction: column; }
  .heartland-library-heading > span { text-align: left; }
  .heartland-library-groups { grid-template-columns: 1fr; }
  .glossary-grid { grid-template-columns: 1fr; }
  .rop-bridge-steps { grid-template-columns: 1fr; }
  .tsp-stage-hero { padding-bottom: 60px; }
  .tsp-stage-hero .button { width: 100%; }
  .stage-explorer, .life-cost-section { padding: 62px 18px; }
  .stage-tabs { display: flex; margin-top: 32px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .stage-tabs::-webkit-scrollbar { display: none; }
  .stage-tab { flex: 0 0 118px; }
  .stage-panel { padding: 27px 19px; border-radius: 19px; }
  .stage-priority-grid article { padding: 22px; }
  .stage-action { align-items: flex-start; flex-direction: column; padding: 25px 21px; }
  .stage-action .button { width: 100%; }
  .retirement-options { padding-top: 64px; padding-bottom: 64px; }
  .retirement-option-grid { grid-template-columns: 1fr; }
  .retirement-option-grid article { min-height: 0; }
  .options-balance, .complementary-note { grid-template-columns: 1fr; gap: 12px; }
  .control-warning { padding: 24px 22px; }
  .complementary-note a { grid-column: auto; white-space: normal; }
  .carrier-shortlist, .health-decision-section { padding-left: 18px; padding-right: 18px; }
  .carrier-list li > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .carrier-list span { text-align: left; }
  .carrier-path, .coverage-path-grid { grid-template-columns: 1fr; }
  .heartland-bonus-levels { grid-template-columns: 1fr; }
  .heartland-library-groups a { align-items: flex-start; flex-direction: column; gap: 4px; }
  .heartland-library-groups span { text-align: left; }
  .needs-analysis-section { padding: 34px 18px; border-radius: 22px; }
  .needs-analysis-copy { padding: 27px 22px; }
  .needs-analysis-form { padding: 25px 20px; }
  .health-factor-grid { grid-template-columns: 1fr; }
  .health-factor-grid article { min-height: 0; }
  .health-retirement-section { padding-left: 18px; padding-right: 18px; }
  .health-retirement-card { padding: 26px 22px; }
}

/* Immediate home-page review paths */
.immediate-review { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(260px, .84fr); gap: clamp(28px, 5vw, 62px); align-items: center; margin-top: 30px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(236,212,147,.38); border-radius: 28px; background: linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.035)); box-shadow: 0 28px 70px rgba(0,0,0,.18); }
.immediate-review-copy > p:first-child { margin: 0 0 10px; color: var(--gold-300); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.immediate-review h2 { margin: 0; color: var(--white); font-family: Georgia, serif; font-size: clamp(2.15rem, 4vw, 3.55rem); font-weight: 400; line-height: 1.06; }
.immediate-review-copy > p:nth-of-type(2) { max-width: 700px; margin: 18px 0 0; color: rgba(255,255,255,.74); font-size: 1rem; line-height: 1.7; }
.review-choice-grid { display: grid; gap: 10px; margin-top: 26px; }
.review-choice-grid a { display: grid; grid-template-columns: minmax(180px, .75fr) 1fr; gap: 18px; align-items: center; padding: 15px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.06); color: var(--white); text-decoration: none; transition: transform .2s, background .2s, border-color .2s; }
.review-choice-grid a:hover, .review-choice-grid a:focus-visible { transform: translateX(3px); border-color: rgba(236,212,147,.55); background: rgba(255,255,255,.11); }
.review-choice-grid strong { color: var(--gold-300); font-size: .88rem; }
.review-choice-grid span { color: rgba(255,255,255,.68); font-size: .8rem; line-height: 1.45; }
.immediate-review small { display: block; max-width: 720px; margin-top: 22px; color: rgba(255,255,255,.5); font-size: .72rem; line-height: 1.55; }
.immediate-review-brand { display: grid; justify-items: center; gap: 20px; }
.immediate-review-logo-ring { display: grid; place-items: center; width: min(410px, 100%); aspect-ratio: 1 / 1; padding: 30px; border: 3px solid var(--gold-500); border-radius: 50%; background: radial-gradient(circle at 40% 32%, rgba(20,86,138,.5), rgba(7,27,47,.96) 72%); box-shadow: 0 24px 48px rgba(0,0,0,.34), inset 0 0 0 7px rgba(236,212,147,.1); }
.immediate-review-logo-ring img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 17px 28px rgba(0,0,0,.38)); }
.immediate-review-brand > p { max-width: 390px; margin: 0; color: var(--gold-300); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2.3vw, 1.8rem); font-weight: 700; line-height: 1.25; text-align: center; }

/* Home-page written education */
.plan-story { margin-top: 76px; padding: clamp(32px, 5vw, 60px); border: 1px solid rgba(236,212,147,.32); border-radius: 28px; background: linear-gradient(140deg, var(--navy-900), var(--navy-800) 72%, var(--blue-700)); color: var(--white); box-shadow: 0 28px 70px rgba(0,0,0,.2); }
.plan-story-intro { display: grid; grid-template-columns: .55fr 1.1fr 1fr; gap: 30px; align-items: start; }
.plan-story-intro > p:first-child, .plan-review p { margin: 8px 0 0; color: var(--gold-300); font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.plan-story-intro h2, .plan-review h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 3.6vw, 3.15rem); font-weight: 700; line-height: 1.08; }
.plan-story-intro > p:last-child { margin: 5px 0 0; color: rgba(255,255,255,.78); font-size: 1rem; line-height: 1.7; }
.plan-story-intro > p:last-child strong { color: var(--white); }
.plan-story .benefits-tabs { margin-top: 38px; }
.plan-story .benefit-tab { border-color: rgba(236,212,147,.28); background: linear-gradient(145deg, var(--navy-900), var(--navy-800)); box-shadow: 0 16px 36px rgba(7,27,47,.15); }
.plan-story .benefit-tab:hover { background: linear-gradient(145deg, var(--navy-800), var(--blue-700)); }
/* Topic education follows the same readable layout on both detail pages. */
.topic-overview { max-width: 1180px; margin: 40px auto; padding: clamp(24px, 4vw, 44px); border: 1px solid #d6e0e5; border-radius: 20px; background: var(--white); color: var(--ink); box-shadow: 0 16px 40px rgba(7,27,47,.06); }
.topic-overview > span { color: var(--blue-700); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.topic-overview h2 { margin: 18px 0; font-family: Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.25rem); line-height: 1.2; }
.topic-overview p { max-width: 960px; margin: 0 0 16px; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.topic-overview a { color: var(--blue-700); font-weight: 800; text-underline-offset: 4px; overflow-wrap: anywhere; }
.topic-overview > a { display: inline-block; margin-top: 8px; }
@media (max-width: 1228px) { .topic-overview { margin: 32px 24px; } }
@media (max-width: 720px) { .topic-overview { margin: 24px 20px; } }
.plan-review { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 18px; padding: 30px 32px; border-radius: 18px; background: var(--navy-900); color: var(--white); }
.plan-review h2 { margin-top: 5px; font-size: clamp(1.65rem, 2.8vw, 2.35rem); }
.plan-review span { display: block; max-width: 760px; margin-top: 10px; color: rgba(255,255,255,.65); font-size: .9rem; line-height: 1.6; }
.plan-review .button { flex: 0 0 auto; }
.plan-review-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 10px; }
.plan-review-actions .button-secondary { border-color: rgba(255,255,255,.58); color: var(--white); }
.review-topic-section[hidden], .check-option[hidden] { display: none; }

@media (max-width: 960px) {
  .benefits-hero { grid-template-columns: minmax(0, 1fr) minmax(220px, .38fr); gap: 22px; }
  .paladin-guardian { width: min(300px, 100%); max-height: 450px; }
  .immediate-review { grid-template-columns: 1fr; }
  .immediate-review-logo-ring { width: min(360px, 78vw); padding: 24px; }
  .plan-story-intro { grid-template-columns: 1fr; gap: 14px; }
  .age-pathways-heading { grid-template-columns: 1fr; gap: 10px; }
  .age-pathway-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-review { align-items: flex-start; flex-direction: column; }
  .plan-review-actions { width: 100%; }
}

@media (max-width: 720px) {
  .benefits-hero { grid-template-columns: 1fr; gap: 18px; min-height: 0; }
  .paladin-guardian { justify-self: center; width: min(310px, 82vw); max-height: 440px; margin-top: 4px; }
  .immediate-review { padding: 26px 20px; border-radius: 22px; }
  .review-choice-grid a { grid-template-columns: 1fr; gap: 3px; }
  .plan-story { margin-top: 50px; padding: 28px 18px; border-radius: 22px; }
  .age-pathway-grid { grid-template-columns: 1fr; }
  .age-pathway-grid span { min-height: 0; }
  .plan-review { padding: 26px 22px; }
  .plan-review .button { width: 100%; }
}

/* Homepage education and brochure-to-review contact path. */
.plan-story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 42px; }
.plan-story-grid article { display: flex; flex-direction: column; min-height: 0; padding: 29px; border: 1px solid #d6e0e5; border-radius: 20px; background: var(--white); }
.plan-story-grid article > span { color: var(--blue-700); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.plan-story-grid h3 { margin: 25px 0 14px; font-family: Georgia, serif; font-size: 1.55rem; font-weight: 400; line-height: 1.2; }
.plan-story-grid p { margin: 0 0 15px; color: var(--muted); font-size: .9rem; line-height: 1.67; }
.plan-story-grid a { margin-top: auto; padding-top: 18px; color: var(--blue-700); font-size: .86rem; font-weight: 800; text-underline-offset: 4px; }

.brochure-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 20px 0 14px; }
.plan-story-grid .brochure-review-actions .button { margin: 0; padding: 14px 23px; color: var(--navy-900); }
.plan-story-grid .brochure-review-actions .brochure-agent-call { margin: 0; padding: 0; }
.brochure-contact-note { font-size: .88rem; }
@media (max-width: 960px) { .plan-story-grid { grid-template-columns: 1fr; } }

/* Highlight the requested 20-year ROP review age bands. */
.rop-star { color: #94640e; font-size: .8em; }
.stage-tab.active .rop-star { color: #f3d790; }
.rop-review-highlight { margin-top: 24px; padding: 22px; border: 2px solid #b89245; border-radius: 16px; background: #fff8e8; color: #152b42; }
.rop-review-highlight > strong { display: block; font-size: 1.12rem; line-height: 1.45; }
.rop-review-highlight p { margin: 12px 0; line-height: 1.65; }
.rop-review-highlight .rop-review-note { color: #465563; font-size: .88rem; }
.rop-review-highlight a { color: #183d62; font-weight: 700; text-underline-offset: 3px; }

.consumer-library { max-width: 1180px; margin: 40px auto; padding: 0 24px; color: #102436; }
.consumer-doc-grid, .consumer-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.consumer-company-grid { margin-top: 24px; }
.consumer-doc-card { padding: 28px; border: 1px solid #ccd8e1; border-radius: 18px; background: #fff; color: #102436; }
.consumer-doc-card h2, .consumer-doc-card h3 { margin: 0 0 16px; color: #102436; font-family: Georgia, serif; font-size: 1.8rem; line-height: 1.25; }
.consumer-doc-card > p { color: #42596a; line-height: 1.7; }
.consumer-doc-card > a:not(.button) { display: block; margin: 14px 0; color: #174a72; font-weight: 700; text-underline-offset: 3px; }
.consumer-doc-card .button { margin-top: 16px; padding-top: 14px; padding-bottom: 14px; text-align: center; white-space: normal; }
.consumer-library-note { margin: 28px 0; color: #42596a; line-height: 1.7; }
.brochure-picker-fieldset { margin: 28px 0; padding: 22px; border: 1px solid #c7d6df; border-radius: 16px; background: #f8fbfd; color: #102436; }
.brochure-picker-fieldset legend { max-width: 100%; padding: 0 8px; font-size: 1.08rem; font-weight: 800; }
.brochure-picker-fieldset > p { color: #42596a; font-size: .94rem; line-height: 1.6; }
.brochure-picker-group h3 { margin: 24px 0 12px; font-size: 1.08rem; }
.brochure-choice { padding: 14px 0; border-top: 1px solid #d8e3e9; }
.brochure-choice label { display: flex; gap: 12px; align-items: flex-start; font-size: .95rem; line-height: 1.5; cursor: pointer; }
.brochure-choice input { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 2px; }
.brochure-choice > a { display: inline-block; margin: 7px 0 0 31px; color: #174a72; font-size: .88rem; text-underline-offset: 3px; }
@media (max-width: 720px) { .consumer-doc-grid, .consumer-company-grid { grid-template-columns: 1fr; } .consumer-doc-card { padding: 23px; } .brochure-picker-fieldset { padding: 16px; } }
