:root {
    --insurance-ink: #0f172a;
    --insurance-muted: #526079;
    --insurance-primary: #2563eb;
    --insurance-primary-dark: #1d4ed8;
    --insurance-violet: #7c3aed;
    --insurance-surface: #f5f8ff;
    --insurance-border: #dce5f4;
}

html { scroll-behavior: smooth; }
.insurance-page { color: var(--insurance-ink); padding: 18px 0 72px; }
.insurance-hero { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; min-height: 540px; overflow: hidden; padding: 64px 64px 56px; border: 1px solid rgba(191, 211, 242, .75); border-radius: 28px; background: radial-gradient(circle at 76% 8%, rgba(196, 181, 253, .42), transparent 30%), radial-gradient(circle at 91% 78%, rgba(125, 211, 252, .4), transparent 30%), linear-gradient(135deg, #fff 0%, #f7faff 47%, #edf4ff 100%); box-shadow: 0 24px 60px rgba(30, 64, 175, .09); }
.insurance-hero::before { content: ""; position: absolute; inset: 0; opacity: .27; pointer-events: none; background-image: radial-gradient(rgba(37, 99, 235, .25) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(90deg, transparent 35%, #000); }
.insurance-hero__content { position: relative; z-index: 2; align-self: center; }
.insurance-eyebrow, .insurance-section-label { color: #315baf; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.insurance-eyebrow { display: flex; gap: 10px; align-items: center; }
.insurance-eyebrow span { width: 28px; height: 3px; border-radius: 10px; background: linear-gradient(90deg, var(--insurance-primary), var(--insurance-violet)); }
.insurance-hero h1 { max-width: 720px; margin: 18px 0; font-size: clamp(42px, 5vw, 68px); line-height: .98; letter-spacing: -.048em; font-weight: 700; }
.insurance-hero__lead { max-width: 640px; margin: 0; color: var(--insurance-muted); font-size: 18px; line-height: 1.65; }
.insurance-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.insurance-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border-radius: 999px; font-size: 15px; font-weight: 650; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.insurance-button--primary { color: #fff; background: linear-gradient(135deg, var(--insurance-primary), #4f46e5 65%, var(--insurance-violet)); box-shadow: 0 12px 24px rgba(37, 99, 235, .26); }
.insurance-button--primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 30px rgba(37, 99, 235, .34); }
.insurance-button--secondary { color: #244374; background: rgba(255,255,255,.74); border: 1px solid #cbd9ef; }
.insurance-button--secondary:hover { color: #1d4ed8; background: #fff; }
.insurance-button:focus-visible, .insurance-form input:focus-visible, .insurance-form select:focus-visible, .insurance-form textarea:focus-visible, .insurance-form__submit:focus-visible { outline: 3px solid rgba(37, 99, 235, .28); outline-offset: 2px; }
.insurance-hero__trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 32px; color: #526079; font-size: 13px; font-weight: 550; }
.insurance-hero__trust span { display: inline-flex; align-items: center; gap: 7px; }
.insurance-hero__trust svg { width: 19px; fill: none; stroke: #2563eb; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.insurance-visual { position: relative; z-index: 1; min-height: 410px; align-self: center; }
.insurance-visual__orb { position: absolute; width: 390px; height: 390px; top: 4%; left: 8%; border-radius: 48% 52% 62% 38%; background: linear-gradient(145deg, rgba(96,165,250,.76), rgba(99,102,241,.58) 56%, rgba(168,85,247,.57)); filter: blur(1px); transform: rotate(-8deg); box-shadow: inset 20px 20px 60px rgba(255,255,255,.38), 0 30px 80px rgba(79,70,229,.2); }
.insurance-account-card { position: absolute; z-index: 2; top: 84px; left: 10%; width: min(420px, 84%); padding: 26px; border: 1px solid rgba(255,255,255,.78); border-radius: 24px; color: #fff; background: linear-gradient(145deg, rgba(13,31,68,.93), rgba(38,65,130,.9)); box-shadow: 0 28px 70px rgba(30,41,85,.34); transform: rotate(-4deg); backdrop-filter: blur(16px); }
.insurance-account-card__top { display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 700; }
.insurance-account-card__status { padding: 6px 10px; border-radius: 99px; color: #dbeafe; background: rgba(96,165,250,.18); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.insurance-account-card__label { margin-top: 35px; color: #bcd0f4; font-size: 12px; }
.insurance-account-card__balance { margin-top: 4px; font-size: 27px; font-weight: 650; letter-spacing: -.02em; }
.insurance-account-card__chart { display: block; width: 100%; height: 84px; margin-top: 12px; overflow: visible; }
.insurance-account-card__chart .chart-fill { fill: url(#chartFill); }.insurance-account-card__chart .chart-line { fill: none; stroke: #93c5fd; stroke-width: 3; stroke-linecap: round; }
.insurance-shield { position: absolute; z-index: 4; top: 8px; right: 6%; width: 118px; height: 118px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 32px; background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(237,233,254,.88)); box-shadow: 0 20px 45px rgba(79,70,229,.23); transform: rotate(7deg); }
.insurance-shield svg { width: 74px; fill: rgba(37,99,235,.08); stroke: #4f46e5; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.insurance-float { position: absolute; z-index: 5; display: flex; align-items: center; gap: 8px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.85); border-radius: 13px; color: #273c66; background: rgba(255,255,255,.92); box-shadow: 0 12px 28px rgba(30,64,175,.16); font-size: 11px; font-weight: 650; }
.insurance-float--risk { left: 1%; bottom: 45px; }.insurance-float--risk span { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.13); }
.insurance-float--cover { right: 1%; bottom: 85px; }.insurance-float svg { width: 18px; fill: none; stroke: #7c3aed; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.insurance-platforms { margin: 22px 0 0; padding: 32px 38px; border: 1px solid var(--insurance-border); border-radius: 22px; background: #fff; }
.insurance-platforms > div:first-child { display: flex; align-items: baseline; gap: 22px; }.insurance-platforms h2 { margin: 0; font-size: 23px; letter-spacing: -.02em; }
.insurance-platforms__list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }.insurance-platforms__list span { min-height: 42px; display: inline-flex; align-items: center; padding: 0 18px; border: 1px solid #dbe5f4; border-radius: 999px; color: #334766; background: linear-gradient(180deg,#fff,#f6f9ff); font-size: 14px; font-weight: 650; }
.insurance-platforms__note { margin: 18px 0 0; max-width: 1040px; color: #748096; font-size: 11px; line-height: 1.55; }
.insurance-benefits, .insurance-process { padding: 88px 12px 16px; }
.insurance-section-heading { max-width: 670px; margin: 0 auto 38px; text-align: center; }.insurance-section-heading h2, .insurance-application__copy h2 { margin: 12px 0; font-size: clamp(32px, 4vw, 46px); line-height: 1.08; letter-spacing: -.035em; }.insurance-section-heading p, .insurance-application__copy > p { color: var(--insurance-muted); line-height: 1.65; }
.insurance-benefits__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }.insurance-benefit-card { padding: 28px 24px; border: 1px solid var(--insurance-border); border-radius: 20px; background: linear-gradient(145deg,#fff,#f8faff); box-shadow: 0 12px 30px rgba(30,64,175,.055); transition: transform .22s ease, box-shadow .22s ease; }.insurance-benefit-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(30,64,175,.1); }.insurance-benefit-card__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg,#e8f1ff,#f2eaff); }.insurance-benefit-card svg { width: 25px; fill: none; stroke: #4f46e5; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.insurance-benefit-card h3 { margin: 22px 0 9px; font-size: 17px; }.insurance-benefit-card p { margin: 0; color: var(--insurance-muted); font-size: 14px; line-height: 1.6; }
.insurance-process__steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 0; padding: 0; list-style: none; }.insurance-process__steps li { position: relative; display: flex; gap: 15px; padding: 20px 22px; }.insurance-process__steps li:not(:last-child)::after { content: ""; position: absolute; z-index: -1; top: 38px; left: 55px; right: -16px; border-top: 1px dashed #a8bde0; }.insurance-process__steps li > span { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#2563eb,#7c3aed); box-shadow: 0 6px 15px rgba(79,70,229,.24); font-size: 13px; font-weight: 700; }.insurance-process__steps h3 { margin: 2px 0 7px; font-size: 16px; }.insurance-process__steps p { margin: 0; color: var(--insurance-muted); font-size: 13px; line-height: 1.55; }
.insurance-application { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; margin-top: 88px; padding: 64px; border-radius: 28px; background: radial-gradient(circle at 5% 90%,rgba(125,211,252,.28),transparent 30%),linear-gradient(145deg,#f6f9ff,#eef2ff); border: 1px solid #d9e3f3; }.insurance-application__copy { position: sticky; top: 30px; padding-top: 30px; }.insurance-security-note { display: flex; gap: 14px; align-items: flex-start; margin-top: 32px; padding: 17px; border: 1px solid #cbdcf5; border-radius: 16px; background: rgba(255,255,255,.66); }.insurance-security-note svg { flex: 0 0 24px; width: 24px; fill: none; stroke: #2563eb; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.insurance-security-note div { display: flex; flex-direction: column; gap: 4px; }.insurance-security-note strong { font-size: 13px; }.insurance-security-note span { color: #5f6e84; font-size: 12px; line-height: 1.45; }
.insurance-form-card { padding: 34px; border: 1px solid rgba(199,211,231,.85); border-radius: 24px; background: #fff; box-shadow: 0 24px 55px rgba(30,64,175,.1); }.insurance-form { display: flex; flex-direction: column; gap: 19px; }.insurance-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.insurance-field { display: flex; flex-direction: column; gap: 7px; }.insurance-field[hidden] { display: none; }.insurance-field label { color: #2f3e57; font-size: 13px; font-weight: 650; }.insurance-field label > span { color: #6d28d9; }.insurance-field label small { color: #8994a6; font-size: 11px; font-weight: 400; }.insurance-form input, .insurance-form select, .insurance-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #d5dfed; border-radius: 12px; color: #172238; background: #f9fbff; font: inherit; font-size: 16px; transition: border .2s ease, box-shadow .2s ease, background .2s ease; }.insurance-form textarea { min-height: 104px; resize: vertical; }.insurance-form input:focus, .insurance-form select:focus, .insurance-form textarea:focus { border-color: #638eea; background: #fff; box-shadow: 0 0 0 3px rgba(37,99,235,.1); outline: 0; }.insurance-form__privacy { margin: -2px 0 0; color: #7b8798; font-size: 11px; line-height: 1.5; }.insurance-form__privacy a { color: #315baf; }.insurance-form__submit { min-height: 54px; display: flex; justify-content: center; align-items: center; gap: 11px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(135deg,#2563eb,#4f46e5 60%,#7c3aed); box-shadow: 0 12px 26px rgba(37,99,235,.25); font-size: 15px; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }.insurance-form__submit:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(37,99,235,.32); }.insurance-form__submit svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.insurance-form__submit:disabled { cursor: wait; opacity: .72; transform: none; }.insurance-form__submit.is-loading svg { animation: insurance-pulse 1s ease-in-out infinite; }
.insurance-alert { display: flex; gap: 11px; margin-bottom: 20px; padding: 14px 16px; border-radius: 13px; font-size: 13px; line-height: 1.45; outline: none; }.insurance-alert div, .insurance-alert--error { flex-direction: column; }.insurance-alert div { display: flex; gap: 3px; }.insurance-alert svg { flex: 0 0 22px; width: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.insurance-alert--success { color: #166534; border: 1px solid #bbdfc5; background: #f0fdf4; }.insurance-alert--error { display: flex; color: #991b1b; border: 1px solid #fecaca; background: #fef2f2; }
.insurance-disclaimer { display: flex; gap: 13px; margin-top: 22px; padding: 18px 22px; border: 1px solid #e0e6ef; border-radius: 15px; color: #6b778a; background: #fafbfd; }.insurance-disclaimer svg { flex: 0 0 21px; width: 21px; fill: none; stroke: #55708f; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.insurance-disclaimer p { margin: 0; font-size: 11px; line-height: 1.6; }
@keyframes insurance-pulse { 50% { opacity: .35; transform: translateX(3px); } }

@media (max-width: 1100px) { .insurance-hero { grid-template-columns: 1fr; padding: 52px; }.insurance-visual { margin-top: 18px; min-height: 390px; }.insurance-visual__orb { left: 24%; }.insurance-account-card { left: 26%; }.insurance-shield { right: 19%; }.insurance-float--risk { left: 18%; }.insurance-float--cover { right: 16%; }.insurance-benefits__grid { grid-template-columns: repeat(2,1fr); }.insurance-process__steps { grid-template-columns: repeat(2,1fr); row-gap: 10px; }.insurance-process__steps li::after { display: none; }.insurance-application { grid-template-columns: 1fr; gap: 25px; }.insurance-application__copy { position: static; padding-top: 0; max-width: 700px; } }
@media (max-width: 700px) { .insurance-page { padding-top: 8px; }.insurance-hero { min-height: auto; padding: 34px 22px 28px; border-radius: 22px; }.insurance-hero h1 { font-size: 39px; }.insurance-hero__lead { font-size: 16px; }.insurance-button { width: 100%; }.insurance-visual { min-height: 310px; margin-top: 28px; }.insurance-visual__orb { width: 280px; height: 280px; left: 5%; }.insurance-account-card { top: 68px; left: 4%; width: 91%; padding: 20px; }.insurance-shield { top: 5px; right: 0; width: 82px; height: 82px; border-radius: 22px; }.insurance-shield svg { width: 52px; }.insurance-float--risk { left: 0; bottom: 12px; }.insurance-float--cover { right: 0; bottom: 54px; }.insurance-platforms { padding: 25px 20px; }.insurance-platforms > div:first-child { display: block; }.insurance-platforms h2 { margin-top: 8px; font-size: 21px; }.insurance-benefits, .insurance-process { padding-top: 64px; }.insurance-benefits__grid, .insurance-process__steps { grid-template-columns: 1fr; }.insurance-benefit-card { padding: 24px 21px; }.insurance-process__steps li { padding: 13px 5px; }.insurance-application { margin-top: 62px; padding: 34px 18px; border-radius: 22px; }.insurance-form-card { padding: 24px 18px; }.insurance-form__row { grid-template-columns: 1fr; }.insurance-section-heading h2, .insurance-application__copy h2 { font-size: 34px; }.insurance-disclaimer { align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.insurance-button, .insurance-benefit-card, .insurance-form__submit { transition: none; }.insurance-form__submit.is-loading svg { animation: none; } }
