:root {
      --hg-orange: #ff911d;
      --hg-orange-hover: #e67e17;
      --hg-orange-soft: #fff4e8;
      --hg-text: #0a0d12;
      --hg-heading: #101318;
      --hg-muted: #5e6675;
      --hg-border: rgba(210, 218, 230, 0.85);
      --hg-surface: #faf9f7;
      --hg-surface-warm: #fffdfb;
      --hg-focus: rgba(255, 145, 29, 0.2);
      --hg-dark: #101318;
      --hg-green: #22a861;
      --hg-green-mid: #4ad088;
      --hg-gold: #c28a0a;
      --hg-blue: #3a62e3;
      --hg-violet: #8b42d6;
      --hg-answer-radius: 16px;
      --hg-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
      --hg-ease-silk: cubic-bezier(0.25, 0.85, 0.35, 1);
      --hg-motion-step: 0.4s;
      --hg-motion-bar: 0.4s;
      --hg-motion-item: 0.3s;
      --hg-shadow-soft: 0 22px 56px rgba(16, 24, 40, 0.1);
      --hg-shadow-card: 0 16px 44px rgba(16, 24, 40, 0.08);
    }
    #hg-pro-gateway {
      font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      font-optical-sizing: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: clamp(10px, 2.5vw, 16px);
      background: transparent;
      position: relative;
      z-index: 5;
      -webkit-font-smoothing: antialiased;
      hyphens: none;
      -webkit-hyphens: none;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
      min-height: 100vh;
      min-height: 100dvh;
    }
    @media (max-width: 767px) {
      #hg-pro-gateway:not(.hg-v3) {
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: center;
        align-items: stretch;
        padding: clamp(16px, 4.8vw, 28px) clamp(8px, 2.8vw, 14px) clamp(14px, 4vw, 24px);
        position: relative;
        overflow: hidden;
        isolation: isolate;
        background: linear-gradient(
          152deg,
          #ffffff 0%,
          #fbfcff 46%,
          #ffffff 100%
        );
        background-size: 100% 100%;
        animation: none;
      }
      #hg-pro-gateway:not(.hg-v3)::before {
        content: "";
        position: absolute;
        inset: -35% -40%;
        background:
          radial-gradient(ellipse 58% 46% at 22% 12%, rgba(156, 170, 198, 0.08) 0%, transparent 62%),
          radial-gradient(ellipse 44% 36% at 84% 78%, rgba(170, 186, 214, 0.06) 0%, transparent 64%);
        animation: none;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway:not(.hg-v3)::after {
        content: "";
        position: absolute;
        inset: -30% -35%;
        background:
          radial-gradient(circle at center, rgba(120, 132, 154, 0.03) 0.6px, transparent 0.8px),
          linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
        background-size: 24px 24px, 100% 58px, 58px 100%;
        opacity: 0.35;
        animation: none;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway:not(.hg-v3) .p-wrapper {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: min(640px, 100%);
        margin-left: auto;
        margin-right: auto;
      }
      #gs-teileigentum .p-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 8px;
      }
      #gs-teileigentum .p-grid .p-item {
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
      }
      #gs-makler-vorstellung .p-mini-trust-makler {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 8px;
      }
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-item {
        border: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
      }
      #gs-makler-vorstellung .p-makler-choice-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        justify-content: stretch !important;
        width: 100%;
        max-width: 100%;
        column-gap: 10px;
        row-gap: 8px;
      }
      #gs-makler-vorstellung .p-makler-choice-btn {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        justify-self: stretch;
        align-self: stretch;
      }
      #gs-maklervertrag #mk-nein.p-item {
        padding-left: 28px !important;
        padding-right: 28px !important;
      }
      #gs-kontakt .p-contact-card .p-label {
        margin-bottom: 6px;
      }
      #gs-kontakt .p-contact-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px;
        max-width: 100%;
      }
      #gs-kontakt .p-contact-benefits span {
        font-size: 9px;
        padding: 4px 6px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      #gs-kontakt .p-contact-benefits span:nth-child(3) {
        grid-column: auto !important;
        justify-self: stretch;
      }
    }
    @media (min-width: 768px) and (max-width: 1024px) {
      #hg-pro-gateway {
        min-height: 100dvh;
        min-height: 100vh;
        justify-content: flex-start;
        align-items: center;
        padding: clamp(22px, 5.5vw, 44px) clamp(12px, 4vw, 20px) clamp(14px, 3.2vw, 24px);
        border: 1px solid rgba(220, 227, 236, 0.5);
        box-shadow: 0 20px 48px rgba(16, 24, 40, 0.07);
        overflow: hidden;
        isolation: isolate;
        background-image:
          radial-gradient(ellipse 95% 56% at 94% -8%, rgba(176, 192, 224, 0.07), transparent 58%),
          radial-gradient(ellipse 76% 61% at -12% 108%, rgba(158, 176, 210, 0.06), transparent 56%),
          radial-gradient(ellipse 52% 48% at 16% 20%, rgba(255, 255, 255, 0.92), transparent 60%),
          linear-gradient(168deg, #ffffff 0%, #f7f9fd 52%, #ffffff 100%);
        background-size: 170% 150%, 170% 150%, 120% 120%, 170% 170%;
        animation: hgGatewayBgShift 22s ease-in-out infinite;
      }
      #hg-pro-gateway::before {
        content: "";
        position: absolute;
        inset: -28% -18%;
        background:
          radial-gradient(ellipse 52% 46% at 18% 22%, rgba(152, 168, 198, 0.09) 0%, transparent 70%),
          radial-gradient(ellipse 42% 40% at 84% 24%, rgba(170, 186, 214, 0.07) 0%, transparent 66%);
        animation: hgGatewayBgDrift 19s ease-in-out infinite;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway::after {
        content: "";
        position: absolute;
        inset: -25% -20%;
        background:
          radial-gradient(circle at center, rgba(114, 128, 154, 0.045) 0.55px, transparent 0.75px),
          linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 255, 255, 0.18) 1px, transparent 1px);
        background-size: 22px 22px, 100% 56px, 56px 100%;
        opacity: 0.44;
        animation: hgGatewayContourWave 30s ease-in-out infinite;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway > * {
        position: relative;
        z-index: 1;
      }
    }
    @media (min-width: 1025px) {
      #hg-pro-gateway {
        min-height: 100vh;
        min-height: 100dvh;
        border-radius: 0;
        justify-content: center;
        align-items: center;
        padding: clamp(24px, 5vh, 56px) clamp(18px, 2.6vw, 30px) clamp(24px, 5vh, 56px);
        border: 1px solid rgba(220, 227, 236, 0.55);
        box-shadow: 0 24px 54px rgba(16, 24, 40, 0.08);
        overflow: hidden;
        isolation: isolate;
        background-image:
          radial-gradient(ellipse 96% 58% at 94% -8%, rgba(176, 192, 224, 0.08), transparent 58%),
          radial-gradient(ellipse 78% 62% at -12% 108%, rgba(158, 176, 210, 0.06), transparent 56%),
          radial-gradient(ellipse 52% 48% at 16% 20%, rgba(255, 255, 255, 0.94), transparent 60%),
          linear-gradient(168deg, #ffffff 0%, #f7f9fd 52%, #ffffff 100%);
        background-size: 180% 155%, 180% 155%, 120% 120%, 190% 190%;
        animation: hgGatewayBgShift 18s ease-in-out infinite;
      }
      #hg-pro-gateway::before {
        content: "";
        position: absolute;
        inset: -38% -22%;
        background:
          radial-gradient(ellipse 54% 48% at 16% 20%, rgba(152, 168, 198, 0.1) 0%, transparent 72%),
          radial-gradient(ellipse 44% 40% at 88% 16%, rgba(170, 186, 214, 0.08) 0%, transparent 68%);
        animation: hgGatewayBgDrift 16s ease-in-out infinite;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway::after {
        content: "";
        position: absolute;
        inset: -32% -26%;
        background:
          radial-gradient(circle at center, rgba(114, 128, 154, 0.05) 0.55px, transparent 0.75px),
          linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
        background-size: 22px 22px, 100% 56px, 56px 100%;
        opacity: 0.46;
        animation: hgGatewayContourWave 27s ease-in-out infinite;
        pointer-events: none;
        z-index: 0;
      }
      #hg-pro-gateway > * {
        position: relative;
        z-index: 1;
      }
      #hg-pro-gateway .p-wrapper {
        transform: translateY(-3.5vh);
      }
      #gs-makler-vorstellung .p-mini-trust-makler {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
        margin: 6px auto 12px;
        max-width: min(560px, 100%);
      }
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-item {
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 4px 2px;
        border-radius: 0;
      }
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-icon {
        width: 15px;
        height: 15px;
        font-size: 8px;
        margin-bottom: 2px;
      }
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-title {
        font-size: clamp(11px, 0.95vw, 12.5px);
        line-height: 1.24;
        white-space: normal;
        letter-spacing: -0.012em;
      }
    }
    @keyframes hgGatewayBgShift {
      0%, 100% { background-position: 0% 100%, 100% 0%, 18% 22%, 0% 50%; }
      50% { background-position: 10% 92%, 92% 10%, 26% 18%, 100% 50%; }
    }
    @keyframes hgGatewayBgDrift {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 1; }
      50% { transform: translate(1.2%, -1%) scale(1.02); opacity: 0.88; }
    }
    @keyframes hgGatewayBgDrift2 {
      0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1.06); opacity: 1; }
      35% { transform: translate(-4.5%, 3.5%) rotate(-1.8deg) scale(1); opacity: 0.92; }
      70% { transform: translate(3.8%, -2.2%) rotate(1.2deg) scale(1.04); opacity: 0.96; }
    }
    @keyframes hgGatewayContourWave {
      0%, 100% { background-position: 0 0, 0 0, 0 0; opacity: 0.42; }
      50% { background-position: 12px 6px, 0 18px, 18px 0; opacity: 0.3; }
    }
    @keyframes hgBorderGlow {
      0%, 100% { opacity: 0.55; transform: rotate(0deg); }
      50% { opacity: 0.9; transform: rotate(180deg); }
    }
    @keyframes hgBarShimmer {
      0% { transform: translateX(-120%); }
      100% { transform: translateX(220%); }
    }
    @keyframes hgStepIn {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes hgItemIn {
      from { opacity: 0; transform: translateY(8px) scale(0.98); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes hgHeroShine {
      0%, 100% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
    }
    @keyframes hgCtaGlint {
      0%, 100% { transform: translateX(-130%) rotate(12deg); opacity: 0.25; }
      45% { transform: translateX(130%) rotate(12deg); opacity: 0.65; }
    }
    @keyframes hgCardBorderFlow {
      0%, 100% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
    }
    @keyframes hgFinishPop {
      0% { transform: scale(0.82); opacity: 0; }
      60% { transform: scale(1.06); }
      100% { transform: scale(1); opacity: 1; }
    }
    @keyframes hgFloatOrb {
      0%, 100% { transform: translate(0, 0) scale(1); }
      50% { transform: translate(2%, -2%) scale(1.04); }
    }
    .p-wrapper {
      width: 100%;
      max-width: min(640px, 100%);
      margin-left: auto;
      margin-right: auto;
      position: relative;
      padding: clamp(12px, 2.8vw, 18px);
      border-radius: clamp(22px, 4vw, 30px);
      box-sizing: border-box;
      background: linear-gradient(
        165deg,
        rgba(255, 255, 255, 0.88) 0%,
        rgba(255, 252, 247, 0.72) 48%,
        rgba(255, 255, 255, 0.86) 100%
      );
      border: 1px solid rgba(220, 228, 240, 0.78);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        var(--hg-shadow-soft);
      backdrop-filter: blur(24px) saturate(1.12);
      -webkit-backdrop-filter: blur(24px) saturate(1.12);
      isolation: isolate;
    }
    .p-wrapper::before {
      content: "";
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      background: conic-gradient(from 200deg, rgba(255, 145, 29, 0.28), rgba(58, 98, 227, 0.14), rgba(34, 168, 97, 0.2), rgba(255, 145, 29, 0.28));
      opacity: 0.65;
      animation: hgBorderGlow 12s linear infinite;
      z-index: -1;
      filter: blur(8px);
      pointer-events: none;
    }
    .p-progress-bg {
      height: 6px;
      background: rgba(16, 24, 40, 0.06);
      border-radius: 999px;
      margin-bottom: 14px;
      overflow: hidden;
      box-shadow: inset 0 1px 2px rgba(16, 24, 40, 0.06);
      position: relative;
    }
    .p-bar {
      height: 100%;
      width: 33%;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--hg-green) 0%, var(--hg-gold) 38%, var(--hg-orange) 72%, #ffb04a 100%);
      background-size: 200% 100%;
      box-shadow: 0 0 16px rgba(255, 145, 29, 0.32);
      transition: width var(--hg-motion-bar) var(--hg-ease-silk);
      position: relative;
      overflow: hidden;
      will-change: width;
    }
    .p-bar::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
      animation: hgBarShimmer 2.4s ease-in-out infinite;
      pointer-events: none;
    }
    #hg-pro-gateway.is-step-finish .p-top-info-box {
      display: none !important;
    }
    #hg-pro-gateway.is-step-finish .p-progress-bg {
      display: none !important;
    }
    .p-top-info-box {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      border-radius: 16px;
      border: 1px solid rgba(210, 218, 230, 0.75);
      padding: 10px 12px;
      margin-bottom: 12px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 252, 247, 0.88) 100%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 4px 18px rgba(16, 24, 40, 0.04);
      overflow: hidden;
    }
    .p-trust-pills {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 6px 8px;
      margin: 0;
      padding: 0;
      list-style: none;
      width: 100%;
    }
    .p-trust-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 5px 10px;
      border-radius: 999px;
      font-family: "DM Sans", "Plus Jakarta Sans", system-ui, sans-serif;
      font-size: 10.5px;
      font-weight: 600;
      letter-spacing: -0.01em;
      color: #475569;
      background: rgba(255, 255, 255, 0.88);
      border: 1px solid var(--hg-border);
      box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04);
      white-space: nowrap;
      animation: hgItemIn 0.5s var(--hg-ease-out) both;
    }
    .p-trust-pill:nth-child(1) { animation-delay: 0.04s; }
    .p-trust-pill:nth-child(2) { animation-delay: 0.08s; }
    .p-trust-pill:nth-child(3) { animation-delay: 0.12s; }
    .p-trust-pill:nth-child(4) { animation-delay: 0.16s; }
    .p-trust-pill:nth-child(5) { animation-delay: 0.2s; }
    .p-trust-pill--accent {
      color: #9a3412;
      border-color: rgba(255, 145, 29, 0.35);
      background: linear-gradient(135deg, rgba(255, 247, 237, 0.98), rgba(255, 255, 255, 0.95));
      box-shadow: 0 2px 10px rgba(255, 145, 29, 0.12);
    }
    .p-card {
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 252, 248, 0.68) 100%);
      border-radius: clamp(20px, 3.5vw, 26px);
      padding: clamp(26px, 4vw, 36px) clamp(18px, 3.2vw, 28px) clamp(22px, 3.5vw, 30px);
      border: 1px solid rgba(214, 222, 236, 0.72);
      text-align: center;
      position: relative;
      overflow: visible;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        var(--hg-shadow-card);
      backdrop-filter: blur(18px) saturate(1.08);
      -webkit-backdrop-filter: blur(18px) saturate(1.08);
      transition: box-shadow 0.45s var(--hg-ease-out);
    }
    .p-card.p-card--pulse {
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        0 0 0 1px rgba(255, 145, 29, 0.12),
        0 24px 56px rgba(255, 145, 29, 0.1);
    }
    .p-card.p-card--has-back {
      padding-top: clamp(44px, 6vw, 56px);
    }
    .p-card.p-card--has-back .p-step.active > .p-title {
      margin-top: 0;
    }
    .p-card::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      padding: 1px;
      background: linear-gradient(120deg, rgba(255, 145, 29, 0.28), rgba(58, 98, 227, 0.12), rgba(34, 168, 97, 0.18), rgba(255, 145, 29, 0.22));
      background-size: 280% 280%;
      animation: hgCardBorderFlow 16s ease infinite;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: 0;
      opacity: 0.85;
    }
    .p-card > * { position: relative; z-index: 1; }
    .p-title {
      font-size: clamp(17px, 2.15vw, 22px);
      font-weight: 500;
      color: var(--hg-heading);
      margin: 0 auto 18px;
      max-width: min(26ch, 100%);
      line-height: 1.18;
      letter-spacing: -0.026em;
      text-wrap: balance;
    }
    .p-hero-title {
      font-size: clamp(20px, 3.25vw, 28px);
      font-weight: 500;
      color: var(--hg-heading);
      margin: 2px auto 12px;
      max-width: min(32ch, 100%);
      line-height: 1.14;
      letter-spacing: -0.03em;
      text-wrap: balance;
    }
    .p-step-subtitle {
      font-size: clamp(12px, 1.25vw, 14px);
      font-weight: 400;
      color: var(--hg-muted);
      margin: 0 0 22px;
      line-height: 1.48;
      letter-spacing: -0.01em;
    }
    .p-back-nav {
      position: absolute;
      top: 12px;
      left: 14px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      color: var(--hg-muted);
      font-size: 12px;
      font-weight: 500;
      z-index: 10;
      padding: 2px 4px;
      border: 0;
      background: transparent;
      transition: color 0.18s ease, opacity 0.18s ease;
    }
    .p-back-nav:hover {
      color: var(--hg-heading);
      opacity: 0.9;
    }
    .p-back-nav svg { width:14px; height:14px; }
    .p-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
    #gs-1 .p-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: stretch; grid-auto-rows: 1fr; }
    #gs-1 .p-title {
      font-size: clamp(16px, 2.2vw, 19px);
      font-weight: 500;
      color: var(--hg-heading);
      margin: 2px 0 20px;
      line-height: 1.18;
      letter-spacing: -0.03em;
      max-width: none;
    }
    #gs-1 .p-item {
      padding: 20px 10px 18px;
      border: 1px solid rgba(210, 218, 230, 0.85);
      border-radius: clamp(14px, 2.2vw, 18px);
      min-height: 122px;
      height: 100%;
      box-shadow: 0 2px 14px rgba(16, 24, 40, 0.04);
      flex-direction: column;
      background: rgba(255, 255, 255, 0.75);
      transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }
    #gs-1 .p-item:hover {
      transform: translateY(-4px);
      border-color: rgba(255, 145, 29, 0.38);
      background: rgba(255, 252, 247, 0.95);
      box-shadow: 0 14px 36px rgba(255, 145, 29, 0.14);
    }
    #gs-1 .p-item strong {
      font-size: 15px;
      font-weight: 500;
      margin-top: 10px;
      color: var(--hg-heading);
      line-height: 1.2;
      letter-spacing: -0.02em;
    }
    #gs-1 .p-icon-svg { width: 34px; height: 34px; color: var(--hg-muted); stroke-width: 1.2; }
    #gs-1 .p-item:hover {
      border-color: rgba(34, 168, 97, 0.35);
      background: #fff;
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(34, 168, 97, 0.1);
    }
    #gs-1 .p-item.selected {
      border-color: rgba(255, 145, 29, 0.55);
      background: linear-gradient(180deg, rgba(255, 252, 248, 0.98) 0%, #fff 100%);
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.12), 0 10px 32px rgba(255, 145, 29, 0.12);
    }
    #gs-1 .p-item.selected strong,
    #gs-1 .p-item.selected .p-icon-svg { color: var(--hg-orange); }
    .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      align-items: stretch;
      align-content: flex-start;
    }
    .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid .p-item {
      flex: 0 1 176px;
      max-width: 260px;
      min-height: 52px;
      border-radius: var(--hg-answer-radius);
      border: 1px solid rgba(210, 218, 230, 0.9);
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 2px 10px rgba(16, 24, 40, 0.04);
    }
    .p-step:not(#gs-1) .p-grid.p-grid-1 .p-item,
    .p-step:not(#gs-1) .p-grid.p-grid-2 .p-item { flex: 0 1 190px; max-width: 290px; }
    .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-content: flex-start;
      gap: 10px 12px;
      max-width: min(560px, 100%);
      margin-left: auto;
      margin-right: auto;
    }
    .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap .p-item {
      flex: 0 1 auto;
      width: auto;
      max-width: none;
      min-width: 0;
    }
    .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap .p-item > strong {
      white-space: nowrap;
    }
    #gs-makler-vorstellung .p-grid.p-grid-1.p-modern-wrap:not(.p-makler-choice-grid) {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      max-width: min(520px, 100%);
      margin: 4px auto 0;
      justify-content: stretch;
    }
    #gs-makler-vorstellung .p-makler-choice-grid.p-grid.p-grid-1.p-modern-wrap {
      display: grid;
      grid-template-columns: auto auto;
      justify-content: center;
      align-items: start;
      column-gap: clamp(8px, 2.2vw, 14px);
      row-gap: 6px;
      max-width: 100%;
      margin: 8px auto 0;
    }
    .p-item {
      padding: 13px 16px;
      border: 1px solid rgba(210, 218, 230, 0.85);
      border-radius: var(--hg-answer-radius);
      cursor: pointer;
      transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
      background: rgba(255, 255, 255, 0.95);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
    }
    .p-item:hover {
      border-color: rgba(34, 168, 97, 0.28);
      background: rgba(236, 252, 243, 0.35);
      box-shadow: 0 4px 18px rgba(34, 168, 97, 0.08);
    }
    .p-item strong {
      display: block;
      font-size: 13.5px;
      font-weight: 500;
      margin-top: 0;
      color: var(--hg-heading);
      line-height: 1.28;
      letter-spacing: -0.012em;
    }
    .p-icon-svg { width: 28px; height: 28px; color: var(--hg-muted); stroke-width: 1.2; }
    input#p-zip:focus,
    .p-input-group input[type="text"]:focus,
    .p-input-group input[type="email"]:focus,
    .p-input-group input[type="tel"]:focus {
      border-color: rgba(255, 145, 29, 0.45);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.12);
    }
    .p-item.selected {
      border-color: rgba(255, 145, 29, 0.55);
      background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.92));
      box-shadow:
        0 0 0 1px rgba(255, 145, 29, 0.14),
        0 8px 24px rgba(255, 145, 29, 0.12);
    }
    .p-item.selected strong,
    .p-item.selected .p-icon-svg { color: var(--hg-orange); }
    #gs-interesse .p-grid.p-modern-wrap {
      width: 100%;
      max-width: min(560px, 100%);
      margin-left: auto;
      margin-right: auto;
      justify-content: center;
    }
    .p-input-group { text-align:left; max-width:334px; margin:0 auto; width:100%; }
    .p-label {
      display: block;
      font-size: 13px;
      font-weight: 500;
      margin-bottom: 8px;
      color: var(--hg-muted);
      letter-spacing: -0.008em;
    }
    /* Mind. 16px: verhindert Auto-Zoom beim Fokus (iOS Safari / viele mobile Browser). */
    input#p-zip,
    .p-input-group input[type="text"],
    .p-input-group input[type="email"],
    .p-input-group input[type="tel"] {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      border-radius: 12px;
      font-size: 16px;
      outline: none;
      box-sizing: border-box;
      background: rgba(255, 255, 255, 0.95);
      transition: border-color 0.18s ease, box-shadow 0.18s ease;
    }
    .p-field-combo {
      position: relative;
      z-index: 250;
      width: 100%;
    }

    /* Eingabe bleibt gleich – nur untere Ecken flach, Liste darunter (absolut, kein Layout-Sprung) */
    .p-field-combo.is-open > input#p-zip,
    .p-field-combo.is-open > input[type="text"] {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom-color: rgba(16, 24, 40, 0.08);
    }

    .p-field-combo.is-open:focus-within > input#p-zip,
    .p-field-combo.is-open:focus-within > input[type="text"] {
      border-bottom-color: rgba(255, 145, 29, 0.35);
    }

    .p-dropdown,
    .p-street-dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      margin-top: -1px;
      z-index: 5;
      display: none;
      background: rgba(255, 255, 255, 0.98);
      border: 1px solid rgba(210, 218, 230, 0.95);
      border-top: 1px solid rgba(16, 24, 40, 0.08);
      border-radius: 0 0 12px 12px;
      box-shadow: 0 10px 28px rgba(16, 24, 40, 0.1);
      max-height: min(44vh, 280px);
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    .p-field-combo.is-open:focus-within .p-dropdown,
    .p-field-combo.is-open:focus-within .p-street-dropdown {
      border-color: rgba(255, 145, 29, 0.45);
      border-top-color: rgba(16, 24, 40, 0.08);
      box-shadow:
        0 0 0 3px rgba(255, 145, 29, 0.1),
        0 10px 28px rgba(16, 24, 40, 0.1);
    }

    .p-dropdown-item,
    .p-street-dropdown-item {
      padding: 11px 14px;
      font-size: 14px;
      cursor: pointer;
      border-bottom: 1px solid rgba(16, 24, 40, 0.06);
      text-align: left;
    }

    .p-dropdown-item:last-child,
    .p-street-dropdown-item:last-child {
      border-bottom: none;
    }
    .p-dropdown-item:hover,
    .p-street-dropdown-item:hover {
      background: rgba(236, 252, 243, 0.55);
      color: var(--hg-green);
    }

    .p-field-combo.is-open .p-dropdown,
    .p-field-combo.is-open .p-street-dropdown {
      display: block !important;
    }

    .p-dropdown-item--loading {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--hg-muted);
      cursor: default;
      pointer-events: none;
      font-style: normal;
    }

    .hg-dropdown-spinner {
      width: 14px;
      height: 14px;
      border: 2px solid rgba(0, 0, 0, 0.1);
      border-top-color: var(--hg-orange);
      border-radius: 50%;
      animation: hg-dropdown-spin 0.7s linear infinite;
      flex-shrink: 0;
    }

    @keyframes hg-dropdown-spin {
      to { transform: rotate(360deg); }
    }

    #p-zip.is-loading,
    #inp-strasse.is-loading {
      opacity: 0.88;
    }
    .p-next-btn {
      width: min(200px, 100%);
      min-height: 46px;
      margin-top: 14px;
      padding: 11px 18px;
      background: linear-gradient(110deg, var(--hg-orange-hover) 0%, var(--hg-orange) 45%, #ffb04a 100%);
      background-size: 140% 100%;
      color: #fff;
      border: none;
      border-radius: 999px;
      font-weight: 600;
      cursor: pointer;
      font-size: 15px;
      letter-spacing: -0.02em;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 8px 24px rgba(255, 145, 29, 0.32);
      transition: transform 0.12s ease, box-shadow 0.2s ease, filter 0.2s ease;
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .p-next-btn:not(.disabled)::after {
      content: "";
      position: absolute;
      top: -50%;
      left: -30%;
      width: 38%;
      height: 200%;
      background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.5) 48%, transparent 100%);
      animation: hgCtaGlint 4.5s ease-in-out infinite;
      pointer-events: none;
    }
    .p-next-btn:hover:not(.disabled) {
      filter: brightness(1.04);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        0 12px 32px rgba(230, 126, 23, 0.38);
    }
    .p-next-btn:active:not(.disabled) { transform: translateY(1px); }
    .p-next-btn.disabled {
      background: #eceef2;
      color: #5f6670;
      border: 1px solid #d5dae1;
      cursor: not-allowed;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
      filter: none;
    }
    .p-step { display:none; width:100%; }
    .p-step.active { display:block; }
    .p-step.active.p-step-enter > .p-title,
    .p-step.active.p-step-enter > .p-hero-title,
    .p-step.active.p-step-enter > .p-step-subtitle,
    .p-step.active.p-step-enter > .p-subhint,
    .p-step.active.p-step-enter > .p-grid,
    .p-step.active.p-step-enter > .p-input-group,
    .p-step.active.p-step-enter > .p-mini-trust-bar,
    .p-step.active.p-step-enter > .p-finish-block,
    .p-step.active.p-step-enter > .p-contact-card,
    .p-step.active.p-step-enter > .p-compare-box,
    .p-step.active.p-step-enter > .p-makler-actions {
      animation: hgStepIn var(--hg-motion-step) var(--hg-ease-silk) both;
    }
    .p-step.active.p-step-enter .p-item {
      animation: hgItemIn var(--hg-motion-item) var(--hg-ease-silk) both;
    }
    .p-step.active.p-step-enter .p-item:nth-child(1) { animation-delay: 0.02s; }
    .p-step.active.p-step-enter .p-item:nth-child(2) { animation-delay: 0.04s; }
    .p-step.active.p-step-enter .p-item:nth-child(3) { animation-delay: 0.06s; }
    .p-step.active.p-step-enter .p-item:nth-child(4) { animation-delay: 0.08s; }
    .p-step.active.p-step-enter .p-item:nth-child(5) { animation-delay: 0.1s; }
    .p-step.active.p-step-enter .p-item:nth-child(6) { animation-delay: 0.12s; }
    .p-grid-tight .p-item strong { margin-top:0; }
    .p-item-row { padding: 14px 18px; flex-direction: row; justify-content: center; text-align: center; }
    .p-item-row strong { margin-top:0!important; }
    #gs-makler-vorstellung .p-title-makler-q {
      font-size: clamp(17px, 2.2vw, 21px);
      font-weight: 500;
      margin: 0 auto 12px;
      max-width: min(26ch, 100%);
      line-height: 1.16;
      letter-spacing: -0.026em;
      text-align: center;
      text-wrap: balance;
    }
    #gs-makler-vorstellung .p-subhint-makler {
      font-size: 12px;
      margin: 0 auto 16px;
      line-height: 1.4;
      max-width: 38ch;
      color: var(--hg-muted);
    }
    #gs-makler-vorstellung .p-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      max-width: min(520px, 100%);
      margin: 4px auto 0;
    }
    #gs-makler-vorstellung .p-grid .p-item:not(#mv-nein) {
      min-width: 0;
      max-width: none;
    }
    #gs-makler-vorstellung .p-grid .p-item strong { white-space: nowrap; }
    #mv-nein {
      grid-column: 1 / -1;
      justify-self: center;
      width: auto;
      min-height: auto;
      padding: 2px 4px 2px;
      margin-top: 0;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-tap-highlight-color: transparent;
    }
    #mv-nein strong { color: #344054; font-weight: 500; font-size: 13px; }
    #mv-nein:hover,
    #mv-nein:focus,
    #mv-nein:active {
      border-color: transparent !important;
      background: transparent !important;
      transform: none;
      box-shadow: none !important;
    }
    #mv-nein:hover strong,
    #mv-nein:focus strong { color: #111827; text-decoration: underline; }
    #mv-nein:focus-visible {
      outline: none;
      box-shadow: none !important;
    }
    #gs-makler-vorstellung .p-makler-choice-btn {
      width: fit-content !important;
      max-width: 100%;
      justify-self: center;
      align-self: center;
      padding: 10px 22px !important;
      min-height: 0 !important;
      min-width: 0;
      border-radius: 999px !important;
    }
    #gs-maklervertrag .p-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      max-width: min(520px, 100%);
      margin: 4px auto 0;
    }
    #gs-maklervertrag .p-grid .p-item {
      min-height: 52px;
      padding: 14px 20px;
      border-radius: 14px;
    }
    #gs-maklervertrag .p-grid .p-item strong {
      font-size: 14px;
      font-weight: 600;
      white-space: nowrap;
    }
    #gs-makler-vorstellung #mv-ja.p-makler-choice-btn {
      padding-left: 38px !important;
      padding-right: 38px !important;
    }
    #gs-makler-vorstellung .p-makler-choice-btn strong {
      white-space: nowrap;
      font-size: 14px;
    }
    #gs-makler-nein-info .p-makler-cta-btn {
      min-width: 0;
      width: fit-content;
      max-width: min(100%, 300px);
      margin-top: 0;
      padding: 10px 18px;
      white-space: normal;
      text-align: center;
      line-height: 1.25;
    }
    #gs-makler-nein-info .p-makler-actions--nein-info {
      gap: 6px;
      margin-top: 16px;
    }
    #gs-makler-nein-info .p-makler-skip-link {
      margin-top: 0;
      padding: 4px 10px 6px;
      font-size: 12px;
    }
    .p-mini-trust-makler .p-mini-trust-title,
    .p-mini-trust-makler .p-mini-trust-sub {
      line-height: 1.18;
    }
    .p-mini-trust-makler .p-mini-trust-item {
      padding: 8px 5px 9px;
    }
    #gs-finish {
      text-align: center;
    }
    #gs-finish .p-finish-block {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
    .p-finish-title {
      max-width: min(36ch, 100%);
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }
    #gs-finish .p-finish-lead,
    #gs-finish .p-finish-detail {
      max-width: min(42ch, 100%);
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      text-wrap: balance;
    }
    .p-finish-detail a {
      color: var(--hg-orange-hover);
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    #gs-finish .p-finish-dashboard {
      margin: 14px auto 0;
      max-width: min(340px, 100%);
      width: 100%;
      text-align: center;
      margin-inline: auto;
    }
    .p-finish-dashboard-mock {
      border-radius: 14px;
      border: 1px solid rgba(255, 145, 29, 0.2);
      background: linear-gradient(180deg, #fff 0%, #fffaf5 100%);
      overflow: hidden;
      box-shadow:
        0 16px 48px rgba(255, 145, 29, 0.1),
        0 8px 24px rgba(16, 24, 40, 0.06);
    }
    .p-finish-dashboard-mock-top {
      display: flex;
      gap: 5px;
      padding: 10px 12px;
      background: rgba(248, 250, 252, 0.98);
      border-bottom: 1px solid #edf2f7;
    }
    .p-finish-dashboard-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #e2e8f0;
    }
    .p-finish-dashboard-mock-title {
      font-size: 11px;
      font-weight: 600;
      color: var(--hg-muted);
      padding: 8px 12px 4px;
      letter-spacing: -0.02em;
    }
    .p-finish-dashboard-mock-bars {
      display: flex;
      align-items: flex-end;
      gap: 6px;
      height: 72px;
      padding: 8px 14px 12px;
    }
    .p-finish-dashboard-mock-bars span {
      flex: 1;
      border-radius: 4px 4px 0 0;
      background: linear-gradient(180deg, var(--hg-orange) 0%, var(--hg-orange-hover) 100%);
      opacity: 0.88;
      transform-origin: bottom center;
      animation: hgItemIn 0.55s var(--hg-ease-out) both;
    }
    .p-finish-dashboard-mock-bars span:nth-child(1) { animation-delay: 0.15s; }
    .p-finish-dashboard-mock-bars span:nth-child(2) { animation-delay: 0.22s; }
    .p-finish-dashboard-mock-bars span:nth-child(3) { animation-delay: 0.29s; }
    .p-finish-dashboard-mock-bars span:nth-child(4) { animation-delay: 0.36s; }
    .p-finish-dashboard-mock-bars span:nth-child(5) { animation-delay: 0.43s; }
    .p-finish-dashboard-mock-kpis {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      padding: 0 12px 12px;
    }
    .p-finish-dashboard-mock-kpis > div {
      background: rgba(255, 255, 255, 0.92);
      border-radius: var(--hg-answer-radius);
      padding: 8px 6px;
      text-align: center;
      border: 1px solid rgba(210, 218, 230, 0.9);
      box-shadow: 0 2px 10px rgba(16, 24, 40, 0.04);
    }
    .p-finish-dashboard-mock-kpis small {
      display: block;
      font-size: 9px;
      color: var(--hg-muted);
      margin-bottom: 2px;
      font-weight: 500;
    }
    .p-finish-dashboard-mock-kpis strong {
      font-size: 10px;
      color: var(--hg-muted);
      letter-spacing: 0.06em;
      font-weight: 600;
    }
    .p-finish-actions {
      display: flex;
      justify-content: center;
      margin-top: 14px;
    }
    .p-finish-sms-strip {
      margin: 14px auto 0;
      padding: 12px;
      border: 1px solid #d6dff2;
      border-radius: 14px;
      background: #fff;
      max-width: 640px;
    }
    .p-finish-sms-strip__head {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 8px;
    }
    .p-finish-sms-strip__badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 4px 10px;
      border-radius: 999px;
      background: #e0e8ff;
      color: #3a62e3;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.04em;
    }
    .p-finish-sms-strip__title {
      color: var(--hg-text);
      font-size: 16px;
      line-height: 1.25;
      font-weight: 600;
    }
    .p-finish-sms-strip__sub {
      margin: 0 0 10px 0;
      color: var(--hg-muted);
      font-size: 14px;
      line-height: 1.35;
    }
    .p-finish-sms-strip__controls {
      display: flex;
      gap: 10px;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
    }
    .p-finish-code-input {
      width: min(430px, 100%);
      border: 1px solid var(--hg-border);
      border-radius: 10px;
      padding: 10px 12px;
      font-size: 16px;
      line-height: 1.3;
      color: var(--hg-text);
      background: #fff;
      outline: none;
    }
    .p-finish-code-input:focus {
      border-color: rgba(58, 98, 227, 0.45);
      box-shadow: 0 0 0 3px var(--hg-focus);
    }
    .p-finish-code-btn {
      width: auto;
      min-height: 42px;
      padding-left: 18px;
      padding-right: 18px;
      white-space: nowrap;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
    }
    .p-finish-code-msg {
      text-align: center;
      margin-top: 6px;
      min-height: 16px;
    }
    .hg-kontakt-returning {
      margin: 14px 0 0;
      text-align: center;
    }
    .hg-kontakt-returning__btn,
    .hg-finish-alt-link {
      border: 0;
      background: none;
      padding: 0;
      font: inherit;
      font-size: 13px;
      font-weight: 500;
      color: var(--hg-muted);
      text-decoration: underline;
      text-underline-offset: 2px;
      cursor: pointer;
    }
    .hg-kontakt-returning__btn:hover,
    .hg-finish-alt-link:hover {
      color: var(--hg-heading);
    }
    .hg-finish-alt {
      margin: 14px 0 0;
      text-align: center;
    }
    .hg-finish-returning-card {
      display: flex;
      justify-content: center;
      padding: 16px;
    }
    .hg-finish-dashboard-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      width: min(100%, 280px);
    }
    .hg-street-plz-block {
      margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid rgba(210, 218, 230, 0.7);
    }
    .hg-street-plz-display {
      display: block;
      width: 100%;
      padding: 10px 12px;
      border: 1px solid var(--hg-border);
      border-radius: 10px;
      background: #f8fafc;
      color: var(--hg-text);
      font-size: 15px;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .hg-plz-adjust-btn {
      display: inline-flex;
      margin: 0 auto 0 0;
      font-size: 13px;
      font-weight: 600;
      color: var(--hg-muted);
      transition: color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }
    .hg-plz-adjust-btn.is-pulse {
      color: #166534;
      background: rgba(39, 179, 106, 0.14);
      border-radius: 999px;
      padding: 6px 12px;
      animation: hg-plz-adjust-pulse 1.6s ease-in-out infinite;
    }
    @keyframes hg-plz-adjust-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(39, 179, 106, 0.35); }
      50% { box-shadow: 0 0 0 6px rgba(39, 179, 106, 0); }
    }
    .hg-street-plz-edit {
      margin-top: 10px;
    }
    .hg-street-plz-edit[hidden] {
      display: none !important;
    }
    @media (max-width: 900px) {
      .p-finish-sms-strip__title {
        font-size: 14px;
      }
      .p-finish-sms-strip__sub {
        font-size: 13px;
      }
      .p-finish-code-input {
        font-size: 15px;
        min-height: 44px;
      }
      .p-finish-code-btn {
        min-height: 44px;
        font-size: 14px;
        padding-left: 18px;
        padding-right: 18px;
      }
    }
    .p-finish-login-btn {
      width: auto !important;
      max-width: calc(100% - 8px);
      padding-left: 20px;
      padding-right: 20px;
    }
    #hg-pro-gateway a.p-next-btn.p-login-btn,
    #hg-pro-gateway a.p-next-btn.p-login-btn:hover,
    #hg-pro-gateway a.p-next-btn.p-login-btn:focus,
    #hg-pro-gateway a.p-next-btn.p-login-btn:focus-visible,
    #hg-pro-gateway a.p-next-btn.p-login-btn:visited {
      color: #fff !important;
      text-decoration: none;
    }
    .p-contact-card--compact {
      max-width: 420px;
      padding: 10px 10px 8px;
    }
    .p-contact-fields {
      display: flex;
      flex-direction: column;
      gap: 0;
      align-items: stretch;
    }
    .p-contact-field + .p-contact-field {
      margin-top: 8px;
    }
    .p-contact-field .p-label {
      margin-bottom: 4px;
    }
    .p-contact-field .p-error-msg-static {
      margin-top: 2px;
    }
    #gs-kontakt .p-contact-card--compact .p-check-row {
      margin-top: 8px;
      padding-top: 8px;
      font-size: 9.5px;
      line-height: 1.28;
    }
    #gs-kontakt .p-next-btn-kontakt-send {
      width: auto;
      max-width: 100%;
      min-height: 40px;
      padding: 8px 18px;
      font-size: 14px;
    }
    #gs-kontakt .p-contact-benefits {
      margin: 0 auto 10px;
      max-width: 420px;
    }
    #gs-kontakt.is-inline-gate .p-contact-benefits {
      display: none;
    }
    @media (max-width: 480px) {
      #gs-kontakt .p-kontakt-heading {
        max-width: 100%;
        font-size: clamp(15px, 4vw, 18px);
      }
    }
    @media (max-width: 1024px) {
      #gs-makler-vorstellung h2.p-title br.p-title-br { display: none; }
    }
    .p-subhint {
      font-size: 12px;
      color: var(--hg-muted);
      margin: -2px 0 18px;
      line-height: 1.42;
      text-align: center;
      font-weight: 400;
    }
    .p-step .p-subhint { color: var(--hg-muted); }
    .p-subhint-dark { color: var(--hg-muted); }
    .p-today-strong {
      font-weight: 600;
      background: linear-gradient(120deg, var(--hg-green) 0%, var(--hg-orange) 42%, #ffb04a 68%, var(--hg-green) 100%);
      background-size: 220% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: hgHeroShine 8s ease infinite;
    }
    .p-mini-trust-bar {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 6px;
      margin: 8px auto 14px;
      max-width: 460px;
    }
    .p-mini-trust-makler {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      max-width: 480px;
      margin: 6px auto 16px;
    }
    .p-mini-trust-item {
      text-align: center;
      padding: 6px 4px 7px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(210, 218, 230, 0.65);
      border-radius: 10px;
      box-shadow: none;
    }
    .p-mini-trust-makler .p-mini-trust-item {
      padding: 7px 5px 8px;
      background: rgba(255, 255, 255, 0.85);
      border-color: rgba(210, 218, 230, 0.55);
    }
    .p-mini-trust-icon {
      display: inline-flex;
      width: 15px;
      height: 15px;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      color: var(--hg-green);
      background: rgba(34, 168, 97, 0.1);
      font-size: 9px;
      font-weight: 600;
      margin-bottom: 3px;
    }
    .p-mini-trust-title { display: block; font-size: 10px; line-height: 1.2; color: var(--hg-heading); font-weight: 500; letter-spacing: -0.015em; }
    .p-mini-trust-sub { display: block; font-size: 9px; line-height: 1.2; color: var(--hg-muted); margin-top: 2px; }
    .p-compare-box {
      max-width: 440px;
      margin: 12px auto 4px;
      text-align: left;
      background: linear-gradient(180deg, rgba(248, 250, 255, 0.95) 0%, rgba(255, 255, 255, 0.9) 100%);
      border: 1px solid rgba(210, 218, 230, 0.85);
      border-radius: 14px;
      padding: 14px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    .p-loss-list { margin: 10px 0 0; padding-left: 18px; color: var(--hg-muted); font-size: 12.5px; line-height: 1.5; }
    .p-loss-list li + li { margin-top: 10px; }
    .p-invite-lead {
      margin: 12px 0 0;
      padding: 0;
      color: var(--hg-muted);
      font-size: 12.5px;
      line-height: 1.55;
    }
    .p-benefit-list {
      list-style: none;
      margin: 12px 0 0;
      padding: 0;
      color: var(--hg-muted);
      font-size: 12.5px;
      line-height: 1.5;
    }
    .p-benefit-list li {
      position: relative;
      padding-left: 22px;
      margin: 0;
    }
    .p-benefit-list li + li { margin-top: 12px; }
    .p-benefit-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0.1em;
      color: var(--hg-green);
      font-size: 11px;
      font-weight: 600;
    }
    .p-benefit-list strong { color: var(--hg-heading); font-weight: 500; }
    .p-note-box {
      font-size: 12px;
      color: var(--hg-muted);
      background: rgba(236, 252, 243, 0.45);
      border: 1px solid rgba(34, 168, 97, 0.14);
      border-radius: 12px;
      padding: 10px 12px;
      line-height: 1.45;
    }
    .p-next-btn-light { background:#fff; color:#344054; border:1px solid #d4dbe6; }
    .p-next-btn-light:hover:not(.disabled) { background:#f8fafd; color:#1f2937; }
    .p-contact-benefits {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, max-content));
      gap: 8px 10px;
      justify-content: center;
      margin: 0 0 12px;
    }
    .p-contact-benefits span {
      font-size: 11.5px;
      color: var(--hg-muted);
      border: 1px solid rgba(210, 218, 230, 0.9);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.85);
      padding: 6px 12px;
      font-weight: 500;
    }
    .p-contact-benefits span:nth-child(3) {
      grid-column: auto;
      justify-self: auto;
    }
    .p-makler-actions { display:flex; flex-direction:column; align-items:center; gap:7px; margin-top:14px; }
    .p-next-btn-wide { min-width:320px; }
    .p-text-link-btn {
      background: transparent !important;
      border: 0;
      color: #344054;
      font-size: 11px;
      font-weight: 500;
      cursor: pointer;
      padding: 2px 0;
      text-decoration: none;
      -webkit-tap-highlight-color: transparent;
      box-shadow: none !important;
    }
    .p-text-link-btn:hover,
    .p-text-link-btn:focus,
    .p-text-link-btn:focus-visible,
    .p-text-link-btn:active {
      background: transparent !important;
      color: #344054;
      text-decoration: underline;
      box-shadow: none !important;
      outline: none;
    }
    #gs-kontakt .p-kontakt-heading {
      font-size: clamp(19px, 2.1vw, 23px);
      font-weight: 500;
      margin: 0 auto 6px;
      line-height: 1.12;
      letter-spacing: -0.032em;
      max-width: min(34ch, 100%);
      text-wrap: balance;
    }
    #gs-kontakt .p-kontakt-subhint {
      font-size: 11.5px;
      margin: 0 auto 12px;
      line-height: 1.35;
      text-align: center;
      color: var(--hg-muted);
      max-width: min(40ch, 100%);
    }
    #gs-kontakt .p-contact-card {
      max-width: 360px;
      margin: 0 auto;
      background: rgba(252, 253, 255, 0.92);
      border: 1px solid rgba(230, 235, 244, 0.95);
      border-radius: 12px;
      padding: 12px 12px 10px;
    }
    #gs-kontakt .p-contact-card .p-label {
      margin-bottom: 4px;
      font-size: 11.5px;
      font-weight: 600;
      color: var(--hg-muted);
    }
    #gs-kontakt .p-contact-card .p-label-spaced { margin-top: 8px; }
    #gs-kontakt .p-contact-card .p-check-row {
      margin-top: 10px;
      padding-top: 9px;
      border-top: 1px solid #edf2f8;
      font-size: 10.5px;
      line-height: 1.3;
      color: var(--hg-muted);
    }
    #gs-kontakt .p-contact-card .p-check-row a { color: var(--hg-heading); font-weight: 600; }
    #gs-kontakt .p-contact-card #inp-k-name,
    #gs-kontakt .p-contact-card #inp-k-email,
    #gs-kontakt .p-contact-card #inp-k-tel {
      padding: 10px 12px;
      font-size: 16px;
      border-radius: 8px;
    }
    #gs-kontakt .p-contact-card .p-error-msg-static {
      min-height: 12px;
      font-size: 10.5px;
      margin-top: 3px;
      line-height: 1.2;
    }
    #gs-kontakt .p-kontakt-submit-wrap {
      display: flex;
      justify-content: center;
      width: 100%;
      margin-top: 8px;
    }
    .hg-honeypot {
      position: absolute !important;
      left: -9999px !important;
      width: 1px !important;
      height: 1px !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    .hg-recaptcha-wrap {
      display: flex;
      justify-content: center;
      margin: 10px 0 4px;
      min-height: 78px;
    }
    .hg-recaptcha-wrap.nectify-recaptcha--v3 {
      min-height: auto;
    }
    .nectify-recaptcha-v3-hint {
      margin: 0;
      padding: 10px 12px;
      font-size: 12px;
      line-height: 1.45;
      color: #3d4d6a;
      background: rgba(58, 123, 247, 0.08);
      border: 1px solid rgba(58, 123, 247, 0.22);
      border-radius: 10px;
      text-align: center;
    }
    .hg-recaptcha-wrap.nectify-recaptcha--disabled,
    .hg-recaptcha-notice.hidden {
      display: none !important;
    }
    .hg-recaptcha-notice {
      margin: 0 0 8px;
      font-size: 10px;
      line-height: 1.4;
      color: #64748b;
      text-align: center;
    }
    .hg-recaptcha-notice a {
      color: inherit;
      text-decoration: underline;
    }
    #gs-kontakt .p-next-btn-compact {
      width: 100%;
      max-width: 240px;
      min-height: 42px;
      margin-top: 0;
      padding: 9px 14px;
      font-size: 14px;
      border-radius: 10px;
    }
    #gs-kontakt .p-login-btn.p-next-btn-compact { min-width: 0; max-width: 200px; }
    #gs-kontakt .p-inline-gate-actions {
      display: flex;
      justify-content: center;
      width: 100%;
      margin-top: 6px;
    }
    .p-label-spaced { margin-top:14px; }
    #gs-flaechen-doppelt .p-label-spaced { margin-top:8px; }
    #gs-zustand .p-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-content: flex-start;
      gap: 10px 12px;
      max-width: min(560px, 100%);
      margin: 0 auto;
    }
    #gs-zustand .p-grid .p-item {
      flex: 0 1 auto;
      width: auto;
      max-width: none;
      min-height: 52px;
      padding: 14px 20px;
      border-radius: var(--hg-answer-radius);
    }
    #gs-zustand .p-item strong {
      white-space: nowrap;
      font-size: 13.5px;
      font-weight: 500;
    }
    #gs-qualitaet .p-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-content: flex-start;
      gap: 10px 12px;
      max-width: min(560px, 100%);
      margin: 0 auto;
    }
    #gs-qualitaet .p-grid .p-item {
      flex: 0 1 auto;
      width: auto;
      max-width: none;
      min-height: 52px;
      padding: 14px 20px;
      border-radius: var(--hg-answer-radius);
    }
    #gs-qualitaet .p-item strong {
      white-space: nowrap;
      font-size: 13.5px;
      font-weight: 500;
    }
    .hg-qualitaet-mount {
      display: flex;
      flex-direction: column;
      gap: 14px;
      width: 100%;
      max-width: min(640px, 100%);
      margin: 0 auto;
    }
    .hg-qual-group__label {
      margin: 0 0 8px;
      padding: 0 2px;
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #8a8f98;
    }
    .hg-qual-group__grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 8px 10px;
    }
    .hg-qual-group__grid .p-item {
      flex: 0 1 auto;
      min-height: 48px;
      padding: 12px 16px;
    }
    .p-input-group-wide { max-width:100%; }
    .p-col-street { position:relative; flex:2; min-width:0; }
    .p-error-msg-static { font-size:11px; color:#e02d2d; margin-top:5px; min-height:14px; }
    .p-check-row { display:flex; gap:10px; align-items:flex-start; text-align:left; font-size:12px; color:#555; line-height:1.5; margin-top:14px; cursor:pointer; }
    .p-check-row input { margin-top:3px; flex-shrink:0; }
    .p-item-multi.selected { border-color:var(--hg-orange); background:rgba(255,145,29,.08); }
    .p-item-multi.selected strong { color:var(--hg-orange); }
    input#p-zip:focus,
    .p-input-group input:focus {
      border-color: rgba(34, 168, 97, 0.45);
      box-shadow: 0 0 0 4px var(--hg-focus);
    }
    .p-next-btn:focus-visible,
    .p-back-nav:focus-visible,
    .p-item:focus-visible {
      outline: 0;
      box-shadow: 0 0 0 4px var(--hg-focus);
    }
    .p-next-btn:focus-visible:not(.disabled) {
      box-shadow:
        0 0 0 4px rgba(255, 145, 29, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 8px 24px rgba(255, 145, 29, 0.32);
    }
    .p-finish-icon { width:42px; height:42px; margin:2px auto 10px; border-radius:999px; border:1px solid rgba(255,145,29,.26); color:var(--hg-orange); background:rgba(255,145,29,.07); display:flex; align-items:center; justify-content:center; animation: hgFinishPop 0.72s var(--hg-ease-out) both; }
    .p-finish-icon svg { width:22px; height:22px; }
    #gs-kontakt .p-next-btn:not(.p-next-btn-compact) { width: auto; min-width: 160px; padding: 8px 12px; }
    #gs-kontakt .p-inline-contact-gate { display:none; }
    #gs-kontakt.is-inline-gate .p-title { display:none; }
    #gs-kontakt.is-inline-gate .p-kontakt-subhint,
    #gs-kontakt.is-inline-gate .p-input-group { display:none; }
    #gs-kontakt.is-inline-gate .p-inline-contact-gate { display:block; }
    #gs-kontakt .p-inline-gate-text {
      font-size: 13px;
      font-weight: 500;
      color: var(--hg-heading);
      margin: 0 0 6px;
      line-height: 1.25;
      text-align: center;
      letter-spacing: -0.02em;
    }
    .p-login-btn { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; min-width:230px; }
    .p-svg-icon { fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
    @media (max-width: 1024px) {
      #hg-pro-gateway {
        align-items: center;
      }
      .p-wrapper {
        max-width: min(720px, 100%);
        padding: clamp(16px, 3.2vw, 22px);
        border-radius: clamp(22px, 3.5vw, 30px);
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.94),
          0 28px 64px rgba(16, 24, 40, 0.11);
      }
      .p-progress-bg { height: 6px; margin-bottom: 16px; }
      .p-top-info-box {
        padding: 11px 14px;
        margin-bottom: 14px;
        border-radius: 16px;
        text-align: center;
        align-items: center;
      }
      .p-trust-pill { font-size: 11px; padding: 5px 11px; }
      .p-card {
        padding: 56px clamp(18px, 4vw, 26px) clamp(24px, 4vw, 32px);
        border-radius: clamp(20px, 3vw, 26px);
        text-align: center;
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.92),
          0 20px 52px rgba(16, 24, 40, 0.09);
      }
      .p-card.p-card--has-back {
        padding-top: clamp(48px, 7vw, 58px);
      }
      .p-back-nav {
        top: 12px;
        left: clamp(14px, 3vw, 20px);
        font-size: 13px;
        padding: 5px 10px;
      }
      .p-title {
        font-size: clamp(17px, 2.15vw, 21px);
        font-weight: 500;
        margin: 4px auto 18px;
        max-width: min(26ch, 100%);
        line-height: 1.18;
        text-wrap: balance;
        letter-spacing: -0.026em;
      }
      .p-hero-title {
        font-size: clamp(20px, 3.25vw, 27px);
        font-weight: 500;
        margin: 4px auto 14px;
        line-height: 1.14;
        letter-spacing: -0.03em;
        white-space: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-width: 100%;
      }
      .p-hero-title::-webkit-scrollbar { display: none; }
      #gs-1 .p-hero-title {
        white-space: normal;
        overflow: visible;
        max-width: 100%;
        text-align: center;
        font-weight: 500;
      }
      .p-step-subtitle {
        font-size: clamp(12px, 1.35vw, 14px);
        margin: 0 auto 20px;
        letter-spacing: -0.01em;
      }
      .p-step:not(#gs-1) .p-grid .p-item {
        min-height: 52px;
        border-radius: var(--hg-answer-radius);
        padding: 14px 18px;
      }
      .p-item-row { padding: 14px 18px; }
      #gs-makler-vorstellung .p-grid {
        max-width: min(520px, 100%);
        gap: 10px;
      }
      #gs-makler-vorstellung .p-title-makler-q { max-width: min(26ch, 100%); }
      #gs-1 .p-grid { gap: 14px; }
      #gs-1 .p-item {
        padding: 22px 12px 20px;
        border-radius: clamp(16px, 2.5vw, 20px);
      }
      #gs-1 .p-item strong { font-size: 16px; }
      #gs-1 .p-icon-svg { width: 36px; height: 36px; }
      .p-input-group { max-width: min(400px, 100%); }
      input#p-zip,
      .p-input-group input[type="text"],
      .p-input-group input[type="email"],
      .p-input-group input[type="tel"] {
        padding: 14px 16px;
        font-size: 17px;
        border-radius: 14px;
      }
      .p-next-btn {
        border-radius: 14px;
        min-height: 50px;
        font-size: 16px;
      }
      .p-mini-trust-bar {
        gap: 6px;
        max-width: 100%;
      }
      .p-mini-trust-item { padding: 6px 5px; border-radius: 10px; }
      .p-mini-trust-makler .p-mini-trust-item { padding: 7px 6px; }
      .p-compare-box { max-width: 100%; padding: 16px; border-radius: 16px; }
      #gs-kontakt .p-contact-card #inp-k-name,
      #gs-kontakt .p-contact-card #inp-k-email,
      #gs-kontakt .p-contact-card #inp-k-tel {
        padding: 10px 12px;
        font-size: 16px;
        border-radius: 8px;
      }
    }
    @media (max-width:480px){
        #hg-pro-gateway {
          padding: clamp(14px, 4.8vw, 24px) clamp(8px, 3vw, 12px) clamp(12px, 3.8vw, 20px);
          justify-content: flex-start;
          width: 100%;
          margin-left: 0;
          margin-right: 0;
        }
        .p-wrapper {
          max-width: 100%;
          padding: 16px 12px 12px;
          border-radius: clamp(20px, 5vw, 26px);
          background: linear-gradient(165deg, rgba(255, 255, 255, 0.86) 0%, rgba(247, 250, 255, 0.7) 100%);
          border: 1px solid rgba(220, 228, 240, 0.74);
          box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 16px 38px rgba(18, 30, 52, 0.07);
        }
        .p-top-info-box { padding: 10px 11px; margin-bottom: 12px; text-align: center; align-items: center; }
        .p-trust-pill { font-size: 10px; padding: 4px 8px; }
        .p-card {
          padding: 24px 16px 20px;
          border-radius: clamp(18px, 4vw, 24px);
          text-align: center;
        }
        .p-card.p-card--has-back {
          padding: 46px 16px 20px;
        }
        .p-back-nav {
          top: 8px;
          left: 10px;
          font-size: 12px;
          padding: 4px 8px;
          z-index: 20;
        }
        .p-title {
          font-size: clamp(16px, 4.2vw, 19px);
          margin: 4px auto 18px;
          font-weight: 500;
          color: var(--hg-heading);
          max-width: min(28ch, 100%);
          line-height: 1.18;
          text-wrap: balance;
          white-space: normal;
          letter-spacing: -0.024em;
          text-align: center;
        }
        #gs-1.active {
          text-align: left;
        }
        .p-hero-title {
          font-size: clamp(15px, 4.8vw, 21px);
          margin: 0 auto 14px;
          line-height: 1.12;
          letter-spacing: -0.035em;
          white-space: nowrap;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: none;
          color: var(--hg-heading);
          font-weight: 500;
          text-align: center;
          max-width: 100%;
        }
        .p-hero-title::-webkit-scrollbar { display: none; }
        #gs-1 .p-hero-title {
          font-size: clamp(19px, 5.8vw, 24px);
          font-weight: 500;
          margin: 0 0 16px;
          line-height: 1.18;
          letter-spacing: -0.038em;
          white-space: normal;
          overflow: visible;
          color: var(--hg-heading);
          text-align: left;
          max-width: 100%;
          padding: 0 2px;
        }
        #gs-1 .p-hero-title .p-today-strong {
          font-weight: 600;
          letter-spacing: -0.02em;
        }
        .p-step-subtitle { font-size: 13px; margin: 0 auto 20px; line-height: 1.45; color: var(--hg-muted); font-weight: 400; text-align: center; }
        #gs-1 .p-step-subtitle {
          font-size: 13px;
          margin: 0 0 24px;
          line-height: 1.4;
          color: var(--hg-muted);
          font-weight: 500;
          text-align: left;
          padding: 0 2px;
          max-width: 100%;
        }
        .p-mini-trust-bar { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin:6px auto 10px; max-width:100%; }
        .p-mini-trust-makler {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 6px;
          max-width: 100%;
          margin: 6px auto 10px;
        }
        .p-mini-trust-item { padding:4px 3px; }
        #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-item {
          display: block;
          width: 100%;
          padding: 6px 4px 8px;
          border: 0;
          border-radius: 0;
          background: transparent;
          box-shadow: none;
          text-align: center;
        }
        #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-icon {
          margin: 0 0 3px;
        }
        #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-title {
          font-size: 11px;
          font-weight: 500;
          line-height: 1.3;
          text-align: center;
        }
        #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-sub {
          display: none;
        }
        .p-mini-trust-icon { width:12px; height:12px; font-size:9px; margin-bottom:2px; }
        .p-mini-trust-title { font-size:9.2px; line-height:1.15; font-weight:600; }
        .p-mini-trust-sub { font-size:8.5px; line-height:1.15; margin-top:2px; }
        #gs-makler-vorstellung .p-title-makler-q { font-size: clamp(15px, 4.2vw, 19px); margin-bottom: 10px; font-weight: 500; letter-spacing: -0.024em; max-width: min(26ch, 100%); }
        #gs-makler-vorstellung .p-grid.p-grid-1.p-modern-wrap:not(.p-makler-choice-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-width:100%; margin-left:auto; margin-right:auto; }
        #gs-makler-vorstellung .p-makler-choice-grid {
          display: grid !important;
          grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
          justify-content: stretch !important;
          column-gap: 10px !important;
          row-gap: 8px !important;
          width: 100%;
          max-width: 100%;
        }
        #gs-makler-vorstellung .p-makler-choice-btn {
          padding: 11px 18px !important;
          min-height: 44px !important;
          width: 100% !important;
          min-width: 0 !important;
          max-width: none !important;
          justify-self: stretch;
          align-self: stretch;
        }
        #gs-makler-vorstellung #mv-ja.p-makler-choice-btn,
        #gs-makler-vorstellung #mv-vl.p-makler-choice-btn { padding-left: 18px !important; padding-right: 18px !important; }
        #gs-makler-vorstellung .p-makler-choice-btn strong { font-size: 14px; }
        #gs-makler-vorstellung .p-grid .p-item strong { font-size:12px; white-space:nowrap; }
        #gs-makler-vorstellung #mv-nein { grid-column:1/-1; min-height:auto; padding:4px 0 0; border-radius:0; margin-top:0; }
        #gs-makler-vorstellung #mv-nein strong { font-size:13px; }
        #gs-maklervertrag .p-grid { gap: 10px; max-width: 100%; }
        #gs-maklervertrag .p-grid .p-item { min-height: 46px; padding: 12px 14px; border-radius: 12px; }
        #gs-maklervertrag #mk-nein.p-item { padding-left: 28px !important; padding-right: 28px !important; }
        #gs-maklervertrag .p-grid .p-item strong { font-size: 13px; }
        #gs-makler-nein-info .p-makler-cta-btn { max-width: min(92vw, 280px); font-size: 13px; padding: 10px 14px; line-height: 1.28; }
        #gs-makler-nein-info .p-makler-skip-link { margin-top: 0; }
        .p-finish-dashboard-mock-bars { height: 64px; }
        .p-finish-lead, .p-finish-detail { font-size: 12px; }
        .p-grid { gap:6px; }
        .p-item { padding:8px 9px; }
        .p-item strong { font-size:12px; }
        .p-icon-svg { width:22px; height:22px; }
        .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid { gap:7px; }
        .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid .p-item,.p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-grid-1 .p-item,.p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-grid-2 .p-item,.p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-grid-tight .p-item { flex:0 1 124px; max-width:168px; min-height:40px; padding:10px 12px; border-radius:var(--hg-answer-radius); }
        .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap .p-item { flex:0 1 auto; max-width:none; min-height:44px; padding:12px 14px; border-radius:var(--hg-answer-radius); }
        .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap .p-item > strong { white-space:nowrap; font-size:11.5px; }
        .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid .p-item strong { font-size:10.5px; }
        #gs-nutzung .p-grid,
        #gs-kernsanierung .p-grid,
        #gs-heizung .p-grid,
        #gs-energieausweis .p-grid,
        #gs-interesse .p-grid,
        #gs-klaerung-eigentum .p-grid,
        #gs-kontext-kaufmiete .p-grid,
        #gs-verkaufszeit .p-grid,
        #gs-maklervertrag .p-grid {
          display: grid;
          grid-template-columns: 1fr !important;
          gap: 8px;
        }
        #gs-nutzung .p-grid .p-item,
        #gs-kernsanierung .p-grid .p-item,
        #gs-heizung .p-grid .p-item,
        #gs-energieausweis .p-grid .p-item,
        #gs-interesse .p-grid .p-item,
        #gs-klaerung-eigentum .p-grid .p-item,
        #gs-kontext-kaufmiete .p-grid .p-item,
        #gs-verkaufszeit .p-grid .p-item,
        #gs-maklervertrag .p-grid .p-item {
          width: 100%;
          max-width: 100%;
          justify-self: stretch;
        }
        #gs-zustand .p-grid {
          display: grid;
          grid-template-columns: 1fr;
          gap: 8px;
        }
        #gs-zustand .p-grid .p-item {
          width: 100%;
          max-width: 100%;
          text-align: left;
        }
        #gs-zustand .p-grid .p-item:nth-child(2),
        #gs-zustand .p-grid .p-item:nth-child(4) { margin-left: 10px; max-width: calc(100% - 10px); }
        #gs-zustand .p-grid .p-item:nth-child(3) { margin-left: 18px; max-width: calc(100% - 18px); }
        #gs-teileigentum .p-grid {
          display: grid;
          grid-template-columns: 1fr !important;
          gap: 8px;
        }
        #gs-teileigentum .p-grid .p-item {
          width: 100%;
          max-width: 100%;
          justify-self: stretch;
        }
        #gs-maklervertrag #mk-nein { order: 1; }
        #gs-maklervertrag #mk-ja { order: 2; }
        #hg-pro-gateway:not(.hg-v3) #gs-1 .p-title { font-size:16px; margin:0 auto 18px; font-weight:500; color:var(--hg-heading); max-width:24ch; line-height:1.25; text-wrap:balance; white-space:normal; letter-spacing:-0.02em; }
        #hg-pro-gateway:not(.hg-v3) #gs-1 .p-grid {
          display: flex;
          flex-direction: column;
          gap: 10px;
          max-width: 100%;
        }
        #hg-pro-gateway:not(.hg-v3) #gs-1 .p-item {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: flex-start;
          text-align: left;
          padding: 15px 16px;
          min-height: 58px;
          border-radius: 18px;
          border: 1px solid rgba(210, 218, 230, 0.72);
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 253, 255, 0.94) 100%);
          box-shadow: 0 2px 12px rgba(16, 24, 40, 0.05);
        }
        #hg-pro-gateway:not(.hg-v3) #gs-1 .p-item .p-icon-svg {
          width: 28px;
          height: 28px;
          flex-shrink: 0;
          margin: 0 14px 0 0;
        }
        #hg-pro-gateway:not(.hg-v3) #gs-1 .p-item strong {
          font-size: 15px;
          font-weight: 500;
          margin-top: 0;
          letter-spacing: -0.012em;
        }
        .p-next-btn { width:100%; min-height:46px; font-size:15px; border-radius:14px; margin-top:10px; }
        input#p-zip,
        .p-input-group input[type="text"],
        .p-input-group input[type="email"],
        .p-input-group input[type="tel"] { padding: 11px 12px; font-size: 16px; }
        #gs-kontakt .p-kontakt-heading { font-size: clamp(15px, 4.2vw, 18px); font-weight: 500; margin: 0 auto 6px; letter-spacing: -0.03em; max-width: 100%; }
        #gs-kontakt .p-kontakt-subhint { margin: 0 auto 8px; font-size: 10.5px; line-height: 1.32; text-align: center; max-width: 100%; }
        #gs-kontakt .p-contact-benefits {
          gap: 6px;
          margin-bottom: 8px;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          justify-content: stretch;
          max-width: 100%;
        }
        #gs-kontakt .p-contact-benefits span {
          font-size: 9px;
          padding: 4px 6px;
          text-align: center;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        #gs-kontakt .p-contact-benefits span:nth-child(3) { grid-column: auto; justify-self: stretch; }
        #gs-kontakt .p-contact-card { max-width: 100%; padding: 8px 8px 6px; }
        #gs-kontakt .p-contact-card,
        #gs-kontakt .p-contact-card .p-label { text-align: center; }
        #gs-kontakt .p-contact-card .p-check-row { text-align: left; justify-content: flex-start; }
        #gs-kontakt .p-contact-card--compact .p-check-row { font-size: 9.5px; line-height: 1.26; }
        #gs-kontakt .p-contact-card .p-label { margin-bottom: 7px; font-size: 11px; }
        #gs-kontakt .p-contact-card .p-label-spaced { margin-top: 6px; }
        #gs-kontakt .p-contact-card .p-check-row { margin-top: 8px; padding-top: 7px; font-size: 10px; line-height: 1.24; }
        #gs-kontakt .p-next-btn-compact { max-width: 100%; min-height: 38px; font-size: 13px; border-radius: 9px; }
        #gs-kontakt .p-next-btn-kontakt-send { width: 100%; max-width: 260px; min-height: 40px; }
        #gs-kontakt .p-kontakt-submit-wrap { margin-top: 8px; }
        #gs-zustand .p-grid { gap: 8px; }
        #gs-zustand .p-grid .p-item { min-height: 44px; padding: 12px 16px; border-radius: var(--hg-answer-radius); }
        #gs-zustand .p-item strong { font-size: 12px; white-space: nowrap; }
        #gs-qualitaet .p-grid { gap: 8px; }
        #gs-qualitaet .p-grid .p-item {
          flex: 0 1 auto;
          max-width: none;
          min-height: 44px;
          padding: 12px 16px;
          border-radius: var(--hg-answer-radius);
        }
        #gs-qualitaet .p-item strong { font-size: 12px; white-space: nowrap; }
        .p-finish-icon { width:38px; height:38px; margin-bottom:8px; }
        .p-finish-icon svg { width:20px; height:20px; }
        #gs-kontakt .p-inline-gate-text { font-size: 12px; margin: 0 0 4px; text-align: center; }
    }
    /* Harmonized makler-benefits: connected, not isolated cards */
    #gs-makler-vorstellung .p-mini-trust-makler {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px 12px;
      margin: 6px auto 12px;
      max-width: min(560px, 100%);
      padding: 8px 10px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.6);
      border: 1px solid rgba(220, 227, 236, 0.55);
    }
    #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-item {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      padding: 2px 3px;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      text-align: center;
    }
    #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-icon {
      margin: 1px 0 0;
      flex-shrink: 0;
    }
    #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-title {
      font-size: 11px;
      line-height: 1.22;
      letter-spacing: -0.01em;
      text-align: center;
      white-space: normal;
    }
    @media (max-width: 1024px) {
      #gs-makler-vorstellung .p-mini-trust-makler {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 8px;
        padding: 7px 8px;
      }
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-title {
        font-size: 10.5px;
      }
    }
    @media (max-width: 480px) {
      #gs-makler-vorstellung .p-mini-trust-makler .p-mini-trust-title {
        font-size: 10px;
      }
    }
    @media (prefers-reduced-motion: reduce){
      .p-item,.p-next-btn{transition:none;}
      .p-wrapper::before,
      .p-bar::after,
      .p-card::before,
      .p-trust-pill,
      .p-today-strong,
      .p-next-btn:not(.disabled)::after,
      .p-step.active.p-step-enter > *,
      .p-step.active.p-step-enter .p-item,
      .p-finish-icon,
      .p-finish-dashboard-mock-bars span { animation: none !important; }
      #hg-pro-gateway { animation: none; background-size: 100% 100%; }
      #hg-pro-gateway::before,
      #hg-pro-gateway::after { animation: none; transform: none; }
      #hg-pro-gateway .p-wrapper { transform: none; }
    }

    /* HAUSGURUS Funnel v3 — Full-screen App */

    @keyframes hgV3CtaMove {
      0%, 100% { background-position: 8% 50%; }
      50% { background-position: 92% 50%; }
    }

    @keyframes hgV3CtaGlint {
      0%, 100% { transform: translate(-12%, 0) rotate(12deg); opacity: 0.35; }
      50% { transform: translate(18%, 0) rotate(12deg); opacity: 0.65; }
    }

    @keyframes hgV3ChoiceIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes hgV3TileIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes hgV3InputIn {
      from {
        opacity: 0;
        transform: translateY(16px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes hgV3IconPop {
      0% { transform: scale(1); }
      45% { transform: scale(1.12); }
      100% { transform: scale(1); }
    }

    @keyframes hgV3ContourDrift {
      0%, 100% { transform: translate(0, 0); }
      50% { transform: translate(10px, -14px); }
    }

    @keyframes hgV3ContourDriftAlt {
      0%, 100% { transform: translate(0, 0) rotate(0deg); }
      50% { transform: translate(-12px, 10px) rotate(-0.6deg); }
    }

    @keyframes hgV3ContourPulse {
      0%, 100% { opacity: 0.55; }
      50% { opacity: 1; }
    }

    @keyframes hgV3ContourDash {
      0% { stroke-dashoffset: 140; }
      50% { stroke-dashoffset: 0; }
      100% { stroke-dashoffset: -140; }
    }

    @keyframes hgV3FootTrustShimmer {
      0%, 100% { background-position: 0% 50%; opacity: 0.45; }
      50% { background-position: 100% 50%; opacity: 0.85; }
    }

    @keyframes hgV3FootTrustBorder {
      0%, 100% {
        border-color: rgba(34, 168, 97, 0.26);
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04), 0 0 0 0 rgba(34, 168, 97, 0);
      }
      50% {
        border-color: rgba(34, 168, 97, 0.52);
        box-shadow: 0 2px 10px rgba(21, 122, 74, 0.08), 0 0 0 2px rgba(34, 168, 97, 0.07);
      }
    }

    @keyframes hgV3FootTrustAccent {
      0%, 100% {
        border-color: rgba(255, 145, 29, 0.28);
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04), 0 0 0 0 rgba(255, 145, 29, 0);
      }
      50% {
        border-color: rgba(255, 145, 29, 0.48);
        box-shadow: 0 2px 10px rgba(255, 145, 29, 0.1), 0 0 0 2px rgba(255, 145, 29, 0.08);
      }
    }

    @keyframes hgV3ContourOrb {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.85; }
      50% { transform: translate(-18px, 14px) scale(1.06); opacity: 1; }
    }

    @keyframes hgV3ContourOrbAlt {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.8; }
      50% { transform: translate(14px, -12px) scale(1.05); opacity: 1; }
    }

    @keyframes hgV3BgMesh {
      0%, 100% {
        transform: translate(0, 0) scale(1) rotate(0deg);
        opacity: 0.92;
      }
      33% {
        transform: translate(2.5%, -1.5%) scale(1.04) rotate(0.4deg);
        opacity: 1;
      }
      66% {
        transform: translate(-2%, 2%) scale(1.02) rotate(-0.3deg);
        opacity: 0.88;
      }
    }

    @keyframes hgV3BgOrbWarm {
      0%, 100% { transform: translate(0, 0) scale(1); }
      25% { transform: translate(28px, -22px) scale(1.08); }
      50% { transform: translate(-16px, 18px) scale(0.96); }
      75% { transform: translate(12px, 26px) scale(1.04); }
    }

    @keyframes hgV3BgOrbGreen {
      0%, 100% { transform: translate(0, 0) scale(1); }
      33% { transform: translate(-24px, 20px) scale(1.06); }
      66% { transform: translate(20px, -16px) scale(0.94); }
    }

    @keyframes hgV3BgOrbCool {
      0%, 100% { transform: translate(0, 0) scale(1); }
      40% { transform: translate(22px, 24px) scale(1.1); }
      80% { transform: translate(-18px, -14px) scale(0.95); }
    }

    @keyframes hgV3BgOrbAccent {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.7; }
      50% { transform: translate(16px, -20px) scale(1.08); opacity: 1; }
    }

    @keyframes hgV3ContourBlob {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.55; }
      50% { transform: translate(12px, -10px) scale(1.08); opacity: 0.85; }
    }

    @keyframes hgV3ContourBlobAlt {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
      50% { transform: translate(-14px, 12px) scale(1.06); opacity: 0.8; }
    }

    body.hg-funnel-v3 {
      margin: 0;
      --hg-v3-page-bg-base: #faf9f7;
      --hg-v3-page-bg-warm: #fffdfb;
      --hg-v3-page-bg-image:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 200, 140, 0.14), transparent 58%),
        radial-gradient(ellipse 55% 40% at 85% 15%, rgba(58, 98, 227, 0.06), transparent 62%),
        radial-gradient(ellipse 50% 45% at 10% 85%, rgba(34, 168, 97, 0.05), transparent 60%),
        linear-gradient(180deg, var(--hg-v3-page-bg-warm) 0%, var(--hg-v3-page-bg-base) 100%);
    }

    #hg-pro-gateway.hg-v3 {
      --hg-v3-header-offset: 72px;
      --hg-orange: #ff911d;
      --hg-orange-dark: #e67e17;
      --hg-orange-soft: #fff4e8;
      --hg-v3-ink: #0a0d12;
      --hg-v3-muted: #5e6675;
      --hg-v3-line: rgba(210, 218, 230, 0.85);
      --hg-v3-surface: #faf9f7;
      --hg-v3-surface-warm: #fffdfb;
      --hg-v3-glass: rgba(255, 255, 255, 0.38);
      --hg-v3-glass-strong: rgba(255, 255, 255, 0.52);
      --hg-v3-glass-border: rgba(255, 255, 255, 0.58);
      --hg-v3-glass-shadow: 0 4px 24px rgba(16, 24, 40, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.72);
      --hg-v3-gap: 14px;
      --hg-v3-ease: cubic-bezier(0.33, 1, 0.68, 1);
      --hg-v3-max: min(520px, 100%);
      font-family: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      position: relative;
      width: 100%;
      min-height: calc(100svh - var(--hg-v3-header-offset, 0px));
      min-height: calc(100dvh - var(--hg-v3-header-offset, 0px));
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      isolation: isolate;
      overflow-x: clip;
      background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 200, 140, 0.14), transparent 58%),
        radial-gradient(ellipse 55% 40% at 85% 15%, rgba(58, 98, 227, 0.06), transparent 62%),
        radial-gradient(ellipse 50% 45% at 10% 85%, rgba(34, 168, 97, 0.05), transparent 60%),
        linear-gradient(180deg, var(--hg-v3-surface-warm) 0%, var(--hg-v3-surface) 100%);
      border: 0;
      box-shadow: none;
      animation: none;
      overflow-x: clip;
    }

    #hg-pro-gateway.hg-v3::before,
    #hg-pro-gateway.hg-v3::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-contours {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
      transition: opacity 0.6s ease;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-mesh {
      position: absolute;
      inset: -25%;
      background:
        radial-gradient(ellipse 52% 42% at 18% 28%, rgba(255, 145, 29, 0.14), transparent 62%),
        radial-gradient(ellipse 48% 38% at 82% 18%, rgba(58, 98, 227, 0.11), transparent 58%),
        radial-gradient(ellipse 50% 44% at 72% 78%, rgba(34, 168, 97, 0.09), transparent 60%),
        radial-gradient(ellipse 44% 36% at 12% 72%, rgba(255, 200, 120, 0.12), transparent 55%),
        conic-gradient(from 210deg at 50% 50%, rgba(255, 247, 237, 0.08), rgba(230, 238, 255, 0.06), rgba(232, 250, 241, 0.07), rgba(255, 247, 237, 0.08));
      animation: hgV3BgMesh 26s ease-in-out infinite;
      will-change: transform, opacity;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orbs {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orb {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      filter: blur(48px);
      will-change: transform;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orb--warm {
      width: min(420px, 55vw);
      height: min(420px, 55vw);
      top: -8%;
      right: -6%;
      background: radial-gradient(circle, rgba(255, 145, 29, 0.2) 0%, rgba(255, 200, 120, 0.06) 42%, transparent 72%);
      animation: hgV3BgOrbWarm 22s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orb--green {
      width: min(360px, 48vw);
      height: min(360px, 48vw);
      top: 38%;
      left: -10%;
      background: radial-gradient(circle, rgba(34, 168, 97, 0.14) 0%, rgba(180, 240, 210, 0.05) 45%, transparent 72%);
      animation: hgV3BgOrbGreen 28s ease-in-out infinite;
      animation-delay: -6s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orb--cool {
      width: min(380px, 50vw);
      height: min(380px, 50vw);
      bottom: -12%;
      left: 8%;
      background: radial-gradient(circle, rgba(58, 98, 227, 0.16) 0%, rgba(140, 170, 255, 0.05) 48%, transparent 72%);
      animation: hgV3BgOrbCool 24s ease-in-out infinite;
      animation-delay: -10s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-orb--accent {
      width: min(280px, 38vw);
      height: min(280px, 38vw);
      top: 8%;
      right: 12%;
      left: auto;
      background: radial-gradient(circle, rgba(255, 180, 80, 0.12) 0%, rgba(255, 220, 160, 0.04) 50%, transparent 70%);
      animation: hgV3BgOrbAccent 18s ease-in-out infinite;
      animation-delay: -4s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::before,
    #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      filter: blur(56px);
      z-index: 1;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::before {
      width: min(520px, 70vw);
      height: min(520px, 70vw);
      top: -12%;
      right: -8%;
      background: radial-gradient(circle, rgba(255, 145, 29, 0.14) 0%, rgba(255, 200, 140, 0.05) 45%, transparent 72%);
      animation: hgV3ContourOrb 24s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::after {
      width: min(440px, 62vw);
      height: min(440px, 62vw);
      bottom: -10%;
      left: -6%;
      background: radial-gradient(circle, rgba(58, 98, 227, 0.12) 0%, rgba(120, 160, 255, 0.04) 50%, transparent 72%);
      animation: hgV3ContourOrbAlt 28s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-svg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0.42;
      z-index: 1;
      pointer-events: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob {
      transform-origin: center;
      transform-box: fill-box;
      fill: url(#hg-v3-blob-warm);
      opacity: 0.35;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob--cool {
      fill: url(#hg-v3-blob-cool);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob--warm:nth-child(1) {
      animation: hgV3ContourBlob 20s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob--cool:nth-child(2) {
      animation: hgV3ContourBlobAlt 24s ease-in-out infinite;
      animation-delay: -5s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob--warm:nth-child(3) {
      animation: hgV3ContourBlobAlt 22s ease-in-out infinite;
      animation-delay: -9s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-blob--cool:nth-child(4) {
      animation: hgV3ContourBlob 26s ease-in-out infinite;
      animation-delay: -14s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-soft {
      fill: none;
      stroke-width: 1;
      stroke-linecap: round;
      vector-effect: non-scaling-stroke;
      opacity: 0.55;
      animation: hgV3ContourPulse 24s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-soft--warm {
      stroke: rgba(255, 145, 29, 0.1);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-soft--neutral {
      stroke: rgba(140, 152, 170, 0.12);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-soft--cool {
      stroke: rgba(58, 98, 227, 0.09);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-stroke {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-fill {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group {
      transform-origin: center;
      animation: hgV3ContourDrift 22s ease-in-out infinite;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--2 {
      animation-name: hgV3ContourDriftAlt;
      animation-duration: 26s;
      animation-delay: -4s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--3 {
      animation-duration: 24s;
      animation-delay: -8s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--4 {
      animation-name: hgV3ContourDriftAlt;
      animation-duration: 28s;
      animation-delay: -2s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--5 {
      animation-duration: 30s;
      animation-delay: -12s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--6 {
      animation-name: hgV3ContourDriftAlt;
      animation-duration: 20s;
      animation-delay: -6s;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--1 .hg-v3-contour-soft { animation-delay: 0s; }
    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--2 .hg-v3-contour-soft { animation-delay: -4s; }
    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--3 .hg-v3-contour-soft { animation-delay: -8s; }
    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--4 .hg-v3-contour-soft { animation-delay: -12s; }
    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--5 .hg-v3-contour-soft { animation-delay: -16s; }
    #hg-pro-gateway.hg-v3 .hg-v3-contour-group--6 .hg-v3-contour-soft { animation-delay: -20s; }

    #hg-pro-gateway.hg-v3 .hg-v3-shell {
      position: relative;
      z-index: 2;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      min-height: calc(100svh - var(--hg-v3-header-offset, 0px));
      min-height: calc(100dvh - var(--hg-v3-header-offset, 0px));
      width: 100%;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-nav-row {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      position: relative;
      min-height: 0;
    }

    #hg-pro-gateway.hg-v3.hg-v3--has-back .hg-v3-nav-row {
      min-height: 58px;
      padding-top: 6px;
    }

    #hg-pro-gateway.hg-v3:not(.hg-v3--has-back) .hg-v3-nav-row {
      padding-top: 8px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-progress {
      position: sticky;
      top: 0;
      z-index: 40;
      width: 100%;
      background: rgba(255, 253, 251, 0.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-progress .p-progress-bg {
      height: 14px;
      margin: 0;
      border-radius: 0;
      background: rgba(16, 24, 40, 0.07);
      box-shadow: inset 0 1px 2px rgba(16, 24, 40, 0.05);
      overflow: hidden;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar {
      height: 100%;
      width: 6%;
      border-radius: 0;
      background: linear-gradient(90deg, var(--hg-green) 0%, var(--hg-gold) 38%, var(--hg-orange) 72%, #ffb04a 100%);
      box-shadow: 0 0 8px rgba(255, 145, 29, 0.28);
      transition: width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
      will-change: width;
      position: relative;
      overflow: hidden;
    }

    #hg-pro-gateway.hg-v3.is-step-finish .hg-v3-progress,
    #hg-pro-gateway.hg-v3.is-step-berechnung .hg-v3-progress {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-progress-label {
      display: none;
    }

    #hg-pro-gateway.hg-v3.is-step-finish .hg-v3-bg-contours,
    #hg-pro-gateway.hg-v3.is-step-berechnung .hg-v3-bg-contours {
      opacity: 0;
    }

    #hg-pro-gateway.hg-v3 .p-wrapper {
      flex: 1 1 auto;
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      width: 100%;
      max-width: none;
      margin: 0;
      padding: clamp(52px, 7.5vh, 76px) clamp(20px, 5vw, 40px) clamp(32px, 5vh, 56px);
      background: transparent;
      border: 0;
      box-shadow: none;
      backdrop-filter: none;
      transform: none;
      position: relative;
      z-index: 3;
      min-height: 0;
    }

    #hg-pro-gateway.hg-v3.hg-v3--has-back .p-wrapper {
      padding-top: clamp(60px, 9.5vh, 88px);
    }

    #hg-pro-gateway.hg-v3 .p-wrapper::before {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .p-top-info-box {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .p-card {
      width: var(--hg-v3-max);
      max-width: 100%;
      margin: 0 auto;
      padding: 0;
      text-align: left;
      background: transparent;
      border: 0;
      box-shadow: none;
      backdrop-filter: none;
      border-radius: 0;
      overflow: visible;
      position: relative;
      z-index: 3;
    }

    #hg-pro-gateway.hg-v3 .p-card::before {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .p-card.p-card--has-back {
      padding-top: 0;
    }

    #hg-pro-gateway.hg-v3 .p-back-nav {
      position: absolute;
      top: calc(14px + 18px);
      left: clamp(16px, 4vw, 28px);
      z-index: 45;
      margin: 0;
      padding: 12px 18px 12px 12px;
      border-radius: 999px;
      border: 1px solid var(--hg-v3-line);
      background: rgba(255, 255, 255, 0.88);
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 15px;
      font-weight: 600;
      color: var(--hg-v3-muted);
      box-shadow: 0 4px 16px rgba(16, 24, 40, 0.06);
      transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }

    #hg-pro-gateway.hg-v3 .p-back-nav:hover {
      color: var(--hg-v3-ink);
      background: #fff;
      border-color: rgba(255, 145, 29, 0.28);
    }

    #hg-pro-gateway.hg-v3 .p-back-nav:active {
      transform: scale(0.96);
    }

    #hg-pro-gateway.hg-v3 .p-back-nav svg {
      width: 18px;
      height: 18px;
    }

    #hg-pro-gateway.hg-v3 .p-step {
      width: 100%;
    }

    #hg-pro-gateway.hg-v3 .p-step {
      contain: none;
      will-change: opacity, transform;
    }

    #hg-pro-gateway.hg-v3 .p-step.active {
      animation: hgV3SlideInRight var(--hg-motion-step) var(--hg-ease-silk) both;
    }

    #hg-pro-gateway.hg-v3.is-nav-back .p-step.active {
      animation: hgV3SlideInLeft var(--hg-motion-step) var(--hg-ease-silk) both;
    }

    #hg-pro-gateway.hg-v3.is-step-transition .p-card {
      transition: opacity 0.22s var(--hg-ease-silk);
    }

    @keyframes hgV3SlideInRight {
      from {
        opacity: 0;
        transform: translate3d(12px, 3px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }

    @keyframes hgV3SlideInLeft {
      from {
        opacity: 0;
        transform: translate3d(-12px, 3px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }

    @keyframes hgV3In {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    #hg-pro-gateway.hg-v3 .p-hero-title,
    #hg-pro-gateway.hg-v3 .p-title {
      margin: 0 0 clamp(28px, 5vh, 40px);
      max-width: none;
      text-align: left;
      font-size: clamp(1.85rem, 5.5vw, 2.65rem);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: -0.04em;
      color: var(--hg-v3-ink);
    }

    #hg-pro-gateway.hg-v3 .p-step-subtitle,
    #hg-pro-gateway.hg-v3 .p-subhint {
      display: none;
    }

    #hg-pro-gateway.hg-v3 #gs-kontakt .p-kontakt-subhint,
    #hg-pro-gateway.hg-v3 #gs-finish .p-subhint,
    #hg-pro-gateway.hg-v3 #gs-qualitaet .p-subhint,
    #hg-pro-gateway.hg-v3 #gs-energiebedarf .p-subhint,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-lead {
      display: block;
      margin: -12px 0 20px;
      font-size: 14px;
      line-height: 1.55;
      color: var(--hg-v3-muted);
      text-align: left;
    }

    #hg-pro-gateway.hg-v3 #gs-qualitaet .p-subhint {
      max-width: 36em;
    }

    #hg-pro-gateway.hg-v3 .p-today-strong {
      color: inherit;
      background: none;
      animation: none;
    }

    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-tiles.active),
    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-input.active),
    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-wrap.active),
    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-expert.active),
    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-kontakt.active),
    #hg-pro-gateway.hg-v3 .p-card:has(.p-step.active:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish)) {
      width: min(580px, calc(100% - 24px));
    }

    #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-icon.active) {
      width: min(680px, calc(100% - 16px));
    }

    #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid,
    #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid.p-modern-wrap {
      display: flex !important;
      flex-flow: row wrap !important;
      justify-content: flex-start !important;
      align-content: flex-start !important;
      gap: 10px 12px !important;
      width: 100%;
      max-width: none;
      margin: 0;
    }

    /* ── Erste Fragen: kompakte Glas-Kacheln (Wrap-Chips ausgenommen) ── */
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-wrap-chips) .p-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--hg-v3-gap);
      align-items: stretch;
      width: 100%;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .p-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--hg-v3-gap);
    }

    /* Minimalistische Kontur-Auswahl — Icon + Text in einem Klickfeld (Wrap-Chips ausgenommen) */
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-wrap-chips) .hg-v3-outline-grid {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--hg-v3-gap);
      align-items: stretch;
      width: 100%;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-wrap-chips) .hg-v3-outline-choice {
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      gap: 12px !important;
      min-height: 112px !important;
      padding: 20px 12px 16px !important;
      border-radius: 16px !important;
      border: 1px solid rgba(160, 172, 188, 0.52) !important;
      background: rgba(255, 255, 255, 0.18) !important;
      backdrop-filter: blur(8px) saturate(1.05);
      -webkit-backdrop-filter: blur(8px) saturate(1.05);
      box-shadow: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice--row {
      flex-direction: row !important;
      justify-content: flex-start !important;
      text-align: left !important;
      gap: 14px !important;
      min-height: 68px !important;
      padding: 16px 18px !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice::before,
    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice .hg-v3-choice-icon {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      height: auto;
      color: var(--hg-v3-muted);
      transition: color 0.22s ease;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice .hg-v3-choice-icon svg {
      width: 48px;
      height: 48px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice--row .hg-v3-choice-icon svg {
      width: 36px;
      height: 36px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice strong {
      flex: none !important;
      width: auto !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      line-height: 1.28 !important;
      white-space: normal !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice--row strong {
      font-size: 16px !important;
      text-align: left;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice:hover {
      transform: translateY(-1px);
      border-color: rgba(255, 145, 29, 0.38) !important;
      background: rgba(255, 255, 255, 0.28) !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice:hover .hg-v3-choice-icon {
      color: var(--hg-orange-dark);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice {
      transition:
        border-color 0.12s var(--hg-ease-silk),
        background 0.12s var(--hg-ease-silk),
        box-shadow 0.12s var(--hg-ease-silk),
        transform 0.12s var(--hg-ease-silk);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice:active:not(.selected) {
      transform: scale(0.985);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice.selected {
      border-color: rgba(255, 145, 29, 0.52) !important;
      background: rgba(255, 247, 237, 0.38) !important;
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.08) !important;
      transform: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-outline-choice.selected .hg-v3-choice-icon {
      color: var(--hg-orange-dark);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-icon.p-step.active.p-step-enter .hg-v3-outline-choice,
    #hg-pro-gateway.hg-v3 .hg-v3-step-input.p-step.active.p-step-enter .p-input-group,
    #hg-pro-gateway.hg-v3 .p-step.active.p-step-enter:not(.hg-v3-step-tiles) .p-item {
      animation: none !important;
    }

    #hg-pro-gateway.hg-v3 .p-item {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      box-sizing: border-box;
      width: 100%;
      max-width: none;
      min-height: 56px;
      padding: 0 16px;
      border-radius: 16px;
      border: 1px solid rgba(160, 172, 188, 0.48);
      background: rgba(255, 255, 255, 0.22);
      backdrop-filter: blur(10px) saturate(1.08);
      -webkit-backdrop-filter: blur(10px) saturate(1.08);
      box-shadow: none;
      cursor: pointer;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      text-align: left;
      gap: 14px;
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
      transition: transform 0.22s var(--hg-v3-ease), border-color 0.22s ease, box-shadow 0.22s ease;
    }

    #hg-pro-gateway.hg-v3 .p-item::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      border-radius: 0;
      background: var(--hg-orange);
      opacity: 0;
      transition: opacity 0.22s ease;
      pointer-events: none;
      z-index: 1;
    }

    #hg-pro-gateway.hg-v3 .p-item::after {
      content: "";
      flex-shrink: 0;
      width: 7px;
      height: 7px;
      margin-left: auto;
      border-right: 2px solid rgba(94, 102, 117, 0.45);
      border-bottom: 2px solid rgba(94, 102, 117, 0.45);
      transform: rotate(-45deg) translateX(-2px);
      transition: border-color 0.2s ease, transform 0.2s ease;
    }

    #hg-pro-gateway.hg-v3 .p-item:hover {
      transform: translateY(-2px);
      border-color: rgba(255, 145, 29, 0.28);
      background: var(--hg-v3-glass-strong);
      box-shadow: 0 8px 24px rgba(16, 24, 40, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    }

    #hg-pro-gateway.hg-v3 .p-item:hover::before { opacity: 1; }
    #hg-pro-gateway.hg-v3 .p-item:hover::after {
      border-color: rgba(255, 145, 29, 0.65);
      transform: rotate(-45deg) translateX(0);
    }

    #hg-pro-gateway.hg-v3 .p-item:active:not(#mv-nein),
    #hg-pro-gateway.hg-v3 .p-item.is-tap {
      transform: translateY(0) scale(0.985);
      transition-duration: 0.1s;
    }

    #hg-pro-gateway.hg-v3 .p-item.selected {
      border-color: rgba(255, 145, 29, 0.42);
      background: linear-gradient(155deg, rgba(255, 247, 237, 0.72), rgba(255, 255, 255, 0.48));
      box-shadow: 0 0 0 2px rgba(255, 145, 29, 0.12), 0 6px 20px rgba(255, 145, 29, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }

    #hg-pro-gateway.hg-v3 .p-item.selected::before {
      opacity: 1;
      background: var(--hg-orange);
    }

    #hg-pro-gateway.hg-v3 .p-item.selected::after {
      width: 22px;
      height: 22px;
      border: 0;
      border-radius: 999px;
      transform: none;
      background: var(--hg-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2l2.4 2.4 4.6-5' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 11px;
      box-shadow: inset 0 0 0 2px #fff;
    }

    #hg-pro-gateway.hg-v3 .p-item strong {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: var(--hg-v3-ink);
      white-space: normal;
      margin: 0;
      line-height: 1.25;
    }

    /* Spätere Auswahl-Schritte — Wrap-Chips nebeneinander */
    #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid .p-item:not(.hg-v3-outline-choice) {
      flex: 0 1 auto !important;
      width: auto !important;
      max-width: 100% !important;
      min-height: 52px !important;
      padding: 14px 22px !important;
      border-radius: 14px !important;
      overflow: hidden !important;
      justify-content: flex-start !important;
      text-align: left !important;
    }

    #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid .p-item:not(.hg-v3-outline-choice)::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid .p-item:not(.hg-v3-outline-choice) strong {
      font-size: 15px !important;
      line-height: 1.3 !important;
      text-align: left !important;
      flex: none !important;
      white-space: nowrap;
    }

    /* Experten-/Makler-Schritte */
    #hg-pro-gateway.hg-v3 .hg-v3-step-expert .p-title-makler-q {
      text-align: left;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-benefits {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin: 0 0 22px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-benefit {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 14px 16px;
      border-radius: 14px;
      border: 1px solid rgba(160, 172, 188, 0.45);
      background: rgba(255, 255, 255, 0.22);
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.35;
      color: var(--hg-v3-ink);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-benefit-icon {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 999px;
      background: rgba(160, 172, 188, 0.16);
      color: var(--hg-v3-muted);
      font-size: 12px;
      font-weight: 700;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      gap: 14px !important;
      width: 100%;
      max-width: none !important;
      margin: 12px 0 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices-primary {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 12px;
      width: 100%;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn {
      flex: 0 1 auto !important;
      width: auto !important;
      min-width: min(168px, calc(50% - 8px)) !important;
      max-width: none !important;
      min-height: 52px !important;
      padding: 14px 28px !important;
      margin: 0 !important;
      border: 1px solid rgba(160, 172, 188, 0.52) !important;
      border-radius: 14px !important;
      background: rgba(255, 255, 255, 0.22) !important;
      backdrop-filter: blur(8px) saturate(1.05);
      -webkit-backdrop-filter: blur(8px) saturate(1.05);
      box-shadow: none !important;
      overflow: hidden !important;
      justify-content: center !important;
      transform: none !important;
      cursor: pointer;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn::before {
      display: block !important;
      background: var(--hg-orange) !important;
      border-radius: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn:hover {
      border-color: rgba(255, 145, 29, 0.38) !important;
      background: rgba(255, 255, 255, 0.32) !important;
      box-shadow: none !important;
      transform: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn:hover::before {
      opacity: 1 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn.selected {
      border-color: rgba(255, 145, 29, 0.48) !important;
      background: rgba(255, 247, 237, 0.42) !important;
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.1) !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn.selected::before {
      opacity: 1 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn strong {
      font-size: 16px !important;
      font-weight: 600 !important;
      text-align: center !important;
      width: 100% !important;
      color: var(--hg-v3-ink) !important;
      white-space: nowrap;
      text-decoration: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein {
      flex: unset !important;
      width: auto !important;
      min-height: auto !important;
      padding: 8px 6px !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      justify-content: center !important;
      transform: none !important;
      cursor: pointer;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip::before,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip::after,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein::before,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip:hover,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein:hover,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip:active,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein:active {
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip strong,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein strong {
      font-size: 15px !important;
      font-weight: 500 !important;
      text-align: center !important;
      color: var(--hg-v3-muted) !important;
      text-decoration: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .hg-v3-expert-skip:hover strong,
    #hg-pro-gateway.hg-v3 .hg-v3-expert-choices #mv-nein:hover strong {
      color: var(--hg-v3-ink) !important;
      text-decoration: underline !important;
      text-underline-offset: 3px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-info-card {
      margin: 0 0 22px;
      padding: 18px 20px;
      border-radius: 16px;
      border: 1px solid rgba(160, 172, 188, 0.45);
      background: rgba(255, 255, 255, 0.24);
      backdrop-filter: blur(10px) saturate(1.08);
      -webkit-backdrop-filter: blur(10px) saturate(1.08);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-info-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-info-list li strong {
      display: block;
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 4px;
      color: var(--hg-v3-ink);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-expert-info-list li {
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 14px;
      line-height: 1.45;
      color: var(--hg-v3-muted);
    }

    #hg-pro-gateway.hg-v3 #gs-makler-nein-info .p-makler-actions--nein-info {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      margin-top: 4px;
    }

    #hg-pro-gateway.hg-v3 #gs-makler-nein-info .p-makler-cta-btn {
      width: 100%;
      max-width: none;
      min-height: 58px;
      margin-top: 0;
      font-size: 17px;
    }

    #hg-pro-gateway.hg-v3 #gs-makler-nein-info .p-makler-skip-link {
      align-self: center;
      margin-top: 2px;
      padding: 10px 4px;
      font-size: 15px;
      color: var(--hg-v3-muted);
    }

    /* Kachel-Schritte — nach Basis-.p-item, damit nichts überschreibt (ohne Hausart/Wohnungsart-Wrap) */
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid,
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-modern-wrap,
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid.p-grid-2 {
      display: grid !important;
      flex-wrap: unset !important;
      max-width: none !important;
      margin: 0 !important;
      justify-content: stretch !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-grid .p-item {
      flex: unset !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item {
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      min-height: 108px !important;
      padding: 16px 12px 14px !important;
      gap: 10px !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item::after {
      position: absolute;
      top: 10px;
      right: 10px;
      margin: 0;
      opacity: 0;
      transform: scale(0.5);
      transition: opacity 0.22s ease, transform 0.28s ease;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item:hover::after {
      opacity: 0;
      transform: scale(0.5);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item.selected::after {
      opacity: 1;
      transform: scale(1);
      width: 20px;
      height: 20px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item:hover {
      transform: translateY(-2px);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item:active:not(#mv-nein),
    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item.is-tap {
      transform: translateY(0) scale(0.99);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item.selected {
      transform: translateY(-1px);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(.hg-v3-step-icon) .p-item strong {
      flex: none;
      width: 100%;
      font-size: 15px;
      line-height: 1.28;
      white-space: normal;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(.hg-v3-step-icon) .p-item {
      flex-direction: row !important;
      justify-content: center !important;
      text-align: center !important;
      min-height: 56px !important;
      padding: 14px 16px !important;
      gap: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(.hg-v3-step-icon) .p-item strong {
      font-size: 15px;
      line-height: 1.3;
      width: auto;
    }

    /* Mehrfachauswahl: kompakte Wrap-Chips */
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-grid {
      display: flex !important;
      flex-flow: row wrap !important;
      justify-content: flex-start !important;
      align-content: flex-start !important;
      gap: 10px 12px !important;
      max-width: none !important;
      margin: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item {
      flex: 0 1 auto !important;
      width: auto !important;
      max-width: none !important;
      min-height: 54px;
      padding: 14px 22px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item strong {
      flex: none;
      white-space: nowrap;
      font-size: 15px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item-multi.selected {
      border-color: rgba(255, 145, 29, 0.45);
      background: linear-gradient(155deg, rgba(255, 247, 237, 0.68), rgba(255, 255, 255, 0.45));
      box-shadow: 0 0 0 2px rgba(255, 145, 29, 0.1), 0 4px 16px rgba(255, 145, 29, 0.08);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item-multi.selected strong {
      color: var(--hg-orange-dark);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item-multi.selected::after {
      opacity: 1;
      width: 20px;
      height: 20px;
    }

    #hg-pro-gateway.hg-v3 .p-item-row {
      justify-content: flex-start;
    }

    #hg-pro-gateway.hg-v3 .p-input-group {
      max-width: none;
      width: 100%;
      margin: 0;
      text-align: left;
    }

    #hg-pro-gateway.hg-v3 .p-input-group > div[style*="justify-content"] {
      display: block !important;
      width: 100% !important;
    }

    #hg-pro-gateway.hg-v3 .p-label {
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 13px;
      font-weight: 600;
      color: var(--hg-v3-muted);
      margin-bottom: 10px;
    }

    #hg-pro-gateway.hg-v3 input#p-zip,
    #hg-pro-gateway.hg-v3 .p-input-group input[type="text"],
    #hg-pro-gateway.hg-v3 .p-input-group input[type="email"],
    #hg-pro-gateway.hg-v3 .p-input-group input[type="tel"],
    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form input[type="text"],
    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form input[type="email"],
    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form input[type="tel"] {
      width: 100%;
      min-height: 56px;
      padding: 14px 16px;
      font-size: 17px;
      font-family: inherit;
      border-radius: 16px;
      border: 1.5px solid rgba(160, 172, 188, 0.72);
      background: rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(12px) saturate(1.1);
      -webkit-backdrop-filter: blur(12px) saturate(1.1);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 1px 3px rgba(16, 24, 40, 0.04);
      transition-property: border-color, box-shadow, background-color;
      transition-duration: 0.22s;
      transition-timing-function: ease;
    }

    #hg-pro-gateway.hg-v3 .p-field-combo.is-open > input#p-zip,
    #hg-pro-gateway.hg-v3 .p-field-combo.is-open > input[type="text"] {
      transition: none;
    }

    #hg-pro-gateway.hg-v3 input:focus {
      outline: none;
      border-color: rgba(255, 145, 29, 0.55);
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 0 0 4px rgba(255, 145, 29, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }

    #hg-pro-gateway.hg-v3 .p-next-btn {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      width: 100%;
      max-width: none;
      min-height: 56px;
      margin-top: 18px;
      padding: 15px 22px;
      border-radius: 999px;
      border: 1px solid rgba(230, 120, 40, 0.35);
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 17px;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: #fff;
      cursor: pointer;
      background: linear-gradient(110deg, var(--hg-orange-dark) 0%, var(--hg-orange) 28%, #ffc978 50%, var(--hg-orange) 72%, var(--hg-orange-dark) 100%);
      background-size: 240% 100%;
      animation: hgV3CtaMove 5s ease-in-out infinite;
      box-shadow: 0 2px 6px rgba(180, 90, 30, 0.12), 0 10px 28px rgba(180, 90, 30, 0.18);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    #hg-pro-gateway.hg-v3 .p-next-btn::after {
      content: "";
      position: absolute;
      inset: -40%;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.35) 0%, transparent 45%);
      opacity: 0.5;
      animation: hgV3CtaGlint 4s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }

    #hg-pro-gateway.hg-v3 .p-next-btn:hover:not(.disabled) {
      transform: translateY(-2px);
      box-shadow: 0 4px 10px rgba(180, 90, 30, 0.14), 0 14px 36px rgba(180, 90, 30, 0.22);
    }

    #hg-pro-gateway.hg-v3 .p-next-btn:active:not(.disabled) {
      transform: translateY(0) scale(0.98);
      transition-duration: 0.1s;
    }

    #hg-pro-gateway.hg-v3 .p-next-btn.disabled {
      animation: none;
      background: #eceef2;
      color: #8b919a;
      border: 1px solid #dfe2e8;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
    }

    #hg-pro-gateway.hg-v3 .p-next-btn.disabled::after {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-dual-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      width: 100%;
      margin-top: 4px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-dual-actions .p-next-btn {
      flex: 1 1 140px;
      width: auto;
      max-width: none;
      margin-top: 14px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-btn-skip {
      background: rgba(255, 255, 255, 0.78);
      color: var(--hg-v3-muted);
      border: 1px solid rgba(210, 218, 230, 0.9);
      animation: none;
      box-shadow: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-btn-skip::after {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-btn-skip:hover:not(.disabled) {
      background: #fff;
      color: var(--hg-v3-ink);
      border-color: rgba(160, 172, 188, 0.65);
      transform: translateY(-1px);
      box-shadow: 0 2px 10px rgba(16, 24, 40, 0.06);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-btn-skip:active:not(.disabled) {
      transform: translateY(0) scale(0.98);
    }

    #hg-pro-gateway.hg-v3 .p-error-msg-static.hg-val-soft {
      color: #b45309;
    }

    #hg-pro-gateway.hg-v3 .hg-val-confirm-wrap {
      display: flex;
      justify-content: center;
      width: 100%;
      margin-top: 6px;
    }

    #hg-pro-gateway.hg-v3 .hg-val-confirm-btn {
      appearance: none;
      border: 1px solid rgba(180, 83, 9, 0.35);
      background: rgba(255, 251, 235, 0.95);
      color: #92400e;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.2;
      padding: 7px 14px;
      border-radius: 999px;
      cursor: pointer;
      transition: background 0.15s ease, border-color 0.15s ease;
    }

    #hg-pro-gateway.hg-v3 .hg-val-confirm-btn:hover {
      background: #fffbeb;
      border-color: rgba(180, 83, 9, 0.55);
    }

    #hg-pro-gateway.hg-v3 .p-field-combo.is-open > input#p-zip,
    #hg-pro-gateway.hg-v3 .p-field-combo.is-open > input[type="text"] {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }

    #hg-pro-gateway.hg-v3 .p-dropdown,
    #hg-pro-gateway.hg-v3 .p-street-dropdown {
      margin-top: -1.5px;
      border-width: 1.5px;
      border-radius: 0 0 16px 16px;
      max-height: min(40vh, 260px);
    }

    #hg-pro-gateway.hg-v3 .p-field-combo.is-open:focus-within .p-dropdown,
    #hg-pro-gateway.hg-v3 .p-field-combo.is-open:focus-within .p-street-dropdown {
      border-color: rgba(255, 145, 29, 0.55);
    }

    #hg-pro-gateway.hg-v3 .p-dropdown-item,
    #hg-pro-gateway.hg-v3 .p-street-dropdown-item {
      padding: 14px 16px;
      font-size: 16px;
    }

    #hg-pro-gateway.hg-v3 .p-dropdown-item:hover,
    #hg-pro-gateway.hg-v3 .p-street-dropdown-item:hover {
      background: var(--hg-orange-soft);
      color: var(--hg-orange-dark);
    }

    #hg-pro-gateway.hg-v3 #mv-nein,
    #hg-pro-gateway.hg-v3 #mv-nein:hover,
    #hg-pro-gateway.hg-v3 #mv-nein:active {
      min-height: auto;
      padding: 14px 4px;
      margin-top: 6px;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
    }

    #hg-pro-gateway.hg-v3 #mv-nein::before,
    #hg-pro-gateway.hg-v3 #mv-nein::after {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 #mv-nein strong {
      font-size: 15px;
      color: var(--hg-v3-muted);
    }

    /* Kontaktformular v3 */
    #hg-pro-gateway.hg-v3 #gs-kontakt .p-kontakt-heading {
      text-align: left;
      margin-bottom: 10px;
    }

    #hg-pro-gateway.hg-v3 #gs-kontakt .p-kontakt-subhint {
      margin: 0 0 18px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-trust {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-start;
      margin: 0 0 22px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-trust-pill {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      border: 1px solid rgba(210, 218, 230, 0.85);
      background: rgba(255, 255, 255, 0.88);
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: -0.01em;
      color: #3d4554;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form .p-contact-fields {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 18px;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form .p-contact-field {
      margin: 0;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-form .p-label {
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
      font-weight: 600;
      color: var(--hg-v3-ink);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-optin {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin: 0 0 8px;
      padding: 14px 16px;
      border-radius: 14px;
      border: 1px solid rgba(160, 172, 188, 0.38);
      background: rgba(255, 255, 255, 0.18);
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 13px;
      line-height: 1.5;
      color: var(--hg-v3-muted);
      cursor: pointer;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-optin input[type="checkbox"] {
      flex-shrink: 0;
      width: 18px;
      height: 18px;
      margin-top: 2px;
      accent-color: var(--hg-orange);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-kontakt-optin a {
      color: var(--hg-orange-dark);
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    #hg-pro-gateway.hg-v3 #gs-kontakt .p-kontakt-submit-wrap {
      margin-top: 16px;
    }

    #hg-pro-gateway.hg-v3 #gs-kontakt .p-next-btn-kontakt-send {
      min-height: 58px;
      font-size: 17px;
      margin-top: 0;
    }

    #hg-pro-gateway.hg-v3 #gs-finish {
      text-align: center;
    }

    #hg-pro-gateway.hg-v3 #gs-finish .p-title,
    #hg-pro-gateway.hg-v3 #gs-finish .p-subhint {
      text-align: center;
    }

    #hg-pro-gateway.hg-v3 .p-finish-icon {
      margin: 0 auto 20px;
      width: 58px;
      height: 58px;
      border-radius: 999px;
      background: var(--hg-orange-soft);
      border: 1px solid rgba(255, 145, 29, 0.22);
      color: var(--hg-orange-dark);
      box-shadow: 0 4px 16px rgba(255, 145, 29, 0.12);
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot {
      display: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: fit-content;
      max-width: 100%;
      margin: 0 auto;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust::before {
      display: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pills {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center;
      gap: 8px 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      padding: 7px 12px;
      border-radius: 999px;
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: -0.01em;
      color: #3d4554;
      background: rgba(255, 255, 255, 0.88);
      border: 1px solid rgba(210, 218, 230, 0.85);
      box-shadow: none;
      white-space: nowrap;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill--free,
    #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill--accent {
      color: #3d4554;
      border-color: rgba(210, 218, 230, 0.85);
      background: rgba(255, 255, 255, 0.88);
      animation: none;
    }

    #hg-pro-gateway.hg-v3.is-step-finish .hg-v3-foot,
    #hg-pro-gateway.hg-v3.is-step-berechnung .hg-v3-foot {
      display: none;
    }

    /* Ladeanimation vor Abschluss (wie Pflegeorienta) */

    #hg-pro-gateway.hg-v3 .hg-loader__steps {
      list-style: none;
      margin: 14px 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
      max-width: min(320px, 92vw);
      text-align: left;
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li {
      font-size: 0.78rem;
      line-height: 1.35;
      color: rgba(61, 69, 84, 0.55);
      padding-left: 18px;
      position: relative;
      transition: color 0.25s ease, opacity 0.25s ease;
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.45em;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: rgba(210, 218, 230, 0.95);
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li.is-active {
      color: rgba(15, 23, 42, 0.88);
      font-weight: 500;
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li.is-active::before {
      background: #3a62e3;
      box-shadow: 0 0 0 3px rgba(58, 98, 227, 0.18);
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li.is-done {
      color: rgba(61, 69, 84, 0.72);
    }

    #hg-pro-gateway.hg-v3 .hg-loader__steps li.is-done::before {
      background: #16a34a;
    }

    #hg-pro-gateway.hg-v3 #gs-berechnung {
      display: none;
      text-align: center;
    }

    #hg-pro-gateway.hg-v3 #gs-berechnung.active {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: min(52vh, 420px);
    }

    #hg-pro-gateway.hg-v3 .hg-loader {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      padding: 2.5rem 1rem;
      animation: hg-loader-fade-in 0.35s ease;
    }

    @keyframes hg-loader-fade-in {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes hg-loader-spin {
      to { transform: rotate(360deg); }
    }

    #hg-pro-gateway.hg-v3 .hg-loader__ring {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: 3px solid rgba(58, 98, 227, 0.18);
      border-top-color: #3a62e3;
      border-right-color: #ff911d;
      animation: hg-loader-spin 0.85s linear infinite;
      margin-bottom: 1.25rem;
    }

    #hg-pro-gateway.hg-v3 .hg-loader__title {
      margin: 0 0 8px;
      font-family: "Inter", system-ui, sans-serif;
      font-size: clamp(1.1rem, 4vw, 1.25rem);
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #101318;
    }

    #hg-pro-gateway.hg-v3 .hg-loader__text {
      margin: 0;
      font-size: 0.92rem;
      color: #5e6675;
      min-height: 1.4em;
      transition: opacity 0.25s ease;
    }

    @media (prefers-reduced-motion: reduce) {
      #hg-pro-gateway.hg-v3 .hg-loader {
        animation: none;
      }

      #hg-pro-gateway.hg-v3 .hg-loader__ring {
        animation: none;
        border-top-color: #3a62e3;
        border-right-color: #3a62e3;
      }
    }

    @media (min-width: 768px) {
      #hg-pro-gateway.hg-v3 {
        --hg-v3-max: min(540px, calc(100% - 64px));
      }

      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-tiles.active),
      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-input.active),
      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-wrap.active),
      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-expert.active),
      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-kontakt.active),
      #hg-pro-gateway.hg-v3 .p-card:has(.p-step.active:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish)) {
        width: min(580px, calc(100% - 32px));
      }

      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-icon.active) {
        width: min(720px, calc(100% - 32px));
      }

      #hg-pro-gateway.hg-v3 .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 52px;
        height: 52px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-outline-choice--row .hg-v3-choice-icon svg {
        width: 40px;
        height: 40px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-outline-choice strong {
        font-size: 17px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-outline-choice--row strong {
        font-size: 17px !important;
      }

    }

    @media (min-width: 768px) {
      #hg-pro-gateway.hg-v3 .p-wrapper {
        align-items: center;
        justify-content: center;
      }
    }

    @media (max-width: 767px) {
      #hg-pro-gateway.hg-v3 {
        --hg-motion-step: 0.28s;
        --hg-v3-gap: 12px;
        --hg-v3-max: 100%;
        --hg-v3-nav-h: 44px;
      }

      html.hg-funnel-v3-page:not(:has(body.hg-wp-chrome)),
      body.hg-funnel-v3.hg-funnel-mobile-bg:not(.hg-wp-chrome) {
        overflow: hidden !important;
        height: 100% !important;
        overscroll-behavior: none !important;
      }

      #hg-pro-gateway.hg-v3 {
        height: var(--hg-v3-mobile-h, calc(100dvh - var(--hg-v3-header-offset, 0px))) !important;
        min-height: var(--hg-v3-mobile-h, calc(100dvh - var(--hg-v3-header-offset, 0px))) !important;
        max-height: var(--hg-v3-mobile-h, calc(100dvh - var(--hg-v3-header-offset, 0px))) !important;
        padding: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-shell {
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
        max-height: 100%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        padding-top: 0;
      }

      /* Leiste + Zurück: feste Zeile oben — nur .p-wrapper scrollt (kein position:fixed) */
      #hg-pro-gateway.hg-v3 .hg-v3-progress {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        flex-shrink: 0;
        z-index: 2;
        background: rgba(255, 253, 251, 0.98);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-nav-row {
        flex-shrink: 0;
        min-height: var(--hg-v3-nav-h, 44px);
        display: flex;
        align-items: center;
        padding: 6px 12px 6px;
        box-sizing: border-box;
      }

      #hg-pro-gateway.hg-v3 .p-back-nav {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        margin: 0 !important;
        padding: 7px 11px 7px 9px;
        font-size: 13px;
      }

      #hg-pro-gateway.hg-v3 .p-back-nav[style*="display: none"] {
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
      }

      #hg-pro-gateway.hg-v3 .p-wrapper {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 14px 16px 18px !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
      }

      #hg-pro-gateway.hg-v3.hg-v3--has-back .p-wrapper {
        padding-top: 16px !important;
      }

      #hg-pro-gateway.hg-v3:not(.hg-v3--has-back) .p-wrapper {
        padding-top: 18px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-foot {
        display: none !important;
      }

      #hg-pro-gateway.hg-v3 .p-hero-title,
      #hg-pro-gateway.hg-v3 .p-title {
        font-size: clamp(1.45rem, 6vw, 1.75rem);
        margin-bottom: 16px;
        line-height: 1.22;
      }

      #hg-pro-gateway.hg-v3 .p-card {
        width: 100%;
        max-width: 100%;
      }

      /* Mobile: Fortschrittsbalken (kein „Schritt X von Y“) — schlank + weniger GPU-Last */
      #hg-pro-gateway.hg-v3 .hg-v3-progress .p-progress-bg {
        height: 8px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar {
        background: linear-gradient(90deg, #22a861 0%, #3a62e3 42%, var(--hg-orange) 100%);
      }

      #hg-pro-gateway.hg-v3 .hg-v3-progress-label {
        display: none !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-nav-row {
        justify-content: flex-start;
        gap: 8px;
        min-height: 40px;
        padding: 8px 12px 8px;
      }

      #hg-pro-gateway.hg-v3:not(.hg-v3--has-back) .hg-v3-nav-row {
        min-height: 0;
        padding: 8px 12px 0;
      }

      body.hg-funnel-v3.hg-funnel-mobile-bg #page,
      body.hg-funnel-v3.hg-funnel-mobile-bg .site,
      body.hg-funnel-v3.hg-funnel-mobile-bg #content,
      body.hg-funnel-v3.hg-funnel-mobile-bg main,
      body.hg-funnel-v3.hg-funnel-mobile-bg .elementor,
      body.hg-funnel-v3.hg-funnel-mobile-bg .elementor-location-single,
      body.hg-funnel-v3.hg-funnel-mobile-bg .elementor-section-wrap,
      body.hg-funnel-v3.hg-funnel-mobile-bg .e-con,
      body.hg-funnel-v3.hg-funnel-mobile-bg .e-con-inner,
      body.hg-funnel-v3.hg-funnel-mobile-bg .elementor-widget-wrap:not(:has(#hg-pro-gateway)) {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
      }

      .elementor-section:has(#hg-pro-gateway.hg-v3),
      .e-con:has(#hg-pro-gateway.hg-v3) {
        min-height: var(--hg-v3-mobile-h, calc(100dvh - var(--hg-v3-header-offset, 0px))) !important;
      }

      #hg-pro-gateway.hg-v3 #gs-hausart .p-title,
      #hg-pro-gateway.hg-v3 #gs-wohnungsart .p-title {
        margin-bottom: clamp(16px, 3vh, 22px) !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .p-grid,
      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-outline-grid {
        gap: 10px;
      }

      #hg-pro-gateway.hg-v3 .p-card:has(.hg-v3-step-icon.active) {
        width: min(680px, calc(100% - 12px));
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-choice {
        min-height: 104px !important;
        padding: 18px 10px 14px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-choice--row {
        min-height: 58px !important;
        padding: 14px 16px !important;
      }

      #hg-pro-gateway.hg-v3 .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 44px;
        height: 44px;
      }

      #hg-pro-gateway.hg-v3 .p-step:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-choice--row .hg-v3-choice-icon svg {
        width: 34px;
        height: 34px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-foot-trust {
        max-width: 100%;
        padding: 0;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pills {
        flex-wrap: wrap;
        gap: 6px 8px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill {
        font-size: 12px;
        padding: 6px 10px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-contour-svg {
        opacity: 0.32;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-bg-orb {
        filter: blur(36px);
      }

      #hg-pro-gateway.hg-v3 .hg-v3-bg-orb--accent {
        width: min(220px, 32vw);
        height: min(220px, 32vw);
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-grid,
      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid,
      #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid,
      #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid.p-modern-wrap {
        display: flex !important;
        flex-flow: row wrap !important;
        justify-content: flex-start !important;
        align-content: flex-start !important;
        align-items: flex-start !important;
        gap: 8px 10px !important;
        max-width: none !important;
        margin: 0 !important;
      }

      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid .p-item:nth-child(2),
      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid .p-item:nth-child(3),
      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid .p-item:nth-child(4) {
        margin-left: 0 !important;
        max-width: none !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item,
      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid .p-item,
      #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid .p-item:not(.hg-v3-outline-choice) {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap .p-item strong,
      #hg-pro-gateway.hg-v3 #gs-zustand .p-grid .p-item strong,
      #hg-pro-gateway.hg-v3 .p-step:not(.hg-v3-step-tiles):not(.hg-v3-step-wrap):not(.hg-v3-step-input):not(.hg-v3-step-icon):not(.hg-v3-step-expert):not(.hg-v3-step-kontakt):not(#gs-finish) .p-grid .p-item:not(.hg-v3-outline-choice) strong {
        font-size: 14px !important;
        white-space: nowrap !important;
        text-align: left !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-expert-benefits {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-expert-choices-primary {
        gap: 10px;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-expert-choices .p-makler-choice-btn {
        min-width: min(152px, calc(50% - 6px)) !important;
        padding: 13px 22px !important;
      }
    }

    @media (max-width: 420px) {
      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(.hg-v3-step-tiles--quad):not(.hg-v3-step-wrap-chips) .p-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        overflow: visible;
        gap: var(--hg-v3-gap);
        padding-bottom: 0;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .p-grid,
      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .hg-v3-outline-grid {
        grid-template-columns: 1fr !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles:not(#gs-1):not(#gs-hausart):not(#gs-wohnungsart) .p-item {
        flex: unset !important;
        scroll-snap-align: unset;
        min-height: 96px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-tiles--quad:not(#gs-hausart):not(#gs-wohnungsart) .p-item {
        min-height: 50px !important;
      }

    }

    @media (prefers-reduced-motion: reduce) {
      #hg-pro-gateway.hg-v3 .p-step.active,
      #hg-pro-gateway.hg-v3.is-nav-back .p-step.active,
      #hg-pro-gateway.hg-v3 .p-step.active.p-step-enter .p-item,
      #hg-pro-gateway.hg-v3 .hg-v3-step-icon.p-step.active.p-step-enter .hg-v3-outline-choice,
      #hg-pro-gateway.hg-v3 .hg-v3-step-input.p-step.active.p-step-enter .p-input-group,
      #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar {
        transition: none !important;
      }
      #hg-pro-gateway.hg-v3 .p-next-btn,
      #hg-pro-gateway.hg-v3 .p-next-btn::after,
      #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::before,
      #hg-pro-gateway.hg-v3 .hg-v3-bg-contours::after,
      #hg-pro-gateway.hg-v3 .hg-v3-bg-mesh,
      #hg-pro-gateway.hg-v3 .hg-v3-bg-orb,
      #hg-pro-gateway.hg-v3 .hg-v3-contour-blob,
      #hg-pro-gateway.hg-v3 .hg-v3-contour-group,
      #hg-pro-gateway.hg-v3 .hg-v3-contour-soft,
      #hg-pro-gateway.hg-v3 .hg-v3-contour-blob,
      #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill--free,
      #hg-pro-gateway.hg-v3 .hg-v3-foot-trust-pill--accent {
        animation: none !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-contour-soft {
        opacity: 0.45;
      }
    }

    html[data-color-mode="light"] #hg-pro-gateway.hg-v3 {
      --hg-v3-ink: #101318;
      --hg-v3-muted: #5e6675;
      --hg-v3-surface: #f5f7fb;
      --hg-v3-surface-warm: #fafcfe;
    }

    html[data-color-mode="light"] #hg-pro-gateway.hg-v3 .hg-v3-bg-contours {
      opacity: 0.5;
    }

    html[data-color-mode="light"] #hg-pro-gateway.hg-v3 .hg-v3-outline-choice {
      background: rgba(255, 255, 255, 0.78) !important;
      border-color: rgba(160, 172, 188, 0.45) !important;
    }

    /* Wrap-Chips: Objektart + Hausart + Wohnungsart — linksbündig, inhaltsbreit */
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .p-grid.hg-v3-wrap-chip-grid,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-grid.hg-v3-wrap-chip-grid {
        display: flex !important;
        flex-flow: row wrap !important;
        grid-template-columns: unset !important;
      justify-content: flex-start !important;
      align-content: flex-start !important;
      align-items: flex-start !important;
      gap: 10px 12px !important;
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice {
      display: inline-flex !important;
      box-sizing: border-box !important;
      position: relative !important;
      flex: 0 0 auto !important;
        width: auto !important;
        max-width: 100% !important;
      min-width: auto !important;
      min-height: 0 !important;
      height: auto !important;
        flex-direction: row !important;
        align-items: center !important;
      align-self: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
      padding: 10px 14px !important;
      gap: 10px !important;
      border-radius: 14px !important;
      border: 1px solid rgba(160, 172, 188, 0.52) !important;
      background: rgba(255, 255, 255, 0.18) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      box-shadow: none !important;
      transform: none !important;
      overflow: hidden !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice::before,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice::after,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item::before,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item::after {
      display: none !important;
      content: none !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon {
      flex: 0 0 auto !important;
      width: auto !important;
      height: auto !important;
      margin: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg {
      width: 26px !important;
      height: 26px !important;
      display: block !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item strong,
    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
      flex: 0 0 auto !important;
      display: block !important;
      width: auto !important;
      min-width: auto !important;
        max-width: none !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: nowrap !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      line-height: 1.3 !important;
      text-align: left !important;
      margin: 0 !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice:hover {
      transform: none !important;
      border-color: rgba(255, 145, 29, 0.38) !important;
      background: rgba(255, 255, 255, 0.28) !important;
    }

    #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice.selected {
      border-color: rgba(255, 145, 29, 0.52) !important;
      background: rgba(255, 247, 237, 0.38) !important;
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.08) !important;
    }

    @media (min-width: 768px) {
      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid {
        gap: 10px 14px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice {
        padding: 12px 16px !important;
        gap: 12px !important;
        border-radius: 16px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 28px !important;
        height: 28px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
        font-size: 15px !important;
      }
    }

    @media (max-width: 767px) {
      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid {
        gap: 8px 10px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice {
        padding: 9px 12px !important;
        gap: 8px !important;
        min-height: 44px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 22px !important;
        height: 22px !important;
      }

      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
        font-size: 13px !important;
      }
    }

    @media (max-width: 360px) {
      #hg-pro-gateway.hg-v3 .hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
        white-space: normal !important;
        line-height: 1.25 !important;
      }
    }

    /* Schritt 1 (Objektart): größere Auswahl + mehr Abstand Fortschrittsleiste → Frage */
    #hg-pro-gateway.hg-v3:has(#gs-1.active) .p-wrapper {
      padding-top: clamp(28px, 4.5vh, 40px) !important;
    }

    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid,
    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .p-grid.hg-v3-wrap-chip-grid {
      gap: 12px 16px !important;
    }

    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item,
    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice {
      padding: 13px 18px !important;
      gap: 12px !important;
      min-height: 50px !important;
      border-radius: 16px !important;
    }

    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg,
    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item .hg-v3-choice-icon svg {
      width: 30px !important;
      height: 30px !important;
    }

    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid .p-item strong,
    #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
      font-size: 15.5px !important;
    }

    @media (min-width: 768px) {
      #hg-pro-gateway.hg-v3:has(#gs-1.active) .p-wrapper {
        padding-top: clamp(36px, 5.5vh, 52px) !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-wrap-chip-grid {
        gap: 14px 18px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice {
        padding: 16px 22px !important;
        gap: 14px !important;
        min-height: 58px !important;
        border-radius: 18px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 34px !important;
        height: 34px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
        font-size: 17px !important;
      }
    }

    @media (max-width: 767px) {
      #hg-pro-gateway.hg-v3:has(#gs-1.active) .p-wrapper {
        padding-top: 26px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice {
        padding: 12px 16px !important;
        min-height: 48px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice .hg-v3-choice-icon svg {
        width: 26px !important;
        height: 26px !important;
      }

      #hg-pro-gateway.hg-v3 #gs-1.hg-v3-step-wrap-chips .hg-v3-outline-choice strong {
        font-size: 14.5px !important;
      }
    }

/* Cosmic-Hintergrund wie landingpage; weiße Typo/CTA/Burger, Logo per Filter dunkelgrau */
    #leiste-embed {
      --hg-orange: #ff911d;
      --hg-orange-dark: #e67e17;
      --hg-text: #0a0d12;
      --hg-muted: rgba(58, 54, 50, 0.72);
      --n1-pad-x: clamp(1.25rem, 4vw, 2rem);
      --n1-content-max: clamp(1280px, 92vw, 1720px);
      --nav-open-duration: 0.38s;
      --nav-open-ease: cubic-bezier(0.32, 0.72, 0, 1);
      position: relative;
      width: 100%;
      max-width: none;
      background: transparent;
      font-family: "Inter", system-ui, -apple-system, sans-serif;
    }

    #leiste-embed *,
    #leiste-embed *::before,
    #leiste-embed *::after {
      box-sizing: border-box;
    }

    #leiste-embed .n1-topbar {
      position: sticky;
      top: 0;
      z-index: 100;
      /* Volle Viewport-Breite auch in eingebetteten / Tablet-Layouts */
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      padding: env(safe-area-inset-top, 0px) 0 0;
      overflow: hidden;
      border-bottom: none;
      box-shadow: 0 10px 32px -16px rgba(80, 35, 8, 0.45);
      /* Fallback (sichtbar nur wenn Cosmic-Ebene nicht zeichnet); kein background-Shorthand */
      background-color: #7c2d0e;
    }

    #leiste-embed .n1-cosmic {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
      background-image:
        radial-gradient(ellipse 125% 195% at 25% 112%, rgba(255, 195, 135, 0.5) 0%, transparent 60%),
        radial-gradient(ellipse 110% 185% at 82% -12%, rgba(255, 168, 95, 0.36) 0%, transparent 56%),
        linear-gradient(
          99deg,
          #a8480c 0%,
          #b85710 10%,
          #ca6514 20%,
          var(--hg-orange-dark) 30%,
          #f08026 40%,
          var(--hg-orange) 48%,
          #ffa040 54%,
          #ffc090 60%,
          var(--hg-orange) 70%,
          #e86814 82%,
          #b8520e 94%,
          #943f0a 100%
        );
      background-size: 190% 160%, 175% 150%, 420% 100%;
      background-position: 0% 100%, 100% 0%, 0% 50%;
      animation: n1l1-cosmic-aurora 12s ease-in-out infinite alternate;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
    }

    @media (min-width: 901px) {
      #leiste-embed .n1-cosmic {
        background-image:
          radial-gradient(ellipse 130% 200% at 22% 108%, rgba(255, 198, 140, 0.52) 0%, transparent 58%),
          radial-gradient(ellipse 115% 190% at 88% -8%, rgba(255, 175, 105, 0.38) 0%, transparent 55%),
          linear-gradient(
            102deg,
            #b84d12 0%,
            #c65f14 8%,
            #d97716 18%,
            var(--hg-orange-dark) 28%,
            #f08828 38%,
            var(--hg-orange) 46%,
            #ffa64a 52%,
            #ffc978 58%,
            var(--hg-orange) 66%,
            #f07818 78%,
            #c95a11 92%,
            #a8480c 100%
          );
        background-size: 185% 155%, 170% 145%, 400% 100%;
        background-position: 0% 100%, 100% 0%, 0% 50%;
        animation: n1l1-cosmic-aurora 11s ease-in-out infinite alternate;
      }
    }

    @keyframes n1l1-cosmic-aurora {
      0% {
        background-position: 0% 96%, 100% 8%, 5% 50%;
      }
      100% {
        background-position: 18% 88%, 82% 18%, 96% 50%;
      }
    }

    #leiste-embed .n1-cosmic__warp {
      position: absolute;
      inset: 0;
      z-index: 1;
      overflow: hidden;
      pointer-events: none;
      filter: saturate(1.04) brightness(1.02);
    }

    #leiste-embed .n1-cosmic__warp::before,
    #leiste-embed .n1-cosmic__warp::after {
      content: "";
      position: absolute;
      pointer-events: none;
      mix-blend-mode: soft-light;
      filter: blur(16px);
      opacity: 0.72;
    }

    #leiste-embed .n1-cosmic__warp::before {
      width: 88%;
      height: 270%;
      left: -24%;
      top: -92%;
      border-radius: 44% 56% 52% 48% / 46% 44% 56% 54%;
      background: radial-gradient(
        ellipse 68% 58% at 48% 52%,
        rgba(255, 220, 185, 0.55) 0%,
        rgba(255, 155, 72, 0.28) 42%,
        transparent 70%
      );
      animation: n1l1-cosmic-swirl-a 15s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    #leiste-embed .n1-cosmic__warp::after {
      width: 92%;
      height: 260%;
      right: -28%;
      top: -78%;
      left: auto;
      border-radius: 54% 46% 44% 56% / 52% 48% 44% 56%;
      background: radial-gradient(
        ellipse 62% 54% at 52% 46%,
        rgba(255, 245, 225, 0.42) 0%,
        rgba(230, 120, 32, 0.22) 48%,
        transparent 72%
      );
      opacity: 0.62;
      animation: n1l1-cosmic-swirl-b 19s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite reverse;
      animation-delay: -7s;
    }

    @keyframes n1l1-cosmic-swirl-a {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 44% 56% 52% 48% / 46% 44% 56% 54%;
      }
      32% {
        transform: translate(6%, 7%) rotate(108deg) scale(1.07);
        border-radius: 56% 44% 46% 54% / 54% 46% 52% 48%;
      }
      64% {
        transform: translate(-5%, 5%) rotate(216deg) scale(0.93);
        border-radius: 48% 52% 58% 42% / 44% 54% 48% 52%;
      }
    }

    @keyframes n1l1-cosmic-swirl-b {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 54% 46% 44% 56% / 52% 48% 44% 56%;
      }
      38% {
        transform: translate(-9%, 9%) rotate(-118deg) scale(1.11);
        border-radius: 46% 54% 56% 44% / 48% 52% 56% 44%;
      }
      72% {
        transform: translate(7%, -4%) rotate(-236deg) scale(0.89);
        border-radius: 52% 48% 50% 50% / 56% 44% 48% 52%;
      }
    }

    #leiste-embed .n1-cosmic__waves {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
    }

    #leiste-embed .n1-cosmic__w-scroll {
      will-change: transform;
      transform-box: fill-box;
      transform-origin: 50% 100%;
    }

    #leiste-embed .n1-cosmic__w-scroll--1 {
      mix-blend-mode: soft-light;
      opacity: 0.88;
      animation: n1l1-cosmic-wave-1 5.5s cubic-bezier(0.42, 0, 0.58, 1) infinite;
    }

    #leiste-embed .n1-cosmic__w-scroll--2 {
      mix-blend-mode: soft-light;
      opacity: 0.72;
      animation: n1l1-cosmic-wave-2 8s cubic-bezier(0.42, 0, 0.58, 1) -1.7s infinite;
    }

    @keyframes n1l1-cosmic-wave-1 {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg);
      }
      22% {
        transform: translate(-52, 2.5) rotate(1.85deg);
      }
      48% {
        transform: translate(-116, -3) rotate(-1.35deg);
      }
      74% {
        transform: translate(-184, 1.8) rotate(1.1deg);
      }
      100% {
        transform: translate(-240, 0) rotate(0deg);
      }
    }

    @keyframes n1l1-cosmic-wave-2 {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg);
      }
      26% {
        transform: translate(-62, -2.2) rotate(-1.65deg);
      }
      52% {
        transform: translate(-124, 3.2) rotate(1.2deg);
      }
      78% {
        transform: translate(-190, -1.4) rotate(-0.85deg);
      }
      100% {
        transform: translate(-240, 0) rotate(0deg);
      }
    }

    #leiste-embed .n1-cosmic__shimmer {
      position: absolute;
      inset: -15%;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(
        118deg,
        transparent 0%,
        rgba(255, 255, 255, 0.18) 38%,
        rgba(255, 215, 175, 0.32) 50%,
        transparent 64%
      );
      background-size: 240% 240%;
      background-position: 50% 50%;
      mix-blend-mode: soft-light;
      filter: blur(1px);
      animation: n1l1-cosmic-shimmer 4.8s ease-in-out infinite;
    }

    @keyframes n1l1-cosmic-shimmer {
      0%,
      100% {
        background-position: 8% 42%;
        transform: rotate(-2deg) scale(1.02);
        opacity: 0.58;
      }
      50% {
        background-position: 92% 58%;
        transform: rotate(2.5deg) scale(1.06);
        opacity: 0.92;
      }
    }

    /* Mobil / Tablet / Touch: Leiste = wie Topbar-CTA (Gold-Verlauf + n1l1-cta-move / -glint); kein 100vw-Bleed */
    @media (max-width: 1200px), (hover: none) and (pointer: coarse) {
      #leiste-embed .n1-topbar {
        isolation: isolate;
        background-color: var(--hg-orange-dark);
        background-image: linear-gradient(
          110deg,
          var(--hg-orange-dark) 0%,
          var(--hg-orange) 28%,
          #ffc978 50%,
          var(--hg-orange) 72%,
          var(--hg-orange-dark) 100%
        );
        background-size: 240% 100%;
        animation: n1l1-cta-move 5s ease-in-out infinite;
        border-bottom: 1px solid rgba(230, 120, 40, 0.35);
        box-shadow:
          0 2px 6px rgba(0, 0, 0, 0.2),
          0 6px 20px rgba(0, 0, 0, 0.18);
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        will-change: auto;
      }

      #leiste-embed .n1-topbar::after {
        content: "";
        position: absolute;
        inset: -40%;
        background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.35) 0%, transparent 45%);
        opacity: 0.5;
        animation: n1l1-cta-glint 4s ease-in-out infinite;
        pointer-events: none;
        z-index: 1;
      }

      #leiste-embed .n1-cosmic {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        background-image: none;
        background-color: transparent;
        animation: none !important;
        -webkit-animation: none !important;
        box-shadow: none;
      }

      #leiste-embed .n1-cosmic * {
        animation: none !important;
        -webkit-animation: none !important;
      }
    }

    #leiste-embed .n1-topbar__inner {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: clamp(0.75rem, 2vw, 1.5rem);
      width: 100%;
      max-width: min(100%, var(--n1-content-max));
      min-height: clamp(3.1rem, 5.2vh, 3.65rem);
      margin: 0 auto;
      padding: 0.62rem var(--n1-pad-x) 0.65rem;
    }

    @media (min-width: 901px) {
      #leiste-embed .n1-topbar__inner {
        min-height: clamp(2.85rem, 4.5vh, 3.35rem);
        padding: 0.52rem var(--n1-pad-x) 0.55rem;
      }
    }

    #leiste-embed .n1-brand {
      display: inline-flex;
      align-items: center;
      line-height: 0;
      text-decoration: none;
      flex-shrink: 0;
      color: inherit;
      z-index: 2;
    }

    #leiste-embed .n1-brand img {
      display: block;
      height: clamp(32px, 4.2vw, 44px);
      width: auto;
      filter: grayscale(1) brightness(0.3) contrast(1.08);
    }

    #leiste-embed .n1-topbar__actions {
      display: flex;
      align-items: center;
      gap: clamp(0.35rem, 1.2vw, 0.65rem);
      flex-shrink: 0;
    }

    #leiste-embed .n1-topbar__nav {
      display: none;
      align-items: center;
      gap: clamp(0.35rem, 1.1vw, 0.85rem);
      margin-right: auto;
      margin-left: clamp(0.5rem, 2vw, 1.25rem);
    }

    @media (min-width: 901px) {
      #leiste-embed .n1-topbar__nav {
        display: inline-flex;
      }
    }

    #leiste-embed .n1-topbar__nav a {
      display: inline-flex;
      align-items: center;
      padding: 0.42rem 0.72rem;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      color: rgba(255, 255, 255, 0.92);
      text-decoration: none;
      border: 1px solid rgba(255, 255, 255, 0.22);
      background: rgba(255, 255, 255, 0.08);
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    #leiste-embed .n1-topbar__nav a:hover {
      background: rgba(255, 255, 255, 0.16);
      border-color: rgba(255, 255, 255, 0.34);
      transform: translateY(-1px);
    }

    #leiste-embed .n1-topbar__actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-shrink: 0;
      min-width: 0;
      gap: 0.625rem;
    }

    #leiste-embed .n1-topbar__utility {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      gap: 0.5rem;
      padding-right: 0.75rem;
      margin-right: 0.125rem;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
    }

    #leiste-embed .n1-topbar__cta-wrap {
      display: flex;
      align-items: center;
      flex-shrink: 0;
    }

    #leiste-embed .n1-topbar__cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.56rem 1.25rem;
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 0.90625rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: #fff !important;
      text-decoration: none !important;
      white-space: nowrap;
      border-radius: 999px;
      border: 1px solid rgba(255, 210, 170, 0.45);
      overflow: hidden;
      isolation: isolate;
      cursor: pointer;
      background: linear-gradient(
        110deg,
        var(--hg-orange-dark) 0%,
        var(--hg-orange) 28%,
        #ffc978 50%,
        var(--hg-orange) 72%,
        var(--hg-orange-dark) 100%
      );
      background-size: 240% 100%;
      animation: n1l1-cta-move 5s ease-in-out infinite;
      box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.2),
        0 6px 20px rgba(0, 0, 0, 0.18);
      transition: transform 0.2s ease;
    }

    #leiste-embed .n1-topbar__cta::after {
      content: "";
      position: absolute;
      inset: -40%;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.35) 0%, transparent 45%);
      opacity: 0.5;
      animation: n1l1-cta-glint 4s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }

    #leiste-embed .n1-topbar__cta > span {
      position: relative;
      z-index: 1;
    }

    #leiste-embed .n1-topbar__cta:hover {
      transform: translateY(-1px) scale(1.02);
    }

    @keyframes n1l1-cta-move {
      0%,
      100% {
        background-position: 8% 50%;
      }
      50% {
        background-position: 92% 50%;
      }
    }

    @keyframes n1l1-cta-glint {
      0%,
      100% {
        transform: translate(-12%, 0) rotate(12deg);
        opacity: 0.35;
      }
      50% {
        transform: translate(18%, 0) rotate(12deg);
        opacity: 0.65;
      }
    }

    #leiste-embed .n1-topbar__login {
      display: inline-flex;
      align-items: center;
      gap: 0.42rem;
      padding: 0.48rem 0.9rem;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.84375rem;
      font-weight: 500;
      letter-spacing: -0.01em;
      line-height: 1;
      color: rgba(255, 255, 255, 0.94) !important;
      text-decoration: none !important;
      white-space: nowrap;
      border-radius: 8px;
      border: 1px solid rgba(255, 255, 255, 0.28) !important;
      background: rgba(255, 255, 255, 0.07) !important;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    #leiste-embed .n1-topbar__login:hover {
      background: rgba(255, 255, 255, 0.14) !important;
      border-color: rgba(255, 255, 255, 0.42) !important;
      transform: translateY(-0.5px);
    }

    #leiste-embed .n1-topbar__dashboard {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.48rem 0.9rem;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.84375rem;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1;
      color: #fff !important;
      text-decoration: none !important;
      white-space: nowrap;
      border-radius: 8px;
      border: 1px solid rgba(255, 255, 255, 0.38) !important;
      background: rgba(255, 255, 255, 0.16) !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 2px 8px rgba(0, 0, 0, 0.12);
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    #leiste-embed .n1-topbar__dashboard svg {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      opacity: 0.92;
    }

    #leiste-embed .n1-topbar__dashboard:hover {
      background: rgba(255, 255, 255, 0.24) !important;
      border-color: rgba(255, 255, 255, 0.52) !important;
      transform: translateY(-0.5px);
    }

    #leiste-embed [data-hg-dashboard-btn] {
      display: none !important;
    }

    #leiste-embed.hg-auth-signed-in [data-hg-dashboard-btn] {
      display: inline-flex !important;
    }

    #leiste-embed .n1-topbar__dashboard--mobile {
      display: none !important;
      flex-shrink: 0;
    }

    #leiste-embed.hg-auth-signed-in .n1-topbar__login,
    #leiste-embed.hg-auth-signed-in .n1-drawer__login {
      border-color: rgba(255, 255, 255, 0.22) !important;
      background: rgba(0, 0, 0, 0.12) !important;
    }

    #leiste-embed .n1-auth-icon {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      opacity: 0.88;
    }

    #leiste-embed .n1-drawer__login .n1-auth-icon {
      width: 1.05rem;
      height: 1.05rem;
    }

    #leiste-embed.hg-auth-signed-in .n1-auth-icon--login,
    #leiste-embed:not(.hg-auth-signed-in) .n1-auth-icon--logout {
      display: none;
    }

    #leiste-embed .n1-burger {
      display: inline-flex;
      position: relative;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 6px;
      width: 2.75rem;
      height: 2.75rem;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.14);
      color: #fff;
      cursor: pointer;
      transition: background 0.2s ease;
      -webkit-tap-highlight-color: transparent;
    }

    #leiste-embed .n1-burger:hover {
      background: rgba(255, 255, 255, 0.24);
    }

    #leiste-embed .n1-burger:focus-visible {
      outline: 2px solid rgba(255, 255, 255, 0.9);
      outline-offset: 3px;
    }

    #leiste-embed .n1-burger span {
      display: block;
      width: 1.35rem;
      height: 2px;
      background: currentColor;
      border-radius: 2px;
      transition: transform 0.3s var(--nav-open-ease), opacity 0.2s ease;
      transform-origin: center;
    }

    #leiste-embed .n1-burger.is-open span:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
    }

    #leiste-embed .n1-burger.is-open span:nth-child(2) {
      opacity: 0;
      transform: scaleX(0);
    }

    #leiste-embed .n1-burger.is-open span:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }

    @media (min-width: 901px) {
      #leiste-embed .n1-brand img {
        height: clamp(28px, 3.4vw, 40px);
      }
    }

    @media (min-width: 901px) and (max-width: 1180px) {
      #leiste-embed .n1-topbar__cta {
        padding: 0.52rem 1rem;
        font-size: 0.84375rem;
      }

      #leiste-embed .n1-topbar__utility {
        padding-right: 0.625rem;
        margin-right: 0;
      }
    }

    @media (max-width: 900px) {
      #leiste-embed .n1-topbar__utility,
      #leiste-embed .n1-topbar__cta-wrap {
        display: none !important;
      }

      #leiste-embed .n1-topbar__dashboard--mobile {
        display: inline-flex !important;
      }

      #leiste-embed .n1-topbar__inner {
        min-height: clamp(3.2rem, 12vw, 3.75rem);
        max-width: 100%;
        width: 100%;
        padding: 0.52rem max(0.95rem, env(safe-area-inset-left, 0px)) 0.55rem
          max(0.95rem, env(safe-area-inset-right, 0px));
      }

      #leiste-embed .n1-brand img {
        height: clamp(32px, 9.2vw, 40px);
      }

      #leiste-embed {
        --n1-pad-x: max(0.95rem, env(safe-area-inset-left, 0px));
      }
    }

    @media (max-width: 520px) {
      #leiste-embed .n1-burger {
        width: 2.5rem;
        height: 2.5rem;
      }

      #leiste-embed .n1-topbar__dashboard--mobile {
        padding: 0.44rem 0.72rem;
        font-size: 0.8125rem;
        gap: 0.35rem;
      }

      #leiste-embed .n1-topbar__dashboard--mobile svg {
        width: 0.9375rem;
        height: 0.9375rem;
      }

      #leiste-embed .n1-drawer__artikel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

    }

    #leiste-embed .n1-drawer {
      position: fixed;
      top: var(--l1-drawer-top, 0px);
      left: var(--l1-drawer-left, 0px);
      right: auto;
      bottom: auto;
      width: var(--l1-drawer-width, 100%);
      height: var(--l1-drawer-height, 100dvh);
      max-height: var(--l1-drawer-height, 100dvh);
      z-index: 1000;
      box-sizing: border-box;
      pointer-events: none;
    }

    #leiste-embed .n1-drawer.is-open {
      pointer-events: auto;
    }

    #leiste-embed .n1-drawer__backdrop {
      position: absolute;
      inset: 0;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 0;
      cursor: pointer;
      display: block;
      appearance: none;
      -webkit-appearance: none;
      background: rgba(14, 16, 22, 0.42);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      opacity: 0;
      transition: opacity var(--nav-open-duration) ease;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__backdrop {
      opacity: 1;
    }

    #leiste-embed .n1-drawer__panel {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: min(100vw, 22.5rem);
      max-width: 100%;
      height: 100%;
      max-height: inherit;
      z-index: 2;
      display: flex;
      flex-direction: column;
      padding: env(safe-area-inset-top, 0px) 0
        max(env(safe-area-inset-bottom, 0px), 24px, 52px, var(--l1-drawer-pad-extra, 0px));
      background: rgba(28, 30, 34, 0.38);
      -webkit-backdrop-filter: blur(22px) saturate(1.12);
      backdrop-filter: blur(22px) saturate(1.12);
      border-left: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow:
        -24px 0 48px rgba(0, 0, 0, 0.18),
        inset 0 0 0 1px rgba(255, 255, 255, 0.06);
      transform: translateX(104%);
      transition: transform var(--nav-open-duration) var(--nav-open-ease);
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__panel {
      transform: translateX(0);
    }

    @media (max-width: 900px) {
      #leiste-embed .n1-drawer__panel {
        width: 100%;
        max-width: 100%;
        box-shadow: none;
      }

      #leiste-embed .n1-drawer__head {
        padding: 0.75rem max(1rem, env(safe-area-inset-left, 0px)) 0.65rem max(1rem, env(safe-area-inset-right, 0px));
      }

      #leiste-embed .n1-drawer__nav {
        padding-left: max(0.65rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.65rem, env(safe-area-inset-right, 0px));
      }
    }

    #leiste-embed .n1-drawer__head {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 0.85rem 1.25rem 0.75rem;
      flex-shrink: 0;
    }

    #leiste-embed .n1-drawer__close {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.5rem;
      height: 2.5rem;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      cursor: pointer;
      transition: background 0.18s ease, transform 0.18s ease;
      -webkit-tap-highlight-color: transparent;
    }

    #leiste-embed .n1-drawer__close:hover {
      background: rgba(255, 255, 255, 0.18);
      transform: rotate(90deg);
    }

    #leiste-embed .n1-drawer__close:focus-visible {
      outline: 2px solid rgba(255, 255, 255, 0.85);
      outline-offset: 2px;
    }

    #leiste-embed .n1-drawer__close svg {
      width: 1.125rem;
      height: 1.125rem;
    }

    #leiste-embed .n1-drawer__scroll {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 0.5rem 0
        max(2rem, calc(env(safe-area-inset-bottom, 0px) + 1.25rem), 52px, var(--l1-drawer-pad-extra, 0px));
      -webkit-overflow-scrolling: touch;
    }

    #leiste-embed .n1-drawer__nav {
      display: flex;
      flex-direction: column;
      gap: 0.62rem;
      padding: 0 1rem;
      margin: 0;
    }

    #leiste-embed .n1-drawer__nav .n1-topbar__cta,
    #leiste-embed .n1-drawer__nav .n1-drawer__cta--secondary,
    #leiste-embed .n1-drawer__nav .n1-drawer__dashboard,
    #leiste-embed .n1-drawer__nav .n1-drawer__login {
      width: 100%;
      justify-content: center;
      box-sizing: border-box;
      opacity: 0;
      transform: translateX(1.25rem);
      text-align: center;
      white-space: normal;
      border-radius: 12px;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-topbar__cta,
    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-drawer__cta--secondary,
    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-drawer__dashboard,
    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-drawer__login {
      animation: n1-drawer-link-in 0.55s var(--nav-open-ease) forwards;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav > a:nth-child(1) {
      animation-delay: 0.04s;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav > a:nth-child(2) {
      animation-delay: 0.09s;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav > a:nth-child(3) {
      animation-delay: 0.12s;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav > a:nth-child(4) {
      animation-delay: 0.15s;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav > a:nth-child(5) {
      animation-delay: 0.18s;
    }

    #leiste-embed .n1-drawer__divider {
      height: 1px;
      margin: 0.35rem 0 0.15rem;
      background: rgba(255, 255, 255, 0.14);
      opacity: 0;
      transform: translateX(1.25rem);
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__divider {
      animation: n1-drawer-link-in 0.55s var(--nav-open-ease) 0.12s forwards;
    }

    #leiste-embed .n1-drawer__login {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      padding: 0.72rem 1.25rem;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.90625rem;
      font-weight: 500;
      letter-spacing: -0.01em;
      color: rgba(255, 255, 255, 0.88) !important;
      text-decoration: none !important;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      background: rgba(255, 255, 255, 0.06);
      transition: background 0.18s ease, border-color 0.18s ease;
    }

    #leiste-embed .n1-drawer__login:hover {
      background: rgba(255, 255, 255, 0.11);
      border-color: rgba(255, 255, 255, 0.26);
    }

    #leiste-embed .n1-drawer__dashboard {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      padding: 0.56rem 1.25rem;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.90625rem;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1;
      color: #fff !important;
      text-decoration: none !important;
      white-space: nowrap;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.38) !important;
      background: rgba(255, 255, 255, 0.16) !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 2px 8px rgba(0, 0, 0, 0.12);
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    #leiste-embed .n1-drawer__dashboard svg {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      opacity: 0.92;
    }

    #leiste-embed .n1-drawer__dashboard:hover {
      background: rgba(255, 255, 255, 0.24) !important;
      border-color: rgba(255, 255, 255, 0.52) !important;
      transform: translateY(-0.5px);
    }

    /* Verkaufsguide & Login: dunkles Glasmaß, gleicher Verlauf / Glanz wie CTA, nur Grautöne */
    #leiste-embed .n1-drawer__cta--secondary {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.56rem 1.25rem;
      font-family: "DM Sans", system-ui, sans-serif;
      font-size: 0.90625rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: #fff !important;
      text-decoration: none !important;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      overflow: hidden;
      isolation: isolate;
      cursor: pointer;
      background-image:
        linear-gradient(
          110deg,
          rgba(255, 255, 255, 0.12) 0%,
          rgba(255, 255, 255, 0.02) 35%,
          rgba(180, 186, 196, 0.08) 50%,
          rgba(255, 255, 255, 0.04) 65%,
          rgba(255, 255, 255, 0.1) 100%
        ),
        linear-gradient(
          110deg,
          #2a2d33 0%,
          #454950 26%,
          #6a717c 50%,
          #3e4249 74%,
          #1e2024 100%
        );
      background-size: 240% 100%, 240% 100%;
      background-repeat: no-repeat, no-repeat;
      animation: n1l1-drawer-gray-shift 5s ease-in-out infinite;
      box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.28),
        0 6px 20px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
      transition: transform 0.2s ease;
    }

    #leiste-embed .n1-drawer__cta--secondary::after {
      content: "";
      position: absolute;
      inset: -40%;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.22) 0%, transparent 45%);
      opacity: 0.45;
      animation: n1l1-cta-glint 4s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }

    #leiste-embed .n1-drawer__cta--secondary > span {
      position: relative;
      z-index: 1;
    }

    #leiste-embed .n1-drawer__cta--secondary:hover {
      transform: translateY(-1px) scale(1.02);
    }

    /* Verkaufsguide: blauer Verlauf wie Schritt 3 – Animation auf ::before, damit Menü sichtbar bleibt */
    #leiste-embed .n1-drawer__cta--artikel {
      background: linear-gradient(135deg, rgba(16, 185, 129, 0.92), rgba(5, 150, 105, 0.96));
      border-color: rgba(110, 231, 183, 0.45);
      color: #fff;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-drawer__cta--artikel {
      animation: n1-drawer-link-in 0.55s var(--nav-open-ease) 0.12s forwards;
    }

    #leiste-embed .n1-drawer__artikel-wrap {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      margin: 0.05rem 0 0.15rem;
      opacity: 0;
      transform: translateX(1.25rem);
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__artikel-wrap {
      animation: n1-drawer-link-in 0.55s var(--nav-open-ease) 0.14s forwards;
    }

    #leiste-embed .n1-drawer__artikel-label {
      margin: 0;
      padding: 0 0.1rem;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.6875rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.52);
    }

    #leiste-embed .n1-drawer__artikel {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.45rem;
      max-height: none;
      overflow: visible;
      padding: 0;
    }

    #leiste-embed .n1-drawer__artikel-link {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.32rem;
      min-height: 0;
      padding: 0.48rem 0.52rem;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-left: 3px solid var(--drawer-art-accent, rgba(255, 157, 47, 0.55));
      background: color-mix(in srgb, var(--drawer-art-accent, #ff9d2f) 10%, rgba(255, 255, 255, 0.06));
      text-decoration: none !important;
      color: rgba(255, 255, 255, 0.92) !important;
      transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    }

    #leiste-embed .n1-drawer__artikel-link:hover {
      background: color-mix(in srgb, var(--drawer-art-accent, #ff9d2f) 18%, rgba(255, 255, 255, 0.1));
      border-color: color-mix(in srgb, var(--drawer-art-accent, #ff9d2f) 42%, rgba(255, 255, 255, 0.2));
      transform: translateY(-1px);
    }

    #leiste-embed .n1-drawer__artikel-link--wert { --drawer-art-accent: #ea580c; }
    #leiste-embed .n1-drawer__artikel-link--ablauf { --drawer-art-accent: #f97316; }
    #leiste-embed .n1-drawer__artikel-link--strategie { --drawer-art-accent: #3b82f6; }
    #leiste-embed .n1-drawer__artikel-link--erbe { --drawer-art-accent: #8b5cf6; }
    #leiste-embed .n1-drawer__artikel-link--check { --drawer-art-accent: #06b6d4; }
    #leiste-embed .n1-drawer__artikel-link--sanierung { --drawer-art-accent: #eab308; }
    #leiste-embed .n1-drawer__artikel-link--solar { --drawer-art-accent: #facc15; }
    #leiste-embed .n1-drawer__artikel-link--kosten { --drawer-art-accent: #ef4444; }
    #leiste-embed .n1-drawer__artikel-link--energie { --drawer-art-accent: #22c55e; }
    #leiste-embed .n1-drawer__artikel-link--miete { --drawer-art-accent: #0ea5e9; }
    #leiste-embed .n1-drawer__artikel-link--steuer { --drawer-art-accent: #a855f7; }
    #leiste-embed .n1-drawer__artikel-link--expose { --drawer-art-accent: #ec4899; }
    #leiste-embed .n1-drawer__artikel-link--privat { --drawer-art-accent: #14b8a6; }

    #leiste-embed .n1-drawer__artikel-tag {
      flex: 0 0 auto;
      margin: 0;
      padding: 0.12rem 0.38rem;
      border-radius: 999px;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.58rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #fff7ed;
      background: color-mix(in srgb, var(--drawer-art-accent, #ff9d2f) 34%, rgba(255, 255, 255, 0.08));
      border: 1px solid color-mix(in srgb, var(--drawer-art-accent, #ff9d2f) 48%, rgba(255, 255, 255, 0.16));
    }

    #leiste-embed .n1-drawer__artikel-title {
      flex: 1 1 auto;
      font-family: "Inter", system-ui, sans-serif;
      font-size: 0.74rem;
      font-weight: 600;
      line-height: 1.28;
      letter-spacing: -0.01em;
    }

    #leiste-embed .n1-drawer__cta--verkaufsguide {
      border: 1px solid rgba(175, 195, 255, 0.48) !important;
      background-image: none !important;
      background-color: transparent !important;
      animation: none;
      box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.2),
        0 2px 6px rgba(0, 0, 0, 0.2),
        0 6px 20px rgba(36, 62, 158, 0.28);
    }

    #leiste-embed .n1-drawer__cta--verkaufsguide::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      z-index: 0;
      pointer-events: none;
      background: linear-gradient(
        110deg,
        #243e9e 0%,
        #3a62e3 28%,
        #7d95f5 50%,
        #3a62e3 72%,
        #243e9e 100%
      );
      background-size: 240% 100%;
      animation: n1l1-drawer-blue-shift 16s ease-in-out infinite;
    }

    #leiste-embed .n1-drawer__cta--verkaufsguide::after {
      z-index: 0;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.35) 0%, transparent 45%);
      opacity: 0.5;
      animation: n1l1-cta-glint 12s ease-in-out infinite;
    }

    #leiste-embed .n1-drawer.is-open .n1-drawer__nav .n1-drawer__cta--verkaufsguide {
      animation: n1-drawer-link-in 0.55s var(--nav-open-ease) 0.09s forwards;
    }

    #leiste-embed .n1-drawer__cta--verkaufsguide:hover {
      box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.22),
        0 2px 8px rgba(0, 0, 0, 0.22),
        0 10px 28px rgba(36, 62, 158, 0.32);
    }

    @keyframes n1l1-drawer-blue-shift {
      0%,
      100% {
        background-position: 8% 50%;
      }
      50% {
        background-position: 92% 50%;
      }
    }

    @keyframes n1l1-drawer-gray-shift {
      0%,
      100% {
        background-position: 8% 50%, 8% 50%;
      }
      50% {
        background-position: 92% 50%, 92% 50%;
      }
    }

    @keyframes n1-drawer-link-in {
      to {
        opacity: 1;
        transform: translateX(0);
      }
    }

    body.n1-nav-open {
      overflow: hidden;
    }

    body.n1-nav-open #leiste-embed {
      z-index: 10200;
    }

    @media (prefers-reduced-motion: reduce) {
      #leiste-embed .n1-cosmic__w-scroll,
      #leiste-embed .n1-cosmic__shimmer {
        animation: none !important;
      }

      #leiste-embed .n1-cosmic__shimmer {
        transform: none;
      }

      #leiste-embed .n1-cosmic__warp::before,
      #leiste-embed .n1-cosmic__warp::after {
        animation: none !important;
      }

      #leiste-embed .n1-cosmic {
        animation: none !important;
        background-position: 12% 94%, 88% 12%, 45% 50%;
      }

      #leiste-embed .n1-topbar {
        animation: none !important;
        -webkit-animation: none !important;
        will-change: auto;
        background-size: 100% 100% !important;
      }

      #leiste-embed .n1-topbar::after {
        animation: none !important;
        -webkit-animation: none !important;
        opacity: 0.35;
      }

      #leiste-embed .n1-topbar__cta,
      #leiste-embed .n1-topbar__cta::after {
        animation: none !important;
      }

      #leiste-embed .n1-topbar__cta {
        background-size: 100% 100%;
      }

      #leiste-embed .n1-drawer__panel {
        transition-duration: 0.01ms;
      }

      #leiste-embed .n1-drawer__backdrop {
        transition-duration: 0.01ms;
      }

      #leiste-embed .n1-drawer__nav .n1-topbar__cta,
      #leiste-embed .n1-drawer__nav .n1-drawer__cta--secondary,
      #leiste-embed .n1-drawer__nav .n1-drawer__dashboard,
      #leiste-embed .n1-drawer__nav .n1-drawer__login,
      #leiste-embed .n1-drawer__divider,
      #leiste-embed .n1-drawer__artikel-wrap {
        opacity: 1;
        transform: none;
        animation: none !important;
      }

      #leiste-embed .n1-drawer__cta--secondary,
      #leiste-embed .n1-drawer__cta--secondary::after,
      #leiste-embed .n1-drawer__cta--verkaufsguide::before,
      #leiste-embed .n1-drawer__cta--verkaufsguide::after {
        animation: none !important;
      }

      #leiste-embed .n1-drawer__cta--secondary {
        background-position: 50% 50%, 50% 50% !important;
        background-size: 100% 100%, 100% 100% !important;
      }

      #leiste-embed .n1-drawer__cta--verkaufsguide::before {
        background-position: 50% 50%;
        background-size: 100% 100%;
      }

      #leiste-embed .n1-burger span {
        transition-duration: 0.01ms;
      }
    }

    html {
      overflow-x: hidden;
    }

    body {
      margin: 0;
    }

