.homepage {
  color: #17324a;
  background:
    radial-gradient(ellipse at 85% 0, rgba(215, 234, 249, .5), transparent 34rem),
    #f4f7fb;
  font-family: Arial, Helvetica, sans-serif;
}

.homepage #wrapper {
  width: min(1200px, calc(100% - 40px));
  max-width: 1200px;
  min-height: 0;
  margin: 20px auto 40px;
}

.homepage #headerbild {
  display: none;
}

.homepage .home-masthead {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px 14px;
}

.homepage .home-masthead a {
  color: #07558d;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.3px;
}

.homepage .home-masthead span {
  color: #526b80;
  font-size: 13px;
  text-align: right;
}

.homepage #breadcrumb {
  display: none;
}

.homepage .versicherung_content {
  border: 1px solid #e1e9f0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 26px rgba(17, 53, 82, .07);
}

.homepage .versicherung_ueberschrift {
  color: #fff;
  background: linear-gradient(135deg, #07558d, #0b70ad);
  border-radius: 15px 15px 0 0;
  font-weight: 700;
  padding: 15px 16px;
}

.homepage .versicherung_box ins a {
  color: #07558d;
  border-top: 1px solid #e8eef3;
  font-size: 13px;
  padding: 12px 16px 8px;
}

.homepage .versicherung_box p {
  margin: 0;
  padding: 0 16px;
  font-size: 13px;
}

.homepage .versicherung_box p a {
  display: block;
  color: #435b70;
  padding: 5px 8px;
  border-radius: 6px;
}

.homepage .versicherung_box p a:hover,
.homepage .versicherung_box p a:focus-visible {
  color: #07558d;
  background: #edf5fb;
}

.homepage .content .content_farbe,
.homepage .content_inhalt .content_farbe,
.homepage .ratgeber .content_farbe {
  color: #17324a;
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 20px;
  box-shadow: 0 10px 32px rgba(17, 53, 82, .07);
}

.homepage .content .content_maske {
  padding: 14px;
}

.homepage .home-hero {
  padding: clamp(28px, 5vw, 54px);
  color: #fff;
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 100% 0, rgba(89, 180, 226, .35), transparent 45%),
    linear-gradient(125deg, #073e69, #075c94 72%, #0c72ae);
}

.homepage .home-hero__label {
  color: #d8f0ff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  margin-bottom: 18px;
  padding: 7px 12px;
  font-size: 12px;
  letter-spacing: .8px;
}

.homepage .home-hero h1 {
  max-width: 680px;
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.8px;
}

.homepage .home-hero p {
  max-width: 620px;
  margin-top: 18px;
  color: #e5f2fb;
  font-size: 17px;
  line-height: 1.65;
}

.homepage .home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}

.homepage .home-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.homepage .home-button:hover {
  transform: translateY(-2px);
}

.homepage .home-button--primary {
  color: #17324a;
  background: #ffd166;
}

.homepage .home-button--primary:hover {
  color: #17324a;
  background: #ffdc8a;
}

.homepage .home-button--secondary {
  color: #fff;
  border-color: rgba(255, 255, 255, .45);
  background: rgba(255, 255, 255, .08);
}

.homepage .home-button--secondary:hover {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, .16);
}

.homepage .home-highlights {
  gap: 16px;
  padding: 24px 4px 14px;
}

.homepage .home-highlights .home-card {
  padding: 18px;
  border: 1px solid #e3ebf2;
  border-top: 3px solid #1d79ad;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(17, 53, 82, .05);
}

