:root { --v2-blue: #3375a5; --v2-green: #86bb42; --v2-ink: #1f2d38; }
main::before {
  height: 1350px;
  background: radial-gradient(ellipse at 0 12%, #edf5fa 0, transparent 57%), radial-gradient(ellipse at 100% 42%, #f2f7ec 0, transparent 52%), linear-gradient(#fcfdfe, #fff);
}
.hero-intro { gap: 65px; padding-block: 52px 42px; }
.hero-intro h1 { max-width: 760px; }
.hero-intro .headline-accent { color: #28648f; }
.eyebrow { color: #28648f; font-weight: 700; }
.hero-stage { border-radius: 70px 24px 24px 24px; box-shadow: 0 18px 45px #1f2d3814; }
.quote-panel, .health .quote-panel { background: #e2f0fa; padding: 36px 32px; }
.health .quote-panel { background: #e6f2d6; }
.form-consent { color: #344653; font-size: .72rem; line-height: 1.7; margin-top: 18px; text-align: left; }
.car .hero-stage { grid-template-columns: 1.1fr 1fr; background: #d5e8f3; }
.car .hero-picture img { min-height: 0; height: 100%; width: 100%; object-fit: contain; object-position: center; }
.trust-strip, .health .trust-strip { background: #fff; border-radius: 24px; padding: 28px; gap: 16px; box-shadow: 0 15px 40px #1f2d3810; align-items: stretch; }
.trust-strip > div, .trust-strip > div:first-child, .trust-strip > div:nth-child(odd), .trust-strip > div:nth-child(even) { padding: 22px 12px !important; border: 0; border-radius: 18px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; background: #e2eff8; gap: 14px; }
.trust-strip > div:nth-child(even) { background: #e6f2d6; }
.trust-badge { display: grid; place-items: center; width: 58px; height: 58px; flex-shrink: 0; border-radius: 20px 20px 20px 6px; background: #3375a5; color: #fff; }
.trust-strip > div:nth-child(even) .trust-badge { background: #86bb42; color: #1f2d38; border-radius: 50%; }
.trust-badge svg { width: 30px; height: 30px; }
.trust-strip strong, .trust-strip > div:nth-child(-n+2) strong { display: block; padding: 0; height: auto; min-height: 0; font-size: .9rem; line-height: 1.55; text-align: center; color: #1f2d38; }
.trust-strip strong .trust-number { display: block; font-size: 2rem; font-weight: 800; letter-spacing: -.05em; margin: 0; color: #1f2d38; }
.trust-strip strong .trust-copy { font-size: inherit; color: inherit; margin: 0; }
.choice-grid article:first-child, .health .choice-grid article:first-child { background: #d6eaf7; }
.choice-grid article:nth-child(2) { background: #f0f7fc; }
.choice-grid article:nth-child(3) { background: #dfefc9; }
.choice-grid article:nth-child(4) { background: #edf5e4; }
.choice-grid .card-icon, .choice-grid article:first-child .card-icon, .health .choice-grid article:first-child .card-icon { background: #3375a5; color: white; }
.choice-grid article:nth-child(3) .card-icon, .choice-grid article:nth-child(4) .card-icon { background: #86bb42; color: #1f2d38; }
.benefits { background: #dfeef8; }
.benefits li { background: white; color: #1f2d38; }
.benefits li::before { color: #28648f; }
.process { background: #e2efcf; }
.steps .journey-symbol, .health .steps .journey-symbol { background: #3375a5; color: white; }
.steps article:nth-child(2) .journey-symbol { background: white; color: #28648f; }
.steps article:nth-child(3) .journey-symbol, .health .steps article:nth-child(3) .journey-symbol { background: #86bb42; color: #1f2d38; }
.why-grid .card-icon { color: #28648f; }
.faq-section { background: #e9f3fa; }
.rating { background: #e2efcf; }
.rating span { color: #28648f; }
.review-grid figure:first-child, .health .review-grid figure:first-child { background: #e0eff9; }
.review-grid figure:nth-child(2) { background: #e5f1d6; }
.closing, .health .closing { background: linear-gradient(115deg, #cce5f6, #e5f3fb); }
.health .closing { background: linear-gradient(115deg, #deefc8, #eef7e5); }
.closing h2, .closing p, .health .closing p { color: #1f2d38; }
.car footer .regulator { flex: 1 1 100%; }
.car footer .regulator p { max-width: none; }
@media (min-width: 1000px) { .car footer .regulator p { white-space: nowrap; } }
@media (max-width: 1100px) { .trust-strip, .health .trust-strip { padding: 18px; gap: 10px; } .trust-strip strong { font-size: .8rem; } }
@media (max-width: 820px) {
  .hero-intro { padding-block: 34px; gap: 24px; }
  .trust-strip, .health .trust-strip { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  .car .trust-strip > div:last-child { grid-column: 1 / -1; }
  .quote-panel, .health .quote-panel { padding: 28px 22px; }
}
@media (max-width: 580px) {
  main::before { height: 1500px; }
  .hero-stage { border-radius: 38px 18px 18px; }
  .car .hero-picture img { height: auto; aspect-ratio: 1; width: 100%; object-fit: contain; }
  .trust-strip, .health .trust-strip { padding: 14px; }
  .trust-strip > div, .trust-strip > div:first-child, .trust-strip > div:nth-child(odd), .trust-strip > div:nth-child(even) { padding: 18px 10px !important; }
  .trust-strip strong { font-size: .8rem; }
  .form-consent { font-size: .7rem; }
}

.trust-strip > div > .trust-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  min-width: 58px;
  max-width: none;
  margin: 0;
  padding: 0;
  line-height: 1;
  color: #fff;
}
.trust-strip > div:nth-child(even) > .trust-badge { color: #1f2d38; }
.trust-badge svg, .card-icon svg, .journey-symbol svg, .form-kicker svg {
  display: block;
  flex-shrink: 0;
  margin: 0;
  width: 28px;
  height: 28px;
}
.choice-grid .card-icon, .why-grid .card-icon, .steps .journey-symbol, .form-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
}
.choice-grid article:nth-child(1), .health .choice-grid article:nth-child(1) { background: #a9d1ec; }
.choice-grid article:nth-child(2), .health .choice-grid article:nth-child(2) { background: #c9e3f4; }
.choice-grid article:nth-child(3), .health .choice-grid article:nth-child(3) { background: #b9db91; }
.choice-grid article:nth-child(4), .health .choice-grid article:nth-child(4) { background: #d4eab9; }
.choice-grid article h3, .choice-grid article p, .health .choice-grid article p { color: #1f2d38; }
.choice-grid .card-icon { width: 54px; height: 54px; padding: 0; }
.why-grid { gap: 22px; align-items: stretch; }
.why-grid article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 12px 18px;
  padding: 28px;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 8px 24px #1f2d3808;
}
.why-grid article:nth-child(1), .health .why-grid article:nth-child(1) { background: #b9db91; }
.why-grid article:nth-child(2), .health .why-grid article:nth-child(2) { background: #a9d1ec; }
.why-grid article:nth-child(3), .health .why-grid article:nth-child(3) { background: #d4eab9; }
.why-grid article:nth-child(4), .health .why-grid article:nth-child(4) { background: #c9e3f4; }
.why-grid article .card-icon {
  grid-column: 1;
  grid-row: 1;
  width: 54px;
  height: 54px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #3375a5;
  color: #fff;
}
.why-grid article:nth-child(odd) .card-icon { background: #86bb42; color: #1f2d38; }
.why-grid article h3 { grid-column: 2; grid-row: 1; margin: 0; align-self: center; color: #1f2d38; }
.why-grid article p { grid-column: 1 / -1; grid-row: 2; margin: 0; color: #1f2d38; }
@media(max-width:1100px) { .why-grid article { padding: 23px; grid-template-columns: 46px minmax(0,1fr); gap: 12px 14px; } .why-grid article .card-icon { width: 46px; height: 46px; } }
@media(max-width:580px) { .why-grid article { padding: 24px; } }

.why-grid article:nth-child(n) { padding: 28px; border: 0; border-radius: 24px; }
.why-grid article:nth-child(n) .card-icon { width: 54px; height: 54px; margin: 0; padding: 0; border: 0; }
@media(max-width:1100px) { .why-grid article:nth-child(n) { padding: 23px; } .why-grid article:nth-child(n) .card-icon { width: 46px; height: 46px; } }

.car .hero-picture { background: #e9eef0; }
.car .hero-picture img { object-fit: contain; }
@media(max-width:580px) { .car .hero-picture img { height: auto; aspect-ratio: 16 / 9; } }

.car .hero-picture { position: relative; overflow: hidden; }
.car .hero-picture img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 28% center; }
@media(max-width:580px) {
  .car .hero-picture { aspect-ratio: 4 / 3; }
  .car .hero-picture img { height: 100%; aspect-ratio: auto; }
}

.car .trust-strip > div:nth-child(n+3) > strong {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.review-grid figcaption { display: flex; align-items: center; gap: 12px; }
.car .closing { position: relative; overflow: hidden; padding-bottom: 190px; }
.closing-road { position: absolute; bottom: 0; right: 0; width: 62%; height: 160px; pointer-events: none; }
.closing-road svg { width: 100%; height: 100%; display: block; }
.car .closing > div:not(.closing-road), .car .closing > .disclaimer { position: relative; z-index: 1; }
@media(max-width:820px) { .closing-road { width: 85%; } }
@media(max-width:580px) { .car .closing { padding-bottom: 155px; } .closing-road { width: 100%; height: 135px; } }

.car .process { background: #edf5e4; }
.car .steps { gap: 48px; margin-top: 38px; align-items: start; }
.car .steps article { padding: 0; background: none; border: 0; box-shadow: none; }
.journey-illustration { display: block; width: 240px; max-width: 100%; height: 160px; margin-bottom: 24px; }
.journey-illustration svg { display: block; width: 100%; height: 100%; transition: transform .35s ease; }
.car .steps h3 { margin-top: 0; }
@media(hover:hover) and (pointer:fine) { .steps article:hover .journey-illustration svg { transform: translateY(-5px); } }
@media(max-width:820px) { .car .steps { gap: 26px; } .journey-illustration { height: 130px; margin-bottom: 20px; } }
@media(max-width:580px) { .car .steps { gap: 38px; } .journey-illustration { width: 220px; height: 145px; margin-bottom: 18px; } }
@media(prefers-reduced-motion:reduce) { .journey-illustration svg { transition: none; transform: none !important; } }

@media (max-width: 820px) {
  .car .hero-stage, .health .hero-stage {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-radius: 38px 18px 18px;
  }
  .car .hero-picture, .health .hero-picture {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 0;
    overflow: hidden;
    position: relative;
  }
  .car .hero-picture img, .health .hero-picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  .car .hero-picture img { object-position: 28% center; }
  .health .hero-picture img { object-position: center; }
  .car .quote-panel, .health .quote-panel { width: 100%; min-width: 0; }
  .car .steps, .health .steps { grid-template-columns: 1fr; gap: 36px; }
  .car .steps article, .health .steps article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0;
    min-width: 0;
    transform: none;
  }
  .steps article .journey-illustration {
    width: 220px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    margin: 0 0 18px;
  }
  .steps article h3, .steps article p {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: none;
    align-self: auto;
  }
  .steps article h3 { margin: 0 0 12px; }
  .steps article p { margin: 0; }
  .car .closing, .health .closing {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .closing-action, .closing-action .button { max-width: 100%; }
  .closing-action .button { white-space: normal; }
}
@media (max-width: 580px) {
  .car .quote-panel, .health .quote-panel { padding: 25px 20px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .process .wrap { width: calc(100% - 36px); }
  .car .steps, .health .steps { gap: 38px; }
  .steps article .journey-illustration { width: 200px; margin-bottom: 16px; }
  .car .steps h3, .health .steps h3 { font-size: 1.1rem; }
  .car .steps p, .health .steps p { font-size: .875rem; line-height: 1.75; }
  .why-grid article:nth-child(n) { grid-template-columns: 46px minmax(0,1fr); padding: 22px; }
  .review-grid figure { min-width: 0; }
  .review-grid figcaption { flex-wrap: nowrap; }
  .car .closing, .health .closing { padding-inline: 24px; }
}

.skip-link:not(:focus) { width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { width: auto; height: auto; clip-path: none; padding: 12px; top: 12px; }

.bot-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-status[data-state=error] { color: #9a2e2e; }
.form-status[data-state=success] { color: #245f2c; }
form button:disabled { opacity: .7; cursor: wait; }
.form-grid + .button { margin-top: 30px; }

.form-grid { row-gap: 26px; }
.field { position: relative; }
.field-error,
.field-error:empty,
.consent-field .field-error,
.consent-field .field-error:empty {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 4px;
  color: #b42318;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.field input[aria-invalid=true],
.field select[aria-invalid=true] { border-color: #b42318 !important; box-shadow: 0 0 0 1px #b42318; }
.consent-field { position: relative; }
.consent-field .field-error { left: 30px; }
.consent-field input[aria-invalid=true] { outline: 2px solid #b42318; outline-offset: 2px; }

.form-reassurance,
.form-status { min-height: 3em; margin-top: 9px; font-size: .72rem; line-height: 1.5; text-align: center; }
.form-status:empty { display: none; }
.quote-panel form:has(.form-status:not(:empty)) .form-reassurance { display: none; }
.form-status[data-state=error] { color: #b42318; font-weight: 600; }
.form-status[data-state=success] { color: #245f2c; font-weight: 600; }

.quote-panel { position: relative; }
.quote-panel.is-sent > :not(.form-thanks) { visibility: hidden; }
.form-thanks {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 32px 28px;
  text-align: center;
  background: inherit;
  border-radius: inherit;
}
.form-thanks-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #86bb42;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 6px;
}
.form-thanks h2 { font-size: 1.6rem; color: #222c37; outline: none; }
.form-thanks p { max-width: 340px; font-size: .9rem; line-height: 1.6; color: #222c37; }
.quote-panel .form-thanks .form-thanks-again { width: auto; margin-top: 10px; }
.quote-panel .button:disabled { opacity: .7; cursor: wait; transform: none; }
