:root {
  --a2z-primary: #0b52c7;
  --a2z-primary-dark: #073b91;
  --a2z-navy: #10233f;
  --a2z-ink: #142033;
  --a2z-muted: #637083;
  --a2z-border: #dce3ee;
  --a2z-soft: #f4f7fc;
  --a2z-surface: #ffffff;
  --a2z-success: #176b46;
  --a2z-danger: #ae2525;
  --a2z-radius-sm: .5rem;
  --a2z-radius: .875rem;
  --a2z-radius-lg: 1.25rem;
  --a2z-shadow: 0 12px 32px rgba(16, 35, 63, .07);
  --a2z-space-section: clamp(4rem, 8vw, 7rem);
}

html { font-size: 16px; scroll-behavior: smooth; }
body { color: var(--a2z-ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: var(--a2z-primary); text-underline-offset: .2em; }
h1, h2, h3 { color: var(--a2z-ink); font-weight: 700; letter-spacing: -.025em; line-height: 1.18; }
h1 { font-size: clamp(2.35rem, 5vw, 4.4rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: 1.15rem; letter-spacing: -.01em; }

.skip-link { position: fixed; z-index: 2000; top: .75rem; left: .75rem; padding: .65rem 1rem; background: var(--a2z-navy); color: #fff; border-radius: .4rem; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 1030; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--a2z-border); backdrop-filter: blur(12px); }
.site-header .navbar { min-height: 76px; }
.navbar-brand, .admin-brand { color: var(--a2z-primary); font-size: 1.25rem; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.navbar-brand span { color: var(--a2z-ink); }
.nav-link { color: #344156; font-weight: 600; }
.nav-link:hover, .nav-link:focus { color: var(--a2z-primary); }

.btn { min-height: 44px; border-radius: var(--a2z-radius-sm); font-weight: 700; padding: .62rem 1.2rem; }
.btn-lg { min-height: 52px; padding: .8rem 1.45rem; font-size: 1rem; }
.btn-primary { --bs-btn-bg: var(--a2z-primary); --bs-btn-border-color: var(--a2z-primary); --bs-btn-hover-bg: var(--a2z-primary-dark); --bs-btn-hover-border-color: var(--a2z-primary-dark); --bs-btn-active-bg: var(--a2z-primary-dark); }
.btn-outline-primary { --bs-btn-color: var(--a2z-primary); --bs-btn-border-color: #8eb0e7; --bs-btn-hover-bg: #eaf1fd; --bs-btn-hover-color: var(--a2z-primary-dark); --bs-btn-hover-border-color: var(--a2z-primary); }
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .form-check-input:focus-visible, a:focus-visible { outline: 3px solid rgba(11,82,199,.28); outline-offset: 2px; box-shadow: none; }

.hero-section { padding: clamp(4.5rem, 10vw, 8.5rem) 0; background: linear-gradient(135deg, #fff 18%, #f1f5ff 100%); }
.hero-section h1 span { color: var(--a2z-primary); }
.hero-copy { max-width: 42rem; margin: 1.5rem 0 2rem; color: var(--a2z-muted); font-size: 1.15rem; }
.eyebrow { display: inline-block; color: var(--a2z-primary); font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.trust-panel { padding: clamp(2rem, 5vw, 3rem); color: #fff; background: var(--a2z-navy); border-radius: var(--a2z-radius-lg); box-shadow: var(--a2z-shadow); }
.trust-panel h2, .trust-panel p { color: #fff; }
.trust-panel__label { color: #afc9f2; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.clean-list { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.clean-list li { padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.16); }

.section-pad { padding: var(--a2z-space-section) 0; }
.section-soft { background: var(--a2z-soft); }
.section-heading { max-width: 44rem; margin-bottom: 2.25rem; }
.section-heading p, .page-heading p, .section-title p { color: var(--a2z-muted); }
.a2z-card { padding: 1.75rem; background: var(--a2z-surface); border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.a2z-card:hover { transform: translateY(-2px); border-color: #aac2e8; box-shadow: var(--a2z-shadow); }
.a2z-card p { color: var(--a2z-muted); }
.category-mark { display: block; width: 2rem; height: .28rem; margin-bottom: 1.5rem; background: var(--a2z-primary); border-radius: 99px; }
.text-link { color: var(--a2z-primary); font-size: .88rem; font-weight: 700; }
.steps { list-style: none; padding-left: 0; }
.steps li > span { color: var(--a2z-primary); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.steps p { color: var(--a2z-muted); }
.content-narrow { max-width: 760px; }
.catalogue-hero { padding: clamp(3.5rem,8vw,6.5rem) 0; background: linear-gradient(150deg,#f4f7ff,#fff); }
.catalogue-hero h1,.category-heading h1,.product-hero h1 { margin: .75rem 0 1rem; }
.catalogue-hero p,.category-heading p { color: var(--a2z-muted); font-size: 1.08rem; }
.category-card { position: relative; min-height: 230px; }
.category-heading { padding: 1rem 0 2.75rem; }
.customer-filter { display: grid; grid-template-columns: minmax(240px,2fr) minmax(180px,1fr) minmax(170px,1fr) auto; gap: 1rem; align-items: end; margin-bottom: 3rem; padding: 1.35rem; background: var(--a2z-soft); border-radius: var(--a2z-radius); }
.customer-filter .form-label { font-size: .82rem; }
.results-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.25rem; }
.results-heading h2 { margin: 0; font-size: 1.55rem; }
.results-heading p { margin: .25rem 0 0; color: var(--a2z-muted); }
.product-list { display: grid; gap: 1rem; }
.product-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; padding: clamp(1.35rem,3vw,2rem); background: #fff; border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); }
.product-card__meta { display: flex; gap: .65rem; margin-bottom: .7rem; color: #647187; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.product-card__identity { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.product-card__identity > div { display:flex; flex-direction:column; }
.product-card__identity a { color:var(--a2z-ink); font-weight:750; text-decoration:none; }
.product-card__identity span { color:var(--a2z-muted); font-size:.76rem; }
.card-insurer-logo { position:relative; display:grid; flex:0 0 58px; width:58px; height:42px; place-items:center; overflow:hidden; color:var(--a2z-primary-dark); background:#fff; border:1px solid var(--a2z-border); border-radius:.4rem; font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.card-insurer-logo .insurer-logo__image { padding:.35rem; }
.product-card.is-selected { border-color:var(--a2z-primary); box-shadow:0 0 0 3px rgba(11,82,199,.09); }
.product-card .compare-check { margin:0 0 .75rem; }
.product-card__meta span + span::before { content: "·"; margin-right: .65rem; }
.product-card h2 { margin-bottom: .6rem; font-size: 1.35rem; }
.product-card p { max-width: 690px; margin-bottom: .9rem; color: var(--a2z-muted); }
.benefit-summary > span { color: #506078; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.benefit-summary ul { display: flex; flex-wrap: wrap; gap: .45rem 1.25rem; margin: .45rem 0 0; padding: 0; list-style: none; font-size: .88rem; }
.benefit-summary li::before { content: "✓"; margin-right: .4rem; color: var(--a2z-success); font-weight: 800; }
.product-card__action { display: flex; min-width: 190px; flex-direction: column; gap: .85rem; align-items: stretch; }
.availability { display: inline-flex; gap: .5rem; align-items: center; color: #315a48; font-size: .78rem; font-weight: 700; }
.availability > span { width: .5rem; height: .5rem; background: #2c8c61; border-radius: 50%; }
.customer-empty { margin-top: 1rem; padding: clamp(2rem,6vw,4rem); text-align: center; background: var(--a2z-soft); border-radius: var(--a2z-radius); }
.customer-empty h2 { font-size: 1.45rem; }
.insurer-page-heading { display:flex; align-items:center; gap:1.5rem; }
.insurer-page-heading h1 { margin:.35rem 0 .5rem; }
.insurer-page-heading p { margin-bottom:.35rem; }
.insurer-category { padding:2.5rem 0; border-top:1px solid var(--a2z-border); scroll-margin-top:6rem; }
.insurer-category:first-of-type { border-top:0; }
.customer-empty p,.section-empty { color: var(--a2z-muted); }
.customer-pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 2rem; }
.customer-pagination div { display: flex; gap: .5rem; }
.product-hero { padding: 2.5rem 0 4rem; border-bottom: 1px solid var(--a2z-border); }
.product-hero .lead { max-width: 720px; color: var(--a2z-muted); }
.insurer-identity { display:flex; align-items:center; gap:.85rem; margin-bottom:1rem; }
.insurer-identity > div { display:flex; flex-direction:column; color:var(--a2z-muted); font-size:.78rem; }
.insurer-identity strong { color:var(--a2z-ink); font-size:1rem; }
.insurer-logo { position:relative; display:grid; width:88px; height:64px; place-items:center; overflow:hidden; color:var(--a2z-primary-dark); background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-sm); font-weight:800; letter-spacing:.06em; }
.insurer-logo__image { position:absolute; inset:0; width:100%; height:100%; padding:.55rem; background:#fff; object-fit:contain; }
.insurer-logo__image.is-broken { display:none; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; margin:0; padding:0; list-style:none; }
.benefit-grid li { display:flex; gap:.85rem; padding:1.15rem 0; border-bottom:1px solid var(--a2z-border); }
.benefit-grid h3 { margin:0; font-size:1rem; }
.benefit-grid p { margin:.35rem 0 0; color:var(--a2z-muted); font-size:.9rem; }
.benefit-mark { flex:0 0 1.6rem; height:1.6rem; color:var(--a2z-success); background:#e8f5ee; border-radius:50%; font-weight:800; line-height:1.6rem; text-align:center; }
.important-callout { display:grid; gap:1.5rem; padding:clamp(1.25rem,3vw,2rem); background:#f5f8fc; border-left:3px solid #7f9abc; border-radius:0 var(--a2z-radius-sm) var(--a2z-radius-sm) 0; }
.important-callout h3 { margin:0 0 .75rem; font-size:1rem; }
.important-callout ul { display:grid; gap:.55rem; margin:0; padding-left:1.2rem; }
.insurer-label { color: #526075; font-size: .88rem; }
.next-step-panel { padding: 1.6rem; background: var(--a2z-soft); border-radius: var(--a2z-radius); }
.next-step-panel h2 { margin: .7rem 0; font-size: 1.35rem; }
.next-step-panel p { color: var(--a2z-muted); font-size: .9rem; }
.product-detail { max-width: 1040px; }
.product-detail > section { padding: clamp(2.5rem,6vw,4.5rem) 0; border-bottom: 1px solid var(--a2z-border); }
.product-detail h2 { margin: .6rem 0 1.5rem; font-size: clamp(1.55rem,3vw,2rem); }
.public-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 0; }
.public-facts div { padding: 1.15rem; background: var(--a2z-soft); border-radius: var(--a2z-radius-sm); }
.public-facts dt { color: var(--a2z-muted); font-size: .75rem; text-transform: uppercase; }
.public-facts dd { margin: .25rem 0 0; font-weight: 700; }
.coverage-list { border-top: 1px solid var(--a2z-border); }
.coverage-row { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid var(--a2z-border); }
.coverage-row h3 { margin: 0; font-size: 1rem; }
.coverage-row p { margin: .3rem 0 0; color: var(--a2z-muted); font-size: .9rem; }
.coverage-state { align-self: start; padding: .3rem .65rem; color: #284b3c; background: #e5f3ec; border-radius: 99px; font-size: .72rem; font-weight: 800; }
.public-list,.document-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--a2z-border); }
.public-list li,.document-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--a2z-border); }
.public-list span,.document-list span { display: block; color: var(--a2z-muted); font-size: .86rem; }
.quote-notice { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin: 3rem 0 5rem; padding: clamp(1.5rem,4vw,2.5rem) !important; background: #eef5ff; border: 0 !important; border-radius: var(--a2z-radius-lg); }
.quote-notice h2 { margin-bottom: .5rem; }
.quote-notice p { max-width: 650px; margin: 0; color: var(--a2z-muted); }
.quote-form-shell { min-height: 70vh; padding: clamp(2rem,6vw,5rem) 0; background: var(--a2z-soft); }
.quote-form-shell .container { max-width: 720px; }
.quote-progress { margin-bottom: 1.25rem; }
.quote-progress > div:first-child { display:flex; justify-content:space-between; margin-bottom:.6rem; color:var(--a2z-muted); font-size:.82rem; }
.quote-progress strong { color:var(--a2z-primary); }
.quote-progress .progress { height:.42rem; background:#dce4f1; }
.test-data-notice { display:flex; gap:.5rem 1rem; flex-wrap:wrap; margin-bottom:1rem; padding:.85rem 1rem; color:#634c11; background:#fff8dc; border:1px solid #ead99a; border-radius:var(--a2z-radius-sm); font-size:.84rem; }
.quote-form { padding:clamp(1.4rem,5vw,3rem); background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-lg); box-shadow:var(--a2z-shadow); }
.quote-form legend { margin-bottom:.45rem; font-size:clamp(1.5rem,4vw,2rem); font-weight:750; letter-spacing:-.025em; }
.step-intro { margin-bottom:2rem; color:var(--a2z-muted); }
.quote-actions { display:flex; align-items:center; margin-top:2.25rem; padding-top:1.25rem; border-top:1px solid var(--a2z-border); }
.choice-list { display:grid; gap:.8rem; }
.choice-list label { display:flex; gap:1rem; padding:1.1rem; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-sm); cursor:pointer; }
.choice-list label:has(input:checked) { border-color:var(--a2z-primary); background:#f2f6ff; }
.choice-list input { margin-top:.3rem; }
.choice-list small { display:block; margin-top:.25rem; color:var(--a2z-muted); }
.review-note { margin-top:1.5rem; padding:1rem; background:var(--a2z-soft); border-radius:var(--a2z-radius-sm); }
.review-note p { margin:.25rem 0 0; color:var(--a2z-muted); }
.results-hero { padding:clamp(2.5rem,6vw,4rem) 0; background:linear-gradient(145deg,#fff,#f0f5ff); }
.results-hero h1 { margin:.6rem 0; }
.quote-results { display:grid; gap:1rem; }
.quote-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,auto); gap:2rem; padding:clamp(1.4rem,4vw,2.25rem); background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); }
.quote-result h2 { font-size:1.35rem; }.quote-insurer { margin:.7rem 0 .25rem; color:var(--a2z-muted); }.quote-result ul { margin:1rem 0 0; padding-left:1.2rem; }
.quote-price { display:flex; flex-direction:column; gap:.45rem; text-align:right; }.quote-price > span:first-child,.quote-price small { color:var(--a2z-muted); font-size:.78rem; }.quote-price strong { font-size:1.65rem; }.quote-price .status-badge { align-self:flex-end; }
.test-pill { display:inline-flex; padding:.2rem .5rem; color:#6b520c; background:#fff2bd; border-radius:99px; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.provider-notice { margin-top:1.5rem; padding:1.25rem; background:#f7f8fa; border-left:3px solid #718099; }.provider-notice h2 { font-size:1.15rem; }.provider-notice p { color:var(--a2z-muted); }
.results-toolbar { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:1.25rem; }
.results-toolbar > div span { display:block; color:var(--a2z-muted); font-size:.84rem; }.results-toolbar form { display:flex; align-items:center; gap:.75rem; }.results-toolbar label { white-space:nowrap; font-size:.82rem; font-weight:700; }
.quote-result { transition:border-color .15s,box-shadow .15s; }.quote-result.is-selected { border-color:#739bce; box-shadow:0 0 0 3px rgba(11,82,199,.08); }
.quote-card-top { display:flex; justify-content:space-between; gap:1rem; }.compare-check { display:flex; align-items:center; gap:.5rem; font-size:.84rem; font-weight:700; cursor:pointer; }.compare-check input { width:1.1rem; height:1.1rem; accent-color:var(--a2z-primary); }
.quote-result__main h3 { margin:1.35rem 0 .55rem; color:#526075; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; }
.quote-result__action { display:flex; min-width:230px; flex-direction:column; gap:.75rem; justify-content:center; }.premium-display { display:flex; flex-direction:column; gap:.2rem; }.premium-display > span,.premium-display small { color:var(--a2z-muted); font-size:.78rem; }.premium-display strong { font-size:clamp(1.45rem,3vw,1.8rem); }.quote-validity { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; color:var(--a2z-muted); font-size:.78rem; }
.quote-features,.quote-addons,.detail-attributes { margin:0; padding:0; list-style:none; border-top:1px solid var(--a2z-border); }.quote-features li,.quote-addons li,.detail-attributes li { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--a2z-border); font-size:.88rem; }.coverage-indicator { color:#315a48; font-size:.78rem; }.not-provided { color:var(--a2z-muted); font-style:italic; }.quote-result details { margin-top:1rem; }.quote-result summary { color:#31547f; font-weight:700; cursor:pointer; }
.compare-bar { position:sticky; z-index:20; bottom:1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:1.5rem auto 0; padding:1rem 1.25rem; color:#fff; background:#152b49; border-radius:var(--a2z-radius); box-shadow:0 14px 38px rgba(10,28,52,.24); }.compare-bar[hidden] { display:none; }.compare-bar > div { display:flex; align-items:center; gap:.75rem; }.compare-bar span { display:block; color:#cbd6e6; font-size:.8rem; }.compare-bar .btn-link { color:#fff; }
.comparison-page { max-width:1180px; }.comparison-table { display:grid; grid-template-columns:minmax(160px,.75fr) repeat(var(--comparison-count),minmax(190px,1fr)); }.comparison-products { position:sticky; z-index:10; top:0; align-items:stretch; padding:1rem 0; background:#fff; border-bottom:1px solid var(--a2z-border); }.comparison-label-cell { display:flex; align-items:center; color:var(--a2z-muted); font-size:.82rem; }.comparison-product { padding:1rem 1.1rem; border-left:1px solid var(--a2z-border); }.comparison-product__insurer { display:flex; align-items:center; gap:.65rem; color:var(--a2z-muted); font-size:.82rem; font-weight:700; }.comparison-product__insurer .card-insurer-logo { width:52px; height:38px; flex-basis:52px; }.comparison-product h2 { margin:.8rem 0 .25rem; font-size:1.05rem; }.comparison-product p { margin:0 0 .9rem; color:var(--a2z-muted); font-size:.82rem; }.comparison-product__actions { display:flex; align-items:center; flex-wrap:wrap; gap:.25rem; }.comparison-product form { margin-top:.35rem; }.comparison-remove { padding-left:0; color:var(--a2z-muted); }.comparison-toolbar { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:2rem; padding:.8rem 0; border-bottom:1px solid var(--a2z-border); font-size:.86rem; }.comparison-group { margin-top:2.3rem; }.comparison-group > h2 { margin:0; padding-bottom:.75rem; border-bottom:2px solid #263c5b; font-size:1.2rem; }.comparison-row { border-bottom:1px solid var(--a2z-border); }.comparison-row h3,.comparison-value { margin:0; padding:1rem; }.comparison-row h3 { color:#31445f; font-size:.86rem; font-weight:700; }.comparison-value { border-left:1px solid var(--a2z-border); font-size:.9rem; line-height:1.45; overflow-wrap:anywhere; }.comparison-value > span:last-child,.comparison-value summary { font-weight:650; }.comparison-value.is-not-specified { color:var(--a2z-muted); }.comparison-value.is-not-covered { color:#694848; }.comparison-value.is-included { color:#17603a; }.comparison-value details p { margin:.7rem 0 0; color:var(--a2z-text); font-weight:400; }.comparison-mobile-plan { display:none; }.comparison-empty { margin-top:2rem; }.comparison-footer-actions { display:grid; gap:1.25rem; margin-top:2.5rem; }.comparison-footer-actions > form:first-child { justify-self:start; }.comparison-footer-actions .quote-notice { margin:0; }.selection-confirmation { max-width:720px; margin:auto; padding:clamp(1.5rem,5vw,3.5rem); background:var(--a2z-soft); border-radius:var(--a2z-radius-lg); }.selection-confirmation h1 { margin:.6rem 0 1rem; }

.form-label { color: #2b374a; font-weight: 700; }
.form-control, .form-select { min-height: 48px; border-color: #b9c4d3; border-radius: var(--a2z-radius-sm); }
.form-control:focus, .form-select:focus { border-color: var(--a2z-primary); box-shadow: 0 0 0 .22rem rgba(11,82,199,.12); }
.input-validation-error, .form-control.input-validation-error { border-color: var(--a2z-danger); background-image: none; }
.field-validation-error, .input-validation-error ~ .invalid-feedback { display: block; color: var(--a2z-danger); font-size: .875rem; }
.validation-summary-valid { display: none; }
.validation-summary-errors { margin-bottom: 1.25rem; padding: 1rem 1.1rem; color: #761b1b; background: #fff1f1; border: 1px solid #efbcbc; border-radius: var(--a2z-radius-sm); }
.validation-summary-errors ul { margin: 0; padding-left: 1.25rem; }
.auth-section { min-height: calc(100vh - 76px); padding: var(--a2z-space-section) 0; background: var(--a2z-soft); }
.auth-card { width: min(100%, 520px); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem); background: #fff; border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius-lg); box-shadow: var(--a2z-shadow); }
.auth-card h1 { margin-top: .75rem; font-size: clamp(2rem, 4vw, 2.65rem); }

.alert { border-width: 1px; border-radius: var(--a2z-radius-sm); }
.alert-info { --bs-alert-color: #173a69; --bs-alert-bg: #eef5ff; --bs-alert-border-color: #bad0ef; }
.status-badge { display: inline-flex; align-items: center; padding: .3rem .62rem; color: #4c596b; background: #edf1f6; border-radius: 99px; font-size: .72rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.status-badge--success { color: #0c5737; background: #dff4e9; }
.status-badge--danger { color: #841f1f; background: #fde7e7; }
.request-id { margin-top: 2rem; color: var(--a2z-muted); font-size: .85rem; }
.site-footer { background: #f4f6fa; border-top: 1px solid var(--a2z-border); }
.site-footer a { color: #435064; text-decoration: none; }
.footer-heading { font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.footer-meta { margin-top: 2.5rem; padding-top: 1.25rem; color: var(--a2z-muted); border-top: 1px solid var(--a2z-border); font-size: .82rem; }

.admin-shell { min-height: 100vh; background: #f7f8fa; }
.admin-frame { display: grid; grid-template-columns: 248px minmax(0,1fr); min-height: 100vh; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 1.7rem 1.2rem; background: #fff; border-right: 1px solid #e3e7ed; }
.admin-brand { display: block; padding: 0 .65rem 1.8rem; color: var(--a2z-navy); }
.admin-brand span { display: block; margin-top: .08rem; color: #758092; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admin-sidebar nav { display: flex; flex-direction: column; gap: .18rem; }
.admin-sidebar nav a, .nav-placeholder { display: block; padding: .65rem .75rem; color: #425066; border-radius: .45rem; font-size: .9rem; font-weight: 600; text-decoration: none; }
.admin-sidebar nav a.active { color: #12386f; background: #eaf1fb; }
.nav-placeholder { color: #7c8797; }
.nav-group { margin: 1.25rem .75rem .35rem; color: #8a94a3; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-workspace { min-width: 0; }
.admin-topbar { display: flex; min-height: 68px; align-items: center; padding: 0 clamp(1rem,4vw,3rem); background: rgba(255,255,255,.94); border-bottom: 1px solid #e3e7ed; }
.admin-context { color: #657184; font-size: .82rem; }
.admin-content { width: min(100%, 1320px); margin: 0 auto; padding: clamp(2rem,5vw,4rem); }
.page-heading { display: flex; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.page-heading h1 { margin: .45rem 0 .25rem; font-size: clamp(2rem,4vw,2.8rem); }
.page-heading p { margin: 0; }
.admin-notice { padding: 2rem; background: #fff; border-left: 3px solid var(--a2z-primary); box-shadow: 0 8px 24px rgba(16,35,63,.045); }
.admin-notice h2 { margin: .9rem 0 .45rem; font-size: 1.35rem; }
.admin-notice p { max-width: 760px; margin: 0; color: var(--a2z-muted); }
.admin-section { margin-top: 3rem; }
.section-title { display: flex; justify-content: space-between; margin-bottom: 1rem; }
.section-title h2 { margin: 0; font-size: 1.25rem; }
.section-title p { margin: .25rem 0 0; }
.admin-table { margin: 0; background: #fff; border: 1px solid #e1e6ed; }
.admin-table th { padding: .85rem 1rem; color: #667286; background: #f6f8fa; border-bottom-color: #dfe4eb; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-table td { padding: 1rem; color: #364255; border-bottom-color: #e8ebf0; vertical-align: middle; }
.admin-filter { display: grid; grid-template-columns: minmax(240px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto; gap: 1rem; align-items: end; margin-bottom: 1.25rem; padding: 1.25rem; background: #fff; border: 1px solid #e1e6ed; border-radius: var(--a2z-radius-sm); }
.admin-filter--wide { grid-template-columns: minmax(220px,1.5fr) repeat(4,minmax(140px,1fr)) auto; }
.admin-filter .form-label { margin-bottom: .3rem; font-size: .78rem; }
.admin-filter .form-control,.admin-filter .form-select { min-height: 42px; }
.table-title { color: #183a6a; font-weight: 700; text-decoration: none; }
.table-meta { color: var(--a2z-muted); font-size: .78rem; }
.empty-state { padding: 2rem !important; color: var(--a2z-muted) !important; text-align: center; }
.pagination-wrap,.form-actions,.page-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.25rem; }
.page-actions { justify-content: flex-end; margin-top: 0; flex-wrap: wrap; }
.admin-form { max-width: 920px; }
.form-section,.detail-section { padding: 1.6rem 0; border-top: 1px solid #dfe4eb; }
.form-section:first-of-type { border-top: 0; }
.form-section h2,.detail-section h2 { font-size: 1.25rem; }
.logo-preview { display:grid; width:min(100%,320px); min-height:132px; padding:1rem; place-items:center; background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-sm); }
.logo-preview img { display:block; width:100%; max-width:260px; height:100px; object-fit:contain; }
.logo-empty { width:min(100%,320px); padding:2rem 1rem; color:var(--a2z-muted); text-align:center; background:var(--a2z-soft); border:1px dashed var(--a2z-border); border-radius:var(--a2z-radius-sm); }
.form-actions { justify-content: flex-end; }
.confirmation-panel { max-width: 680px; padding: clamp(1.5rem,4vw,3rem); background: #fff; border: 1px solid #dfe4eb; border-radius: var(--a2z-radius); box-shadow: var(--a2z-shadow); }
.confirmation-panel h1 { margin: .75rem 0 1rem; font-size: 2rem; }
.section-nav { display: flex; gap: 1.25rem; overflow-x: auto; margin-bottom: 1.25rem; padding: 0 0 .9rem; border-bottom: 1px solid #dfe4eb; }
.section-nav a { color: #47566b; font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.detail-section { scroll-margin-top: 1rem; }
.detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; margin: 0; }
.detail-grid dt { color: #748094; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.detail-grid dd { margin: .35rem 0 0; font-weight: 650; }
.detail-grid small { display: block; color: var(--a2z-muted); font-weight: 400; }
.admin-disclosure { margin-top: .75rem; background: #fff; border: 1px solid #dfe4eb; border-radius: var(--a2z-radius-sm); }
.admin-disclosure summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; cursor: pointer; font-weight: 650; }
.disclosure-body { padding: 1.1rem; border-top: 1px solid #e6eaf0; }
.admin-disclosure.compact { margin-bottom: 1.5rem; }
.subsection-heading { margin: 1.5rem 0 .6rem; color: #4d5a6c; font-size: .86rem; letter-spacing: .05em; text-transform: uppercase; }
.clean-records { margin: 0; padding: 0; list-style: none; border-top: 1px solid #e2e7ed; }
.clean-records li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem .25rem; border-bottom: 1px solid #e8ebf0; }
.clean-records small { display: block; color: var(--a2z-muted); }

@media (max-width: 991.98px) {
  .site-header .navbar-collapse { padding: 1rem 0 1.25rem; }
  .admin-frame { grid-template-columns: 1fr; }
  .admin-sidebar { display: none; position: fixed; z-index: 1040; width: min(82vw, 280px); box-shadow: 12px 0 36px rgba(16,35,63,.15); }
  .admin-shell.nav-open .admin-sidebar { display: block; }
  .admin-filter,.admin-filter--wide { grid-template-columns: 1fr 1fr; }
  .detail-grid { grid-template-columns: 1fr 1fr; }
  .customer-filter { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) { .product-card { grid-template-columns: 1fr; } .product-card__action { min-width: 0; } .public-facts,.benefit-grid { grid-template-columns: 1fr; } .quote-notice { align-items: stretch; flex-direction: column; }.insurer-page-heading { align-items:flex-start; flex-direction:column; }.product-card__action { display:grid; grid-template-columns:1fr 1fr; } }
@media (max-width: 767.98px) { .quote-result { grid-template-columns:1fr; }.quote-price { text-align:left; }.quote-price .status-badge { align-self:flex-start; }.results-toolbar { align-items:stretch; flex-direction:column; }.results-toolbar form { justify-content:space-between; }.quote-result__action { min-width:0; }.compare-bar,.compare-bar > div { align-items:stretch; flex-direction:column; }.compare-bar > div:last-child { flex-direction:row; }.comparison-products { position:static; display:flex; gap:.75rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:1rem; }.comparison-label-cell { display:none; }.comparison-product { min-width:min(82vw,300px); border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-sm); scroll-snap-align:start; }.comparison-toolbar { align-items:flex-start; flex-direction:column; }.comparison-row { display:block; padding:.85rem 0; }.comparison-row h3 { padding:.25rem 0 .55rem; font-size:.92rem; }.comparison-value { display:flex; justify-content:space-between; gap:1rem; margin:.4rem 0; padding:.8rem; border:0; background:var(--a2z-soft); border-radius:.4rem; text-align:right; }.comparison-mobile-plan { display:inline; max-width:48%; color:var(--a2z-muted); font-size:.78rem; font-weight:600; text-align:left; }.comparison-value details { max-width:52%; }.comparison-footer-actions .quote-notice { align-items:stretch; flex-direction:column; } }
@media (max-width: 575.98px) { .admin-filter,.admin-filter--wide,.detail-grid,.customer-filter { grid-template-columns: 1fr; } .page-heading { flex-direction: column; } .customer-pagination,.document-list li { align-items: stretch; flex-direction: column; }.product-card__action { grid-template-columns:1fr; } }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
.structured-benefit-group{margin-top:2rem}.structured-benefit-group>h3{padding-bottom:.7rem;border-bottom:2px solid var(--a2z-navy)}.structured-benefit-group dl{margin:0}.structured-benefit-group dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--a2z-border)}.structured-benefit-group dt small{display:block;margin-top:.25rem;color:var(--a2z-muted);font-weight:400}.structured-benefit-group dd{margin:0;text-align:right;font-weight:700}.structured-benefit-group .is-unknown{color:var(--a2z-muted)}.structured-benefit-group .is-not-covered{color:#754c4c}.structured-benefit-group .is-included{color:var(--a2z-success)}.public-price{color:var(--a2z-navy);font-size:1.8rem;font-weight:750}.product-summary-notice{margin-top:3rem;padding:1.25rem 1.5rem;color:var(--a2z-muted);background:var(--a2z-soft);border-left:3px solid #8ca2b8;border-radius:var(--a2z-radius-sm)}
@media(max-width:575.98px){.structured-benefit-group dl>div{grid-template-columns:1fr;gap:.35rem}.structured-benefit-group dd{text-align:left}}
.form-control.is-invalid,.form-select.is-invalid{border-color:var(--bs-danger)}.form-control.is-valid,.form-select.is-valid{border-color:var(--bs-success)}.invalid-feedback{font-size:.82rem}.form-check-input.is-invalid~.form-check-label{color:inherit}.just-validate-error-label{margin-top:.35rem}.ts-wrapper.is-invalid .ts-control{border-color:var(--bs-danger)}[aria-invalid="true"]{scroll-margin-top:6rem}

/* Financial-planning customer experience */
.customer-shell { --a2z-primary:#174f85; --a2z-primary-dark:#10395f; --a2z-navy:#102a43; --a2z-ink:#172b3e; --a2z-muted:#607286; --a2z-soft:#f5f7f9; --a2z-border:#dce3e8; }
.customer-shell .container { max-width:1200px; }
.customer-shell p { max-width:68ch; }
.navbar-brand { display:inline-flex; align-items:baseline; gap:.38rem; }
.brand-a2z { color:var(--a2z-primary) !important; font-size:1.38rem; }
.brand-name { color:var(--a2z-ink) !important; font-size:.76rem; font-weight:650; letter-spacing:.02em; }
.site-header .nav-link { padding:.75rem .7rem; }
.wealth-hero { background:linear-gradient(135deg,#fff 10%,#f2f6f8 65%,#edf3f6); }
.hero-assurance { margin:1.5rem 0 0; color:var(--a2z-muted); font-size:.86rem; }
.wealth-path { padding:clamp(1.75rem,4vw,2.6rem); color:#fff; background:var(--a2z-navy); border-radius:var(--a2z-radius-lg); box-shadow:0 22px 60px rgba(16,42,67,.14); }
.wealth-path ol { margin:1.5rem 0 0; padding:0; list-style:none; }
.wealth-path li { display:grid; grid-template-columns:2.2rem 1fr; gap:1rem; padding:1.05rem 0; border-top:1px solid rgba(255,255,255,.14); }
.wealth-path li>span { color:#a9c6dd; font-size:.72rem; font-weight:800; }
.wealth-path strong,.wealth-path small { display:block; }.wealth-path small { margin-top:.2rem; color:#ccd9e4; }
.section-heading h2 { margin:.7rem 0 .65rem; }.section-heading--centered { margin-inline:auto; text-align:center; }
.section-lead { color:var(--a2z-muted); font-size:1.08rem; }
.planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:3rem; row-gap:0; border-top:1px solid var(--a2z-border); }
.planning-topic { min-height:230px; padding:2rem 0; border-bottom:1px solid var(--a2z-border); }
.planning-topic__topline { display:flex; justify-content:space-between; gap:1rem; color:var(--a2z-primary); font-size:.73rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.planning-topic__topline small { color:var(--a2z-muted); font-weight:700; }.planning-topic h3 { margin:1.15rem 0 .55rem; }.planning-topic p { color:var(--a2z-muted); }
.planning-topic--active { position:relative; }.planning-topic--active::before { position:absolute; top:-1px; width:4rem; height:3px; content:""; background:var(--a2z-primary); }
.protection-facts { display:grid; grid-template-columns:repeat(3,1fr); padding:1rem 0; border-block:1px solid var(--a2z-border); }
.protection-facts div { padding:1.25rem 1.5rem; border-left:1px solid var(--a2z-border); }.protection-facts div:first-child { border-left:0; }.protection-facts strong,.protection-facts span { display:block; }.protection-facts strong { color:var(--a2z-navy); font-size:1.45rem; }.protection-facts span { margin-top:.25rem; color:var(--a2z-muted); font-size:.82rem; }
.journey-steps li { padding-right:2rem; }.journey-steps h3 { margin:.8rem 0 .4rem; }
.guidance-cta { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-top:4rem; padding:clamp(2rem,5vw,3.5rem); color:#fff; background:var(--a2z-navy); border-radius:var(--a2z-radius-lg); }.guidance-cta h2 { max-width:650px; margin:.55rem 0; color:#fff; }.guidance-cta p { margin:0; color:#cbd7e2; }.guidance-cta .eyebrow { color:#a9c6dd; }.guidance-cta .btn { flex:none; color:var(--a2z-navy); }
.insurance-landing-hero { text-align:left; }.role-explainer { padding:2rem; background:#fff; border-left:3px solid var(--a2z-primary); box-shadow:var(--a2z-shadow); }.role-explainer h2 { font-size:1.3rem; }.role-explainer ul { padding-left:1.15rem; }.role-explainer p { margin:1rem 0 0; color:var(--a2z-muted); font-size:.86rem; }
.motor-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,7vw,6rem); align-items:center; }.motor-feature>div p { color:var(--a2z-muted); font-size:1.05rem; }.motor-feature ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--a2z-border); }.motor-feature li { display:grid; grid-template-columns:6rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--a2z-border); }.motor-feature li span { color:var(--a2z-muted); }
.insurer-link-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; background:var(--a2z-border); border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); }.insurer-link-list a { display:flex; justify-content:space-between; gap:1rem; padding:1.3rem 1.5rem; color:var(--a2z-ink); background:#fff; text-decoration:none; }.insurer-link-list a:hover { background:var(--a2z-soft); }.insurer-link-list small { color:var(--a2z-muted); }
.consideration-strip { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1.5rem; padding:1rem 1.25rem; background:var(--a2z-soft); border-radius:var(--a2z-radius-sm); }.consideration-strip span { color:var(--a2z-muted); font-size:.86rem; }.consideration-strip span::before { margin-right:.65rem; color:var(--a2z-primary); content:"•"; }
.product-card { border-color:#e3e8ec; box-shadow:0 3px 14px rgba(16,42,67,.035); }.product-card:hover { border-color:#b8c8d4; box-shadow:0 10px 28px rgba(16,42,67,.07); }.product-card__action .btn-primary { order:0; }.product-card__action .btn-outline-primary { order:1; }
.quote-form-intro { margin-bottom:2rem; }.quote-form-intro h1 { margin:.55rem 0 .75rem; }.quote-form-intro ul { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin:1.25rem 0 0; padding:0; color:var(--a2z-muted); list-style:none; font-size:.86rem; }.quote-form-intro li::before { margin-right:.55rem; color:var(--a2z-success); content:"✓"; font-weight:800; }.quote-actions>span { color:var(--a2z-muted); font-size:.8rem; }
.site-footer { padding-top:1rem; background:#f1f4f6; }.site-footer .navbar-brand { display:inline-flex; }.site-footer a { display:block; margin:.5rem 0; }.footer-intro { max-width:440px !important; }.footer-note { display:block; color:var(--a2z-muted); font-size:.75rem; }.footer-meta { display:flex; justify-content:space-between; gap:1rem; }
@media (max-width:991.98px) { .planning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.site-header .navbar-nav { align-items:stretch !important; }.site-header .btn { width:100%; margin-top:.35rem; }.motor-feature { grid-template-columns:1fr; }.guidance-cta { align-items:flex-start; flex-direction:column; } }
@media (max-width:767.98px) { .planning-grid,.insurer-link-list { grid-template-columns:1fr; }.protection-facts { grid-template-columns:1fr; }.protection-facts div,.protection-facts div:first-child { padding:1rem 0; border-left:0; border-top:1px solid var(--a2z-border); }.protection-facts div:first-child { border-top:0; }.consideration-strip { align-items:flex-start; flex-direction:column; }.quote-form-intro ul { flex-direction:column; }.footer-meta { flex-direction:column; }.guidance-cta .btn { width:100%; }.journey-steps li { padding-right:calc(var(--bs-gutter-x)*.5); } }
@media (max-width:575.98px) { .wealth-hero { padding-top:3.5rem; }.hero-section h1 { font-size:2.65rem; }.product-card { gap:1.25rem; }.product-card__action .btn { width:100%; }.quote-actions { align-items:stretch; flex-direction:column; }.quote-actions .btn { width:100%; } }

/* Customer homepage — extends the Stitch-derived financial-services language. */
.site-header .dropdown-toggle.btn-link { min-height:auto; border:0; border-radius:0; text-decoration:none; }
.site-header .dropdown-menu { min-width:240px; padding:.6rem; border-color:var(--a2z-border); border-radius:var(--a2z-radius-sm); box-shadow:var(--a2z-shadow); }
.site-header .dropdown-item,.site-header .dropdown-item-text { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .75rem; color:var(--a2z-ink); font-size:.86rem; border-radius:.35rem; }
.site-header .dropdown-item span,.site-header .dropdown-item-text small { color:var(--a2z-muted); font-size:.7rem; font-weight:700; }
.home-hero { position:relative; overflow:hidden; padding-block:clamp(4.75rem,9vw,7.5rem); }
.home-hero::after { position:absolute; z-index:0; right:-12rem; bottom:-16rem; width:34rem; height:34rem; content:""; background:rgba(23,79,133,.045); border-radius:50%; }
.home-hero .container { position:relative; z-index:1; }
.home-hero .row,.retirement-section .row { --bs-gutter-x:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.availability-note { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin-top:1.5rem; color:var(--a2z-muted); font-size:.84rem; }
.capability-label,.capability-inline { display:inline-flex; align-items:center; padding:.25rem .55rem; color:var(--a2z-muted); background:#e8edf1; border-radius:99px; font-size:.68rem; font-style:normal; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.capability-label.is-available { color:var(--a2z-success); background:#e8f3ee; }
.financial-life-visual { position:relative; min-height:390px; border:1px solid rgba(255,255,255,.7); border-radius:2rem; background:linear-gradient(145deg,#f7f9fb,#e6edf3); box-shadow:0 24px 60px rgba(16,42,67,.12); }
.financial-life-visual::before,.financial-life-visual::after { position:absolute; inset:16% 19%; content:""; border:1px solid rgba(23,79,133,.16); border-radius:50%; }
.financial-life-visual::after { inset:26% 30%; }
.financial-life-visual__core { position:absolute; z-index:2; inset:50% auto auto 50%; display:grid; width:150px; height:150px; padding:1rem; place-items:center; text-align:center; color:#fff; background:var(--a2z-navy); border:8px solid rgba(255,255,255,.8); border-radius:50%; box-shadow:var(--a2z-shadow); transform:translate(-50%,-50%); }
.financial-life-visual__core span { color:#b9d1e5; font-size:.76rem; font-weight:800; letter-spacing:.1em; }.financial-life-visual__core strong { font-size:1rem; }
.life-node { position:absolute; z-index:3; display:grid; min-width:96px; padding:.75rem 1rem; color:var(--a2z-ink); background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); box-shadow:0 8px 24px rgba(16,42,67,.07); font-weight:750; }
.life-node small { color:var(--a2z-muted); font-size:.67rem; font-weight:650; text-transform:uppercase; }.life-node--car { top:10%; left:8%; }.life-node--home { top:12%; right:7%; }.life-node--family { bottom:10%; left:8%; }.life-node--epf { right:8%; bottom:12%; }
.goal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.goal-card { display:flex; min-height:270px; padding:1.6rem; flex-direction:column; background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); }
.goal-card--available { border-top:3px solid var(--a2z-primary); box-shadow:var(--a2z-shadow); }.goal-card__top { display:flex; justify-content:space-between; gap:1rem; align-items:center; }.goal-marker { color:var(--a2z-primary); font-size:.76rem; font-weight:800; }.goal-card h3 { margin:1.5rem 0 .65rem; }.goal-card p { color:var(--a2z-muted); }.goal-card .text-link { margin-top:auto; }
.readiness-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,7vw,6rem); align-items:center; }
.readiness-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:hidden; background:var(--a2z-border); border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-lg); gap:1px; }
.readiness-panel div { display:flex; min-height:105px; padding:1.25rem; flex-direction:column; justify-content:center; background:#fff; }.readiness-panel span { color:var(--a2z-muted); font-size:.78rem; }.readiness-panel strong { margin-top:.3rem; font-size:1rem; }.readiness-panel p { grid-column:1/-1; max-width:none; margin:0; padding:1rem 1.25rem; color:var(--a2z-muted); background:#f9fafb; font-size:.78rem; }
.retirement-section { border-block:1px solid var(--a2z-border); }.retirement-levels { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; background:var(--a2z-border); border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); gap:1px; }.retirement-levels div { padding:1.5rem 1.25rem; background:#fff; }.retirement-levels span,.retirement-levels strong { display:block; }.retirement-levels span { color:var(--a2z-muted); font-size:.78rem; }.retirement-levels strong { margin-top:.5rem; color:var(--a2z-navy); font-size:clamp(1.15rem,2.4vw,1.55rem); }.source-note { margin:.85rem 0 0; color:var(--a2z-muted); font-size:.75rem; }
.motor-home-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:clamp(2.5rem,7vw,6rem); align-items:center; }.comparison-illustration { overflow:hidden; background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius-lg); box-shadow:var(--a2z-shadow); }.comparison-illustration__head,.comparison-illustration>div { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1.2rem; border-bottom:1px solid var(--a2z-border); }.comparison-illustration__head { color:#fff; background:var(--a2z-navy); }.comparison-illustration small,.comparison-illustration>div>span { color:var(--a2z-muted); font-size:.78rem; }.comparison-illustration__head small { color:#cbd9e4; }.comparison-illustration>div>strong { font-size:.78rem; }.comparison-illustration p { margin:0; padding:1rem 1.2rem; color:var(--a2z-muted); font-size:.74rem; }
.financial-journey { display:grid; grid-template-columns:repeat(6,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--a2z-border); }.financial-journey li { position:relative; display:flex; min-height:190px; padding:1.5rem 1rem 1rem 0; flex-direction:column; border-bottom:1px solid var(--a2z-border); }.financial-journey li::before { position:absolute; top:-5px; left:0; width:9px; height:9px; content:""; background:#fff; border:2px solid #9babb8; border-radius:50%; }.financial-journey li.is-current::before { background:var(--a2z-primary); border-color:var(--a2z-primary); }.financial-journey li>span { color:var(--a2z-primary); font-size:.7rem; font-weight:800; }.financial-journey strong { margin-top:1rem; }.financial-journey small { color:var(--a2z-muted); }.financial-journey em { margin-top:auto; color:var(--a2z-muted); font-size:.66rem; font-style:normal; font-weight:800; text-transform:uppercase; }
.value-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--a2z-border); }.value-grid article { min-height:190px; padding:1.75rem 2rem 1.75rem 0; border-bottom:1px solid var(--a2z-border); }.value-grid article:nth-child(odd) { border-right:1px solid var(--a2z-border); }.value-grid article:nth-child(even) { padding-left:2rem; }.value-grid article>span { color:var(--a2z-primary); font-size:.7rem; font-weight:800; }.value-grid h3 { margin:.8rem 0 .45rem; }.value-grid p { margin:0; color:var(--a2z-muted); }
.provider-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }.provider-logo-card { display:flex; min-height:130px; padding:1.1rem; flex-direction:column; gap:.8rem; align-items:center; justify-content:center; color:var(--a2z-ink); background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); text-align:center; text-decoration:none; transition:border-color .2s,transform .2s; }.provider-logo-card:hover { color:var(--a2z-ink); border-color:#b8c8d4; transform:translateY(-2px); }.provider-logo-card__image { position:relative; display:grid; width:110px; height:58px; place-items:center; overflow:hidden; color:var(--a2z-primary); font-size:.8rem; font-weight:800; }.provider-logo-card__image .insurer-logo__image { padding:.35rem; }.provider-logo-card>span:last-child { font-size:.82rem; font-weight:700; }
.learn-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.learn-card { min-height:180px; padding:1.5rem; background:#fff; border:1px solid var(--a2z-border); border-radius:var(--a2z-radius); }.learn-card>span { color:var(--a2z-primary); font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.learn-card h3 { margin:1rem 0 1.5rem; }.learn-card small { color:var(--a2z-muted); font-weight:700; }
.home-final-cta { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding:clamp(2rem,5vw,4rem); color:#fff; background:var(--a2z-navy); border-radius:var(--a2z-radius-lg); box-shadow:0 20px 48px rgba(16,42,67,.14); }.home-final-cta h2 { margin:.55rem 0; color:#fff; }.home-final-cta p { margin:0; color:#cbd9e4; }.home-final-cta .eyebrow { color:#a9c6dd; }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.a2z-card,.provider-logo-card{transition:none}}
@media (min-width:992px){.home-hero .row,.retirement-section .row{--bs-gutter-x:1.5rem}}
@media (max-width:991.98px){.goal-grid{grid-template-columns:repeat(2,1fr)}.readiness-layout,.motor-home-layout{grid-template-columns:1fr}.financial-journey{grid-template-columns:repeat(3,1fr)}.provider-logo-grid{grid-template-columns:repeat(3,1fr)}.home-final-cta{align-items:flex-start;flex-direction:column}}
@media (max-width:767.98px){.home-hero{padding-top:3.5rem}.financial-life-visual{min-height:330px}.goal-grid,.learn-grid,.value-grid{grid-template-columns:1fr}.goal-card{min-height:220px}.value-grid article,.value-grid article:nth-child(even),.value-grid article:nth-child(odd){padding:1.5rem 0;border-right:0}.retirement-levels{grid-template-columns:1fr}.financial-journey{grid-template-columns:repeat(2,1fr)}.provider-logo-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.financial-life-visual{min-height:300px}.financial-life-visual__core{width:125px;height:125px}.life-node{min-width:82px;padding:.6rem .75rem;font-size:.8rem}.readiness-panel{grid-template-columns:1fr}.readiness-panel p{grid-column:auto}.financial-journey{grid-template-columns:1fr}.financial-journey li{min-height:auto;padding:1rem 0}.provider-logo-grid{grid-template-columns:1fr 1fr}.home-final-cta{border-radius:var(--a2z-radius)}}