.homepage .home-highlights .home-card--accent-orange { border-top-color: #e69824; }
.homepage .home-highlights .home-card--accent-green { border-top-color: #27866d; }
.homepage .home-highlights .home-card--accent-gold { border-top-color: #347fb3; }

.homepage .home-highlights .home-card__title {
  margin-bottom: 8px;
  color: #173f5e;
  font-size: 16px;
}

.homepage .home-highlights .home-card p {
  color: #526b80;
  font-size: 14px;
  line-height: 1.55;
}

.homepage .home-topics-heading {
  padding: 14px 4px 12px;
  scroll-margin-top: 20px;
}

.homepage .home-topics-heading h2 {
  color: #17324a;
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  line-height: 1.25;
}

.homepage .home-topics-heading p {
  margin-top: 7px;
  color: #526b80;
  font-size: 15px;
  text-align: left;
}

.homepage .home-topics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 4px 0 22px;
}

.homepage .content_maske .home-card {
  min-height: 136px;
  padding: 20px;
  border: 1px solid #e2eaf1;
  border-left: 4px solid #e69824;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(17, 53, 82, .05);
}

.homepage .content_maske .home-card--gesundheit { border-left-color: #27866d; }
.homepage .content_maske .home-card--vorsorge { border-left-color: #c78720; }
.homepage .content_maske .home-card--rente { border-left-color: #347fb3; }

.homepage a.home-card--link,
.homepage a.home-card--link:hover {
  color: #17324a;
  background: #fff;
}

.homepage a.home-card--link:hover {
  border-color: #b6ccdc;
  border-left-color: #075c94;
  box-shadow: 0 10px 24px rgba(17, 53, 82, .1);
}

.homepage .content_maske .home-card span.home-card__kicker {
  color: #07558d;
  background: #eaf3f9;
}

.homepage .content_maske .home-card--gesundheit span.home-card__kicker { color: #216b58; background: #e9f5f0; }
.homepage .content_maske .home-card--vorsorge span.home-card__kicker { color: #79500e; background: #fbf2df; }
.homepage .content_maske .home-card--rente span.home-card__kicker { color: #245c81; background: #e9f3fa; }

.homepage .content_maske .home-card span.home-card__title,
.homepage .content_maske .home-card--sicherheit span.home-card__title,
.homepage .content_maske .home-card--gesundheit span.home-card__title,
.homepage .content_maske .home-card--vorsorge span.home-card__title,
.homepage .content_maske .home-card--rente span.home-card__title {
  color: #173f5e;
  font-size: 17px;
}

.homepage .content_maske .home-card span.home-card__text {
  color: #526b80;
  font-size: 14px;
  line-height: 1.55;
}

.homepage .content_inhalt {
  margin-top: 18px;
}

.homepage .content_inhalt .content_farbe {
  padding: 24px 28px;
}

.homepage .content_inhalt .content_farbe h2,
.homepage .ratgeber .ueberschrift_inhalt h2 {
  padding: 0;
  color: #173f5e;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.homepage .content_inhalt .content_farbe p,
.homepage .ratgeber .content_farbe p,
.homepage .ratgeber .content_farbe li {
  color: #435b70;
  font-size: 15px;
  line-height: 1.8;
  text-align: left;
}

.homepage .content_inhalt .content_farbe p {
  padding: 10px 0 0;
}

.homepage .ratgeber .content_farbe {
  padding: 28px clamp(20px, 4vw, 42px);
}

.homepage .ratgeber .content_farbe .home-content-subheading {
  margin: 22px 0 8px;
  padding: 0;
  color: #173f5e;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

.homepage .ratgeber .ueberschrift_inhalt h2 {
  margin: 0 0 14px;
  text-align: center;
}

.homepage .ratgeber .ueberschrift_inhalt {
  display: block;
}

.homepage .ratgeber .content_farbe ul {
  margin: 18px 0 8px;
}

.homepage .ratgeber .content_farbe li {
  padding: 12px 0;
  border-color: #e5edf3;
}

.homepage .ratgeber .link_tip2 {
  color: #075c94;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.homepage .ratgeber .link_tip2:hover {
  color: #073e69;
}

.homepage .ratgeber .home-faq__item {
  color: #435b70;
  background: #f3f7fa;
}

.homepage .ratgeber .home-faq h2 {
  color: #173f5e;
}

.homepage .ratgeber .home-faq__item strong {
  color: #173f5e;
}

.homepage .aktuell_style {
  float: none;
  clear: both;
  width: calc(100% - 272px);
  margin: 0 0 14px 272px;
  padding: 22px clamp(20px, 4vw, 36px);
  border: 1px solid #e1e9f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(17, 53, 82, .06);
  color: #435b70;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75;
  text-align: left;
  box-sizing: border-box;
}

.homepage .aktuell_style h2 {
  margin: 0 0 8px;
  color: #173f5e;
  font-size: 19px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}

.homepage .aktuell_style span {
  display: block;
  color: #435b70;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75;
}

.homepage .aktuell_style a {
  color: #075c94;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.homepage .aktuell_style a:hover {
  color: #073e69;
}

.homepage #cookie-banner button {
  color: #fff;
  background-color: #28743a;
  font-size: 14px;
  font-weight: 700;
}

.homepage #cookie-banner button:hover {
  background-color: #205d30;
}

.homepage .footer {
  border: 1px solid #e1e9f0;
  background: #fff;
  box-shadow: 0 6px 20px rgba(17, 53, 82, .06);
}

.homepage .footer a {
  color: #435b70;
}

.homepage a:focus-visible,
.homepage button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

@media (min-width: 900px) {
  .homepage .versicherung_content {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
  }
}

@media (max-width: 899px) {
  .homepage #wrapper {
    width: calc(100% - 28px);
    margin-top: 14px;
  }

  .homepage .content,
  .homepage .content_inhalt,
  .homepage .ratgeber,
  .homepage .aktuell_style {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  .homepage #wrapper {
    width: calc(100% - 24px);
    margin: 12px auto 24px;
  }

  .homepage .home-masthead {
    min-height: 52px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 0 2px 12px;
  }

  .homepage .home-masthead a {
    font-size: 17px;
  }

  .homepage .home-masthead span {
    font-size: 11px;
    text-align: left;
  }

  .homepage .content .content_maske {
    padding: 10px;
  }

  .homepage .home-hero {
    padding: 28px 22px;
    border-radius: 13px;
  }

  .homepage .home-hero h1 {
    font-size: clamp(29px, 8vw, 36px);
  }

  .homepage .home-hero p {
    font-size: 16px;
  }

  .homepage .home-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .homepage .home-button {
    width: 100%;
  }

  .homepage .home-highlights,
  .homepage .home-topics {
    grid-template-columns: 1fr;
  }

  .homepage .home-highlights {
    padding: 18px 2px 12px;
  }

  .homepage .home-topics {
    padding: 2px 0 18px;
  }

  .homepage .content_inhalt .content_farbe {
    padding: 20px;
  }

  .homepage .ratgeber .content_farbe {
    padding: 22px 18px;
  }

  .homepage .ratgeber {
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .homepage *,
  .homepage *::before,
  .homepage *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