*,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    

    /* Footer: durchgehend Dark Theme (unabhängig vom System-Light/Dark-Mode) */
    #footer-embed {
      --hg-footer-link: #f8fafc;
      --hg-footer-muted: #cbd5e1;
      --hg-footer-accent: #ffc978;
      --hg-footer-bg-dark: #0f1014;
      --hg-footer-content-max: clamp(1100px, 90vw, 1640px);
      position: relative;
      z-index: 10100; /* über fixierter Sticky-CTA (stickywerbung), damit Leiste „dahinter“ liegt */
      width: 100%;
      max-width: none;
      font-family: "Inter", system-ui, -apple-system, sans-serif;
      color-scheme: dark;
    }

    #footer-embed .hg-footer {
      position: relative;
      overflow: hidden;
      width: 100%;
      margin: 0;
      padding: 0;
      border-top: none;
      box-shadow:
        0 -14px 36px -14px rgba(0, 0, 0, 0.48),
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        inset 0 -1px 0 rgba(0, 0, 0, 0.44);
      background-color: var(--hg-footer-bg-dark);
      isolation: isolate;
    }

    #footer-embed .hg-f-cosmic {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
      background-color: var(--hg-footer-bg-dark);
      background-image:
        linear-gradient(
          110deg,
          rgba(255, 255, 255, 0.038) 0%,
          rgba(92, 118, 158, 0.07) 22%,
          rgba(255, 145, 85, 0.04) 48%,
          rgba(110, 132, 168, 0.06) 72%,
          rgba(255, 255, 255, 0.032) 100%
        ),
        linear-gradient(
          110deg,
          #12131a 0%,
          #161922 26%,
          #1c202a 50%,
          #15171e 74%,
          #0c0d11 100%
        ),
        radial-gradient(ellipse 85% 70% at 78% -12%, rgba(255, 160, 95, 0.055), transparent 58%),
        radial-gradient(ellipse 75% 65% at -8% 108%, rgba(115, 140, 190, 0.06), transparent 55%);
      background-size: 240% 100%, 240% 100%, 100% 100%, 100% 100%;
      background-repeat: no-repeat;
      background-position: 8% 50%, 8% 50%, 0 0, 0 0;
      animation: hg-f-cosmic-aurora-dark 24s ease-in-out infinite;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.075),
        inset 0 -1px 0 rgba(0, 0, 0, 0.44),
        inset 0 0 120px rgba(0, 0, 0, 0.22);
    }

    @keyframes hg-f-cosmic-aurora-dark {
      0%,
      100% {
        background-position: 8% 50%, 8% 50%, 0 0, 0 0;
      }
      50% {
        background-position: 92% 50%, 92% 50%, 0 0, 0 0;
      }
    }

    #footer-embed .hg-f-cosmic__warp {
      position: absolute;
      inset: 0;
      z-index: 1;
      overflow: hidden;
      pointer-events: none;
      filter: saturate(0.92) brightness(0.88);
    }

    #footer-embed .hg-f-cosmic__warp::before,
    #footer-embed .hg-f-cosmic__warp::after {
      content: "";
      position: absolute;
      pointer-events: none;
      mix-blend-mode: screen;
      filter: blur(16px);
      opacity: 0.42;
    }

    #footer-embed .hg-f-cosmic__warp::before {
      width: 88%;
      height: 270%;
      left: -24%;
      top: -92%;
      border-radius: 44% 56% 52% 48% / 46% 44% 56% 54%;
      background: radial-gradient(
        ellipse 68% 58% at 48% 52%,
        rgba(255, 220, 185, 0.55) 0%,
        rgba(255, 155, 72, 0.28) 42%,
        transparent 70%
      );
      animation: hg-f-cosmic-swirl-a 60s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    #footer-embed .hg-f-cosmic__warp::after {
      width: 92%;
      height: 260%;
      right: -28%;
      top: -78%;
      left: auto;
      border-radius: 54% 46% 44% 56% / 52% 48% 44% 56%;
      background: radial-gradient(
        ellipse 62% 54% at 52% 46%,
        rgba(255, 245, 225, 0.42) 0%,
        rgba(230, 120, 32, 0.22) 48%,
        transparent 72%
      );
      opacity: 0.62;
      animation: hg-f-cosmic-swirl-b 76s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite reverse;
      animation-delay: -28s;
    }

    @keyframes hg-f-cosmic-swirl-a {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 44% 56% 52% 48% / 46% 44% 56% 54%;
      }
      32% {
        transform: translate(6%, 7%) rotate(108deg) scale(1.07);
        border-radius: 56% 44% 46% 54% / 54% 46% 52% 48%;
      }
      64% {
        transform: translate(-5%, 5%) rotate(216deg) scale(0.93);
        border-radius: 48% 52% 58% 42% / 44% 54% 48% 52%;
      }
    }

    @keyframes hg-f-cosmic-swirl-b {
      0%,
      100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 54% 46% 44% 56% / 52% 48% 44% 56%;
      }
      38% {
        transform: translate(-9%, 9%) rotate(-118deg) scale(1.11);
        border-radius: 46% 54% 56% 44% / 48% 52% 56% 44%;
      }
      72% {
        transform: translate(7%, -4%) rotate(-236deg) scale(0.89);
        border-radius: 52% 48% 50% 50% / 56% 44% 48% 52%;
      }
    }

    #footer-embed .hg-f-cosmic__shimmer {
      position: absolute;
      inset: -15%;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(
        118deg,
        transparent 0%,
        rgba(255, 255, 255, 0.18) 38%,
        rgba(255, 215, 175, 0.32) 50%,
        transparent 64%
      );
      background-size: 240% 240%;
      background-position: 50% 50%;
      mix-blend-mode: overlay;
      filter: blur(1px);
      opacity: 0.48;
      animation: hg-f-cosmic-shimmer 20s ease-in-out infinite;
    }

    @keyframes hg-f-cosmic-shimmer {
      0%,
      100% {
        background-position: 8% 42%;
        transform: rotate(-2deg) scale(1.02);
        opacity: 0.58;
      }
      50% {
        background-position: 92% 58%;
        transform: rotate(2.5deg) scale(1.06);
        opacity: 0.92;
      }
    }

    #footer-embed .hg-footer__inner {
      position: relative;
      z-index: 3;
      max-width: min(100%, var(--hg-footer-content-max));
      margin: 0 auto;
      padding: clamp(2.15rem, 4.5vw, 2.75rem) clamp(0.75rem, 3vw, 1.25rem) 1.15rem;
    }

    #footer-embed .hg-footer-links {
      background: transparent;
      padding: 0;
      margin: 0 0 1rem;
    }

    #footer-embed .hg-footer-links__list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 8px 18px;
    }

    #footer-embed .hg-footer-links a {
      display: inline-block;
      color: var(--hg-footer-link);
      text-decoration: none;
      font-size: 12.5px;
      line-height: 1.35;
      font-weight: 500;
      font-family: "DM Sans", system-ui, sans-serif;
      transition: color 0.18s ease, opacity 0.18s ease;
    }

    #footer-embed .hg-footer-links a:hover,
    #footer-embed .hg-footer-links a:focus-visible {
      color: var(--hg-footer-accent);
      outline: none;
    }

    @media (max-width: 767px) {
      /* 2 Spalten × 4 Zeilen, zentriert, kompakt mit klarem Rhythmus */
      #footer-embed .hg-footer-links__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        column-gap: 1rem;
        row-gap: 0.45rem;
        justify-items: center;
        justify-content: center;
        text-align: center;
        max-width: min(100%, 19.5rem);
        margin-left: auto;
        margin-right: auto;
      }

      #footer-embed .hg-footer-links a {
        font-size: 11px;
        line-height: 1.28;
        padding: 2px 0;
        word-break: break-word;
        hyphens: manual;
      }
    }

    @media (min-width: 768px) {
      #footer-embed .hg-footer__inner {
        padding-top: clamp(2.35rem, 4vw, 2.85rem);
        padding-bottom: 1.25rem;
      }

      #footer-embed .hg-footer-links__list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px 24px;
      }

      #footer-embed .hg-footer-links a {
        font-size: 12px;
        color: var(--hg-footer-muted);
      }

      #footer-embed .hg-footer-links a:hover,
      #footer-embed .hg-footer-links a:focus-visible {
        color: var(--hg-footer-accent);
      }
    }

    #footer-embed .hg-footer__rule {
      margin: 0 0 1rem;
      border: none;
      height: 0;
      border-top: 1px dashed rgba(255, 255, 255, 0.28);
      opacity: 0.9;
    }

    #footer-embed .hg-footer__bar {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      gap: 0.85rem;
      text-align: center;
    }

    @media (min-width: 640px) {
      #footer-embed .hg-footer__bar {
        flex-direction: row;
        align-items: center;
        text-align: left;
      }
    }

    #footer-embed .hg-footer__copy {
      margin: 0;
      font-size: 12px;
      line-height: 1.4;
      color: rgba(232, 240, 250, 0.78);
      font-family: "DM Sans", system-ui, sans-serif;
    }

    #footer-embed .hg-footer__brand {
      display: inline-flex;
      align-items: center;
      line-height: 0;
      text-decoration: none;
    }

    /* Logo weiß auf Dark Theme */
    #footer-embed .hg-footer__brand img {
      display: block;
      height: clamp(26px, 5vw, 34px);
      width: auto;
      filter: brightness(0) invert(1);
    }

    @media (prefers-reduced-motion: reduce) {
      #footer-embed .hg-f-cosmic__shimmer {
        animation: none !important;
      }

      #footer-embed .hg-f-cosmic__shimmer {
        transform: none;
        opacity: 0.65;
      }

      #footer-embed .hg-f-cosmic__warp::before,
      #footer-embed .hg-f-cosmic__warp::after {
        animation: none !important;
      }

      #footer-embed .hg-f-cosmic {
        animation: none !important;
        background-position: 8% 50%, 8% 50%, 0 0, 0 0;
      }
    }