/* Insurance explainer: isolated from product pages and article typography. */
.page-insurance-purpose { background: #f9f9f7; color: #2c392e; }
.purpose-main { padding: 26px 0 64px; }
.purpose-shell { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.purpose-main :is(section, [id]) { scroll-margin-top: 130px; }
.purpose-main :is(p, li, dd) { font-size: 1.025rem; line-height: 1.8; text-wrap: pretty; }
.purpose-main p { margin: 0 0 18px; }
.purpose-main p:last-child { margin-bottom: 0; }
.purpose-main :is(h1, h2, h3) { color: #263e2b; text-wrap: balance; }
.purpose-heading-line { display: block; margin-top: .16em; }
.purpose-main h1 { margin: 14px 0 24px; font-size: clamp(2.6rem, 5vw, 4.2rem); line-height: 1.12; letter-spacing: -.035em; }
.purpose-main h2 { margin: 10px 0 20px; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.22; letter-spacing: -.02em; }
.purpose-main h3 { margin: 0 0 12px; font-size: 1.4rem; line-height: 1.35; }
.purpose-main a { color: #315627; text-underline-offset: 4px; }
.purpose-main a:focus-visible { outline: 3px solid #436b31; outline-offset: 4px; }
.purpose-main a:not(.purpose-button):hover { text-decoration-thickness: 2px; }
.purpose-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 36px; color: #58664f; font-size: .82rem; line-height: 1.7; }
.purpose-breadcrumb a { text-decoration: none; }
.purpose-kicker { display: block; color: #42652d; font-size: .76rem; line-height: 1.7; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.purpose-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr); gap: 64px; align-items: center; padding-bottom: 40px; }
.purpose-hero .purpose-lead { max-width: 580px; margin-bottom: 18px; font-size: 1.3rem; font-weight: 650; line-height: 1.65; }
.purpose-actions { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: center; margin-top: 28px; }
.purpose-main a.purpose-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; max-width: 100%; padding: 14px 20px; border: 1px solid #315627; border-radius: 8px; background: #315627; color: #fff; text-decoration: none; text-align: center; font-size: .92rem; line-height: 1.55; font-weight: 750; }
.purpose-main a.purpose-button:hover { background: #263e2b; border-color: #263e2b; }
.purpose-text-link { font-size: .92rem; font-weight: 700; }
.purpose-hero-note { padding: 36px 30px; border: 1px solid #d3dfc5; border-radius: 20px; background: #eef4e6; }
.purpose-hero-note .purpose-note-title { margin: 18px 0 24px; color: #263e2b; font-family: var(--font-heading); font-size: clamp(1.8rem, 2.7vw, 2.35rem); font-weight: 700; line-height: 1.25; letter-spacing: -.02em; }
.purpose-hero-note ul { margin: 0; padding-left: 21px; }
.purpose-hero-note li { padding-left: 4px; margin-bottom: 14px; font-size: .97rem; }
.purpose-hero-note li:last-child { margin-bottom: 0; }
.purpose-hero-note li::marker { color: #557a35; }
.purpose-jump-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 18px 0; border-block: 1px solid #dce4d4; }
.purpose-jump-links a { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 14px; border: 1px solid #dce4d4; border-radius: 10px; background: #fff; font-size: .85rem; font-weight: 750; line-height: 1.5; text-decoration: none; }
.purpose-jump-links a:hover { background: #eef4e6; border-color: #9cb881; }
.purpose-jump-links a > span { color: #5a7546; font-size: .72rem; font-weight: 650; }
.purpose-section { padding-top: 64px; }
.purpose-section-heading { max-width: 800px; margin-bottom: 28px; }
.purpose-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; list-style: none; margin: 0; padding: 0; }
.purpose-steps li { padding: 24px 0 0; border-top: 2px solid #9cb881; }
.purpose-step-number { display: block; color: #55773b; font-size: .8rem; font-weight: 800; letter-spacing: .05em; margin-bottom: 14px; }
.purpose-steps p { font-size: .98rem; }
.purpose-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.purpose-panel { padding: 32px; border: 1px solid #dce4d4; border-radius: 16px; background: #fff; }
.purpose-panel h2 { font-size: clamp(1.6rem, 2.5vw, 2rem); }
.purpose-panel-warm { background: #faf7f0; border-color: #dfdaca; }
.purpose-risks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.purpose-risk { display: flex; flex-direction: column; min-width: 0; padding: 32px; border: 1px solid #dfdaca; border-radius: 16px; background: #faf7f0; }
.purpose-risk > .purpose-text-link { margin-top: auto; padding-top: 6px; }
.purpose-risk-label { display: block; margin-bottom: 16px; color: #9b292b; font-size: .78rem; font-weight: 800; line-height: 1.7; }
.purpose-risk-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; background: #fff; border-color: #d6dcca; }
.purpose-risk-featured h3 { font-size: clamp(1.6rem, 2.5vw, 2rem); }
.purpose-risk-benefits { padding: 24px; border-radius: 12px; background: #f1f5e9; }
.purpose-risk-benefits .purpose-risk-promise { font-weight: 800; line-height: 1.6; color: #263e2b; }
.purpose-risk-benefits ul { margin: 0 0 20px; padding-left: 20px; }
.purpose-risk-benefits li { margin-bottom: 12px; font-size: .97rem; }
.purpose-risk-benefits .purpose-risk-note { font-size: .85rem; color: #4b5b43; }
.purpose-health { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr); gap: 44px; margin-top: 64px; padding: 36px; background: #eef4e8; border: 1px solid #cddbbb; border-radius: 16px; }
.purpose-health h2 { margin-bottom: 0; }
.purpose-terms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; }
.purpose-terms > div { padding-top: 18px; border-top: 1px solid #c6d5ba; }
.purpose-terms dt { margin-bottom: 10px; color: #263e2b; font-size: 1rem; font-weight: 800; line-height: 1.5; }
.purpose-terms dd { margin: 0; font-size: .95rem; }
.purpose-policy-review { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; margin-top: 32px; }
.purpose-policy-review h3 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); margin-top: 12px; }
.purpose-audit { background: #eef4e6; border-color: #c5d7b3; }
.purpose-audit-options { margin: 0 0 22px; padding-left: 21px; }
.purpose-audit-options li { padding-left: 4px; margin-bottom: 12px; }
.purpose-audit-options li::marker { color: #42652d; }
.purpose-audit .purpose-button { margin-top: 6px; }
.purpose-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.purpose-offers article { display: flex; flex-direction: column; min-width: 0; padding: 28px; background: #fff; border: 1px solid #dce4d4; border-radius: 14px; }
.purpose-offers article > a, .purpose-offer-links { margin-top: auto; }
.purpose-offers a { display: inline-block; padding: 7px 0; font-size: .9rem; font-weight: 750; line-height: 1.6; }
.purpose-offer-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.purpose-offer-links > a { max-width: 100%; }
.purpose-product-list { margin: 0; padding-left: 20px; }
.purpose-product-list li { padding-left: 3px; margin-bottom: 16px; }
.purpose-product-list li:last-child { margin-bottom: 0; }
.purpose-product-list li::marker { color: #557a35; }
.purpose-product-list a { display: inline; padding: 0; font-size: inherit; }
.purpose-main .purpose-offer-note { margin: 20px 0 0; color: #53614c; font-size: .9rem; }
.purpose-group { margin-top: 64px; padding: 36px; border: 1px solid #cddbbb; border-radius: 16px; background: #eef4e8; }
.purpose-group .purpose-section-heading { max-width: 900px; }
.purpose-group-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.purpose-group-options article { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 26px; border: 1px solid #cfddc0; border-radius: 12px; background: #fff; }
.purpose-group-options h3 { margin-top: 12px; }
.purpose-group-options article > a { margin-top: auto; }
.purpose-contact { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 52px; margin-top: 64px; padding: 42px; background: #213b2d; color: #f3f6ef; border-radius: 20px; }
.purpose-contact h2 { color: #fff; }
.purpose-contact .purpose-kicker { color: #bdd6a4; }
.purpose-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 24px 0; }
.purpose-contact-links a { color: #fff; font-weight: 650; overflow-wrap: anywhere; }
.purpose-contact-links .purpose-phone { font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 800; text-decoration: none; line-height: 1.4; }
.purpose-contact .purpose-meeting { font-size: .95rem; }
.purpose-main a.purpose-button-light { margin-top: 6px; background: #f3f7ec; border-color: #f3f7ec; color: #213b2d; }
.purpose-main a.purpose-button-light:hover { background: #dfeccd; border-color: #dfeccd; }
.purpose-contact a:focus-visible { outline-color: #c2dfa0; }
.purpose-adviser img { display: block; width: 100%; height: auto; border-radius: 12px; margin-bottom: 18px; }
.purpose-adviser > a { display: inline-block; margin-bottom: 8px; color: #fff; font-size: 1.15rem; font-weight: 750; }
.purpose-adviser p { color: #d1dfca; font-size: .9rem; line-height: 1.7; }
.purpose-main .purpose-online { margin: 26px 0 0; padding: 22px 24px; border: 1px solid #dce4d4; border-radius: 12px; background: #fff; font-size: .95rem; }
.purpose-online a { font-weight: 750; }
@media (max-width: 1050px) {
    .purpose-hero { gap: 32px; }
    .purpose-hero-note { padding: 28px 24px; }
    .purpose-contact { gap: 32px; padding: 32px; grid-template-columns: minmax(0, 1fr) 200px; }
    .purpose-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .purpose-jump-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .purpose-main { padding-top: 20px; }
    .purpose-shell { width: calc(100% - 40px); }
    .purpose-breadcrumb { margin-bottom: 28px; }
    .purpose-hero, .purpose-two-columns, .purpose-health, .purpose-contact, .purpose-risks, .purpose-risk-featured, .purpose-group-options, .purpose-policy-review { grid-template-columns: minmax(0, 1fr); }
    .purpose-hero { gap: 30px; padding-bottom: 38px; }
    .purpose-main h1 { font-size: clamp(2.4rem, 8.8vw, 3.8rem); }
    .purpose-hero .purpose-lead { font-size: 1.16rem; }
    .purpose-section { padding-top: 42px; }
    .purpose-steps { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .purpose-panel { padding: 26px; }
    .purpose-risk { padding: 26px; }
    .purpose-risk-featured { gap: 24px; }
    .purpose-group { margin-top: 42px; padding: 26px; }
    .purpose-group-options { gap: 20px; }
    .purpose-health { margin-top: 42px; padding: 26px; gap: 22px; }
    .purpose-contact { margin-top: 42px; padding: 28px; gap: 28px; }
    .purpose-adviser { display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 20px; align-items: end; border-top: 1px solid #526b52; padding-top: 24px; }
    .purpose-adviser img { grid-row: 1 / 3; margin: 0; }
    .purpose-adviser > a { margin: 0 0 6px; }
    .purpose-adviser p { align-self: start; }
}
@media (max-width: 520px) {
    .purpose-main :is(p, li, dd) { font-size: 1rem; }
    .purpose-actions { align-items: stretch; }
    .purpose-actions .purpose-button { width: 100%; }
    .purpose-hero-note, .purpose-panel, .purpose-health, .purpose-contact, .purpose-offers article, .purpose-risk, .purpose-group { padding: 22px; }
    .purpose-risk-benefits { padding: 20px; }
    .purpose-offers, .purpose-terms { grid-template-columns: minmax(0, 1fr); }
    .purpose-adviser { grid-template-columns: 84px minmax(0, 1fr); gap: 6px 16px; }
    .purpose-adviser > a { font-size: 1rem; }
    .purpose-adviser p { font-size: .85rem; }
    .purpose-group-options article { padding: 20px; }
    .purpose-jump-links { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .purpose-jump-links a { min-height: 48px; }
}
