:root {
      --hg-accent: #ff911d;
      --hg-orange-dark: #e67e17;
      --hg-text: #0f172a;
      --hg-muted: #334155;
      --hg-line: rgba(210, 218, 230, 0.95);
      --hg-bg: #eef2f8;
      --hg-card-bg: rgba(255, 255, 255, 0.78);
      --hg-shadow: 0 10px 30px rgba(16, 24, 40, 0.1);
      --hg-green: #27b36a;
      --hg-yellow: #e5b213;
      --hg-blue: #3a62e3;
      --hg-red: #d14343;
      --hg-panel-border: rgba(210, 218, 230, 0.92);
      --hg-panel-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 100%);
      --hg-panel-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 10px 30px rgba(16, 24, 40, 0.1);
      --hg-glass-border: rgba(210, 218, 230, 0.95);
      --hg-glass-highlight: rgba(255, 255, 255, 0.88);
    }

    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      color: var(--hg-text);
      background:
        radial-gradient(1100px 520px at 92% -8%, rgba(58, 98, 227, 0.11), transparent 42%),
        radial-gradient(980px 480px at -8% 108%, rgba(255, 145, 29, 0.1), transparent 44%),
        radial-gradient(700px 360px at 50% 0%, rgba(255, 255, 255, 0.65), transparent 70%),
        var(--hg-bg);
      min-height: 100vh;
      min-height: 100dvh;
      -webkit-font-smoothing: antialiased;
    }
    body:has(#authSection:not(.hidden)) {
      background:
        radial-gradient(900px 420px at 88% -8%, rgba(58, 98, 227, 0.09), transparent 48%),
        radial-gradient(820px 400px at 6% 102%, rgba(255, 145, 29, 0.08), transparent 48%),
        #eef2f8;
    }

    .hidden { display: none !important; }
    .hg-wrap { max-width: 1260px; margin: 0 auto; padding: 20px; }

    .hg-surface {
      position: relative;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.68) 100%);
      border: 1px solid var(--hg-glass-border);
      border-radius: 20px;
      box-shadow: var(--hg-panel-shadow);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      overflow: hidden;
    }
    .hg-surface::before {
      display: none;
    }

    .hg-auth-shell {
      min-height: 100vh;
      min-height: 100dvh;
      display: grid;
      place-items: center;
      padding: 32px 20px;
    }
    .hg-auth-grid {
      width: min(540px, 100%);
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .hg-card { padding: 0; }
    .hg-auth-card.hg-surface::before {
      display: none;
    }
    .hg-auth-card {
      background: #fff;
      border: 1px solid #d5deea;
      border-radius: 20px;
      padding: 0 28px 28px;
      box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      overflow: hidden;
    }
    .hg-auth-brand {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 6px;
      margin: 0 -28px 26px;
      padding: 30px 28px 28px;
      isolation: isolate;
      overflow: hidden;
      border: none;
      border-radius: 0;
      box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
    .hg-auth-brand::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background-color: rgba(31, 35, 42, 0.92);
      background-image:
        linear-gradient(
          110deg,
          rgba(255, 255, 255, 0.12) 0%,
          rgba(255, 255, 255, 0.03) 35%,
          rgba(180, 186, 196, 0.07) 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;
      animation: hg-auth-brand-glass-shift 5s ease-in-out infinite;
      backdrop-filter: blur(8px) saturate(118%);
      -webkit-backdrop-filter: blur(8px) saturate(118%);
    }
    .hg-auth-brand::after {
      content: "";
      position: absolute;
      inset: -40%;
      z-index: 1;
      pointer-events: none;
      background: radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.22) 0%, transparent 45%);
      opacity: 0.45;
      animation: hg-auth-brand-glint 4s ease-in-out infinite;
    }
    .hg-auth-brand__cosmic-line {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 1px;
      z-index: 3;
      background: rgba(255, 255, 255, 0.12);
    }
    @keyframes hg-auth-brand-glass-shift {
      0%, 100% { background-position: 8% 50%, 8% 50%; }
      50% { background-position: 92% 50%, 92% 50%; }
    }
    @keyframes hg-auth-brand-glint {
      0%, 100% { transform: translate(-12%, 0) rotate(12deg); opacity: 0.35; }
      50% { transform: translate(18%, 0) rotate(12deg); opacity: 0.65; }
    }
    .hg-auth-brand > * {
      position: relative;
      z-index: 2;
    }
    @media (prefers-reduced-motion: reduce) {
      .hg-auth-brand::before {
        animation: none;
        background-size: 100% 100%, 100% 100%;
        background-position: 50% 50%, 50% 50%;
      }
      .hg-auth-brand::after {
        animation: none;
        opacity: 0.3;
      }
    }
    .hg-auth-brand__kicker {
      margin: 0;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.82);
    }
    .hg-auth-brand__title {
      margin: 0;
      font-size: clamp(24px, 4vw, 30px);
      font-weight: 800;
      letter-spacing: -0.03em;
      color: #fff;
      line-height: 1.15;
    }
    .hg-auth-brand__lead {
      margin: 10px 0 0;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.45;
      color: rgba(255, 255, 255, 0.88);
    }
    .hg-auth-brand__lead + .hg-auth-brand__lead {
      margin-top: 4px;
    }
    .hg-auth-switch {
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(255, 175, 110, 0.42);
      border-radius: 14px;
      padding: 5px;
      gap: 5px;
      margin-bottom: 22px;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 4px 16px rgba(255, 145, 29, 0.1);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }
    .hg-auth-toggle {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid transparent;
      border-radius: 10px;
      background: transparent;
      color: #64748b;
      font-size: 14px;
      font-weight: 700;
      padding: 12px 14px;
      cursor: pointer;
      transition: color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    }
    .hg-auth-toggle:hover:not(.active) {
      color: #9a3412 !important;
      background: rgba(255, 145, 29, 0.12) !important;
      border-color: rgba(255, 145, 29, 0.22) !important;
    }
    .hg-auth-toggle.active {
      color: #fff !important;
      border-color: rgba(255, 210, 170, 0.5) !important;
      background: linear-gradient(
        110deg,
        #c96a10 0%,
        var(--hg-orange-dark) 16%,
        var(--hg-accent) 32%,
        #ffc978 50%,
        var(--hg-accent) 68%,
        var(--hg-orange-dark) 84%,
        #c96a10 100%
      ) !important;
      background-size: 260% 100% !important;
      animation: hg-glass-flow-bar 3.6s ease-in-out infinite;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        0 6px 18px rgba(255, 145, 29, 0.32);
      text-shadow: 0 1px 2px rgba(120, 45, 0, 0.35);
    }
    .hg-auth-toggle.active::after {
      content: "";
      position: absolute;
      inset: -45%;
      background: radial-gradient(circle at 28% 50%, rgba(255, 255, 255, 0.42) 0%, transparent 44%);
      opacity: 0.58;
      animation: hg-btn-glint 3.2s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }
    .hg-auth-toggle:focus-visible {
      outline: 0;
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.28);
    }
    .hg-auth-toggle.active:focus-visible {
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        0 6px 18px rgba(255, 145, 29, 0.32),
        0 0 0 3px rgba(255, 145, 29, 0.28);
    }
    @media (prefers-reduced-motion: reduce) {
      .hg-auth-toggle.active {
        animation: none;
        background: var(--hg-accent) !important;
      }
      .hg-auth-toggle.active::after {
        animation: none;
        opacity: 0;
      }
    }
    .hg-auth-pane.hidden { display: none !important; }
    .hg-auth-pane .hg-sub {
      margin: 0 0 20px;
      color: #475569;
      font-size: 14px;
      line-height: 1.5;
      font-weight: 500;
    }
    .hg-auth-pane .hg-label {
      color: #334155;
      font-weight: 700;
      font-size: 13px;
      margin-bottom: 7px;
    }
    .hg-auth-pane .hg-input {
      border: 1px solid #c5d0df;
      border-radius: 12px;
      background: #fff;
      padding: 12px 14px;
      font-size: 16px;
      box-shadow: none;
    }
    .hg-auth-pane .hg-input:focus {
      border-color: rgba(255, 145, 29, 0.85);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.16);
      background: #fff;
    }
    .hg-auth-pane .hg-btn {
      border-radius: 12px;
      padding: 12px 18px;
      font-size: 14px;
      font-weight: 700;
    }
    .hg-auth-pane .hg-btn-ghost {
      background: #fff;
      border: 1px solid #c5d0df;
      color: #334155;
    }
    .hg-auth-pane .hg-msg {
      margin-top: 12px;
    }
    .hg-auth-glass-modal {
      width: min(540px, 100%);
      background: #fff;
      border: 1px solid #d5deea;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
    }
    .hg-auth-glass-modal .hg-input {
      border: 1px solid #c5d0df;
      border-radius: 12px;
      background: #fff;
      padding: 12px 14px;
    }
    .hg-auth-glass-modal .hg-input:focus {
      border-color: rgba(255, 145, 29, 0.85);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.16);
    }
    .hg-auth-glass-modal .hg-btn {
      border-radius: 12px;
    }
    .hg-auth-glass-modal .hg-section-title {
      font-size: 22px;
      letter-spacing: -0.02em;
      font-weight: 800;
    }
    body.hg-modal-open {
      overflow: hidden;
      overscroll-behavior: none;
    }
    html:has(body.hg-modal-open) {
      overflow: hidden;
      overscroll-behavior: none;
    }
    body.hg-modal-open .hg-modal.open,
    body.hg-modal-open .hg-modal.open .hg-modal-card,
    body.hg-modal-open .hg-modal.open button,
    body.hg-modal-open .hg-modal.open a,
    body.hg-modal-open .hg-modal.open input,
    body.hg-modal-open .hg-modal.open label {
      touch-action: manipulation;
    }
    .hg-auth-register-modal,
    .hg-register-modal--broker {
      width: min(520px, calc(100vw - 24px));
      max-height: min(90dvh, 780px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
    }
    .hg-register-modal__head {
      flex-shrink: 0;
      padding: 18px 20px 12px;
      margin: 0;
    }
    .hg-register-modal__scroll {
      flex: 1 1 auto;
      min-height: 120px;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      padding: 4px 20px 16px;
    }
    .hg-register-modal__foot {
      flex-shrink: 0;
      padding: 12px 20px max(16px, env(safe-area-inset-bottom, 16px));
      border-top: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.96);
    }
    .hg-register-modal--broker .hg-register-modal__foot .hg-btn-primary {
      width: 100%;
      margin: 0;
    }
    .hg-register-modal--broker {
      width: min(560px, calc(100vw - 24px));
      max-height: min(92dvh, 720px);
    }
    .hg-register-modal--broker .hg-register-modal__head {
      padding: 16px 18px 10px;
    }
    .hg-register-modal--broker .hg-register-modal__scroll {
      flex: 0 0 auto;
      overflow: visible;
      min-height: 0;
      padding: 0 18px 6px;
    }
    .hg-register-modal--broker .hg-broker-reg-fields {
      display: grid;
      gap: 8px;
    }
    @media (min-width: 520px) {
      .hg-register-modal--broker .hg-broker-reg-fields {
        grid-template-columns: 1fr 1fr;
      }
      .hg-register-modal--broker .hg-field--full {
        grid-column: 1 / -1;
      }
    }
    .hg-register-modal--broker .hg-field {
      margin-bottom: 0;
    }
    .hg-register-modal--broker .hg-auth-glass-modal .hg-input,
    .hg-register-modal--broker .hg-input {
      padding: 9px 11px;
      font-size: 14px;
    }
    .hg-register-modal--broker .hg-label {
      margin-bottom: 4px;
      font-size: 11px;
    }
    .hg-register-modal--broker .hg-register-modal__foot {
      padding: 10px 18px max(14px, env(safe-area-inset-bottom, 14px));
    }
    .hg-register-modal--broker .hg-register-modal__foot .hg-policy-row {
      margin: 0 0 10px;
      font-size: 10.5px;
      line-height: 1.4;
    }
    .hg-register-modal--broker .hg-register-modal__foot .hg-msg {
      margin: 8px 0 0;
      min-height: 16px;
      font-size: 12px;
    }
    .hg-auth-register-modal--broker-funnel {
      width: min(480px, calc(100vw - 24px));
      max-height: min(88dvh, 720px);
      padding: 0;
    }
    .hg-auth-register-modal--broker-funnel .hg-register-modal__head {
      padding: 20px 22px 14px;
    }
    .hg-auth-register-modal--broker-funnel .hg-auth-modal-head {
      margin-bottom: 4px;
    }
    .hg-auth-register-modal--broker-funnel .hg-reg-funnel-progress {
      margin: 0 22px 18px;
    }
    .hg-auth-register-modal--broker-funnel .hg-register-modal__scroll {
      flex: 1 1 auto;
      overflow-x: hidden;
      overflow-y: auto;
      min-height: 0;
      padding: 6px 22px 18px;
    }
    .hg-auth-register-modal--broker-funnel .hg-reg-funnel-body .hg-field {
      margin-bottom: 14px;
    }
    .hg-auth-register-modal--broker-funnel .hg-register-modal__foot {
      padding: 14px 22px max(18px, env(safe-area-inset-bottom, 18px));
    }
    .hg-auth-register-modal--broker-funnel.is-reg-step-0 .hg-register-modal__scroll {
      overflow-y: visible;
      padding-bottom: 22px;
    }
    .hg-auth-register-modal--broker-funnel.is-reg-step-0 {
      max-height: min(90dvh, 740px);
    }
    .hg-auth-register-modal--broker-funnel.is-reg-step-0 .hg-reg-funnel-progress,
    .hg-auth-register-modal--broker-funnel.is-reg-step-0 .hg-reg-funnel-nav {
      display: none;
    }
    .hg-auth-register-modal--broker-funnel.is-reg-step-0 .hg-broker-reg-start-btn {
      display: block;
      width: 100%;
      margin-top: 6px;
      min-height: 44px;
    }
    .hg-auth-register-modal--broker-funnel .hg-broker-reg-start-btn {
      display: none;
    }
    .hg-broker-reg-intro {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin: 0 0 18px;
    }
    .hg-broker-reg-intro .hg-reg-path-icon {
      width: 56px;
      height: 56px;
      flex-shrink: 0;
    }
    .hg-broker-reg-intro .hg-reg-path-icon svg {
      width: 52px;
      height: 52px;
    }
    .hg-broker-reg-intro .hg-reg-path-hint {
      margin: 0;
      flex: 1;
      min-width: 0;
      padding: 10px 12px;
      line-height: 1.55;
    }
    .hg-reg-path-icon--broker {
      border-color: rgba(255, 145, 29, 0.38);
      background: linear-gradient(145deg, rgba(255, 145, 29, 0.16) 0%, rgba(255, 255, 255, 0.96) 55%);
    }
    .hg-reg-broker-benefits {
      margin: 0 0 20px;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 12px;
    }
    .hg-reg-broker-benefits li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 12px;
      line-height: 1.45;
      color: #64748b;
    }
    .hg-reg-broker-benefits li::before {
      content: "✓";
      flex-shrink: 0;
      width: 18px;
      height: 18px;
      display: grid;
      place-items: center;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      color: #ff911d;
      background: rgba(255, 145, 29, 0.12);
      border: 1px solid rgba(255, 145, 29, 0.28);
    }
    .hg-modal--auth.open {
      align-items: center;
      justify-content: center;
      padding:
        max(20px, env(safe-area-inset-top, 16px))
        max(16px, env(safe-area-inset-right, 16px))
        max(20px, env(safe-area-inset-bottom, 16px))
        max(16px, env(safe-area-inset-left, 16px));
      overflow: hidden;
      overscroll-behavior: none;
      touch-action: none;
    }
    .hg-modal--auth.open .hg-register-modal__scroll,
    .hg-modal--auth.open .hg-modal-card {
      touch-action: pan-y;
    }
    .hg-modal--auth.open .hg-modal-card {
      max-height: min(88dvh, 720px);
      margin: auto;
      flex-shrink: 0;
      width: min(100%, 520px);
    }
    .hg-modal--auth.open .hg-auth-glass-modal--compact {
      width: min(480px, calc(100vw - 24px));
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
    }
    #ownerValuationLeaveModal.hg-modal--auth.open .hg-owner-valuation-leave-modal {
      max-height: min(88dvh, 520px);
    }
    .hg-auth-feedback-icon--email {
      background: linear-gradient(145deg, rgba(255, 145, 29, 0.22), rgba(46, 125, 50, 0.14));
      border-color: rgba(255, 145, 29, 0.35);
      color: #e67e17;
      font-size: 1.35rem;
    }
    #ownerPortalModule.hg-owner-verify--email-locked #ownerVerifyCard,
    #ownerPortalModule.hg-owner-verify--email-locked #ownerFirstValuationBanner,
    #ownerPortalModule.hg-owner-verify--email-locked #ownerFirstValuationCta {
      pointer-events: none;
      opacity: 0.55;
    }
    #ownerPortalModule.hg-owner-verify--email-locked #ownerVerifyCard::after {
      content: "Bitte bestätigen Sie zuerst Ihre E-Mail.";
      display: block;
      margin-top: 10px;
      padding: 10px 12px;
      border-radius: 10px;
      font-size: 0.88rem;
      line-height: 1.45;
      color: #92400e;
      background: rgba(255, 145, 29, 0.12);
      border: 1px solid rgba(255, 145, 29, 0.28);
    }
    #appSection.hg-app--email-locked > .hg-wrap > .hg-surface {
      display: none !important;
    }
    #appSection.hg-app--email-locked #ownerEmailPendingNotice:not(.hidden) {
      margin-bottom: 0;
    }
    .hg-owner-email-notice__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
      align-items: center;
    }
    .hg-owner-email-notice__actions .hg-msg {
      margin: 0;
      flex: 1 1 180px;
    }
    .hg-owner-email-notice {
      margin: 0 0 14px;
      padding: 16px 18px;
      border-radius: 14px;
      border: 1px solid rgba(255, 145, 29, 0.35);
      background: linear-gradient(135deg, rgba(255, 145, 29, 0.12), rgba(46, 125, 50, 0.08));
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    }
    .hg-owner-email-notice__kicker {
      margin: 0 0 4px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #e67e17;
    }
    .hg-owner-email-notice__title {
      margin: 0 0 6px;
      font-size: 1.05rem;
      font-weight: 700;
      color: #0f172a;
    }
    .hg-owner-email-notice__sub {
      margin: 0;
      font-size: 0.92rem;
      line-height: 1.5;
      color: #475569;
    }
    .hg-owner-email-notice__sub strong {
      color: #0f172a;
    }
    .hg-owner-email-notice--verified {
      border-color: rgba(46, 125, 50, 0.35);
      background: linear-gradient(135deg, rgba(46, 125, 50, 0.12), rgba(46, 125, 50, 0.05));
      box-shadow: 0 8px 28px rgba(46, 125, 50, 0.08);
    }
    .hg-owner-email-notice--verified .hg-owner-email-notice__kicker {
      color: #15803d;
    }
    .hg-owner-email-notice--verified .hg-owner-email-notice__title {
      color: #14532d;
    }
    .hg-owner-email-notice--error {
      border-color: rgba(239, 68, 68, 0.35);
      background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(255, 145, 29, 0.05));
    }
    .hg-owner-email-notice--error .hg-owner-email-notice__kicker {
      color: #dc2626;
    }
    .hg-owner-email-notice--error .hg-owner-email-notice__title {
      color: #991b1b;
    }
    .hg-owner-first-val-banner {
      margin: 0 0 14px;
      padding: 0;
      border: none;
      background: transparent;
    }
    .hg-owner-first-val-banner__inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 14px 18px;
      padding: 18px 20px;
      border-radius: 16px;
      border: 1px solid rgba(46, 125, 50, 0.28);
      background: linear-gradient(135deg, rgba(46, 125, 50, 0.1), rgba(255, 145, 29, 0.08));
      box-shadow: 0 10px 32px rgba(15, 23, 42, 0.07);
    }
    .hg-owner-first-val-banner__kicker {
      margin: 0 0 4px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #2e7d32;
    }
    .hg-owner-first-val-banner__title {
      margin: 0 0 6px;
      font-size: 1.08rem;
      font-weight: 700;
      color: #0f172a;
    }
    .hg-owner-first-val-banner__sub {
      margin: 0;
      max-width: 52ch;
      font-size: 0.9rem;
      line-height: 1.5;
      color: #475569;
    }
    #ownerFirstValuationCta {
      flex-shrink: 0;
      min-width: min(100%, 220px);
    }
    @media (max-width: 640px) {
      .hg-owner-first-val-banner__inner {
        flex-direction: column;
        align-items: stretch;
      }
      #ownerFirstValuationCta {
        width: 100%;
      }
    }
    .hg-auth-pane .hg-btn--reg-secondary .hg-btn-label-short {
      display: none;
    }
    .hg-auth-register-modal--funnel {
      width: min(480px, calc(100vw - 24px));
      max-height: min(90dvh, 680px);
    }
    .hg-auth-register-modal--funnel .hg-register-modal__head {
      padding-bottom: 8px;
    }
    .hg-auth-register-modal--funnel .hg-auth-modal-head {
      margin-bottom: 10px;
    }
    .hg-auth-register-modal--funnel .hg-section-title {
      font-size: 19px;
    }
    .hg-auth-register-modal--funnel .hg-sub {
      font-size: 13px;
      margin-top: 4px;
    }
    .hg-reg-funnel-kicker {
      margin: 0 0 4px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-reg-funnel-progress {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 14px;
    }
    .hg-reg-funnel-dot {
      flex: 1;
      height: 4px;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.1);
      transition: background 0.2s ease;
    }
    .hg-reg-funnel-dot.is-active,
    .hg-reg-funnel-dot.is-done {
      background: linear-gradient(90deg, #ff911d, #ff7e30);
    }
    .hg-reg-funnel-body {
      margin: 0;
      padding: 0;
    }
    .hg-reg-funnel-step {
      display: none;
    }
    .hg-reg-funnel-step.is-active {
      display: block;
      animation: hgRegStepIn 0.28s ease both;
    }
    @keyframes hgRegStepIn {
      from { opacity: 0; transform: translateX(10px); }
      to { opacity: 1; transform: translateX(0); }
    }
    .hg-auth-register-modal--funnel .hg-field {
      margin-bottom: 10px;
    }
    .hg-auth-register-modal--funnel .hg-input {
      padding: 10px 12px;
      font-size: 14px;
    }
    .hg-auth-register-modal--funnel .hg-policy-row {
      margin: 4px 0 0;
      font-size: 11px;
    }
    .hg-reg-funnel-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(15, 23, 42, 0.08);
    }
    .hg-reg-funnel-nav .hg-btn-primary {
      flex: 1;
      margin-top: 0;
      min-height: 42px;
    }
    .hg-reg-funnel-nav .hg-btn-ghost {
      flex-shrink: 0;
      min-height: 42px;
      padding: 10px 14px;
    }
    .hg-reg-path-hint {
      margin: 0 0 12px;
      padding: 8px 10px;
      border-radius: 10px;
      font-size: 11.5px;
      line-height: 1.5;
      color: #64748b;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.07);
    }
    .hg-reg-path-choices {
      display: grid;
      gap: 10px;
    }
    .hg-reg-path-choice {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 12px 14px;
      border-radius: 16px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 100%);
      text-align: left;
      cursor: pointer;
      font: inherit;
      color: inherit;
      appearance: none;
      -webkit-appearance: none;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 8px 22px rgba(16, 24, 40, 0.06);
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;
    }
    .hg-reg-path-icon {
      flex-shrink: 0;
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.92);
      background: rgba(255, 255, 255, 0.88);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
    }
    .hg-reg-path-icon svg {
      display: block;
      width: 48px;
      height: 48px;
    }
    .hg-reg-path-icon--code {
      border-color: rgba(58, 98, 227, 0.28);
      background: linear-gradient(145deg, rgba(58, 98, 227, 0.12) 0%, rgba(255, 255, 255, 0.95) 55%);
    }
    .hg-reg-path-icon--nocode {
      border-color: rgba(124, 58, 237, 0.26);
      background: linear-gradient(145deg, rgba(124, 58, 237, 0.1) 0%, rgba(255, 255, 255, 0.95) 55%);
    }
    .hg-reg-path-icon--valuation {
      border-color: rgba(255, 145, 29, 0.35);
      background: linear-gradient(145deg, rgba(255, 145, 29, 0.14) 0%, rgba(255, 255, 255, 0.95) 55%);
    }
    .hg-reg-path-copy {
      display: grid;
      gap: 3px;
      flex: 1;
      min-width: 0;
    }
    .hg-reg-path-choice.is-selected {
      border-color: rgba(255, 145, 29, 0.65);
      background: linear-gradient(180deg, rgba(255, 252, 247, 0.98) 0%, rgba(255, 244, 232, 0.92) 100%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 0 0 3px rgba(255, 145, 29, 0.14),
        0 10px 26px rgba(255, 145, 29, 0.12);
      transform: translateY(-1px);
    }
    .hg-reg-path-choice.is-selected .hg-reg-path-icon {
      border-color: rgba(255, 145, 29, 0.45);
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.1);
    }
    .hg-reg-path-choice strong {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .hg-reg-path-choice .hg-reg-path-desc {
      font-size: 12px;
      line-height: 1.4;
      color: #64748b;
    }
    .hg-reg-path-choice:hover {
      border-color: rgba(255, 145, 29, 0.45);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 12px 28px rgba(15, 23, 42, 0.08);
    }
    .hg-reg-path-choice:focus-visible {
      outline: 2px solid rgba(255, 145, 29, 0.55);
      outline-offset: 2px;
    }
    .hg-auth-register-modal--funnel.is-reg-step-0 .hg-register-modal__scroll {
      overflow-y: visible;
    }
    .hg-auth-register-modal--funnel.is-reg-step-0 {
      width: min(520px, calc(100vw - 24px));
      max-height: min(94dvh, 720px);
    }
    .hg-auth-register-modal--funnel.is-reg-step-0 .hg-reg-funnel-progress,
    .hg-auth-register-modal--funnel.is-reg-step-0 .hg-reg-funnel-nav {
      display: none;
    }
    .hg-auth-register-modal--funnel #ownerRegisterMsg {
      min-height: 18px;
      margin: 8px 0 0;
      font-size: 12px;
    }
    .hg-reg-funnel-head .hg-btn-ghost {
      padding: 8px 10px;
      font-size: 12px;
    }
    .hg-auth-register-modal .hg-btn-primary {
      width: 100%;
      margin-top: 6px;
    }
    .hg-auth-register-modal .hg-policy-row {
      margin: 12px 0 14px;
    }
    .hg-auth-glass-modal--compact {
      width: min(480px, 100%);
    }
    .hg-auth-glass-modal .hg-auth-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 16px;
    }
    .hg-auth-glass-modal .hg-auth-modal-head .hg-sub {
      margin: 6px 0 0;
      font-size: 14px;
      line-height: 1.45;
      color: #475569;
    }
    .hg-auth-glass-modal .hg-label {
      color: #334155;
      font-weight: 700;
      font-size: 13px;
    }
    .hg-auth-glass-modal .hg-btn-primary.hg-btn--compact {
      width: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 11px 20px;
      font-size: 14px;
      min-height: 44px;
    }
    .hg-auth-glass-modal .hg-auth-action-row {
      margin-top: 4px;
    }
    .hg-auth-feedback-icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      font-size: 22px;
      margin-bottom: 12px;
      background: rgba(39, 179, 106, 0.12);
      border: 1px solid rgba(39, 179, 106, 0.28);
      color: #166534;
    }
    .hg-auth-glass-modal .hg-btn-ghost {
      background: #fff;
      border: 1px solid #c5d0df;
      color: #334155;
      flex-shrink: 0;
    }
    .hg-auth-forgot-row {
      margin-top: 12px;
    }
    .hg-policy-row {
      display: flex;
      gap: 9px;
      align-items: flex-start;
      font-size: 12px;
      color: #334155;
      line-height: 1.45;
      margin: 10px 0 12px;
    }
    .hg-policy-row input {
      margin-top: 3px;
      accent-color: #3a62e3;
    }
    .hg-policy-row a {
      color: #1d4ed8;
      text-decoration: none;
      font-weight: 600;
    }
    .hg-policy-row a:hover { text-decoration: underline; }
    .hg-briefing-box {
      margin-top: 16px;
      border: 1px solid #d5deea;
      border-radius: 12px;
      padding: 16px;
      background: #f8fafc;
    }
    .hg-briefing-box h4 {
      margin: 0 0 6px;
      color: #0f172a;
      font-size: 14px;
    }
    .hg-briefing-box p {
      margin: 0 0 10px;
      color: #334155;
      font-size: 12px;
      line-height: 1.45;
    }

    .hg-kicker {
      margin: 0 0 6px;
      color: var(--hg-accent);
      letter-spacing: 0.06em;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }
    .hg-title {
      margin: 0;
      color: #0f172a;
      font-size: clamp(24px, 3vw, 34px);
      line-height: 1.12;
      letter-spacing: -0.02em;
      font-weight: 700;
    }
    .hg-sub {
      margin: 8px 0 14px;
      color: #1f2937;
      font-size: 14px;
      font-weight: 500;
    }

    .hg-field { margin-bottom: 12px; }
    .hg-label {
      display: block;
      margin-bottom: 6px;
      font-size: 12px;
      font-weight: 700;
      color: #1e293b;
    }
    .hg-input, .hg-select, .hg-textarea {
      width: 100%;
      border: 1px solid #d0dae8;
      border-radius: 10px;
      background: #fff;
      color: #0f172a;
      font-size: 16px;
      padding: 10px 12px;
      outline: none;
    }
    .hg-select {
      appearance: none;
      -webkit-appearance: none;
      padding-right: 38px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      background-size: 14px 14px;
      cursor: pointer;
    }
    .hg-input:focus, .hg-select:focus, .hg-textarea:focus {
      border-color: rgba(255, 145, 29, 0.75);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.16);
    }
    .hg-input::placeholder, .hg-textarea::placeholder {
      color: #475569;
      opacity: 1;
    }
    .hg-textarea { min-height: 74px; resize: vertical; }

    .hg-btn {
      border: 1px solid transparent;
      border-radius: 10px;
      padding: 10px 12px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      transition: 0.15s ease;
      -webkit-tap-highlight-color: transparent;
    }
    .hg-btn:hover { transform: translateY(-1px); }
    .hg-btn-primary {
      background: var(--hg-accent);
      color: #fff;
      box-shadow: 0 8px 18px rgba(255, 145, 29, 0.28);
    }
    .hg-btn-ghost {
      background: #fff;
      color: #1e293b;
      border-color: #cfd9e8;
    }
    .hg-btn-primary:hover,
    .hg-btn-primary:focus-visible {
      background: #f08312 !important;
      border-color: #f08312 !important;
      color: #fff !important;
      outline: none;
    }
    .hg-btn-primary:active {
      background: #e07710 !important;
      border-color: #e07710 !important;
      color: #fff !important;
      outline: none;
    }
    .hg-btn-ghost:hover,
    .hg-btn-ghost:focus-visible,
    .hg-btn-ghost:active {
      background: #f1f5f9 !important;
      border-color: #cbd5e1 !important;
      color: #1e293b !important;
      outline: none;
    }

    .hg-inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

    /* Login: SMS-Verifizierung (Eigentümer) */
    .hg-sms-login-strip {
      margin-top: 20px;
      padding: 16px;
      border-radius: 12px;
      border: 1px solid #d5deea;
      background: #f8fafc;
    }
    .hg-sms-login-strip__head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 12px;
      margin-bottom: 8px;
    }
    .hg-sms-login-strip__badge {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #3a62e3;
      background: #fff;
      border: 1px solid #c5d0df;
      padding: 4px 10px;
      border-radius: 6px;
    }
    .hg-sms-login-strip__title {
      font-size: 14px;
      font-weight: 650;
      color: #0f172a;
    }
    .hg-sms-login-strip__sub {
      margin: 0 0 12px;
      font-size: 12px;
      line-height: 1.45;
      color: #475569;
    }
    .hg-sms-login-strip__controls {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }
    .hg-sms-login-strip__input {
      flex: 1;
      min-width: 220px;
      border: 1px solid #c5d0df;
      background: #fff;
    }
    .hg-auth-msg-above-sms {
      margin: 12px 0 0;
      min-height: 0;
    }
    .hg-auth-msg-above-sms:not(:empty) {
      margin-bottom: 2px;
    }
    @media (max-width: 900px) {
      body:has(#authSection:not(.hidden)) .hg-auth-pane > form > .hg-inline:first-of-type {
        flex-direction: column;
        align-items: stretch;
      }
      body:has(#authSection:not(.hidden)) .hg-auth-pane > form > .hg-inline:first-of-type .hg-btn {
        width: 100%;
        justify-content: center;
      }
    }
    @media (max-width: 480px) {
      .hg-auth-card {
        padding: 0 20px 22px;
      }
      .hg-auth-brand {
        margin: 0 -20px 22px;
        padding: 26px 20px 24px;
      }
      .hg-auth-pane .hg-inline {
        flex-direction: column;
        align-items: stretch;
      }
      .hg-auth-pane .hg-inline .hg-btn {
        width: 100%;
        justify-content: center;
      }
      .hg-auth-pane .hg-btn--reg-secondary {
        min-height: 40px;
        padding: 8px 12px;
        font-size: 13px;
        font-weight: 600;
      }
      .hg-auth-pane .hg-btn--reg-secondary .hg-btn-label-long {
        display: none;
      }
      .hg-auth-pane .hg-btn--reg-secondary .hg-btn-label-short {
        display: inline;
      }
      .hg-auth-register-modal--broker-funnel .hg-section-title {
        font-size: 18px;
      }
      .hg-auth-register-modal--broker-funnel .hg-sub {
        font-size: 12.5px;
      }
      .hg-reg-path-icon {
        width: 46px;
        height: 46px;
      }
      .hg-reg-path-icon svg {
        width: 42px;
        height: 42px;
      }
      .hg-sms-login-strip__controls {
        flex-direction: column;
        align-items: stretch;
      }
      .hg-sms-login-strip__controls .hg-btn {
        width: 100%;
      }
      #ownerRegisterModal .hg-register-modal__head.hg-reg-funnel-head {
        position: relative;
        display: block;
        padding: 12px 14px 6px;
        margin-bottom: 2px;
      }
      #ownerRegisterModal .hg-register-modal__head.hg-reg-funnel-head > div:first-child {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-right: 44px;
      }
      #ownerRegisterModal .hg-reg-modal-close {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 3;
        width: 36px;
        height: 36px;
        min-height: 36px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        border: 1px solid rgba(15, 23, 42, 0.2);
        background: rgba(255, 255, 255, 0.96);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.92) inset,
          0 2px 8px rgba(15, 23, 42, 0.08);
        font-size: 22px;
        font-weight: 400;
        line-height: 1;
        color: #334155;
      }
      #ownerRegisterModal .hg-reg-modal-close:hover {
        border-color: rgba(255, 145, 29, 0.45);
        background: #fff;
        color: #0f172a;
      }
      #ownerRegisterModal .hg-reg-modal-close:focus-visible {
        outline: 2px solid rgba(255, 145, 29, 0.55);
        outline-offset: 2px;
      }
      #ownerRegisterModal #ownerRegStepSub {
        width: 100%;
        max-width: 100%;
        display: block;
        margin-top: 4px;
        margin-bottom: 0;
        padding-right: 0;
        line-height: 1.45;
      }
      #ownerRegisterModal .hg-auth-register-modal--funnel .hg-auth-modal-head {
        margin-bottom: 0;
      }
      #ownerRegisterModal .hg-register-modal__scroll {
        padding-top: 0;
      }
      #ownerRegisterModal .hg-reg-path-hint {
        margin-top: 4px;
        margin-bottom: 10px;
      }
    }
    .hg-msg { min-height: 16px; font-size: 12px; font-weight: 700; color: #334155; }
    .hg-msg.error { color: #b91c1c; }
    .hg-msg.ok { color: #166534; }
    .hg-msg.info { color: #475569; }

    .hg-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .hg-role-chip {
      display: inline-flex;
      align-items: center;
      height: 26px;
      padding: 0 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: #334155;
      border: 1px solid rgba(170, 184, 204, 0.9);
      background: #f1f5f9;
    }
    .hg-role-chip.admin { color: #166534; border-color: rgba(39,179,106,.34); background: rgba(39,179,106,.12); }
    .hg-role-chip.broker { color: #1d4ed8; border-color: rgba(58,98,227,.34); background: rgba(58,98,227,.12); }
    .hg-role-chip.owner { color: #7c3aed; border-color: rgba(124,58,237,.34); background: rgba(124,58,237,.12); }

    .hg-maint-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid #d9e2ef;
      background: #f8fafc;
      margin-bottom: 12px;
    }
    .hg-maint-toggle strong { display: block; font-size: 14px; color: #0f172a; }
    .hg-maint-toggle span { display: block; font-size: 12px; color: #64748b; margin-top: 4px; }
    .hg-maint-switch {
      position: relative;
      width: 48px;
      height: 28px;
      flex: 0 0 auto;
    }
    .hg-maint-switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }
    .hg-maint-switch__track {
      position: absolute;
      inset: 0;
      border-radius: 999px;
      background: #cbd5e1;
      transition: background .2s ease;
      cursor: pointer;
    }
    .hg-maint-switch__track::after {
      content: "";
      position: absolute;
      top: 3px;
      left: 3px;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
      transition: transform .2s ease;
    }
    .hg-maint-switch input:checked + .hg-maint-switch__track {
      background: #ff911d;
    }
    .hg-maint-switch input:checked + .hg-maint-switch__track::after {
      transform: translateX(20px);
    }

    .hg-tabs { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
    .hg-tab {
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid #d0dae8;
      background: #fff;
      cursor: pointer;
      font-weight: 700;
      font-size: 12px;
      color: #334155;
    }
    .hg-tab.active {
      border-color: rgba(255,145,29,.6);
      color: #b45309;
      background: rgba(255,145,29,.12);
    }

    .hg-toolbar {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) auto auto auto auto;
      gap: 8px;
      align-items: center;
      margin-bottom: 8px;
    }

    .hg-table-wrap { overflow: auto; border: 1px solid #d9e2ef; border-radius: 12px; background: #fff; max-height: 68vh; }
    table { width: 100%; border-collapse: collapse; min-width: 1800px; }
    th, td {
      padding: 9px;
      border-bottom: 1px solid #edf2f8;
      text-align: left;
      font-size: 12px;
      color: #0f172a;
      vertical-align: top;
    }
    th {
      font-size: 11px;
      text-transform: uppercase;
      color: #334155;
      background: #f8fafc;
      position: sticky;
      top: 0;
      z-index: 1;
    }
    #tableContainer.hg-table-mode table { min-width: 2300px; }
    #tableContainer.hg-table-mode th,
    #tableContainer.hg-table-mode td {
      padding: 6px 7px;
      font-size: 10px;
      line-height: 1.2;
      white-space: nowrap;
    }
    #tableContainer.hg-table-mode .hg-cell-value { font-size: 10px; font-weight: 600; }
    #tableContainer.hg-table-mode .hg-cell-comment {
      margin-top: 3px;
      padding: 4px 5px;
      min-height: 22px;
      font-size: 10px;
    }
    #tableContainer.hg-table-mode tr > th:first-child,
    #tableContainer.hg-table-mode tr > td:first-child {
      position: sticky;
      left: 0;
      z-index: 2;
      background: #ffffff;
      box-shadow: 1px 0 0 rgba(217, 226, 239, 0.9);
    }
    #tableContainer.hg-table-mode thead tr > th:first-child {
      z-index: 4;
      background: #f8fafc;
    }
    #tableContainer.hg-table-mode .hg-filter-row > th:first-child {
      z-index: 4;
      background: #f8fafc;
    }
    #tableContainer.hg-table-mode .hg-filter-row { display: none; }
    .hg-filter-row input, .hg-filter-row select {
      width: 100%;
      border: 1px solid #d4deea;
      border-radius: 8px;
      padding: 6px 8px;
      font-size: 11px;
      color: #0f172a;
      background: #fff;
    }

    .hg-cell-value { font-weight: 700; color: #0f172a; }
    .hg-cell-comment {
      margin-top: 4px;
      padding: 6px;
      width: 100%;
      border: 1px solid #d6deea;
      border-radius: 8px;
      font-size: 11px;
      color: #334155;
      min-height: 28px;
    }
    .hg-cell-comment.readonly {
      background: #f8fafc;
      color: #334155;
    }

    .hg-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    .hg-lead-card {
      position: relative;
      border: 1px solid var(--hg-glass-border);
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 100%);
      padding: 0;
      box-shadow: var(--hg-panel-shadow);
      backdrop-filter: blur(16px) saturate(150%);
      -webkit-backdrop-filter: blur(16px) saturate(150%);
      overflow: hidden;
      transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    }
    .hg-lead-card:hover {
      transform: translateY(-1px);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 16px 38px rgba(16, 24, 40, 0.1);
    }
    .hg-lead-card::before {
      display: none;
    }
    .hg-lead-card:not(.hg-broker-lead-card) {
      padding: 11px;
    }
    .hg-broker-lead-card {
      position: relative;
      cursor: pointer;
      transition:
        transform 0.32s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.28s ease;
    }
    .hg-broker-lead-card:hover {
      transform: translateY(-3px);
      border-color: rgba(15, 23, 42, 0.14);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 20px 48px rgba(15, 23, 42, 0.1);
    }
    .hg-broker-lead-card:active {
      transform: translateY(-1px);
    }
    #leadsModule.hg-broker-leads .hg-broker-lead-card {
      animation: hg-broker-card-in 0.48s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    #leadsModule.hg-broker-leads .hg-broker-lead-card:nth-child(2) { animation-delay: 0.04s; }
    #leadsModule.hg-broker-leads .hg-broker-lead-card:nth-child(3) { animation-delay: 0.08s; }
    #leadsModule.hg-broker-leads .hg-broker-lead-card:nth-child(4) { animation-delay: 0.12s; }
    #leadsModule.hg-broker-leads .hg-broker-lead-card:nth-child(n+5) { animation-delay: 0.14s; }
    .hg-broker-lead-card--append {
      animation: hg-broker-card-in 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    @keyframes hg-broker-card-in {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .hg-broker-lead-card:focus-visible {
      outline: 2px solid rgba(15, 23, 42, 0.22);
      outline-offset: 2px;
    }
    .hg-broker-lead-card__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 16px 10px;
      border-bottom: none;
      background: transparent;
    }
    .hg-broker-lead-card__identity {
      flex: 1;
      min-width: 0;
    }
    .hg-broker-lead-card__identity .hg-name {
      margin: 0;
      line-height: 1.25;
    }
    .hg-broker-lead-card__mail {
      margin: 0 0 8px !important;
      font-size: 12px;
      color: #334155;
      word-break: break-all;
    }
    .hg-broker-lead-card__metric-wrap {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .hg-broker-lead-card__metric {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-height: 52px;
      padding: 8px 12px;
      border-radius: 10px;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.06);
    }
    .hg-broker-lead-card__metric .k {
      display: block;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 4px;
      text-align: center;
    }
    .hg-broker-lead-card__metric .v {
      font-size: 1.05rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      color: #0f172a;
      line-height: 1.15;
      font-variant-numeric: tabular-nums;
      text-align: center;
    }
    .hg-broker-lead-card__chips {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
      padding: 0 16px 10px;
    }
    .hg-broker-lead-card__value {
      display: none;
    }
    .hg-broker-lead-card__body {
      padding: 0 16px 16px;
    }
    .hg-broker-lead-card .hg-kv {
      border: none;
      border-radius: 0;
      background: transparent;
      margin: 0;
      padding: 0;
    }
    .hg-broker-lead-card .hg-kv li {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 7px 0;
      font-size: 12px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    }
    .hg-broker-lead-card .hg-kv li:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .hg-broker-lead-card .hg-kv li b {
      font-weight: 500;
      color: #64748b;
    }
    .hg-broker-lead-card .hg-kv li span {
      font-weight: 600;
      color: #0f172a;
      text-align: right;
    }
    .hg-broker-lead-card .hg-meta {
      font-size: 11.5px;
      color: #64748b;
      margin: 0 0 8px !important;
    }
    .hg-broker-lead-card .hg-actions {
      margin-top: 14px;
      padding-top: 0;
    }
    .hg-broker-lead-card .hg-actions .hg-btn {
      width: 100%;
      justify-content: center;
      min-height: 38px;
      border-radius: 11px;
      font-weight: 600;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .hg-broker-lead-card .hg-actions .hg-btn:hover {
      transform: translateY(-1px);
    }
    .hg-card-top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 8px;
      margin-bottom: 6px;
      padding: 11px;
    }
    .hg-broker-lead-card .hg-card-top {
      margin: 0;
      padding: 0;
      flex: 1;
      min-width: 0;
    }
    .hg-actions { margin-top: 14px; padding-top: 4px; }
    .hg-select-card {
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
      background: rgba(255,255,255,.95);
      border: 1px solid #d9e2ef;
      border-radius: 999px;
      padding: 4px 8px;
      font-size: 11px;
      color: #334155;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .hg-select-card input { accent-color: #ff911d; }
    .hg-csv-export-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px 14px;
      margin-bottom: 12px;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255, 145, 29, 0.35);
      background: linear-gradient(135deg, rgba(255, 247, 237, 0.95) 0%, rgba(255, 255, 255, 0.92) 100%);
      box-shadow: 0 8px 24px rgba(255, 145, 29, 0.08);
    }
    .hg-csv-export-bar__text {
      display: flex;
      flex-direction: column;
      gap: 2px;
      font-size: 12px;
      color: #475569;
      min-width: 0;
    }
    .hg-csv-export-bar__text strong {
      font-size: 13px;
      color: #0f172a;
    }
    .hg-csv-export-bar__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }
    .hg-csv-export-bar__count {
      font-size: 12px;
      font-weight: 600;
      color: #c2410c;
      margin-right: 4px;
    }
    #leadsModule.hg-broker-leads.csv-selection-mode .hg-broker-lead-card {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 0;
      align-items: stretch;
      animation: none;
    }
    #leadsModule.hg-broker-leads.csv-selection-mode .hg-broker-lead-card__select {
      display: flex;
      align-items: center;
      justify-content: center;
      border-right: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(248, 250, 252, 0.9);
      border-radius: 12px 0 0 12px;
    }
    #leadsModule.hg-broker-leads.csv-selection-mode .hg-broker-lead-card__select input {
      width: 18px;
      height: 18px;
      accent-color: #ff911d;
      cursor: pointer;
    }
    #leadsModule.hg-broker-leads.csv-selection-mode .hg-broker-lead-card__inner {
      min-width: 0;
    }
    #leadsModule.hg-broker-leads.csv-selection-mode .hg-broker-lead-card.is-csv-selected {
      outline: 2px solid rgba(255, 145, 29, 0.55);
      outline-offset: -1px;
    }
    .hg-load-more-wrap {
      display: flex;
      justify-content: center;
      margin-top: 16px;
      padding-bottom: 8px;
    }
    .hg-btn-load-more {
      min-width: 200px;
      border-radius: 999px;
      padding: 10px 22px;
      border: 1px solid rgba(255, 255, 255, 0.65);
      background: rgba(255, 255, 255, 0.45);
      backdrop-filter: blur(12px) saturate(160%);
      -webkit-backdrop-filter: blur(12px) saturate(160%);
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
      font-weight: 600;
      color: #334155;
    }
    .hg-btn-load-more:hover {
      background: rgba(255, 255, 255, 0.72);
      border-color: rgba(255, 145, 29, 0.35);
      color: #c2410c;
    }
    .hg-result-box {
      margin-top: 8px;
      border: 1px solid #e5edf7;
      border-radius: 10px;
      padding: 8px;
      background: #f8fafc;
      font-size: 12px;
      color: #334155;
    }
    .hg-chat-thread {
      border: 1px solid #e5edf7;
      border-radius: 10px;
      background: #fff;
      max-height: 220px;
      overflow: auto;
      padding: 8px;
      margin-top: 8px;
    }
    .hg-chat-panel {
      display: grid;
      gap: 10px;
    }
    .hg-chat-panel--broker .hg-chat-thread {
      max-height: 360px;
      margin-top: 0;
      padding: 14px 12px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.07);
      background:
        radial-gradient(120% 80% at 50% 0%, rgba(255, 255, 255, 0.9) 0%, transparent 55%),
        rgba(248, 250, 252, 0.85);
      scroll-behavior: smooth;
    }
    .hg-chat-messages {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .hg-chat-item {
      display: flex;
      align-items: flex-end;
      gap: 8px;
      max-width: 100%;
    }
    .hg-chat-item.is-mine {
      flex-direction: row-reverse;
    }
    .hg-chat-avatar {
      flex-shrink: 0;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: #fff;
      background: linear-gradient(145deg, #64748b, #334155);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
    }
    .hg-chat-item.is-mine .hg-chat-avatar {
      background: linear-gradient(145deg, #ff911d, #ea580c);
    }
    .hg-chat-item.is-other.hg-chat-item--admin .hg-chat-avatar {
      background: linear-gradient(145deg, #3a62e3, #2640a8);
    }
    .hg-chat-bubble {
      max-width: min(78%, 420px);
      padding: 10px 12px;
      border-radius: 14px;
      font-size: 13px;
      line-height: 1.5;
      color: #0f172a;
      border: 1px solid rgba(15, 23, 42, 0.07);
      background: #fff;
      box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
      transition: transform 0.2s ease;
    }
    .hg-chat-bubble.is-mine,
    .hg-chat-item.is-mine .hg-chat-bubble {
      border-color: rgba(255, 145, 29, 0.22);
      background: linear-gradient(165deg, #fffaf5 0%, #fff4e8 100%);
      border-bottom-right-radius: 4px;
    }
    .hg-chat-item.is-other .hg-chat-bubble {
      border-bottom-left-radius: 4px;
    }
    .hg-chat-item.is-other.hg-chat-item--admin .hg-chat-bubble {
      border-color: rgba(58, 98, 227, 0.18);
      background: linear-gradient(165deg, #fafbff 0%, #f0f4ff 100%);
    }
    .hg-chat-bubble__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 4px;
    }
    .hg-chat-bubble__author {
      font-size: 11px;
      font-weight: 700;
      color: #334155;
      letter-spacing: -0.01em;
    }
    .hg-chat-bubble__time {
      font-size: 10px;
      color: #94a3b8;
      white-space: nowrap;
    }
    .hg-chat-bubble__text {
      margin: 0;
      white-space: pre-wrap;
      word-break: break-word;
    }
    .hg-chat-empty {
      padding: 28px 16px;
      text-align: center;
      border-radius: 12px;
      border: 1px dashed rgba(15, 23, 42, 0.12);
      background: rgba(255, 255, 255, 0.65);
    }
    .hg-chat-empty__title {
      margin: 0 0 4px;
      font-size: 13px;
      font-weight: 700;
      color: #334155;
    }
    .hg-chat-empty__hint {
      margin: 0;
      font-size: 12px;
      color: #64748b;
    }
    .hg-chat-composer {
      display: grid;
      gap: 8px;
    }
    .hg-chat-composer--broker {
      padding: 10px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
    }
    .hg-chat-composer--broker .hg-textarea {
      min-height: 44px;
      max-height: 120px;
      resize: none;
      border: none;
      background: transparent;
      padding: 4px 6px;
      font-size: 13px;
      line-height: 1.45;
      box-shadow: none;
    }
    .hg-chat-composer--broker .hg-textarea:focus {
      outline: none;
      box-shadow: none;
    }
    .hg-chat-composer .hg-textarea {
      min-height: 72px;
      resize: vertical;
    }
    .hg-chat-composer__actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }
    .hg-chat-composer__actions .hg-btn-primary {
      min-width: 96px;
      min-height: 36px;
      border-radius: 10px;
    }
    .hg-chat-composer__hint {
      font-size: 11px;
      color: #94a3b8;
    }
    .hg-chat-msg {
      padding: 7px 8px;
      border-radius: 8px;
      margin-bottom: 6px;
      font-size: 12px;
      line-height: 1.35;
      background: #f8fafc;
      color: #334155;
    }
    .hg-chat-msg.admin {
      background: rgba(58,98,227,.1);
      border: 1px solid rgba(58,98,227,.2);
    }
    .hg-chat-msg.broker {
      background: rgba(255,145,29,.12);
      border: 1px solid rgba(255,145,29,.3);
    }
    .hg-chat-msg .meta {
      display: block;
      font-size: 11px;
      color: #64748b;
      margin-bottom: 2px;
    }
    .hg-name { margin: 0; font-size: 15px; font-weight: 700; color: #0f172a; }
    .hg-mail { margin-top: 2px; font-size: 12px; color: #334155; word-break: break-all; }
    .hg-meta { font-size: 12px; color: #334155; margin: 0 0 8px; }

    .hg-status {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: 4px 8px;
      font-size: 11px;
      font-weight: 700;
      border: 1px solid #cfd9e8;
      background: #e2e8f0;
      color: #1f2937;
    }
    .hg-status.neu { color: #166534; background: rgba(39,179,106,.14); border-color: rgba(39,179,106,.34); }
    .hg-status.kontakt { color: #92400e; background: rgba(229,178,19,.16); border-color: rgba(229,178,19,.36); }
    .hg-status.termin { color: #1d4ed8; background: rgba(58,98,227,.14); border-color: rgba(58,98,227,.35); }
    .hg-status.abgeschlossen { color: #991b1b; background: rgba(209,67,67,.14); border-color: rgba(209,67,67,.35); }
    .hg-status.new-comment { color: #166534; background: rgba(39,179,106,.2); border-color: rgba(39,179,106,.45); }

    .hg-kv { list-style: none; margin: 0; padding: 0; border: 1px solid #e5edf7; border-radius: 9px; overflow: hidden; }
    .hg-kv li {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 8px;
      padding: 6px 8px;
      border-bottom: 1px solid #edf2f8;
      font-size: 12px;
      color: #0f172a;
    }
    .hg-kv li:last-child { border-bottom: 0; }
    .hg-kv b { color: #334155; font-weight: 700; }
    .hg-kv.hg-kv-modal li {
      grid-template-columns: 172px 1fr;
      gap: 16px;
      padding: 7px 10px;
    }
    .hg-kv.hg-kv-modal li b,
    .hg-kv.hg-kv-modal li span {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
    }
    .hg-kv.hg-kv-modal li b {
      background: rgba(255, 145, 29, 0.12);
      border: 1px solid rgba(255, 145, 29, 0.28);
      border-radius: 6px;
      padding: 3px 8px;
      color: #9a4d00;
      align-self: start;
    }

    .hg-owner-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 10px;
    }
    .hg-widget {
      border: 1px solid var(--hg-glass-border);
      border-radius: 16px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 100%);
      padding: 14px;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 8px 22px rgba(16, 24, 40, 0.07);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }
    .hg-widget:hover {
      transform: translateY(-1px);
      border-color: rgba(58, 98, 227, 0.22);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 12px 28px rgba(16, 24, 40, 0.1);
    }
    .hg-widget .k { font-size: 12px; color: #334155; margin-bottom: 6px; font-weight: 700; }
    .hg-widget .v { font-size: 28px; font-weight: 700; color: #0f172a; letter-spacing: -0.02em; }
    #ownerValueRange {
      font-size: 16px;
      line-height: 1.3;
      font-weight: 700;
      white-space: normal;
    }
    #ownerDataQuality {
      font-size: 16px;
      line-height: 1.3;
      font-weight: 700;
      white-space: normal;
      letter-spacing: -0.01em;
    }

    .hg-chart-card {
      border: 1px solid var(--hg-glass-border);
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.72) 100%);
      padding: 12px;
      box-shadow: var(--hg-panel-shadow);
      backdrop-filter: blur(14px) saturate(145%);
      -webkit-backdrop-filter: blur(14px) saturate(145%);
    }
    .hg-section-title { margin: 0 0 8px; font-size: 16px; color: #0f172a; }
    .hg-owner-handout {
      display: grid;
      gap: 10px;
    }
    .hg-owner-headline {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--hg-glass-border);
      border-radius: 20px;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.72) 100%);
      padding: 14px;
      box-shadow: var(--hg-panel-shadow);
      backdrop-filter: blur(16px) saturate(150%);
      -webkit-backdrop-filter: blur(16px) saturate(150%);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }
    .hg-owner-headline:hover {
      transform: translateY(-1px);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 16px 40px rgba(16, 24, 40, 0.11);
    }
    .hg-owner-headline .top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }
    .hg-owner-handout-pdf-btn {
      flex-shrink: 0;
      border-radius: 999px;
      font-weight: 600;
      font-size: 13px;
      padding: 8px 14px;
    }
    @media print {
      body.hg-dashboard-chrome > *:not(#appSection),
      #appSection .hg-header,
      #ownerVerifyCard,
      #ownerInsightsPdfCard,
      .hg-owner-handout-pdf-btn,
      .hg-owner-insight-split,
      #ownerDashboardArticlesMount {
        display: none !important;
      }
      #appSection,
      #ownerPortalModule,
      #ownerHandoutPrintRoot {
        display: block !important;
      }
      #ownerHandoutPrintRoot {
        box-shadow: none;
        border: none;
        background: #fff;
      }
    }
    .hg-owner-headline .meta {
      color: #334155;
      font-size: 12px;
      margin-top: 6px;
      line-height: 1.45;
    }
    .hg-owner-headline .owner-address-stand {
      white-space: nowrap;
      color: #64748b;
    }
    .hg-owner-headline .hg-owner-grid { margin-top: 12px; }

    /** Modellkern: strukturelle Boden-/Gebäudezerlegung + Teilfaktoren (über den KPIs kurz zusammengefasst). */
    .hg-owner-lb-strip {
      margin: -2px 0 14px;
      padding: 0;
      border: 1px solid rgba(15, 23, 42, 0.07);
      border-radius: 14px;
      background:
        linear-gradient(135deg, rgba(219, 234, 254, 0.35) 0%, rgba(254, 243, 199, 0.22) 100%),
        rgba(255, 255, 255, 0.55);
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      overflow: hidden;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hg-owner-lb-strip[hidden] {
      display: none !important;
    }
    .hg-owner-lb-col {
      padding: 12px 14px;
      border-right: 1px solid rgba(15, 23, 42, 0.06);
      min-width: 0;
    }
    .hg-owner-lb-col:last-child {
      border-right: 0;
    }
    .hg-owner-lb-hd {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #475569;
      margin: 0 0 10px;
    }
    .hg-owner-lb-hd.hg-owner-lb-hd--land {
      color: #166534;
    }
    .hg-owner-lb-hd.hg-owner-lb-hd--build {
      color: #1e40af;
    }
    .hg-owner-lb-line {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      font-size: 12px;
      line-height: 1.35;
      color: #334155;
      margin: 6px 0 0;
    }
    .hg-owner-lb-line span:first-child {
      color: #64748b;
      font-weight: 500;
      flex-shrink: 0;
    }
    .hg-owner-lb-line span:last-child {
      font-variant-numeric: tabular-nums;
      font-weight: 700;
      color: #0f172a;
      letter-spacing: -0.02em;
      text-align: right;
      min-width: 0;
      flex-shrink: 1;
    }
    .hg-owner-lb-foot {
      grid-column: 1 / -1;
      padding: 8px 14px;
      margin: 0;
      border-top: 1px dashed rgba(100, 116, 139, 0.3);
      font-size: 10.5px;
      line-height: 1.4;
      color: #64748b;
      background: rgba(255, 255, 255, 0.4);
    }
    .hg-owner-lb-strip.hg-owner-lb-strip--land-only {
      grid-template-columns: 1fr;
    }
    .hg-owner-lb-strip.hg-owner-lb-strip--land-only > .hg-owner-lb-col {
      border-right: 0;
    }

    .hg-owner-headline .hg-widget {
      border: 1px solid var(--hg-panel-border);
      border-radius: 12px;
      background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      transition: box-shadow 0.15s ease, border-color 0.15s ease;
    }
    .hg-owner-headline .hg-widget:hover {
      border-color: rgba(15, 23, 42, 0.12);
      box-shadow: 0 8px 22px -12px rgba(15, 23, 42, 0.12);
    }
    .hg-owner-headline .hg-owner-widget-label-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 6px;
    }
    .hg-owner-headline .hg-owner-widget-label-row .k {
      margin-bottom: 0;
      flex: 1;
      min-width: 0;
    }
    .hg-owner-headline .hg-widget--dq .hg-info-btn {
      flex-shrink: 0;
      margin-left: 0;
    }
    /* KPIs Schätzwert / Finaler Wert: dezentes Pastell, schwarzer Text — nur leicht gegenüber weißen Boxen gehoben */
    .hg-owner-headline .hg-widget--accent {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255, 145, 29, 0.55);
      background:
        radial-gradient(120% 130% at 0% 0%, rgba(255, 255, 255, 0.5) 0%, transparent 50%),
        linear-gradient(135deg, #ff911d 0%, #ff7e30 55%, #ff6b35 100%);
      box-shadow:
        0 1px 3px rgba(15, 23, 42, 0.08),
        0 14px 32px -10px rgba(255, 120, 40, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .hg-owner-headline .hg-widget--accent::before {
      content: "";
      position: absolute;
      inset: -40% -10% auto -10%;
      height: 70%;
      background: radial-gradient(60% 70% at 30% 50%, rgba(255, 255, 255, 0.35) 0%, transparent 60%);
      pointer-events: none;
    }
    .hg-owner-headline .hg-widget--accent .k {
      position: relative;
      color: rgba(255, 255, 255, 0.85);
      font-weight: 600;
      letter-spacing: -0.005em;
    }
    .hg-owner-headline .hg-widget--accent .v {
      position: relative;
      color: #ffffff;
      font-weight: 700;
      letter-spacing: -0.025em;
      text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
    }
    .hg-owner-headline .hg-widget--accent:hover {
      transform: translateY(-1px);
      box-shadow:
        0 2px 6px rgba(15, 23, 42, 0.1),
        0 18px 36px -10px rgba(255, 120, 40, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);
    }
    .hg-owner-analytics .hg-owner-analytics-lead {
      position: relative;
      overflow: hidden;
      border-color: rgba(255, 145, 29, 0.45);
      background:
        radial-gradient(110% 130% at 100% 0%, rgba(255, 255, 255, 0.65) 0%, transparent 55%),
        linear-gradient(135deg, #fff6ec 0%, #ffe2c8 60%, #ffd2a8 100%);
      box-shadow:
        0 1px 3px rgba(15, 23, 42, 0.05),
        0 10px 24px -10px rgba(255, 140, 60, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    .hg-owner-analytics .hg-owner-analytics-lead .k {
      color: #7c3a02;
      font-weight: 600;
      letter-spacing: -0.005em;
    }
    .hg-owner-analytics .hg-owner-analytics-lead .v {
      color: #b14a05;
      font-weight: 700;
      letter-spacing: -0.025em;
      text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .hg-owner-analytics .hg-owner-analytics-lead:hover {
      box-shadow:
        0 2px 6px rgba(15, 23, 42, 0.06),
        0 12px 26px -8px rgba(255, 140, 60, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    @media (prefers-reduced-motion: reduce) {
      .hg-mod.hg-mod--owner-glass::before,
      .hg-mod.hg-mod--owner-glass:hover,
      .hg-owner-headline:hover,
      .hg-widget:hover,
      .hg-owner-list-card:hover,
      #ownerDocumentsCard .hg-mod-stat:hover,
      .owner-energy-class-group .hg-mod-chip--energy:hover,
      .owner-energy-class-group .hg-mod-chip--energy.is-selected,
      .hg-btn-cta-shine,
      #ownerRenovationCard .hg-mod-slider::before {
        animation: none !important;
        transform: none !important;
      }
    }
    .hg-owner-insight-split {
      display: block;
      margin-bottom: 18px;
    }
    #ownerEnhancementSection,
    #ownerToolsSection {
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      margin-top: 0;
      margin-bottom: 18px;
      align-items: stretch;
    }
    #ownerPortalModule #ownerMethodSection.hg-owner-method-card {
      margin-top: 0;
    }
    .hg-owner-card-body {
      padding: 12px 14px 14px;
    }
    .hg-owner-card-body .hg-owner-prop-dense {
      margin-top: 0;
    }
    .hg-owner-card-body .hg-prop-item {
      min-height: 40px;
    }

    /* Owner-Toolkit: vier Karten gleicher Glasmorphism, Header/Badge/Chips/Buttons einheitlich */
    @keyframes hg-glass-flow-bar {
      0%, 100% { background-position: 8% 50%; }
      50% { background-position: 92% 50%; }
    }
    @keyframes hg-glass-card-flow {
      0%, 100% { background-position: 0 0, 0 0, 8% 50%; }
      50% { background-position: 0 0, 0 0, 92% 50%; }
    }
    .hg-mod.hg-mod--owner-glass {
      position: relative;
      overflow: hidden;
      min-height: 0;
      border: 1px solid var(--hg-glass-border);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.68) 100%);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 10px 30px rgba(16, 24, 40, 0.1);
      border-radius: 20px;
      transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    }
    .hg-mod.hg-mod--owner-glass::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      border-radius: 20px 20px 0 0;
      opacity: 0.96;
      pointer-events: none;
      z-index: 3;
      background-size: 240% 100%;
      animation: hg-glass-flow-bar 42s ease-in-out infinite;
    }
    .hg-mod.hg-mod--owner-glass:hover {
      transform: translateY(-2px);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 18px 44px rgba(16, 24, 40, 0.12);
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-head {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 52px;
      padding: 14px 16px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.38);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      font-family: inherit;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-size: 10.5px;
      line-height: 1.35;
      color: #64748b;
      box-sizing: border-box;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-head > span:first-child {
      flex: 1 1 auto;
      min-width: 0;
      text-align: left;
      color: #475569;
      font-weight: 700;
      line-height: 1.35;
      padding-right: 4px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-head .hg-mod-badge {
      flex: 0 1 auto;
      flex-shrink: 0;
      margin-left: auto;
      align-self: center;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-badge {
      font-family: inherit;
      font-size: 10.5px;
      font-weight: 600;
      letter-spacing: 0.01em;
      text-transform: none;
      padding: 6px 13px;
      line-height: 1.35;
      background: rgba(255, 145, 29, 0.14);
      color: #9a3412;
      border: 1px solid rgba(255, 145, 29, 0.22);
      border-radius: 999px;
      white-space: normal;
      text-align: center;
      max-width: min(56%, 300px);
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-body {
      padding: 11px 14px 9px;
      gap: 9px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-intro {
      margin: 0 0 1px;
      font-size: 11px;
      line-height: 1.45;
      color: #64748b;
      font-weight: 400;
      letter-spacing: -0.01em;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-intro strong {
      font-weight: 600;
      color: #475569;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-foot {
      padding: 0;
      border-top: none;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-group { gap: 8px; }
    .hg-mod.hg-mod--owner-glass .hg-mod-field { gap: 5px; }
    .hg-mod.hg-mod--owner-glass .hg-mod-q {
      margin: 0 0 3px;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-q-row .hg-mod-q {
      margin: 0;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-q-val {
      font-size: 11px;
      color: #0f172a;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-helper {
      font-size: 10px;
      margin-top: 2px;
      color: #94a3b8;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-chips { gap: 5px; }
    .hg-mod.hg-mod--owner-glass .hg-mod-chips.cols-3,
    .hg-mod.hg-mod--owner-glass .hg-mod-chips.cols-2 { gap: 5px; }
    .hg-mod.hg-mod--owner-glass .hg-mod-chip {
      min-height: 27px !important;
      padding: 4px 10px !important;
      border-radius: 8px !important;
      font-size: 11px !important;
      font-weight: 500 !important;
      border: 1px solid rgba(15, 23, 42, 0.09) !important;
      background: rgba(255, 255, 255, 0.5) !important;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-chip:hover {
      border-color: rgba(255, 145, 29, 0.35) !important;
      background: rgba(255, 255, 255, 0.72) !important;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-chip.is-selected {
      border-color: rgba(255, 145, 29, 0.55) !important;
      background: rgba(255, 145, 29, 0.12) !important;
      color: #c2410c !important;
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.12) !important;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-stats { gap: 6px; }
    .hg-mod.hg-mod--owner-glass .hg-mod-stat {
      padding: 9px 8px;
      border: 1px solid rgba(210, 218, 230, 0.92);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.68) 100%);
      backdrop-filter: blur(10px) saturate(140%);
      -webkit-backdrop-filter: blur(10px) saturate(140%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.88) inset,
        0 6px 18px rgba(16, 24, 40, 0.06);
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-stat .k {
      font-size: 9.5px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-stat .v {
      margin-top: 3px;
      font-size: 13px;
      font-weight: 600;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-stat .k-hint {
      font-size: 9px;
      margin-top: 3px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-afa-strip {
      border-color: rgba(34, 168, 97, 0.28);
      background: rgba(255, 255, 255, 0.42);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-result {
      margin-top: 2px;
      padding: 10px 12px;
      border: 1px solid rgba(255, 255, 255, 0.42);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.38);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
      font-size: 12px;
      color: #334155;
      min-height: 38px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-result.is-empty {
      color: #94a3b8;
    }
    /* Erbschaft-Steuercheck – Wizard / Ergebnis (Glass 2026) */
    .hg-mod-tax-wizard-head {
      margin-bottom: 14px;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.5);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.55) 0%, rgba(248, 250, 252, 0.38) 100%);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset, 0 12px 36px rgba(15, 23, 42, 0.06);
    }
    .hg-mod-tax-progress-track {
      height: 5px;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.06);
      overflow: hidden;
      margin-bottom: 10px;
    }
    .hg-mod-tax-progress-fill {
      height: 100%;
      width: 0%;
      border-radius: inherit;
      background: linear-gradient(90deg, #ff911d 0%, #ffb454 50%, #22a861 100%);
      transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
      box-shadow: 0 0 12px rgba(255, 145, 29, 0.35);
    }
    .hg-mod-tax-progress-label {
      margin: 0;
      font-size: 12px;
      line-height: 1.45;
      color: #475569;
      letter-spacing: -0.01em;
    }
    .hg-mod-tax-context {
      margin: 0 0 14px;
      padding: 8px 12px;
      border-radius: 12px;
      border: 1px solid rgba(255, 145, 29, 0.18);
      background: rgba(255, 145, 29, 0.06);
      font-size: 11px;
      line-height: 1.4;
      color: #334155;
    }
    .hg-mod-tax-context.is-muted {
      border-color: rgba(15, 23, 42, 0.08);
      background: rgba(248, 250, 252, 0.65);
      color: #64748b;
    }
    .hg-mod-tax-context .hg-mod-tax-meta-k {
      font-weight: 700;
      font-size: 10px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #c2410c;
    }
    .hg-mod-tax-context .hg-mod-tax-meta-v { font-weight: 600; color: #0f172a; }
    .hg-mod-tax-context .hg-mod-tax-meta-dot { opacity: 0.35; }
    .hg-mod-tax-panel {
      margin-bottom: 12px;
      padding: 12px 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.48);
      background: rgba(255, 255, 255, 0.38);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .hg-mod-tax-panel.is-complete {
      border-color: rgba(34, 168, 97, 0.35);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(34, 168, 97, 0.12);
    }
    .hg-mod-tax-panel-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 8px;
    }
    .hg-mod-tax-step-num {
      flex-shrink: 0;
      width: 26px;
      height: 26px;
      border-radius: 9px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(145deg, #ff911d, #ff7300);
      box-shadow: 0 2px 8px rgba(255, 145, 29, 0.35);
    }
    .hg-mod-tax-panel.is-complete .hg-mod-tax-step-num {
      background: linear-gradient(145deg, #22a861, #15803d);
      box-shadow: 0 2px 8px rgba(34, 168, 97, 0.28);
    }
    .hg-mod-tax-panel-title {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod-tax-flow {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .hg-mod-tax-flow li {
      padding: 10px 11px;
      border-radius: 12px;
      border: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.52);
      font-size: 11.5px;
      line-height: 1.45;
      color: #334155;
    }
    .hg-mod-tax-flow li .hg-mod-tax-flow-sub {
      display: block;
      margin-top: 4px;
      font-size: 10.5px;
      color: #64748b;
      line-height: 1.4;
    }
    .hg-mod-tax-hero {
      padding: 14px 14px 12px;
      border-radius: 14px;
      border: 1px solid rgba(255, 145, 29, 0.22);
      background: linear-gradient(145deg, rgba(255, 145, 29, 0.11), rgba(255, 255, 255, 0.42));
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
    }
    .hg-mod-tax-hero-top {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px;
      flex-wrap: wrap;
    }
    .hg-mod-tax-hero-label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod-tax-hero-lead {
      margin: 8px 0 0;
      font-size: 12px;
      line-height: 1.45;
      color: #475569;
    }
    .hg-mod-tax-band {
      margin-top: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px dashed rgba(100, 116, 139, 0.35);
      background: rgba(248, 250, 252, 0.65);
      font-size: 11px;
      line-height: 1.45;
      color: #475569;
    }
    .hg-mod-tax-result-stack {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .hg-mod-tax-foot {
      margin: 0;
      font-size: 10.5px;
      color: #94a3b8;
      line-height: 1.45;
    }
    .hg-mod-intro--tax .hg-mod-intro-disclaim {
      display: block;
      margin-top: 8px;
      font-size: 11px;
      font-weight: 600;
      color: #64748b;
    }
    .hg-mod-helper--tax {
      margin: 0 0 8px !important;
      font-size: 12px !important;
      line-height: 1.45 !important;
      color: #475569 !important;
    }
    /* Sanierungs-Simulator – kontextsensitive Panels */
    .hg-mod-reno-context {
      margin: 0 0 14px;
      padding: 8px 12px;
      border-radius: 12px;
      border: 1px solid rgba(58, 98, 227, 0.18);
      background: rgba(58, 98, 227, 0.06);
      font-size: 11px;
      line-height: 1.4;
      color: #334155;
    }
    .hg-mod-reno-context.is-muted {
      border-color: rgba(15, 23, 42, 0.08);
      background: rgba(248, 250, 252, 0.72);
      color: #64748b;
    }
    .hg-nowrap-token {
      white-space: nowrap;
    }
    .hg-mod-ctx-flow {
      display: block;
      line-height: 1.55;
      font-size: 11px;
      color: inherit;
      word-break: break-word;
    }
    .hg-mod-ctx-sep {
      white-space: pre;
      opacity: 0.5;
      padding: 0 0.2em 0 0;
      font-weight: 500;
    }
    .hg-mod-ctx-stack__title {
      font-weight: 700;
      margin-bottom: 3px;
      line-height: 1.3;
      font-size: 10px;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod-ctx-stack__row--meta {
      opacity: 0.92;
    }
    .hg-mod-reno-context .hg-mod-ctx-stack__title,
    .hg-mod-tax-context .hg-mod-tax-meta-k {
      color: #64748b;
    }
    .hg-line-stack__part {
      display: inline;
    }
    .hg-mod-def-line {
      display: inline;
    }
    .hg-def-pair {
      display: inline;
    }
    .hg-def-pair__eq {
      white-space: nowrap;
    }
    .hg-mod-reno-panel-head .hg-info-btn,
    .hg-mod-tax-panel-head .hg-info-btn,
    .hg-mod-head .hg-info-btn {
      margin-left: 0;
      flex-shrink: 0;
    }
    .hg-mod-tax-panel-title-row {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      flex: 1;
      min-width: 0;
    }
    .hg-mod-reno-basis-cell .v .hg-nowrap-token,
    .hg-mod-stat .v .hg-nowrap-token {
      display: inline-block;
      max-width: 100%;
    }
    .hg-mod-reno-panel {
      margin-bottom: 12px;
      padding: 12px 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.48);
      background: rgba(255, 255, 255, 0.38);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
    }
    .hg-mod-reno-panel-head {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .hg-mod-reno-panel-head-sub {
      font-weight: 600;
      letter-spacing: 0;
      text-transform: none;
      font-size: 11px;
      color: #475569;
      flex: 1 1 100%;
      min-width: 0;
    }
    .hg-mod-panel-label-row {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
    }
    .hg-mod-reno-panel-title-text {
      letter-spacing: 0.07em;
      text-transform: none;
    }
    .hg-mod-reno-group {
      margin-bottom: 14px;
    }
    .hg-mod-reno-group:last-child { margin-bottom: 4px; }
    .hg-mod-reno-group-title {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #94a3b8;
      margin: 0 0 8px;
    }
    .owner-renovation-chip .reno-chip-pct {
      opacity: 0.92;
      margin-left: 6px;
      font-size: 11px;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: #c2410c;
    }
    .owner-renovation-chip.is-selected .reno-chip-pct {
      color: #9a3412;
    }
    .hg-mod-reno-breakdown {
      margin-top: 12px;
      padding: 12px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.42);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      font-size: 11px;
      line-height: 1.45;
      color: #334155;
    }
    .hg-mod-reno-breakdown.hidden { display: none !important; }
    .hg-mod-reno-breakdown-title {
      font-weight: 700;
      font-size: 11.5px;
      margin-bottom: 10px;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .hg-mod-reno-detail-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
      align-items: stretch;
    }
    .hg-mod-reno-detail-chip {
      flex: 1 1 auto;
      min-width: min(100%, 220px);
      max-width: 100%;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(15, 23, 42, 0.07);
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
      font-size: 11px;
      line-height: 1.38;
      color: #334155;
    }
    .hg-mod-reno-detail-chip__label {
      display: block;
      font-weight: 600;
      color: #0f172a;
      letter-spacing: -0.015em;
      margin-bottom: 4px;
    }
    .hg-mod-reno-detail-chip__meta {
      display: block;
      font-variant-numeric: tabular-nums;
      font-size: 10.5px;
      color: #64748b;
      font-weight: 600;
    }
    .hg-mod-chips.hg-mod-chips--reno-flat {
      gap: 8px;
    }
    #ownerRenovationOutcomeStats.hg-mod-stats--reno-outcome {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (max-width: 900px) {
      #ownerRenovationOutcomeStats.hg-mod-stats--reno-outcome {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    #ownerRenovationOutcomeStats.hg-mod-renov-outcome--active {
      padding: 12px;
      margin-top: 8px;
      border-radius: 14px;
      border: 1px solid rgba(255, 145, 29, 0.42);
      background: linear-gradient(165deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 251, 245, 0.55) 100%);
      box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.55) inset, 0 12px 34px rgba(255, 145, 29, 0.12);
    }
    @keyframes hgRenovOutcomeFlash {
      0% { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.55) inset, 0 0 0 0 rgba(255, 145, 29, 0.35); }
      35% { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.55) inset, 0 0 0 10px rgba(255, 145, 29, 0.06); }
      100% { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.55) inset, 0 12px 34px rgba(255, 145, 29, 0.12); }
    }
    #ownerRenovationOutcomeStats.hg-mod-renov-outcome--flash {
      animation: hgRenovOutcomeFlash 1.05s ease-out 1;
    }
    .hg-mod-reno-foot {
      margin-top: 10px;
      font-size: 10.5px;
      color: #94a3b8;
      line-height: 1.4;
    }
    .hg-mod-reno-basis-strip {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin: 0 0 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(30, 64, 175, 0.14);
      background: linear-gradient(135deg, rgba(239, 246, 255, 0.85) 0%, rgba(255, 255, 255, 0.5) 100%);
      font-size: 11px;
      line-height: 1.35;
    }
    .hg-mod-reno-basis-strip[hidden] { display: none !important; }
    .hg-mod-reno-basis-cell .k {
      display: block;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 4px;
    }
    .hg-mod-reno-basis-cell .v {
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: #0f172a;
      letter-spacing: -0.02em;
    }
    .hg-mod-reno-basis-cell--build .v { color: #1e40af; }
    .hg-mod-reno-sanity {
      margin: 8px 0 0;
      padding: 8px 10px;
      border-radius: 10px;
      font-size: 11px;
      line-height: 1.4;
      border: 1px solid rgba(234, 179, 8, 0.35);
      background: rgba(254, 243, 199, 0.45);
      color: #854d0e;
    }
    .hg-mod-reno-sanity.hidden { display: none !important; }
    .hg-mod-reno-sanity.is-ok {
      border-color: rgba(34, 197, 94, 0.28);
      background: rgba(220, 252, 231, 0.45);
      color: #166534;
    }
    .hg-mod-reno-waterfall {
      display: grid;
      gap: 6px;
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px dashed rgba(100, 116, 139, 0.28);
      background: rgba(255, 255, 255, 0.35);
      font-size: 11px;
    }
    .hg-mod-reno-waterfall-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: #475569;
    }
    .hg-mod-reno-waterfall-row strong {
      color: #0f172a;
      font-variant-numeric: tabular-nums;
    }
    .hg-mod-reno-group-block {
      margin-bottom: 12px;
    }
    .hg-mod-reno-group-block:last-child { margin-bottom: 0; }
    @media (max-width: 720px) {
      .hg-mod-reno-basis-strip { grid-template-columns: 1fr; }
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-input {
      border-radius: 10px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.62);
      font-size: 12px;
      padding: 7px 10px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-input:focus {
      border-color: rgba(255, 145, 29, 0.45);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.12);
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-input-suffix {
      font-size: 11px;
      color: #64748b;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-btn--primary {
      min-height: 33px;
      padding: 6px 16px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.03em;
      border-radius: 999px;
      border: 1px solid rgba(255, 210, 170, 0.45);
      background: linear-gradient(110deg, var(--hg-orange-dark) 0%, var(--hg-accent) 42%, #ffc978 100%);
      background-size: 180% 100%;
      box-shadow:
        0 8px 22px rgba(255, 145, 29, 0.28);
      transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-btn--primary:hover:not(:disabled) {
      filter: brightness(1.04);
      transform: translateY(-1px);
      box-shadow:
        0 12px 28px rgba(255, 145, 29, 0.34);
    }
    .hg-mod.hg-mod--owner-glass .hg-msg {
      font-size: 10.5px;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-foot .hg-mod-btn--ghost:not([data-owner-lock]) {
      box-shadow: none;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-empty--glass {
      font-size: 11.5px;
      color: #64748b;
      padding: 14px 10px;
      border: 1px solid rgba(255, 255, 255, 0.45);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.28);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-empty-sub {
      display: block;
      margin-top: 6px;
      font-size: 10px;
      color: #94a3b8;
      line-height: 1.4;
    }
    /* Optionale Module: erst Teaser, Inhalt nach Klick */
    .hg-mod-gated:not(.hg-mod-gated--open) {
      min-height: 240px;
    }
    .hg-mod-gated:not(.hg-mod-gated--open) .hg-mod-gated-inner {
      display: none !important;
    }
    .hg-mod-gated.hg-mod-gated--open .hg-mod-gated-inner {
      display: flex !important;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;
    }
    .hg-mod-gated.hg-mod-gated--open .hg-mod-teaser {
      display: none !important;
    }
    .hg-mod-gated .hg-mod-teaser {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      flex: 1;
      padding: 28px 20px 26px;
      gap: 10px;
      box-sizing: border-box;
      background:
        radial-gradient(120% 80% at 50% 0%, rgba(255, 255, 255, 0.55), transparent 62%);
    }
    .hg-mod-teaser-title {
      margin: 0;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: #0f172a;
    }
    .hg-mod-teaser-badge {
      font-size: 11.5px;
      font-weight: 600;
      letter-spacing: -0.005em;
      color: #64748b;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(210, 218, 230, 0.95);
      padding: 7px 14px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      line-height: 1.35;
      max-width: min(100%, 340px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
    }
    .hg-mod-teaser-desc {
      margin: 2px 0 6px;
      max-width: 42ch;
      font-size: 12px;
      line-height: 1.55;
      color: #64748b;
      letter-spacing: -0.005em;
    }
    .hg-mod-teaser .hg-mod-btn {
      margin-top: 6px;
      position: relative;
      z-index: 2;
    }
    #ownerPortalModule .hg-btn-primary {
      min-height: 33px;
      padding: 6px 16px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.03em;
      border-radius: 999px;
      box-shadow: 0 4px 16px rgba(255, 145, 29, 0.24);
    }
    #ownerPortalModule .hg-btn-ghost,
    #ownerPortalModule a.hg-btn-ghost {
      min-height: 33px;
      padding: 6px 14px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.02em;
      border-radius: 999px;
    }
    @keyframes hg-owner-resume-nudge-ring {
      0%,
      100% {
        border-color: rgba(255, 145, 29, 0.38);
        box-shadow:
          0 0 0 1px rgba(255, 145, 29, 0.12),
          0 0 16px rgba(255, 145, 29, 0.08);
      }
      50% {
        border-color: rgba(255, 145, 29, 0.92);
        box-shadow:
          0 0 0 2px rgba(255, 145, 29, 0.22),
          0 0 28px rgba(255, 145, 29, 0.16);
      }
    }
    #ownerPortalModule #ownerValuationBtn.hg-btn-resume-nudge {
      color: rgba(180, 70, 0, 0.95);
      border-width: 1.5px;
      border-style: solid;
      border-radius: 999px;
      animation: hg-owner-resume-nudge-ring 2.6s ease-in-out infinite;
    }
    #ownerPortalModule #ownerValuationBtn.hg-btn-resume-nudge:hover,
    #ownerPortalModule #ownerValuationBtn.hg-btn-resume-nudge:focus-visible {
      animation-play-state: paused;
      border-color: #ff911d;
      color: #9a3412;
      box-shadow:
        0 0 0 2px rgba(255, 145, 29, 0.28),
        0 6px 20px rgba(255, 145, 29, 0.22);
      outline: none;
    }
    @media (prefers-reduced-motion: reduce) {
      #ownerPortalModule #ownerValuationBtn.hg-btn-resume-nudge {
        animation: none;
        border-color: rgba(255, 145, 29, 0.72);
        box-shadow:
          0 0 0 1px rgba(255, 145, 29, 0.2),
          0 0 14px rgba(255, 145, 29, 0.1);
      }
    }
    #appSection .hg-header .hg-btn {
      min-height: 33px;
      padding: 6px 14px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.02em;
      border-radius: 999px;
    }

    /* ===== Funnel-inspired module system (symmetric, minimal text) ===== */
    .hg-mod {
      display: flex;
      flex-direction: column;
      border: 1px solid var(--hg-panel-border);
      border-radius: 16px;
      background: var(--hg-panel-bg);
      box-shadow: var(--hg-panel-shadow);
      overflow: hidden;
      min-height: 280px;
    }
    .hg-mod-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 50px;
      padding: 14px 16px;
      font-size: 13.5px;
      font-weight: 600;
      letter-spacing: -0.012em;
      line-height: 1.35;
      color: #0f172a;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.72);
      backdrop-filter: blur(6px);
      box-sizing: border-box;
    }
    .hg-mod-head .hg-mod-badge {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: -0.005em;
      line-height: 1.35;
      color: #64748b;
      background: rgba(15, 23, 42, 0.04);
      padding: 6px 12px;
      border-radius: 999px;
      flex-shrink: 0;
    }
    .hg-mod-body {
      flex: 1;
      padding: 14px 16px 8px;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .hg-mod-foot {
      padding: 0;
      margin-top: auto;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      flex-wrap: nowrap;
      border-top: none;
    }
    .hg-mod-foot.hg-mod-foot--with-status {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      flex-wrap: nowrap;
    }
    .hg-mod-foot-main {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      width: 100%;
    }
    .hg-mod-foot-main.hg-mod-foot-main--single {
      grid-template-columns: 1fr;
    }
    .hg-mod-foot-feedback-row {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      min-height: 22px;
      margin: 0;
      padding: 0 12px 4px;
      overflow: hidden;
      order: -1;
    }
    .hg-mod-foot-feedback {
      display: none;
      font-size: 11px;
      font-weight: 600;
      line-height: 1.35;
      text-align: center;
      color: #64748b;
    }
    .hg-mod-foot-feedback.is-visible {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .hg-mod-foot-feedback.ok {
      color: #166534;
    }
    .hg-mod-foot-feedback.error {
      color: #9a3412;
    }
    .hg-mod-foot-spinner {
      width: 14px;
      height: 14px;
      border: 2px solid rgba(15, 23, 42, 0.12);
      border-top-color: rgba(255, 145, 29, 0.85);
      border-radius: 50%;
      animation: hg-mod-foot-spin 0.65s linear infinite;
      flex-shrink: 0;
    }
    @keyframes hg-mod-foot-spin {
      to { transform: rotate(360deg); }
    }
    .hg-mod-q {
      margin: 0 0 8px;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: -0.005em;
      color: #334155;
    }
    .hg-mod-q-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }
    .hg-mod-q-row .hg-mod-q { margin: 0; }
    .hg-mod-q-val {
      font-size: 12px;
      color: #0f172a;
      font-weight: 600;
      letter-spacing: -0.01em;
    }
    .hg-mod-intro {
      margin: -2px 0 6px;
      font-size: 12px;
      line-height: 1.5;
      color: #64748b;
      letter-spacing: -0.005em;
    }
    .hg-mod-intro strong { color: #334155; font-weight: 600; }
    .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head {
      border-bottom: none;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      min-height: 52px;
      padding: 14px 16px 10px;
      margin-bottom: 0;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      margin-top: 0;
      padding-top: 6px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    }
    /* Grafischer „So geht es“-Flow – ein Block mit Modul-Überschrift (soft warm) */
    .hg-mod-guide-flow {
      width: 100%;
      box-sizing: border-box;
      padding: 0 14px 14px;
      border-bottom: none;
      background: linear-gradient(180deg, rgba(252, 253, 255, 0.98) 0%, rgba(245, 247, 250, 0.9) 100%);
      position: relative;
      overflow: hidden;
      flex-shrink: 0;
    }
    .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head,
    .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      background: linear-gradient(180deg, rgba(252, 253, 255, 0.98) 0%, rgba(245, 247, 250, 0.9) 100%);
    }
    /* Modul-Akzent: Kopf + „So geht es“ als ein farbiger Top-Block */
    #ownerPortalModule #ownerSupplementalCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head,
    #ownerPortalModule #ownerSupplementalCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      background: linear-gradient(180deg, rgba(255, 251, 245, 0.98) 0%, rgba(255, 237, 213, 0.9) 100%);
    }
    #ownerPortalModule #ownerSupplementalCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      border-bottom-color: rgba(255, 145, 29, 0.14);
    }
    #ownerPortalModule #ownerDocumentsCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head,
    #ownerPortalModule #ownerDocumentsCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      background: linear-gradient(180deg, rgba(244, 253, 248, 0.98) 0%, rgba(209, 250, 229, 0.9) 100%);
    }
    #ownerPortalModule #ownerDocumentsCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      border-bottom-color: rgba(39, 179, 106, 0.14);
    }
    #ownerPortalModule #ownerDocumentsCard .hg-mod-guide-flow-num {
      background: linear-gradient(145deg, #27b36a, #147a4a);
      box-shadow: 0 2px 8px rgba(39, 179, 106, 0.22);
    }
    #ownerPortalModule #ownerRenovationCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head,
    #ownerPortalModule #ownerRenovationCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      background: linear-gradient(180deg, rgba(244, 247, 255, 0.98) 0%, rgba(219, 234, 254, 0.9) 100%);
    }
    #ownerPortalModule #ownerRenovationCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      border-bottom-color: rgba(58, 98, 227, 0.14);
    }
    #ownerPortalModule #ownerRenovationCard .hg-mod-guide-flow-num {
      background: linear-gradient(145deg, #3a62e3, #2640a8);
      box-shadow: 0 2px 8px rgba(58, 98, 227, 0.22);
    }
    #ownerPortalModule #ownerTaxCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head,
    #ownerPortalModule #ownerTaxCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      background: linear-gradient(180deg, rgba(250, 245, 255, 0.98) 0%, rgba(237, 233, 254, 0.9) 100%);
    }
    #ownerPortalModule #ownerTaxCard.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
      border-bottom-color: rgba(127, 60, 210, 0.14);
    }
    #ownerPortalModule #ownerTaxCard .hg-mod-guide-flow-num {
      background: linear-gradient(145deg, #7f3cd2, #5a1fa8);
      box-shadow: 0 2px 8px rgba(127, 60, 210, 0.22);
    }
    .hg-mod-guide-flow::before,
    .hg-mod-guide-flow::after {
      display: none;
    }
    .hg-mod-guide-flow-title {
      position: relative;
      z-index: 1;
      margin: 4px 0 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-mod-guide-flow-steps {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .hg-mod-guide-flow-step {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 7px;
      padding: 8px 6px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(210, 218, 230, 0.55);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    }
    .hg-mod-guide-flow-num {
      flex-shrink: 0;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 13px;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(145deg, #ff911d, #ff7300);
      box-shadow: 0 2px 8px rgba(255, 145, 29, 0.22);
    }
    .hg-mod-guide-flow-copy strong {
      display: block;
      font-size: 11.5px;
      font-weight: 600;
      letter-spacing: -0.01em;
      color: #334155;
      line-height: 1.25;
    }
    .hg-mod-guide-flow-copy span {
      display: block;
      margin-top: 2px;
      font-size: 10.5px;
      line-height: 1.38;
      color: #64748b;
    }
    @media (max-width: 720px) {
      .hg-mod-guide-flow-steps {
        grid-template-columns: 1fr;
        gap: 6px;
      }
      .hg-mod-guide-flow-step {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        gap: 10px;
        padding: 8px 10px;
      }
      .hg-mod-guide-flow-num {
        width: 28px;
        height: 28px;
        font-size: 11px;
      }
    }
    @media (max-width: 640px) {
      .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-head {
        padding: 10px 14px 6px;
      }
      .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow {
        padding: 8px 14px 12px;
      }
      .hg-mod.hg-mod--owner-glass .hg-mod-gated-inner:has(.hg-mod-guide-flow) .hg-mod-guide-flow-title {
        margin-top: 6px;
        margin-bottom: 8px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .hg-mod-guide-flow-num {
        animation: none !important;
      }
    }
    .hg-mod-guide {
      margin: 0 0 12px;
      padding: 12px 14px;
      border-radius: 12px;
      background: rgba(255, 252, 247, 0.92);
      border: 1px solid rgba(210, 218, 230, 0.72);
    }
    .hg-mod-guide-title {
      margin: 0 0 8px;
      font-size: 12px;
      font-weight: 600;
      color: #334155;
      letter-spacing: -0.01em;
    }
    .hg-mod-guide-steps {
      margin: 0;
      padding-left: 18px;
      font-size: 12px;
      line-height: 1.55;
      color: #64748b;
    }
    .hg-mod-guide-steps li {
      margin-bottom: 6px;
    }
    .hg-mod-guide-steps li:last-child {
      margin-bottom: 0;
    }
    @media (max-width: 640px) {
      .hg-mod-guide {
        margin: 0 0 10px;
        padding: 10px 12px;
        border-radius: 10px;
      }
      .hg-mod-guide-title {
        font-size: 11.5px;
        margin-bottom: 6px;
      }
      .hg-mod-guide-steps {
        padding-left: 16px;
        font-size: 11.5px;
        line-height: 1.5;
      }
      .hg-mod-guide-steps li {
        margin-bottom: 5px;
      }
    }
    .hg-mod-helper {
      margin: 4px 0 0;
      font-size: 11px;
      color: #94a3b8;
      line-height: 1.45;
    }
    .hg-mod-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .hg-mod-chips.cols-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hg-mod-chips.cols-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hg-mod-chip {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 34px;
      padding: 6px 12px;
      border-radius: 10px;
      border: 1px solid rgba(210, 218, 230, 0.9) !important;
      background: #ffffff !important;
      background-color: #ffffff !important;
      background-image: none !important;
      color: #0f172a !important;
      font-size: 12.5px;
      font-weight: 500;
      letter-spacing: -0.008em;
      cursor: pointer;
      text-align: center;
      line-height: 1.18;
      transition: none;
      -webkit-tap-highlight-color: transparent;
      -webkit-appearance: none;
      appearance: none;
      accent-color: #ff911d;
      font-family: inherit;
      outline: none !important;
      box-shadow: none !important;
      forced-color-adjust: none;
    }
    .hg-mod-chip:hover {
      border-color: rgba(255, 145, 29, 0.35) !important;
    }
    .hg-mod-chip.is-selected {
      border-color: rgba(255, 145, 29, 0.7) !important;
      background: rgba(255, 145, 29, 0.10) !important;
      color: var(--hg-accent) !important;
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.12) !important;
    }
    .hg-mod-chip.is-selected:hover {
      background: rgba(255, 145, 29, 0.14) !important;
    }
    .hg-mod-chip:focus,
    .hg-mod-chip:focus-visible,
    .hg-mod-chip:active {
      outline: none !important;
    }
    .hg-mod-chip[data-keyboard-focus="1"]:focus-visible {
      outline: 2px solid rgba(255, 145, 29, 0.45) !important;
      outline-offset: 2px;
    }
    .hg-mod-group { display: flex; flex-direction: column; gap: 12px; }
    .hg-mod-field { display: flex; flex-direction: column; gap: 6px; }
    .hg-mod-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .hg-mod-stats.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hg-mod-stats.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hg-mod-stat {
      padding: 10px 10px;
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.7);
      text-align: center;
    }
    .hg-mod-stat .k {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: -0.005em;
      color: #64748b;
    }
    .hg-mod-stat .v {
      margin-top: 4px;
      font-size: 14px;
      font-weight: 600;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .hg-mod-stat .k-hint {
      display: block;
      margin-top: 2px;
      font-size: 10px;
      color: #94a3b8;
      letter-spacing: 0;
    }
    .hg-mod-afa-strip {
      margin-top: 10px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(34, 168, 97, 0.22);
      background: rgba(34, 168, 97, 0.06);
      font-size: 12px;
      line-height: 1.45;
      color: #14532d;
      text-align: left;
    }
    .hg-mod-afa-strip.hidden { display: none !important; }
    .hg-mod-afa-strip strong { color: #052e16; font-weight: 700; }
    @media (min-width: 561px) {
      #ownerDocumentsCard .hg-mod-afa-strip__head,
      #ownerDocumentsCard .hg-mod-afa-strip__body,
      #ownerDocumentsCard .hg-mod-afa-strip__legal {
        display: inline;
      }
      #ownerDocumentsCard .hg-mod-afa-strip__head::after,
      #ownerDocumentsCard .hg-mod-afa-strip__body::after {
        content: " ";
      }
    }
    .hg-mod-slider {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .hg-mod-slider input[type="range"] {
      flex: 1;
      accent-color: var(--hg-accent);
    }
    #ownerRenovationCard .hg-mod-reno-panel:has(#ownerRenovationBudget) {
      padding: 14px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.62);
      border: 1px solid rgba(255, 145, 29, 0.2);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 6px 18px rgba(15, 23, 42, 0.05);
    }
    #ownerRenovationCard .hg-mod-reno-panel:has(#ownerRenovationBudget) .hg-mod-q-val {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 4px 12px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      color: #9a3412;
      background: rgba(255, 145, 29, 0.12);
      border: 1px solid rgba(255, 145, 29, 0.24);
    }
    #ownerRenovationCard .hg-mod-slider {
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
      margin-top: 4px;
      padding: 12px 14px;
      border-radius: 12px;
      position: relative;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.78);
      border: 1px solid rgba(255, 145, 29, 0.28);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 8px 22px rgba(255, 145, 29, 0.12);
    }
    #ownerRenovationCard .hg-mod-slider::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, transparent 0%, rgba(255, 201, 120, 0.22) 45%, transparent 70%);
      background-size: 220% 100%;
      animation: hg-budget-shimmer 4.5s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }
    #ownerRenovationCard .hg-mod-slider input[type="range"] {
      position: relative;
      z-index: 1;
    }
    @keyframes hg-budget-shimmer {
      0%, 100% { background-position: 120% 50%; opacity: 0.35; }
      50% { background-position: -20% 50%; opacity: 0.75; }
    }
    #ownerRenovationOptions .owner-renovation-chip {
      border-width: 1px !important;
      font-weight: 600 !important;
      transition: transform 0.12s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    }
    #ownerRenovationOptions .owner-renovation-chip:hover {
      transform: translateY(-1px);
      border-color: rgba(58, 98, 227, 0.32) !important;
      box-shadow: 0 6px 16px rgba(58, 98, 227, 0.1) !important;
    }
    #ownerRenovationOptions .owner-renovation-chip.is-selected {
      border-color: rgba(58, 98, 227, 0.36) !important;
      color: #1e3a8a !important;
      background: rgba(58, 98, 227, 0.08) !important;
      background-image: none !important;
      animation: none !important;
      box-shadow:
        inset 0 0 0 1px rgba(58, 98, 227, 0.08),
        0 4px 12px rgba(58, 98, 227, 0.08) !important;
    }
    #ownerRenovationCard .hg-mod-slider input[type="range"] {
      width: 100%;
      height: 10px;
      margin: 0;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(255, 145, 29, 0.18) 0%, rgba(255, 145, 29, 0.42) 100%);
      accent-color: #ff911d;
      cursor: pointer;
    }
    #ownerRenovationCard .hg-mod-slider input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 2px solid #fff;
      background: linear-gradient(135deg, #ff911d 0%, #f59e0b 100%);
      box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
      cursor: grab;
    }
    #ownerRenovationCard .hg-mod-slider input[type="range"]::-moz-range-thumb {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 2px solid #fff;
      background: linear-gradient(135deg, #ff911d 0%, #f59e0b 100%);
      box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
      cursor: grab;
    }
    #ownerRenovationStrategyChips.hg-mod-chips.cols-3 {
      gap: 8px;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy {
      min-height: 34px !important;
      font-weight: 600 !important;
      transition: transform 0.12s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-erhalt {
      border-left: 3px solid rgba(34, 197, 94, 0.55) !important;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-balance {
      border-left: 3px solid rgba(59, 130, 246, 0.55) !important;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-push {
      border-left: 3px solid rgba(255, 145, 29, 0.65) !important;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-erhalt.is-selected {
      border-color: rgba(34, 197, 94, 0.38) !important;
      color: #14532d !important;
      background: rgba(34, 197, 94, 0.1) !important;
      background-image: none !important;
      animation: none !important;
      box-shadow:
        inset 0 0 0 1px rgba(34, 197, 94, 0.08),
        0 4px 12px rgba(34, 197, 94, 0.08) !important;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-balance.is-selected {
      border-color: rgba(59, 130, 246, 0.38) !important;
      color: #1e40af !important;
      background: rgba(59, 130, 246, 0.1) !important;
      background-image: none !important;
      animation: none !important;
      box-shadow:
        inset 0 0 0 1px rgba(59, 130, 246, 0.08),
        0 4px 12px rgba(59, 130, 246, 0.08) !important;
    }
    #ownerRenovationStrategyChips .hg-mod-chip--strategy-push.is-selected {
      border-color: rgba(255, 145, 29, 0.42) !important;
      color: #9a3412 !important;
      background: rgba(255, 145, 29, 0.1) !important;
      background-image: none !important;
      animation: none !important;
      box-shadow:
        inset 0 0 0 1px rgba(255, 145, 29, 0.08),
        0 4px 12px rgba(255, 145, 29, 0.08) !important;
    }
    @keyframes hg-strategy-flow {
      0%, 100% { background-position: 0 0, 8% 50%; }
      50% { background-position: 0 0, 92% 50%; }
    }
    .hg-mod-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 8px 16px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: -0.012em;
      cursor: pointer;
      border: 1px solid transparent;
      transition: filter 0.15s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.1s ease, color 0.18s ease;
      -webkit-tap-highlight-color: transparent;
    }
    .hg-mod-btn--primary {
      color: #fff;
      background: linear-gradient(110deg, #e07a0a 0%, var(--hg-accent) 45%, #ffb04a 100%);
      box-shadow: 0 6px 18px rgba(255, 145, 29, 0.28);
    }
    .hg-mod-btn--primary:hover:not(:disabled) {
      filter: brightness(1.04);
      box-shadow: 0 10px 24px rgba(230, 126, 23, 0.34);
    }
    .hg-mod-btn--primary:active:not(:disabled) { transform: translateY(1px); }
    .hg-mod-btn--primary:disabled,
    .hg-mod-btn--primary.disabled {
      background: #eceef2;
      color: #5f6670;
      border: 1px solid #d5dae1;
      cursor: not-allowed;
      box-shadow: none;
      filter: none;
    }
    .hg-mod-btn--ghost {
      color: #0f172a;
      background: rgba(255, 255, 255, 0.62);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-color: rgba(255, 255, 255, 0.52);
    }
    .hg-mod-btn--ghost:hover {
      border-color: rgba(58, 98, 227, 0.28);
      background: rgba(255, 255, 255, 0.88);
      color: #0f172a;
    }
    .hg-mod-btn--ghost:active { transform: translateY(1px); }
    .hg-mod-btn:focus-visible {
      outline: 2px solid rgba(255, 145, 29, 0.45);
      outline-offset: 2px;
    }
    #ownerPortalModule .hg-mod-foot .hg-mod-btn {
      min-height: 46px;
      padding: 10px 12px;
      font-size: 13px;
      border-radius: 0;
      width: 100%;
    }
    #ownerPortalModule .hg-mod-foot .hg-mod-btn--ghost[data-owner-lock] {
      font-weight: 600;
      color: #fff !important;
      background: linear-gradient(180deg, #5c636b 0%, #464b52 100%) !important;
      border: none !important;
      box-shadow: none !important;
    }
    #ownerPortalModule .hg-mod-foot .hg-mod-btn--ghost[data-owner-lock]:hover {
      filter: brightness(1.06);
      background: linear-gradient(180deg, #656d76 0%, #4e545c 100%) !important;
      color: #fff !important;
    }
    .hg-mod-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .hg-mod-msg {
      font-size: 11.5px;
      color: #475569;
      min-height: 14px;
      letter-spacing: -0.005em;
    }
    .hg-mod-msg.error { color: #b91c1c; }
    .hg-mod-msg.ok { color: #166534; }
    .hg-mod-disclaimer {
      margin: 0;
      font-size: 11px;
      color: #94a3b8;
      letter-spacing: 0.005em;
    }
    .hg-mod-result {
      margin-top: 2px;
      padding: 10px 12px;
      border: 1px dashed rgba(15, 23, 42, 0.12);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.7);
      font-size: 12.5px;
      color: #334155;
      line-height: 1.45;
      min-height: 38px;
    }
    .hg-mod-result.is-empty {
      color: #94a3b8;
      font-style: normal;
    }
    .hg-mod-empty {
      font-size: 12.5px;
      color: #94a3b8;
      text-align: center;
      padding: 18px 6px;
      border: 1px dashed rgba(15, 23, 42, 0.12);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.4);
    }
    @media (max-width: 560px) {
      .hg-mod-chips.cols-3,
      .hg-mod-chips.cols-2 { grid-template-columns: 1fr 1fr; }
      #ownerRenovationStrategyChips.hg-mod-chips.cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
      }
      #ownerRenovationStrategyChips .hg-mod-chip--strategy {
        min-height: 32px !important;
        padding: 6px 4px !important;
        font-size: 10.5px !important;
        line-height: 1.15;
      }
      .hg-mod-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      #ownerDocumentsCard .hg-mod-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      #ownerDocumentsCard .hg-mod-stat:nth-child(3) {
        grid-column: 1 / -1;
      }
      #ownerDocumentsCard .hg-mod-afa-strip {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .hg-line-stack {
        display: flex;
        flex-direction: column;
        gap: 3px;
      }
      .hg-line-stack__part {
        display: block;
      }
      .hg-mod-reno-foot {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .hg-mod-reno-detail-chip__meta {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .hg-mod-def-line {
        display: block;
      }
      .hg-mod-reno-detail-chip__meta .hg-def-pair {
        display: block;
      }
    }
    @media (min-width: 561px) {
      .hg-line-stack__part + .hg-line-stack__part::before {
        content: " – ";
      }
      .hg-mod-reno-foot .hg-mod-def-line + .hg-mod-def-line::before {
        content: " ";
      }
    }
    .hg-mod-input {
      width: 100%;
      padding: 9px 12px;
      border: 1px solid rgba(210, 218, 230, 0.9);
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.96);
      color: #0f172a;
      font-size: 13px;
      font-family: inherit;
      transition: border-color 0.16s ease, box-shadow 0.16s ease;
      outline: none;
    }
    .hg-mod-input:focus {
      border-color: rgba(255, 145, 29, 0.6);
      box-shadow: 0 0 0 3px rgba(255, 145, 29, 0.12);
    }
    .hg-mod-input-row {
      display: flex;
      gap: 8px;
      align-items: stretch;
    }
    .hg-mod-input-row .hg-mod-input { flex: 1; }
    .hg-mod-input-suffix {
      display: inline-flex;
      align-items: center;
      padding: 0 12px;
      border: 1px solid rgba(210, 218, 230, 0.9);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.85);
      color: #475569;
      font-size: 12px;
      font-weight: 500;
    }
    .hg-mod-row-2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    @media (max-width: 560px) {
      .hg-mod-row-2 { grid-template-columns: 1fr; }
    }
    .hg-mod-status-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: -0.005em;
    }
    .hg-mod-status-pill.is-positive { background: rgba(34, 168, 97, 0.12); color: #166534; }
    .hg-mod-status-pill.is-warning { background: rgba(229, 178, 19, 0.14); color: #92400e; }
    .hg-mod-status-pill.is-negative { background: rgba(209, 67, 67, 0.12); color: #b91c1c; }
    .hg-mod-status-pill.is-neutral { background: rgba(15, 23, 42, 0.05); color: #475569; }
    .hg-mod-result-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin: 8px 0 0;
      padding: 0;
      list-style: none;
    }
    .hg-mod-result-list li {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px;
      font-size: 12px;
      color: #334155;
    }
    .hg-mod-result-list li b { color: #0f172a; font-weight: 600; }
    .hg-mod-result-list li span { color: #475569; font-weight: 500; }
    .hg-owner-list-card {
      border: 1px solid var(--hg-glass-border);
      border-radius: 20px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.72) 100%);
      box-shadow: var(--hg-panel-shadow);
      backdrop-filter: blur(16px) saturate(150%);
      -webkit-backdrop-filter: blur(16px) saturate(150%);
      overflow: hidden;
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }
    .hg-owner-list-card:hover {
      transform: translateY(-1px);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 16px 38px rgba(16, 24, 40, 0.11);
    }
    .hg-owner-verified-extras {
      margin: 0 0 12px 0;
      padding: 12px 14px;
      border-radius: 12px;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.08);
    }
    .hg-owner-verified-extras .hg-owner-lead-picker-field {
      margin-top: 10px;
      margin-bottom: 0;
    }
    .hg-owner-verified-extras .hg-owner-lead-picker-field .hg-label {
      font-size: 12px;
      margin-bottom: 6px;
    }
    .hg-owner-verified-extras #ownerLeadPicker {
      width: 100%;
      max-width: 100%;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.92) 100%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 4px 14px rgba(16, 24, 40, 0.06);
      padding: 12px 40px 12px 14px;
      font-weight: 600;
      font-size: 14px;
      color: #0f172a;
    }
    .hg-owner-code-line {
      margin: 0;
      font-size: 13px;
      font-weight: 600;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .hg-owner-code-line .hg-code-token {
      font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
      font-weight: 700;
      color: #c2410c;
      letter-spacing: 0.04em;
    }
    .hg-owner-list-title {
      margin: 0;
      padding: 12px 14px;
      font-size: 15px;
      letter-spacing: -0.02em;
      font-weight: 600;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      color: #0f172a;
      background: rgba(255, 255, 255, 0.72);
      backdrop-filter: blur(6px);
    }
    .hg-owner-list-card > .hg-owner-list-title:first-child {
      border-top-left-radius: calc(16px - 1px);
      border-top-right-radius: calc(16px - 1px);
    }
    .hg-owner-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .hg-owner-list li {
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 10px;
      padding: 9px 14px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.055);
      color: #0f172a;
      font-size: 13px;
      transition: background 0.14s ease;
    }
    .hg-owner-list-card ul.hg-owner-list li:hover {
      background: rgba(248, 250, 252, 0.88);
    }
    .hg-owner-list li:last-child { border-bottom: 0; }
    .hg-owner-list b {
      color: #334155;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .03em;
    }
    .hg-owner-list-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      padding: 10px;
      list-style: none;
      margin: 0;
    }
    .hg-owner-list-grid li {
      border: 1px solid #edf2f8;
      border-radius: 9px;
      padding: 8px;
      display: grid;
      gap: 4px;
      background: #fff;
      font-size: 12px;
      color: #0f172a;
    }
    .hg-owner-list-grid li b {
      color: #334155;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .03em;
    }
    .hg-owner-list-grid li span {
      line-height: 1.3;
      word-break: break-word;
    }
    .hg-owner-note {
      border: 1px solid rgba(15, 23, 42, 0.07);
      background: rgba(248, 250, 252, 0.92);
      color: #475569;
      border-radius: 12px;
      padding: 11px 14px;
      font-size: 12px;
      line-height: 1.45;
      margin: 10px 14px 14px;
    }

    /* —— Owner Portal: Methodik, Modul-Akzente (2026 glass) —— */
    .hg-owner-property-sheet.hg-owner-chart-card {
      border: 1px solid rgba(58, 98, 227, 0.14);
      box-shadow: 0 14px 42px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.6) inset;
    }

    .hg-owner-method-card {
      position: relative;
      overflow: visible;
      border: 1px solid rgba(15, 23, 42, 0.07);
      border-radius: 18px;
      background: linear-gradient(165deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.88) 42%, rgba(241, 245, 249, 0.95) 100%);
      box-shadow: 0 20px 56px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.65) inset;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .hg-owner-method-head {
      padding: 14px 14px 10px 14px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.35);
    }
    .hg-owner-method-head .hg-owner-list-title {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      backdrop-filter: none;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: -0.025em;
      color: #0f172a;
    }
    .hg-owner-method-sub {
      margin: 8px 0 0;
      font-size: 12px;
      line-height: 1.45;
      color: #64748b;
      max-width: 62ch;
    }
    .hg-owner-method-sub-br {
      display: none;
    }
    @media (min-width: 981px) {
      .hg-owner-method-sub-br {
        display: block;
      }
    }
    .hg-owner-method-body {
      padding: 12px 14px 14px 14px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .hg-owner-method-step {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      padding: 12px 12px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.52);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
      transition: border-color 0.18s ease, box-shadow 0.18s ease;
    }
    .hg-owner-method-step:hover {
      border-color: rgba(58, 98, 227, 0.18);
      box-shadow: 0 8px 26px rgba(15, 23, 42, 0.06), 0 1px 0 rgba(255, 255, 255, 0.65) inset;
    }
    .hg-owner-method-step-mark {
      width: 32px;
      height: 32px;
      border-radius: 11px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(145deg, #ff911d, #fb923c);
      box-shadow: 0 4px 14px rgba(255, 145, 29, 0.38);
      flex-shrink: 0;
    }
    .hg-owner-method-step-label {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 6px;
    }
    .hg-owner-method-step-text {
      font-size: 13px;
      line-height: 1.5;
      color: #334155;
      letter-spacing: -0.01em;
    }
    .hg-owner-method-note {
      margin: 0 14px 16px 14px;
      border-radius: 14px;
      border: 1px dashed rgba(100, 116, 139, 0.35);
      background: rgba(255, 255, 255, 0.45);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }
    .hg-owner-method-empty {
      padding: 14px;
      text-align: center;
      color: #94a3b8;
      font-size: 13px;
    }

    /* Glass-Module: dezente Rand-Akzente zur Unterscheidung */
    #ownerPortalModule #ownerSupplementalCard.hg-mod--owner-glass::before {
      background: linear-gradient(110deg, #c2410c 0%, #ff911d 24%, #ffc978 50%, #ff911d 76%, #c2410c 100%);
    }
    #ownerPortalModule #ownerSupplementalCard.hg-mod--owner-glass {
      border-color: rgba(255, 145, 29, 0.28);
    }
    #ownerPortalModule #ownerDocumentsCard.hg-mod--owner-glass::before {
      background: linear-gradient(110deg, #147a4a 0%, #27b36a 24%, #91f5c8 50%, #3bc277 76%, #147a4a 100%);
    }
    #ownerPortalModule #ownerDocumentsCard.hg-mod--owner-glass {
      border-color: rgba(39, 179, 106, 0.28);
    }
    #ownerPortalModule #ownerRenovationCard.hg-mod--owner-glass::before {
      background: linear-gradient(110deg, #2640a8 0%, #3a62e3 24%, #bdd0ff 50%, #5a7cf0 76%, #2640a8 100%);
    }
    #ownerPortalModule #ownerRenovationCard.hg-mod--owner-glass {
      border-color: rgba(58, 98, 227, 0.28);
    }
    #ownerPortalModule #ownerTaxCard.hg-mod--owner-glass::before {
      background: linear-gradient(110deg, #5a1fa8 0%, #7f3cd2 22%, #e5c4ff 50%, #9b4eec 78%, #5a1fa8 100%);
    }
    #ownerPortalModule #ownerTaxCard.hg-mod--owner-glass {
      border-color: rgba(139, 92, 246, 0.28);
    }

    #ownerPortalModule .hg-btn-primary {
      border-radius: 999px;
      font-weight: 600;
      letter-spacing: 0.02em;
      padding: 10px 20px;
      border: 1px solid rgba(255, 210, 170, 0.45);
      background: linear-gradient(110deg, var(--hg-orange-dark) 0%, var(--hg-accent) 42%, #ffb454 100%);
      background-size: 180% 100%;
      box-shadow: 0 8px 26px rgba(255, 145, 29, 0.32);
      transition: filter 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
    }
    #ownerPortalModule .hg-btn-primary.hg-btn-cta-shine {
      background-size: 240% 100%;
      animation: hg-glass-flow-bar 5s ease-in-out infinite;
    }
    #ownerPortalModule .hg-btn-primary:hover:not(:disabled) {
      filter: brightness(1.05);
      box-shadow: 0 12px 32px rgba(255, 145, 29, 0.38);
    }
    #ownerPortalModule .hg-btn-ghost {
      border-radius: 999px;
      border: 1px solid rgba(15, 23, 42, 0.1);
      background: rgba(255, 255, 255, 0.72);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      font-weight: 600;
      transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
    }
    #ownerPortalModule .hg-btn-ghost:hover:not(:disabled) {
      border-color: rgba(58, 98, 227, 0.28);
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
    }

    .hg-owner-verify.verified {
      border-color: rgba(39, 179, 106, 0.35);
    }
    .hg-owner-verify.verified.hg-owner-verify--compact,
    .hg-owner-verify.hg-owner-verify--compact {
      position: relative;
      overflow: hidden;
      border-color: rgba(34, 168, 97, 0.38);
      border-top-color: #147a4a;
      background-color: #147a4a;
      background-image: linear-gradient(
        180deg,
        #147a4a 0%,
        #1f8f56 42%,
        #27b36a 100%
      );
      background-size: 100% 100%;
      background-position: 0 0;
      background-repeat: no-repeat;
      animation: none;
      transition:
        background 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
    }
    .hg-owner-verify.verified.hg-owner-verify--compact::before,
    .hg-owner-verify.hg-owner-verify--compact::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: #147a4a;
      border-radius: inherit;
      pointer-events: none;
      z-index: 4;
    }
    .hg-owner-verify.hg-owner-verify--compact.hg-owner-verify--funnel-open::before {
      display: none;
    }
    .hg-owner-verify.hg-owner-verify--compact.hg-owner-verify--funnel-open {
      border-color: rgba(210, 218, 230, 0.55);
      overflow: hidden;
      background: transparent !important;
      background-color: transparent !important;
      background-image: none !important;
      animation: none;
      box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .hg-owner-verify.hg-owner-verify--compact.hg-owner-verify--funnel-open::after {
      display: none !important;
      opacity: 0;
      animation: none;
    }
    #ownerVerifyCard.hg-owner-verify--compact {
      border-top: 1px solid #147a4a;
      box-shadow: none;
    }
    #ownerVerifyCard.hg-owner-verify--funnel-open.verified {
      border-color: rgba(15, 23, 42, 0.08) !important;
    }
    @keyframes hg-owner-verify-wallet-flow {
      0%,
      100% {
        background-position: 8% 50%;
      }
      50% {
        background-position: 92% 50%;
      }
    }
    .hg-owner-verify.verified.hg-owner-verify--compact::after,
    .hg-owner-verify.hg-owner-verify--compact::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      z-index: 0;
      background: radial-gradient(130% 95% at 50% -28%, rgba(255, 255, 255, 0.28), transparent 52%);
      opacity: 0.65;
      animation: hg-owner-verify-wallet-glint 30s ease-in-out infinite;
    }
    @keyframes hg-owner-verify-wallet-glint {
      0%,
      100% {
        transform: translate(-4%, 0);
        opacity: 0.48;
      }
      50% {
        transform: translate(4%, 0);
        opacity: 0.72;
      }
    }
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-verify-body,
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-verify-compact,
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-verify-expandable,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-body,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-compact,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-expandable {
      position: relative;
      z-index: 1;
    }
    .hg-owner-verify.verified .hg-owner-verify-compact .hg-owner-verify-status-label,
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-verify-status-label {
      color: #94a3b8;
    }
    #ownerVerifyInputs.hg-inline {
      align-items: flex-end;
      gap: 10px;
      flex-wrap: wrap;
    }
    #ownerVerifyInputs.hg-inline > div:first-child {
      flex: 0 1 220px;
      min-width: 160px;
    }
    #ownerVerifyCode {
      max-width: 220px;
    }
    .hg-owner-verify.verified #ownerVerifyInputs .hg-label {
      color: #94a3b8;
      font-weight: 500;
    }
    #ownerClaimBtn {
      height: 42px;
      min-height: 42px;
      padding-top: 0;
      padding-bottom: 0;
      align-self: flex-end;
    }
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-list-title,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-list-title {
      display: none;
    }
    .hg-owner-verify-compact {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 10px 16px;
      padding: 8px 14px 8px 12px;
    }
    .hg-owner-verify-status-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0;
      flex-shrink: 0;
      min-width: 0;
    }
    .hg-owner-verify-status-icon {
      flex-shrink: 0;
      width: 26px;
      height: 26px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      color: #fff;
      background: rgba(255, 255, 255, 0.22);
      border: 2px solid rgba(255, 255, 255, 0.88);
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.12);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }
    .hg-owner-verify-status-label {
      margin: 0;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: rgba(255, 255, 255, 0.98);
      text-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
      white-space: nowrap;
    }
    .hg-owner-verify-quick-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      padding: 0;
      margin-left: auto;
      min-width: 0;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn.hg-btn-ghost {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: auto;
      max-width: 100%;
      min-height: 34px;
      padding: 6px 12px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.25;
      white-space: nowrap;
      border-radius: 999px !important;
      border: 1px solid rgba(255, 255, 255, 0.72) !important;
      background: rgba(255, 255, 255, 0.94) !important;
      color: #14532d !important;
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08) !important;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn + .hg-btn {
      border-left: none !important;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn:hover:not(:disabled),
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn.hg-btn-ghost:hover:not(:disabled) {
      color: #0f3d24 !important;
      background: #fff !important;
      border-color: rgba(255, 255, 255, 0.95) !important;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1) !important;
      transform: none;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn:focus,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn:active {
      transform: none;
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08) !important;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn.is-active {
      color: #0f3d24 !important;
      background: #fff !important;
      border-color: rgba(255, 255, 255, 0.95) !important;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1) !important;
    }
    .hg-owner-verify-expandable {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height 0.42s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.32s ease;
    }
    .hg-owner-verify.hg-owner-verify--panel-code .hg-owner-verify-expandable--code,
    .hg-owner-verify.hg-owner-verify--panel-picker .hg-owner-verify-expandable--picker {
      max-height: 520px;
      opacity: 1;
    }
    .hg-owner-verify-expandable-inner {
      padding: 0 16px 14px;
      border-top: none;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verified-extras {
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-code-line {
      color: rgba(255, 255, 255, 0.96);
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-code-line .hg-code-token {
      color: #fff;
      background: rgba(255, 255, 255, 0.2);
      padding: 2px 8px;
      border-radius: 6px;
    }
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-lead-picker-field .hg-label {
      color: rgba(255, 255, 255, 0.88);
    }
    .hg-owner-verify.hg-owner-verify--compact.hg-owner-verify--panel-code #ownerVerifyHint,
    .hg-owner-verify.hg-owner-verify--compact.hg-owner-verify--panel-picker #ownerVerifyHint {
      display: block;
      margin: 0 16px 10px !important;
      padding-top: 0;
      color: rgba(255, 255, 255, 0.92);
      font-size: 12px;
      line-height: 1.45;
    }
    .hg-owner-verify.verified.hg-owner-verify--compact .hg-owner-verify-body,
    .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-body {
      padding: 0;
    }
    @media (max-width: 640px) {
      .hg-owner-verify-compact {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 12px 12px;
      }
      .hg-owner-verify-status-bar {
        padding-bottom: 10px;
      }
      .hg-owner-verify-status-label {
        white-space: normal;
        font-size: 14px;
      }
      .hg-owner-verify-expandable-inner {
        padding: 0 14px 12px;
      }
      .hg-owner-verify-funnel-head {
        padding: 8px 12px;
        min-height: 42px;
      }
      .hg-owner-verify-funnel #ownerFunnelMount.hg-owner-funnel-mount {
        max-height: none;
        overflow-y: visible;
        padding: 0 10px 12px;
      }
      .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
        padding-top: var(--hg-owner-funnel-head-gap, 32px) !important;
      }
      .hg-owner-verify-quick-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 6px;
        width: 100%;
        align-items: stretch;
        justify-content: stretch;
        margin-left: 0;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.22);
      }
      .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn,
      .hg-owner-verify.hg-owner-verify--compact .hg-owner-verify-quick-actions .hg-btn.hg-btn-ghost {
        display: inline-flex;
        width: 100%;
        min-width: 0;
        max-width: none;
        flex: none;
        min-height: 32px;
        padding: 6px 8px;
        font-size: 10px;
        white-space: nowrap;
        text-align: center;
        line-height: 1.2;
      }
      #ownerValuationBtn {
        grid-column: 1;
        grid-row: 1;
      }
      #ownerPickLeadBtn {
        grid-column: 2;
        grid-row: 1;
      }
      #ownerSwitchCodeBtn {
        grid-column: 1 / -1;
        grid-row: 2;
      }
      .hg-owner-verify-quick-actions:not(:has(#ownerPickLeadBtn:not(.hidden))) #ownerValuationBtn {
        grid-column: 1 / -1;
        grid-row: 1;
      }
      .hg-owner-verify-quick-actions:not(:has(#ownerSwitchCodeBtn:not(.hidden))) #ownerPickLeadBtn {
        grid-column: 1 / -1;
        grid-row: 1;
      }
      .hg-owner-verify-quick-actions:not(:has(#ownerPickLeadBtn:not(.hidden))) #ownerSwitchCodeBtn {
        grid-row: 2;
      }
      .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--funnel-open) .hg-owner-verify-status-label {
        white-space: normal;
        font-size: 14px;
      }
      .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--funnel-open) .hg-owner-verify-status-icon {
        width: 24px;
        height: 24px;
        font-size: 12px;
      }
      .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--funnel-open) .hg-owner-verify-quick-actions .hg-btn,
      .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--funnel-open) .hg-owner-verify-quick-actions .hg-btn.hg-btn-ghost {
        min-height: 34px;
        font-size: 11px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .hg-owner-verify.verified.hg-owner-verify--compact,
      .hg-owner-verify.hg-owner-verify--compact {
        animation: none;
        background-position: 0 0, 0 0, 50% 50%;
      }
      .hg-owner-verify.verified.hg-owner-verify--compact::after,
      .hg-owner-verify.hg-owner-verify--compact::after {
        animation: none;
        transform: none;
        opacity: 0.55;
      }
      .hg-owner-verify-expandable {
        transition: none;
      }
      .hg-owner-verify-funnel-head,
      .hg-owner-verify-funnel-head::after {
        animation: none;
      }
      .hg-owner-verify-funnel-head::after {
        transform: none;
        opacity: 0.45;
      }
    }
    .hg-owner-verify:not(.verified):not(.hg-owner-verify--compact) .hg-owner-verify-expandable--code,
    .hg-owner-verify:not(.verified):not(.hg-owner-verify--compact) .hg-owner-verify-expandable--picker {
      max-height: none;
      opacity: 1;
    }
    .hg-owner-verify:not(.verified):not(.hg-owner-verify--compact) .hg-owner-verify-expandable-inner {
      padding: 0;
      border-top: 0;
    }
    .hg-owner-verify:not(.verified):not(.hg-owner-verify--compact) .hg-owner-verify-expandable--picker {
      max-height: 0;
      opacity: 0;
    }
    .hg-owner-verify.verified.hg-owner-verify--compact #ownerVerifyHint,
    .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--panel-code):not(.hg-owner-verify--panel-picker) #ownerVerifyHint {
      display: none;
    }
    .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--panel-code) .hg-owner-verify-expandable--code {
      max-height: 0;
      opacity: 0;
    }
    .hg-owner-verify.hg-owner-verify--compact:not(.hg-owner-verify--panel-picker) .hg-owner-verify-expandable--picker {
      max-height: 0;
      opacity: 0;
    }
    .hg-owner-verify.verified .hg-owner-list-title {
      color: #166534;
      background: rgba(39, 179, 106, 0.1);
      border-bottom-color: rgba(39, 179, 106, 0.25);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    @keyframes hg-btn-glint {
      0%, 100% { transform: translate(-12%, 0) rotate(12deg); opacity: 0.35; }
      50% { transform: translate(18%, 0) rotate(12deg); opacity: 0.65; }
    }
    .hg-btn-cta-shine,
    #ownerPortalModule .hg-mod-btn--primary.hg-btn-cta-shine {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      color: #fff !important;
      border: 1px solid rgba(255, 210, 170, 0.45) !important;
      background: linear-gradient(110deg, var(--hg-orange-dark) 0%, var(--hg-accent) 28%, #ffc978 50%, var(--hg-accent) 72%, var(--hg-orange-dark) 100%) !important;
      background-size: 240% 100% !important;
      animation: hg-glass-flow-bar 5s ease-in-out infinite;
      box-shadow: 0 8px 22px rgba(255, 145, 29, 0.28) !important;
    }
    .hg-btn-cta-shine::after,
    #ownerPortalModule .hg-mod-btn--primary.hg-btn-cta-shine::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: hg-btn-glint 4s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }
    .hg-btn-cta-shine > *,
    #ownerPortalModule .hg-mod-btn--primary.hg-btn-cta-shine > * {
      position: relative;
      z-index: 1;
    }
    .hg-btn-cta-shine:hover:not(:disabled),
    #ownerPortalModule .hg-mod-btn--primary.hg-btn-cta-shine:hover:not(:disabled) {
      filter: brightness(1.04);
      transform: translateY(-1px);
    }
    .hg-owner-verify-body {
      padding: 14px 14px 14px;
    }
    /* Konto löschen: dezenter Streifen unten im Eigentümer-Portal */
    .hg-owner-account-card {
      margin-top: 14px;
    }
    .hg-owner-account-card--subtle {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 14px 12px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.72);
    }
    .hg-owner-account-card__row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      justify-content: space-between;
    }
    .hg-owner-account-card__row--singleline {
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: 14px;
      align-items: center;
    }
    .hg-owner-account-card__row--singleline .hg-owner-account-card__label {
      flex-shrink: 0;
    }
    .hg-owner-account-card__inline-hint {
      flex: 1;
      min-width: 0;
      margin: 0;
      font-size: 11px;
      line-height: 1.4;
      color: #64748b;
    }
    .hg-owner-account-card__inline-hint a {
      color: #3a62e3;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .hg-owner-account-card__row--singleline .hg-btn-account-delete {
      flex-shrink: 0;
      margin-left: auto;
    }
    @media (max-width: 720px) {
      .hg-owner-account-card__row--singleline {
        flex-wrap: wrap;
      }
      .hg-owner-account-card__row--singleline .hg-btn-account-delete {
        margin-left: 0;
        width: 100%;
      }
    }
    .hg-owner-account-card__label {
      font-size: 11px;
      font-weight: 650;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-btn-account-delete {
      padding: 6px 12px;
      font-size: 12px;
      font-weight: 600;
      border-radius: 8px;
      background: #fff;
      border: 1px solid #e2e8f0;
      color: #475569;
    }
    .hg-btn-account-delete:hover,
    .hg-btn-account-delete:focus-visible,
    .hg-btn-account-delete:active {
      background: #f8fafc !important;
      border-color: #cbd5e1 !important;
      color: #334155 !important;
      outline: none;
    }
    .hg-owner-account-card__hint {
      margin: 8px 0 0;
      font-size: 11px;
      line-height: 1.45;
      color: #64748b;
    }
    .hg-owner-account-card__msg {
      margin: 8px 0 0;
      font-size: 11px;
    }
    .hg-modal-card.hg-modal-card--account-delete {
      width: min(480px, 100%);
      max-height: min(90vh, 640px);
    }
    .hg-delete-account-modal__body {
      font-size: 13px;
      line-height: 1.5;
      color: #334155;
    }
    .hg-delete-account-modal__body > p {
      margin: 0 0 10px;
    }
    .hg-delete-account-modal__list {
      margin: 0 0 14px;
      padding-left: 1.15rem;
      color: #475569;
      font-size: 12.5px;
      line-height: 1.5;
    }
    .hg-delete-account-modal__list li {
      margin-bottom: 6px;
    }
    .hg-delete-account-modal__note {
      margin: 0 0 14px;
      padding: 10px 12px;
      border-radius: 10px;
      background: rgba(248, 250, 252, 0.95);
      border: 1px solid rgba(15, 23, 42, 0.06);
      font-size: 11.5px;
      line-height: 1.45;
      color: #64748b;
    }
    .hg-btn-delete-confirm {
      background: #1e293b;
      color: #fff;
      border: 1px solid #1e293b;
      box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
    }
    .hg-btn-delete-confirm:hover,
    .hg-btn-delete-confirm:focus-visible {
      background: #0f172a !important;
      border-color: #0f172a !important;
      color: #fff !important;
      outline: none;
    }
    .hg-btn-delete-confirm:active {
      background: #334155 !important;
      border-color: #334155 !important;
      color: #fff !important;
    }
    .hg-profile-modal-card {
      width: min(640px, 100%);
      max-height: min(88vh, 680px);
      padding: 0;
      overflow: hidden;
      border-radius: 22px;
      border: 1px solid rgba(255, 255, 255, 0.72);
      background: rgba(255, 255, 255, 0.82);
      box-shadow:
        0 22px 50px rgba(15, 23, 42, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
      backdrop-filter: blur(18px) saturate(140%);
      -webkit-backdrop-filter: blur(18px) saturate(140%);
    }
    .hg-profile-modal-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      padding: 14px 16px 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.65);
      background: rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .hg-profile-modal-head h3 {
      margin: 0;
      font-size: 18px;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #0f172a;
    }
    .hg-profile-modal-head p {
      margin: 4px 0 0;
      font-size: 12px;
      line-height: 1.45;
      color: #64748b;
    }
    .hg-profile-modal-body {
      padding: 12px 16px 16px;
      overflow-y: auto;
      max-height: calc(min(88vh, 640px) - 64px);
    }
    .hg-profile-modal-kicker {
      margin: 0 0 4px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #64748b;
    }
    .hg-profile-hub:not(.is-active) {
      display: none !important;
    }
    .hg-profile-hub.is-active {
      display: block !important;
    }
    .hg-profile-hero {
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 100%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
      margin-bottom: 8px;
    }
    .hg-profile-hero__email {
      margin: 0 0 6px;
      font-size: 17px;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #0f172a;
      word-break: break-all;
    }
    .hg-profile-hero__meta {
      margin: 0 0 10px;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .hg-profile-role-badge {
      display: inline-flex;
      align-items: center;
      padding: 4px 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 650;
      color: #9a3412;
      border: 1px solid rgba(255, 145, 29, 0.35);
      background: rgba(255, 248, 240, 0.95);
    }
    .hg-profile-hero__id {
      margin: 0;
      font-size: 11px;
      color: #64748b;
      line-height: 1.45;
    }
    .hg-profile-hero__id .k {
      font-weight: 650;
      margin-right: 6px;
    }
    .hg-profile-hub-note {
      margin: 0 0 14px;
      font-size: 12px;
      line-height: 1.5;
      color: #64748b;
    }
    .hg-profile-section .hg-field {
      margin-bottom: 8px;
    }
    .hg-profile-section .hg-sub {
      font-size: 12px;
      line-height: 1.45;
    }
    .hg-profile-nav-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 4px;
    }
    .hg-profile-nav-card {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      min-height: 84px;
      padding: 14px 14px 12px;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: rgba(255, 255, 255, 0.88);
      cursor: pointer;
      text-align: left;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
      pointer-events: auto;
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
    }
    .hg-profile-nav-card:hover {
      transform: translateY(-1px);
      border-color: rgba(58, 98, 227, 0.28);
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    }
    .hg-profile-nav-card strong {
      font-size: 13px;
      font-weight: 650;
      color: #0f172a;
    }
    .hg-profile-nav-card span {
      font-size: 11px;
      color: #64748b;
      line-height: 1.35;
    }
    .hg-profile-nav-card--orange {
      border-color: rgba(255, 145, 29, 0.28);
      background: linear-gradient(160deg, rgba(255, 248, 240, 0.98), rgba(255, 255, 255, 0.92));
    }
    .hg-profile-nav-card--blue {
      border-color: rgba(58, 98, 227, 0.22);
      background: linear-gradient(160deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.92));
    }
    .hg-profile-nav-card--green {
      border-color: rgba(39, 179, 106, 0.24);
      background: linear-gradient(160deg, rgba(240, 253, 244, 0.98), rgba(255, 255, 255, 0.92));
    }
    .hg-profile-nav-card--danger {
      border-color: rgba(209, 67, 67, 0.22);
      background: linear-gradient(160deg, rgba(254, 242, 242, 0.95), rgba(255, 255, 255, 0.92));
    }
    .hg-profile-nav-card--danger strong {
      color: #991b1b;
    }
    .hg-profile-section:not(.is-active) {
      display: none !important;
    }
    .hg-profile-section.is-active {
      display: block !important;
    }
    .hg-profile-back {
      margin: 0 0 12px;
      padding: 0;
      border: 0;
      background: transparent;
      color: #3a62e3;
      font-size: 12px;
      font-weight: 650;
      cursor: pointer;
    }
    .hg-profile-back:hover {
      color: #1d4ed8;
      text-decoration: underline;
    }
    .hg-profile-section-head {
      margin: 0 0 14px;
    }
    .hg-profile-section-head h4 {
      margin: 0 0 4px;
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
    }
    .hg-profile-section-head p {
      margin: 0;
      font-size: 12px;
      line-height: 1.45;
      color: #64748b;
    }
    .hg-profile-panel {
      display: none;
    }
    .hg-profile-panel.is-active {
      display: block;
    }
    .hg-profile-overview-card {
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.72);
      background: rgba(255, 255, 255, 0.62);
      margin-bottom: 10px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }
    .hg-profile-overview-card .k {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 4px;
    }
    .hg-profile-overview-card .v {
      font-size: 14px;
      font-weight: 600;
      color: #0f172a;
      word-break: break-all;
    }
    .hg-profile-danger-inner {
      padding: 12px;
      border-radius: 14px;
      border: 1px solid rgba(220, 38, 38, 0.18);
      background: rgba(254, 242, 242, 0.42);
    }
    .hg-profile-danger-inner h4 {
      margin: 0 0 8px;
      font-size: 13px;
      font-weight: 700;
      color: #991b1b;
    }
    .hg-profile-panel .hg-profile-legal-row {
      margin: 10px 0 12px;
      font-size: 12px;
      line-height: 1.45;
    }
    .hg-profile-modal-body .hg-input {
      border-radius: 14px;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(203,213,225,.95);
    }
    .hg-profile-modal-head .hg-btn-ghost {
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      background: rgba(255, 255, 255, 0.78) !important;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
      font-weight: 600;
    }
    .hg-profile-modal-head .hg-btn-ghost:hover {
      border-color: rgba(58, 98, 227, 0.28) !important;
      background: rgba(255, 255, 255, 0.95) !important;
    }
    .hg-profile-modal-body .hg-btn-primary {
      border-radius: 999px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      white-space: normal;
      line-height: 1.35;
      font-size: 13px;
      padding: 10px 14px;
      border: 1px solid rgba(255, 210, 170, 0.55);
      background: linear-gradient(110deg, var(--hg-orange-dark) 0%, var(--hg-accent) 42%, #ffc978 100%);
      background-size: 180% 100%;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 8px 20px rgba(255, 145, 29, 0.28);
      transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    }
    .hg-profile-modal-body .hg-btn-primary:hover {
      filter: brightness(1.04);
      transform: translateY(-1px);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 12px 28px rgba(255, 145, 29, 0.34);
    }
    .hg-profile-danger-btn {
      background: rgba(255,255,255,.92) !important;
      color: #991b1b !important;
      border: 1px solid rgba(220,38,38,.42) !important;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 12px rgba(220, 38, 38, 0.08) !important;
    }
    .hg-profile-danger-btn:hover,
    .hg-profile-danger-btn:focus-visible {
      background: rgba(254,242,242,.95) !important;
      border-color: rgba(220,38,38,.45) !important;
      color: #7f1d1d !important;
    }
    @media (max-width: 560px) {
      .hg-profile-nav-grid {
        grid-template-columns: 1fr;
      }
      .hg-profile-modal-head {
        padding: 14px 14px 12px;
      }
      .hg-profile-modal-body {
        padding: 14px 14px 18px;
      }
    }
    .hg-owner-verify-actions {
      margin-top: 8px;
      margin-bottom: 0;
    }
    .hg-owner-verify.verified .hg-owner-verify-actions {
      margin-top: 6px;
    }
    .hg-owner-verify-secondary-stack {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .hg-owner-funnel-host {
      margin-top: 0;
    }
    .hg-owner-verify-funnel {
      display: flex;
      flex-direction: column;
      gap: 0;
      min-height: 0;
      position: relative;
      z-index: 1;
      isolation: isolate;
      overflow: hidden;
      --hg-owner-funnel-head-gap: 36px;
      --hg-owner-funnel-bg:
        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, #fffdfb 0%, #faf9f7 100%);
      background: var(--hg-owner-funnel-bg);
      border-radius: inherit;
    }
    .hg-owner-verify-funnel.hidden {
      display: none !important;
    }
    .hg-owner-verify.hg-owner-verify--funnel-open .hg-owner-verify-compact,
    .hg-owner-verify.hg-owner-verify--funnel-open #ownerVerifyMainFlow {
      display: none !important;
    }
    .hg-owner-verify.hg-owner-verify--funnel-open .hg-owner-verify-body {
      padding: 0;
    }
    .hg-owner-verify-funnel-head {
      flex-shrink: 0;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-height: 44px;
      padding: 8px 12px;
      overflow: hidden;
      isolation: isolate;
      border-bottom: 1px solid rgba(255, 255, 255, 0.55);
      z-index: 4;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.58) 100%);
      backdrop-filter: blur(18px) saturate(165%);
      -webkit-backdrop-filter: blur(18px) saturate(165%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 8px 24px rgba(15, 23, 42, 0.04);
      animation: none;
    }
    .hg-owner-verify-funnel-head::after {
      display: none;
    }
    .hg-owner-verify-funnel-head .hg-owner-verify-funnel-back,
    .hg-owner-verify-funnel-head .hg-owner-verify-funnel-close {
      position: relative;
      z-index: 1;
      pointer-events: auto;
    }
    #ownerPortalModule .hg-owner-verify-funnel-back,
    #ownerPortalModule .hg-owner-verify-funnel-close,
    #ownerPortalModule .hg-owner-verify-funnel-close span {
      -webkit-text-fill-color: currentColor;
    }
    .hg-owner-verify-funnel-back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 36px;
      min-height: 34px;
      padding: 6px 14px;
      margin: 0;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      border-radius: 999px;
      background: #475569 !important;
      color: #fff !important;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: -0.01em;
      text-shadow: none;
      cursor: pointer;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      -webkit-tap-highlight-color: transparent;
    }
    .hg-owner-verify-funnel-back:hover {
      background: #334155 !important;
      border-color: rgba(15, 23, 42, 0.22) !important;
      color: #fff !important;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.16);
    }
    .hg-owner-verify-funnel-close {
      position: static;
      flex-shrink: 0;
      margin-left: auto;
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      padding: 0;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      border-radius: 999px;
      background: #475569 !important;
      color: #fff !important;
      font-size: 22px;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      -webkit-tap-highlight-color: transparent;
    }
    .hg-owner-verify-funnel-close span {
      display: block;
      margin-top: -1px;
      color: #fff !important;
    }
    .hg-owner-verify-funnel-close:hover {
      background: #334155 !important;
      border-color: rgba(15, 23, 42, 0.22) !important;
      box-shadow: 0 2px 6px rgba(15, 23, 42, 0.16);
    }
    .hg-owner-verify-funnel-close:hover span {
      color: #fff !important;
    }
    .hg-owner-verify-funnel-back:focus,
    .hg-owner-verify-funnel-back:active,
    .hg-owner-verify-funnel-close:focus,
    .hg-owner-verify-funnel-close:active {
      background: #334155 !important;
      outline: none;
    }
    .hg-owner-verify-funnel-back:focus,
    .hg-owner-verify-funnel-back:active {
      color: #fff !important;
    }
    .hg-owner-verify-funnel-close:focus,
    .hg-owner-verify-funnel-close:active {
      color: #fff !important;
    }
    .hg-owner-verify-funnel-close:focus span,
    .hg-owner-verify-funnel-close:active span {
      color: #fff !important;
    }
    .hg-owner-verify-funnel-back:focus-visible,
    .hg-owner-verify-funnel-close:focus-visible {
      outline: 2px solid rgba(71, 85, 105, 0.45);
      outline-offset: 1px;
    }
    .hg-owner-verify-funnel .hg-owner-funnel-host {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0;
      border: none;
      position: relative;
      z-index: 1;
      background: var(--hg-owner-funnel-bg);
    }
    .hg-owner-verify-funnel #ownerFunnelMount.hg-owner-funnel-mount {
      flex: 1 1 auto;
      min-height: 0;
      max-height: none;
      overflow-x: hidden;
      overflow-y: visible;
      border: none;
      box-shadow: none;
      background: var(--hg-owner-funnel-bg);
      border-radius: 0;
      margin: 0;
      padding: 0 12px 12px;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
      min-height: 0 !important;
      height: auto !important;
      position: relative !important;
      background: var(--hg-owner-funnel-bg) !important;
      padding: var(--hg-owner-funnel-head-gap, 36px) 2px 6px !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-progress-bg,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar::before,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar::after,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-progress-bg,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 #p-bar {
      display: none !important;
      height: 0 !important;
      min-height: 0 !important;
      max-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      visibility: hidden !important;
      pointer-events: none !important;
      border: none !important;
      box-shadow: none !important;
      opacity: 0 !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-bg-contours {
      display: block !important;
      opacity: 0.72 !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-card {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-wrapper {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-back-nav {
      display: none !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3.hg-v3--has-back .p-wrapper {
      padding-top: 0 !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
      min-height: 0 !important;
      height: auto !important;
      max-height: none !important;
      padding: var(--hg-owner-funnel-head-gap, 36px) 2px 6px !important;
      justify-content: flex-start !important;
      align-items: stretch !important;
      overflow: visible !important;
      background: var(--hg-owner-funnel-bg) !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active {
      padding-top: 0;
      margin-top: 0;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active > .p-title,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active > .p-hero-title {
      margin-top: 0;
      margin-bottom: clamp(18px, 3.5vh, 28px);
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active > .p-input-group,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active > .p-grid,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-step.active > .hg-v3-outline-grid {
      margin-top: 0;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-hero-title,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-title {
      font-size: clamp(1.35rem, 4.5vw, 1.85rem) !important;
      margin-top: 0 !important;
      margin-bottom: clamp(18px, 3.5vh, 28px) !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-card,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-wrapper {
      padding-top: 0 !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
      height: auto !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-shell {
      flex: 0 1 auto;
      min-height: 0;
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
      display: flex;
      flex-direction: column;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-wrapper,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway .p-wrapper {
      flex: 0 1 auto;
      min-height: 0;
      overflow-y: visible !important;
      overflow-x: hidden;
      transform: none !important;
      margin-left: auto !important;
      margin-right: auto !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway::before,
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway::after {
      display: none !important;
      content: none !important;
    }
    .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-foot {
      padding-top: 6px;
      padding-bottom: 8px;
    }
    @media (max-width: 767px) {
      .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        padding-top: 0 !important;
      }
      .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-shell {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
      }
      .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-wrapper {
        flex: 0 1 auto !important;
        overflow-y: visible !important;
        padding-top: 0 !important;
      }
    }
    @media (max-width: 640px) {
      .hg-owner-verify-funnel {
        --hg-owner-funnel-head-gap: 32px;
      }
      .hg-owner-verify-funnel #ownerFunnelMount.hg-owner-funnel-mount {
        max-height: none;
        overflow-y: visible;
        margin: 0;
        padding: 0 10px 12px;
      }
      .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 {
        padding-top: var(--hg-owner-funnel-head-gap, 32px) !important;
      }
      .hg-owner-verify-funnel-head {
        padding: 8px 10px;
        min-height: 40px;
      }
    }
    .hg-owner-funnel-host-actions {
      margin-bottom: 12px;
    }
    .hg-owner-funnel-mount {
      font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      border: 1px solid var(--hg-panel-border);
      border-radius: 16px;
      overflow: auto;
      background: var(--hg-card-bg);
      box-shadow: var(--hg-panel-shadow);
      max-height: min(720px, 82vh);
      padding: 4px 6px 12px;
      font-family: inherit;
      color: var(--hg-text);
    }
    @media (max-width: 640px) {
      .hg-owner-funnel-mount {
        max-height: min(640px, 78vh);
      }
    }
    /* Eingebetteter Funnel: an Dashboard-Look anlehnen (Hintergrund/Glow aus Standalone-Funnel abschalten) */
    .hg-owner-verify-funnel .hg-owner-funnel-mount {
      border: none;
      border-radius: 0;
      background: var(--hg-owner-funnel-bg);
      box-shadow: none;
      max-height: none;
      padding: 0 12px 12px;
    }
    .hg-owner-verify-funnel .hg-owner-funnel-mount #hg-pro-gateway {
      animation: none !important;
      background: var(--hg-owner-funnel-bg) !important;
      padding: var(--hg-owner-funnel-head-gap, 36px) 2px 6px !important;
      margin: 0 !important;
      box-shadow: none !important;
    }
    .hg-owner-funnel-mount #hg-pro-gateway {
      animation: none !important;
      background: transparent !important;
      padding: 8px 6px 4px !important;
      margin: 0 !important;
      box-shadow: none !important;
    }
    .hg-owner-funnel-mount #hg-pro-gateway::before,
    .hg-owner-funnel-mount #hg-pro-gateway::after {
      display: none !important;
      content: none !important;
    }
    .hg-owner-funnel-mount #hg-pro-gateway .p-wrapper {
      transform: none !important;
    }
    .hg-owner-funnel-mount #hg-pro-gateway .p-card {
      border-radius: 14px;
      border: 1px solid var(--hg-line);
      box-shadow: var(--hg-shadow);
      background: rgba(255, 255, 255, 0.98);
    }
    .hg-owner-funnel-mount #hg-pro-gateway .p-item,
    .hg-owner-funnel-mount #hg-pro-gateway .p-next-btn {
      font-family: inherit;
    }
    .hg-owner-funnel-mount #hg-pro-gateway .p-label {
      font-family: inherit;
      color: var(--hg-muted);
    }
    .hg-owner-funnel-mount #hg-pro-gateway .p-title,
    .hg-owner-funnel-mount #hg-pro-gateway .p-hero-title {
      font-family: inherit;
      color: var(--hg-text);
    }
    .hg-owner-energy-card {
      border: 1px solid #d9e2ef;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 8px 20px rgba(16,24,40,.06);
      padding: 14px;
    }
    .hg-owner-energy-card.is-muted {
      opacity: .72;
      filter: grayscale(.12);
      border-color: #e2e8f0;
      background: #f8fafc;
    }
    .hg-owner-energy-card.is-muted .hg-energy-stat {
      background: #f8fafc;
    }
    .hg-owner-energy-card.hg-mod-gated:not(.hg-mod-gated--open) {
      min-height: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
    }
    .hg-owner-energy-card.hg-mod-gated .hg-mod-teaser {
      padding: 18px 14px 16px;
      min-height: 196px;
      border-radius: inherit;
    }
    .hg-owner-energy-card.hg-mod-gated .hg-mod-gated-inner {
      padding: 10px;
      box-sizing: border-box;
    }
    .hg-mod-teaser-icon {
      width: 56px;
      height: 56px;
      display: grid;
      place-items: center;
      margin-bottom: 2px;
    }
    .hg-mod-teaser-icon svg {
      display: block;
      width: 56px;
      height: 56px;
    }
    .hg-owner-energy-entry .hg-mod-head--compact {
      padding: 0 0 6px;
      margin-bottom: 0;
      border-bottom: none;
      font-size: 13px;
    }
    .hg-owner-energy-entry .hg-mod-body--compact {
      padding: 0;
    }
    .hg-owner-energy-entry .hg-mod-intro--compact {
      margin: 0 0 10px;
      font-size: 11px;
    }
    .hg-owner-energy-entry .hg-mod-foot--compact {
      padding-top: 0;
      margin-top: 10px;
    }
    .hg-owner-energy-entry .hg-mod-foot--compact .hg-mod-btn {
      min-height: 40px;
      padding: 8px 8px;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: -0.02em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .hg-owner-energy-entry .hg-mod-chip--energy {
      min-width: 34px;
      padding: 5px 7px;
      font-size: 10px;
    }
    .hg-energy-hint {
      margin: 10px 0 0;
      color: #64748b;
      font-size: 11px;
      line-height: 1.4;
    }
    .hg-energy-top {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .hg-energy-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 96px;
      height: 38px;
      border-radius: 10px;
      font-size: 19px;
      font-weight: 800;
      color: #ffffff;
      background: #94a3b8;
      border: 1px solid rgba(15, 23, 42, 0.08);
    }
    .hg-energy-caption {
      margin: 7px 0 0;
      color: #334155;
      font-size: 12px;
      font-weight: 600;
    }
    .hg-energy-scale {
      display: grid;
      grid-template-columns: repeat(9, minmax(0, 1fr));
      gap: 5px;
      margin-bottom: 12px;
    }
    .hg-energy-scale span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 24px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      color: #0f172a;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      transition: all .18s ease;
    }
    .hg-energy-scale span.active {
      color: #fff;
      border-color: transparent;
      box-shadow: 0 4px 12px rgba(15,23,42,.16);
      transform: translateY(-1px);
    }
    .hg-energy-stats {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }
    .hg-energy-stat {
      border: 1px solid #edf2f8;
      border-radius: 12px;
      padding: 10px;
      background: #fff;
    }
    .hg-energy-stat .k {
      color: #334155;
      font-size: 11px;
      margin-bottom: 3px;
      font-weight: 700;
    }
    .hg-energy-stat .v {
      color: #0f172a;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.2;
    }
    .hg-info-btn {
      border: 1px solid rgba(148, 163, 184, 0.42);
      background: rgba(248, 250, 252, 0.92);
      color: #64748b;
      width: 18px;
      height: 18px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
      margin-left: 6px;
      line-height: 1;
      padding: 0;
      vertical-align: middle;
      -webkit-tap-highlight-color: transparent;
      transition: none;
    }
    .hg-info-btn:hover {
      border-color: rgba(100, 116, 139, 0.48);
      background: #fff;
      color: #475569;
    }
    .hg-info-btn:focus {
      outline: none;
      background: rgba(248, 250, 252, 0.92);
      border-color: rgba(148, 163, 184, 0.42);
      color: #64748b;
      box-shadow: none;
    }
    .hg-info-btn:active,
    .hg-info-btn[aria-expanded="true"] {
      background: rgba(248, 250, 252, 0.92) !important;
      border-color: rgba(148, 163, 184, 0.42) !important;
      color: #64748b !important;
      box-shadow: none !important;
    }
    .hg-info-btn:focus-visible {
      outline: 2px solid rgba(100, 116, 139, 0.32);
      outline-offset: 1px;
      background: rgba(248, 250, 252, 0.92);
      border-color: rgba(148, 163, 184, 0.42);
      color: #64748b;
    }
    .hg-info-box {
      display: none;
      margin-top: 6px;
      font-size: 11px;
      line-height: 1.4;
      color: #334155;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 7px 8px;
    }
    .hg-info-box.open { display: block; }
    .hg-owner-analytics {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 6px;
    }
    .hg-owner-analytics .hg-energy-stat:not(.hg-owner-analytics-lead) {
      border-color: rgba(15, 23, 42, 0.07);
      border-radius: 12px;
      transition: box-shadow 0.15s ease, border-color 0.15s ease;
    }
    .hg-owner-analytics .hg-energy-stat:not(.hg-owner-analytics-lead):hover {
      border-color: rgba(15, 23, 42, 0.11);
      box-shadow: 0 8px 20px -12px rgba(15, 23, 42, 0.1);
    }
    .hg-owner-chart-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 8px;
      margin-top: 8px;
      align-items: stretch;
    }
    .hg-owner-chart-grid > * {
      min-width: 0;
    }
    .hg-owner-analytics .hg-energy-stat-label-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 4px;
      margin-bottom: 3px;
      min-width: 0;
    }
    .hg-owner-analytics .hg-energy-stat-label-row .k {
      margin-bottom: 0;
      flex: 1;
      min-width: 0;
    }
    .hg-owner-analytics .hg-energy-stat-label-row .hg-info-btn {
      margin-left: 0;
      flex-shrink: 0;
    }
    /* Objektdetails: klar getrennte Blöcke */
    #ownerPortalModule #ownerSupplementalCard .hg-mod-intro.hg-mod-intro--owner-fill {
      margin: 0 0 4px;
      padding: 8px 10px;
      border-radius: 10px;
      background: rgba(255, 145, 29, 0.07);
      border: 1px solid rgba(255, 145, 29, 0.16);
      font-size: 11.5px;
      line-height: 1.45;
      color: #573424;
      font-weight: 500;
    }
    #ownerPortalModule #ownerSupplementalCard .hg-mod-body {
      gap: 14px !important;
    }
    #ownerPortalModule .hg-owner-detail-accordions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
    }
    #ownerPortalModule #ownerDeepPropertyMount {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    #ownerPortalModule .hg-owner-detail-accord {
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.68) 100%);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 8px 22px rgba(16, 24, 40, 0.06);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      overflow: hidden;
    }
    #ownerPortalModule .hg-owner-detail-accord.is-empty {
      display: none;
    }
    #ownerPortalModule .hg-owner-detail-accord__toggle {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
        margin: 0;
      border: none;
      background: transparent;
      cursor: pointer;
      text-align: left;
      font: inherit;
      color: inherit;
    }
    #ownerPortalModule .hg-owner-detail-accord__toggle:hover {
      background: rgba(255, 145, 29, 0.05);
    }
    #ownerPortalModule .hg-owner-detail-accord__toggle:focus-visible {
      outline: 2px solid rgba(255, 145, 29, 0.45);
      outline-offset: -2px;
    }
    #ownerPortalModule .hg-owner-detail-accord__label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #ea580c;
    }
    #ownerPortalModule .hg-owner-detail-accord__chev {
      width: 8px;
      height: 8px;
      border-right: 2px solid #94a3b8;
      border-bottom: 2px solid #94a3b8;
      transform: rotate(45deg);
      transition: transform 0.2s ease;
      flex-shrink: 0;
      margin-top: -3px;
    }
    #ownerPortalModule .hg-owner-detail-accord.is-open .hg-owner-detail-accord__chev {
      transform: rotate(225deg);
      margin-top: 3px;
    }
    #ownerPortalModule .hg-owner-detail-accord__body {
      padding: 18px 14px 16px;
      border-top: 1px solid rgba(210, 218, 230, 0.55);
    }
    #ownerPortalModule .hg-owner-detail-accord__content {
      padding-top: 0;
    }
    #ownerPortalModule .hg-owner-detail-accord__content > :first-child {
      margin-top: 0;
    }
    #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty),
    #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty),
    #ownerPortalModule #ownerSupplementalAccordions #ownerSupplementalFields:not(:empty) {
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty)::before,
    #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty)::before,
    #ownerPortalModule #ownerSupplementalAccordions #ownerSupplementalFields:not(:has(.hg-mod-empty)):not(:empty)::before {
      content: none;
      display: none;
    }
    @media (min-width: 981px) {
      #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty),
      #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty),
      #ownerPortalModule #ownerSupplementalAccordions #ownerSupplementalFields:not(:empty) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 14px;
        align-items: start;
      }
      #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty) .hg-mod-field,
      #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty) .hg-mod-field,
      #ownerPortalModule #ownerSupplementalAccordions #ownerSupplementalFields:not(:empty) .hg-mod-field {
        margin: 0;
      }
      #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty) .hg-mod-q,
      #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty) .hg-mod-q,
      #ownerPortalModule #ownerSupplementalAccordions #ownerSupplementalFields:not(:empty) .hg-mod-q {
        margin-bottom: 8px;
      }
      #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty) .hg-mod-field[data-energy-field="energy_efficiency_class"] {
        grid-column: 1 / -1;
      }
    }
    #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty) .hg-mod-field,
    #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty) .hg-mod-field,
    #ownerPortalModule #ownerSupplementalFields:not(:empty) .hg-mod-field {
      padding: 12px 12px 10px;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.68) 100%);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 8px 20px rgba(15, 23, 42, 0.05);
      backdrop-filter: blur(10px) saturate(140%);
      -webkit-backdrop-filter: blur(10px) saturate(140%);
      transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    }
    #ownerPortalModule #ownerSupplementalAccordions #ownerMissingCoreFields:not(:empty) .hg-mod-field:hover,
    #ownerPortalModule #ownerSupplementalAccordions #ownerEnergyEditFields:not(:empty) .hg-mod-field:hover,
    #ownerPortalModule #ownerSupplementalFields:not(:empty) .hg-mod-field:hover {
      transform: translateY(-1px);
      border-color: rgba(255, 145, 29, 0.22);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 12px 28px rgba(15, 23, 42, 0.08);
    }
    #ownerPortalModule #ownerMissingCoreFields:not(:empty),
    #ownerPortalModule #ownerSupplementalFields:not(:empty) {
      padding: 12px 12px 10px;
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.68) 100%);
      border: 1px solid rgba(210, 218, 230, 0.95);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 8px 22px rgba(16, 24, 40, 0.06);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
    }
    #ownerPortalModule #ownerMissingCoreFields:not(:empty)::before {
      content: "Kernangaben";
      display: block;
      margin: 0 0 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #ea580c;
    }
    #ownerPortalModule #ownerEnergyEditFields:not(:empty) {
      padding: 12px 12px 10px;
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.68) 100%);
      border: 1px solid rgba(210, 218, 230, 0.95);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 8px 22px rgba(16, 24, 40, 0.06);
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
    }
    #ownerPortalModule #ownerEnergyEditFields:not(:empty)::before {
      content: "Energiekennzahlen";
      display: block;
      margin: 0 0 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #ea580c;
    }
    #ownerPortalModule .hg-mod-energy-sanity {
      margin: 8px 0 0;
      padding: 8px 10px;
      border-radius: 8px;
      font-size: 11px;
      line-height: 1.4;
      color: #9a3412;
      background: rgba(255, 145, 29, 0.08);
      border: 1px solid rgba(255, 145, 29, 0.22);
    }
    #ownerPortalModule .hg-mod-energy-sanity.is-ok {
      color: #166534;
      background: rgba(34, 168, 97, 0.08);
      border-color: rgba(34, 168, 97, 0.22);
    }
    #ownerPortalModule .hg-mod-energy-sanity.hidden {
      display: none !important;
    }
    #ownerPortalModule .hg-mod-field.is-energy-field-error {
      padding: 10px 10px 8px;
      margin: 0 0 8px;
      border-radius: 12px;
      background: rgba(220, 38, 38, 0.06);
      border: 1px solid rgba(220, 38, 38, 0.28);
    }
    #ownerPortalModule .hg-mod-field.is-energy-field-warn {
      padding: 10px 10px 8px;
      margin: 0 0 8px;
      border-radius: 12px;
      background: rgba(255, 145, 29, 0.07);
      border: 1px solid rgba(255, 145, 29, 0.28);
    }
    #ownerPortalModule .owner-energy-input.is-energy-input-invalid,
    #ownerPortalModule .owner-energy-class-group.is-energy-input-invalid {
      border-color: rgba(220, 38, 38, 0.55) !important;
      box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12) !important;
    }
    #ownerPortalModule .owner-energy-input.is-energy-input-warn,
    #ownerPortalModule .owner-energy-class-group.is-energy-input-warn {
      border-color: rgba(234, 88, 12, 0.45) !important;
      box-shadow: 0 0 0 2px rgba(255, 145, 29, 0.14) !important;
    }
    #ownerPortalModule .owner-energy-class-group.is-energy-input-invalid .hg-mod-chip--energy.is-selected {
      box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.92),
        0 0 0 4px rgba(220, 38, 38, 0.28) !important;
    }
    #ownerPortalModule .owner-energy-class-group.is-energy-input-warn .hg-mod-chip--energy.is-selected {
      box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.92),
        0 0 0 4px rgba(234, 88, 12, 0.28) !important;
    }
    #ownerPortalModule .hg-mod-energy-field-msg {
      margin: 8px 0 0;
      font-size: 11.5px;
      line-height: 1.45;
      font-weight: 500;
    }
    #ownerPortalModule .hg-mod-energy-field-msg.is-error {
      color: #b91c1c;
    }
    #ownerPortalModule .hg-mod-energy-field-msg.is-warn {
      color: #c2410c;
    }
    #ownerPortalModule #ownerSupplementalFields:not(:has(.hg-mod-empty)):not(:empty)::before {
      content: "Gebäudehülle";
      display: block;
      margin: 0 0 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #ea580c;
    }
    #ownerPortalModule #ownerSupplementalCard .hg-mod-field {
      padding-bottom: 14px;
    }
    #ownerPortalModule #ownerSupplementalCard .hg-mod-chips {
      gap: 8px;
      padding-bottom: 4px;
    }
    #ownerPortalModule #ownerSupplementalCard .hg-deep-reno-card .hg-mod-chips {
      padding-bottom: 10px;
    }
    .hg-deep-equip-group + .hg-deep-equip-group {
      margin-top: 10px;
    }

    /* Tiefe Objekterfassung: Heizung, Ausstattung, Sanierung (Owner-Portal, Corporate Light) */
    #ownerPortalModule .hg-owner-deep-panel__hint,
    #ownerPortalModule .hg-owner-deep-funnel-note {
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 10px;
      font-size: 11.5px;
      line-height: 1.45;
      color: #475569;
      background: rgba(58, 98, 227, 0.06);
      border: 1px solid rgba(58, 98, 227, 0.14);
    }
    #ownerPortalModule .hg-owner-deep-funnel-note strong {
      color: #1e293b;
      font-weight: 700;
    }
    #ownerPortalModule .hg-owner-deep-fields {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 14px;
      align-items: start;
    }
    #ownerPortalModule .hg-owner-deep-fields .hg-mod-field,
    #ownerPortalModule .hg-owner-deep-fields .hg-mod-field--equip-group {
      margin: 0;
      padding: 12px 12px 10px;
      border-radius: 14px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.68) 100%);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 8px 20px rgba(15, 23, 42, 0.05);
      backdrop-filter: blur(10px) saturate(140%);
      -webkit-backdrop-filter: blur(10px) saturate(140%);
    }
    #ownerPortalModule .hg-owner-deep-fields .hg-mod-q {
      margin-bottom: 8px;
      color: #334155;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    @media (max-width: 720px) {
      #ownerPortalModule .hg-owner-deep-fields {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    #ownerPortalModule .hg-deep-reno-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 4px;
    }
    @media (max-width: 900px) {
      #ownerPortalModule .hg-deep-reno-grid {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    #ownerPortalModule .hg-deep-reno-card {
      margin: 0;
      padding: 12px 12px 10px;
      border-radius: 12px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: rgba(255, 255, 255, 0.82);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset;
    }
    #ownerPortalModule .hg-deep-reno-card__head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 6px 10px;
      margin-bottom: 8px;
    }
    #ownerPortalModule .hg-deep-reno-card__title {
      font-size: 0.82rem;
      font-weight: 700;
      color: #1e293b;
    }
    #ownerPortalModule .hg-deep-reno-card__factor {
      font-size: 0.7rem;
      font-weight: 700;
      color: #c2410c;
      padding: 3px 8px;
      border-radius: 999px;
      background: rgba(255, 145, 29, 0.12);
      border: 1px solid rgba(255, 145, 29, 0.28);
    }
    #ownerPortalModule .hg-deep-reno-card .hg-mod-q--sub {
      font-size: 0.72rem;
      margin: 6px 0 5px;
      color: #64748b;
      font-weight: 600;
    }
    #ownerPortalModule .hg-deep-reno-meta {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dashed rgba(210, 218, 230, 0.9);
    }
    #ownerPortalModule .hg-deep-reno-meta__top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px 12px;
      align-items: end;
    }
    @media (max-width: 520px) {
      #ownerPortalModule .hg-deep-reno-meta__top {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    #ownerPortalModule .hg-deep-reno-label {
      display: block;
      font-size: 0.72rem;
      font-weight: 600;
      color: #64748b;
      margin-bottom: 5px;
    }
    #ownerPortalModule .hg-deep-reno-year input,
    #ownerPortalModule .hg-deep-reno-inv input {
      width: 100%;
      min-height: 38px;
      border-radius: 10px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      background: #fff;
      color: #1e293b;
      padding: 8px 10px;
      font: inherit;
      box-sizing: border-box;
    }
    #ownerPortalModule .hg-deep-reno-inv-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.74rem;
      font-weight: 600;
      color: #475569;
      white-space: nowrap;
      min-height: 38px;
      padding-bottom: 1px;
    }
    #ownerPortalModule .hg-deep-reno-inv-wrap {
      display: none;
      margin-top: 10px;
    }
    #ownerPortalModule .hg-deep-reno-inv-wrap.is-open {
      display: block;
    }
    .hg-mod-q--section {
      font-size: 0.95rem;
      font-weight: 700;
      margin: 18px 0 10px;
    }
    .hg-mod-q--sub {
      font-size: 0.78rem;
      margin: 8px 0 6px;
      color: rgba(226, 232, 240, 0.72);
    }
    .hg-mod-q-hint {
      display: block;
      font-size: 0.72rem;
      font-weight: 500;
      color: rgba(226, 232, 240, 0.55);
      margin-top: 4px;
    }
    .hg-mod-chips--wrap {
      flex-wrap: wrap;
    }
    .hg-mod-chip--xs {
      min-height: 32px;
      padding: 5px 10px;
      font-size: 0.74rem;
    }
    .hg-mod-chip--multi.is-selected {
      border-color: rgba(96, 165, 250, 0.55);
      box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.25);
    }
    .hg-mod-field--section {
      margin-top: 8px;
    }

    #ownerPortalModule #ownerSupplementalCard .hg-mod-chips {
      flex-wrap: wrap;
    }
    .owner-energy-class-group {
      display: grid !important;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 6px !important;
    }
    @media (max-width: 720px) {
      .owner-energy-class-group {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    .owner-energy-class-group .hg-mod-chip--energy {
      --energy-chip-color: #64748b;
      min-height: 34px !important;
      font-weight: 800 !important;
      font-size: 12px !important;
      letter-spacing: 0.02em;
      color: var(--energy-chip-color) !important;
      border: 1px solid color-mix(in srgb, var(--energy-chip-color) 38%, #ffffff) !important;
      background: color-mix(in srgb, var(--energy-chip-color) 14%, #ffffff) !important;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 2px 8px color-mix(in srgb, var(--energy-chip-color) 12%, transparent) !important;
      transition: transform 0.12s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    }
    .owner-energy-class-group .hg-mod-chip--energy:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--energy-chip-color) 55%, #ffffff) !important;
      background: color-mix(in srgb, var(--energy-chip-color) 22%, #ffffff) !important;
    }
    .owner-energy-class-group .hg-mod-chip--energy.is-selected {
      border-color: var(--energy-chip-color) !important;
      background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--energy-chip-color) 28%, #ffffff),
        color-mix(in srgb, var(--energy-chip-color) 12%, #ffffff)
      ) !important;
      color: #0f172a !important;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 6px 16px color-mix(in srgb, var(--energy-chip-color) 28%, transparent),
        0 0 0 1px color-mix(in srgb, var(--energy-chip-color) 18%, transparent) !important;
      transform: translateY(-1px);
    }
    #ownerDocumentsCard .hg-mod-stats {
      gap: 10px;
    }
    #ownerDocumentsCard .hg-mod-stat {
      position: relative;
      overflow: hidden;
      padding: 12px 10px 10px;
      border: 1px solid rgba(210, 218, 230, 0.95);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 100%);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 28px rgba(16, 24, 40, 0.08);
      backdrop-filter: blur(12px) saturate(150%);
      -webkit-backdrop-filter: blur(12px) saturate(150%);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }
    #ownerDocumentsCard .hg-mod-stat::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      opacity: 0.95;
    }
    #ownerDocumentsCard .hg-mod-stat:nth-child(1)::before {
      background: linear-gradient(110deg, #147a4a 0%, #27b36a 50%, #91f5c8 100%);
    }
    #ownerDocumentsCard .hg-mod-stat:nth-child(2)::before {
      background: linear-gradient(110deg, #2640a8 0%, #3a62e3 50%, #bdd0ff 100%);
    }
    #ownerDocumentsCard .hg-mod-stat:nth-child(3)::before {
      background: linear-gradient(110deg, #9e7808 0%, #e5b213 50%, #ffc978 100%);
    }
    #ownerDocumentsCard .hg-mod-stat:hover {
      transform: translateY(-2px);
      border-color: rgba(58, 98, 227, 0.22);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 14px 34px rgba(16, 24, 40, 0.11);
    }
    #ownerDocumentsCard .hg-mod-stat .v {
      font-size: 14px;
      font-weight: 700;
      letter-spacing: -0.02em;
    }
    #ownerPortalModule .hg-mod-stat .hg-owner-widget-label-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 4px;
      margin-bottom: 3px;
    }
    .hg-mod-reno-breakdown-title-row {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 6px;
    }
    .hg-mod-reno-breakdown-title-row .hg-mod-reno-breakdown-title {
      margin: 0;
    }
    .hg-mod-reno-waterfall-row strong .hg-nowrap-token {
      display: inline-block;
    }

    .hg-risk-popover-layer {
      position: fixed;
      z-index: 10080;
      max-width: min(248px, calc(100vw - 24px));
      padding: 9px 30px 9px 10px;
      background: #fff;
      border: 1px solid rgba(15, 23, 42, 0.13);
      border-radius: 10px;
      box-shadow: 0 14px 44px rgba(15, 23, 42, 0.2);
      box-sizing: border-box;
    }
    .hg-risk-popover-layer.hidden {
      display: none !important;
    }
    .hg-risk-popover-msg {
      margin: 0;
      font-size: 11px;
      line-height: 1.42;
      color: #334155;
      font-weight: 500;
    }
    .hg-risk-popover-close {
      position: absolute;
      top: 2px;
      right: 2px;
      width: 28px;
      height: 28px;
      padding: 0;
      margin: 0;
      border: none;
      border-radius: 6px;
      background: transparent;
      color: #64748b;
      font-size: 18px;
      line-height: 1;
      cursor: pointer;
      display: grid;
      place-items: center;
    }
    .hg-risk-popover-close:hover,
    .hg-risk-popover-close:focus-visible {
      background: rgba(15, 23, 42, 0.06);
      color: #0f172a;
      outline: none;
    }

    #ownerFactorPanel,
    #ownerChartSide {
      box-sizing: border-box;
    }
    .hg-owner-chart-side {
      display: flex;
      flex-direction: column;
      gap: 6px;
      min-width: 0;
    }
    .hg-owner-chart-grid .hg-owner-energy-card {
      margin: 0;
    }
    .hg-owner-chart-side > .hg-owner-energy-card {
      flex-shrink: 0;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 14px 34px -14px rgba(15, 23, 42, 0.09);
      background: linear-gradient(180deg, #ffffff 0%, #fcfcfd 100%);
      padding: 10px;
      border-radius: 14px;
    }
    .hg-owner-chart-side .hg-energy-top {
      margin-bottom: 8px;
      gap: 8px;
    }
    .hg-owner-chart-side .hg-energy-badge {
      min-width: 72px;
      height: 30px;
      font-size: 15px;
      border-radius: 8px;
    }
    .hg-owner-chart-side .hg-energy-caption {
      margin: 4px 0 0;
      font-size: 10.5px;
    }
    .hg-owner-chart-side .hg-energy-scale {
      gap: 3px;
      margin-bottom: 8px;
    }
    .hg-owner-chart-side .hg-energy-scale span {
      height: 20px;
      font-size: 10px;
      border-radius: 999px;
    }
    .hg-owner-chart-side .hg-energy-stats {
      gap: 6px;
    }
    .hg-owner-chart-side .hg-energy-stat {
      padding: 6px 8px;
      border-radius: 10px;
    }
    .hg-owner-chart-side .hg-energy-stat .k {
      font-size: 10px;
      margin-bottom: 2px;
      font-weight: 600;
    }
    .hg-owner-chart-side .hg-energy-stat .v {
      font-size: 14px;
      font-weight: 700;
    }
    .hg-owner-chart-side .hg-energy-hint {
      margin: 7px 0 0;
      font-size: 10px;
    }
    .hg-owner-chart-grid .hg-energy-stats {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hg-owner-factor-panel {
      display: flex;
      flex-direction: column;
      padding: 0;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: linear-gradient(180deg, #fcfcfd 0%, #ffffff 52%);
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 14px 34px -14px rgba(15, 23, 42, 0.09);
    }
    .hg-owner-factor-head {
      padding: 10px 13px 8px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.65);
      backdrop-filter: blur(8px);
    }
    .hg-owner-chart-title {
      margin: 0;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: -0.025em;
      color: #0f172a;
    }
    .hg-owner-factor-desc {
      margin: 3px 0 0;
      font-size: 10.5px;
      font-weight: 400;
      letter-spacing: -0.01em;
      color: #64748b;
      line-height: 1.28;
    }
    .hg-owner-chart-canvas {
      width: 100%;
      height: 220px;
      display: block;
    }
    .hg-factor-bars {
      display: flex;
      flex-direction: column;
      gap: 0;
      flex: 1 1 auto;
      min-height: 0;
      padding: 2px 0 0;
    }
    .hg-factor-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      column-gap: 10px;
      min-height: 0;
      padding: 7px 12px;
      transition: background 0.15s ease;
    }
    .hg-factor-row:nth-child(even) {
      background: rgba(248, 250, 252, 0.88);
    }
    .hg-factor-row:hover {
      background: rgba(241, 245, 249, 0.95);
    }
    .hg-factor-row.special {
      background: linear-gradient(
        90deg,
        rgba(99, 102, 241, 0.07) 0%,
        rgba(248, 250, 252, 0.88) 42%
      );
      box-shadow: inset 3px 0 0 0 #6366f1;
    }
    .hg-factor-row.special:nth-child(even) {
      background: linear-gradient(
        90deg,
        rgba(99, 102, 241, 0.09) 0%,
        rgba(241, 245, 249, 0.75) 45%
      );
    }
    .hg-factor-label {
      min-width: 0;
      font-size: 11px;
      line-height: 1.3;
      color: #475569;
      font-weight: 400;
      letter-spacing: -0.015em;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }
    .hg-factor-row.special .hg-factor-label {
      color: #312e81;
      font-weight: 500;
    }
    .hg-factor-val {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 3.25rem;
      padding: 4px 10px;
      font-size: 12px;
      font-weight: 600;
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.03em;
      font-feature-settings: "tnum" 1, "lnum" 1;
      color: #0f172a;
      white-space: nowrap;
      border-radius: 999px;
      background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
      border: 1px solid rgba(15, 23, 42, 0.06);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }
    .hg-factor-row.special .hg-factor-val {
      color: #3730a3;
      border-color: rgba(99, 102, 241, 0.22);
      background: linear-gradient(160deg, #eef2ff 0%, #e0e7ff 95%);
      box-shadow: 0 1px 4px rgba(79, 70, 229, 0.1);
    }
    .hg-factor-scope-hd {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      margin: 10px 0 2px;
      padding: 6px 12px 6px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #64748b;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(248, 250, 252, 0.4));
      border-radius: 10px 10px 0 0;
    }
    .hg-factor-scope-hd:first-of-type {
      margin-top: 4px;
    }
    .hg-factor-scope-hd-t {
      min-width: 0;
      color: #475569;
    }
    .hg-factor-scope-hd-meta {
      flex-shrink: 0;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: none;
      font-variant-numeric: tabular-nums;
      color: #0f172a;
    }
    .hg-factor-scope-hd--land .hg-factor-scope-hd-meta {
      color: #166534;
    }
    .hg-factor-scope-hd--build .hg-factor-scope-hd-meta {
      color: #1e40af;
    }
    .hg-factor-row.equiv {
      margin-top: auto;
      flex: 1 1 auto;
      align-items: start;
      align-content: start;
      min-height: 2.75rem;
      padding-top: 10px;
      padding-bottom: 12px;
      background: linear-gradient(
        180deg,
        rgba(255, 145, 29, 0.1) 0%,
        rgba(255, 145, 29, 0.05) 100%
      );
      border-top: 1px solid rgba(15, 23, 42, 0.11);
      border-radius: 0;
      box-shadow: none;
    }
    .hg-factor-row.equiv:nth-child(even),
    .hg-factor-row.equiv:hover {
      background: linear-gradient(
        180deg,
        rgba(255, 145, 29, 0.1) 0%,
        rgba(255, 145, 29, 0.05) 100%
      );
    }
    .hg-factor-row.equiv:hover {
      background: linear-gradient(
        180deg,
        rgba(255, 145, 29, 0.13) 0%,
        rgba(255, 145, 29, 0.07) 100%
      );
    }
    .hg-factor-row.equiv .hg-factor-label {
      font-weight: 600;
      color: #334155;
    }
    .hg-factor-row.equiv .hg-factor-val {
      color: #9a3412;
      border-color: rgba(255, 145, 29, 0.28);
      background: linear-gradient(160deg, #fff7ed 0%, #ffedd5 95%);
    }
    .hg-owner-prop-dense {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 4px 11px;
      align-content: start;
      padding: 5px 8px 7px;
      width: 100%;
      box-sizing: border-box;
      min-width: 0;
    }
    @media (max-width: 980px) {
      .hg-owner-prop-dense {
        gap: 4px 10px;
        padding: 5px 8px 8px;
      }
      .hg-owner-property-sheet .hg-prop-item:not(.hg-prop-item--wide) {
        padding: 5px 7px;
        gap: 2px;
      }
      .hg-owner-property-sheet .hg-prop-l {
        font-size: 9.5px;
      }
      .hg-owner-property-sheet .hg-prop-t {
        font-size: 10.5px;
      }
      .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide {
        padding: 7px 8px;
      }
      .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide .hg-prop-t {
        font-size: 10px;
      }
    }
    @media (max-width: 760px) {
      .hg-owner-prop-dense {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }
    /* Label über Wert: keine Überlappung auch bei langen Feldnamen */
    .hg-owner-property-sheet .hg-prop-item:not(.hg-prop-item--wide) {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 2px;
      padding: 4px 7px;
      margin: 0;
      min-width: 0;
      transition: background 0.15s ease;
      border-radius: 6px;
      box-sizing: border-box;
    }
    .hg-owner-prop-dense > .hg-prop-item:not(.hg-prop-item--wide) {
      background: rgba(248, 250, 252, 0.88);
    }
    .hg-owner-property-sheet .hg-prop-item:hover {
      background: rgba(241, 245, 249, 0.97);
      outline: 1px solid rgba(15, 23, 42, 0.035);
      outline-offset: -1px;
    }
    .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 3px;
      grid-column: 1 / -1;
      align-self: stretch;
      margin-top: 4px;
      padding: 5px 8px;
      border-radius: 7px;
      border-top: 1px solid rgba(15, 23, 42, 0.07);
      background: rgba(249, 250, 251, 0.96);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
      min-width: 0;
      box-sizing: border-box;
    }
    .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide:hover {
      background: rgba(241, 245, 249, 0.94);
      outline-color: transparent;
    }
    .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide .hg-prop-l {
      font-weight: 600;
      color: #475569;
    }
    .hg-owner-property-sheet .hg-prop-item.hg-prop-item--wide .hg-prop-t {
      font-size: 10px;
      line-height: 1.28;
      font-weight: 600;
    }
    .hg-owner-property-sheet .hg-prop-l {
      font-size: 9.5px;
      color: #475569;
      font-weight: 500;
      letter-spacing: -0.015em;
      line-height: 1.22;
      word-break: break-word;
      overflow-wrap: anywhere;
      hyphens: auto;
      min-width: 0;
    }
    .hg-owner-property-sheet .hg-prop-t {
      font-size: 10.5px;
      color: #0f172a;
      font-weight: 600;
      word-break: break-word;
      overflow-wrap: anywhere;
      line-height: 1.24;
      letter-spacing: -0.02em;
      font-variant-numeric: tabular-nums;
      min-width: 0;
    }
    .hg-prop-empty {
      grid-column: 1 / -1;
      padding: 6px 4px;
      text-align: center;
      color: #64748b;
      font-weight: 400;
      font-size: 10.5px;
    }
    /* Zwei Spalten: gleiche Unterkante, Zeilenhöhen wachsen mit verfügbarem Platz (ohne JS) */
    @media (min-width: 761px) {
      .hg-owner-chart-grid > #ownerFactorPanel.hg-owner-factor-panel {
        align-self: stretch;
      }
      .hg-owner-chart-grid #ownerFactorPanel .hg-owner-factor-head {
        flex-shrink: 0;
      }
      /* min-height darf hier nicht kleiner als Inhalt werden — sonst overflow:hidden am Panel schneidet ab */
      .hg-owner-chart-grid #ownerFactorBars.hg-factor-bars {
        flex: 1 1 auto;
        min-height: min-content;
        display: flex;
        flex-direction: column;
      }
      .hg-owner-chart-grid #ownerFactorBars .hg-factor-row {
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: auto;
      }
      .hg-owner-chart-grid #ownerFactorBars .hg-factor-row.equiv {
        flex-grow: 1;
        margin-top: auto;
      }
      .hg-owner-chart-grid > #ownerChartSide.hg-owner-chart-side {
        align-self: stretch;
      }
      .hg-owner-chart-grid .hg-owner-property-sheet {
        flex: 1 1 auto;
        min-height: min-content;
        display: flex;
        flex-direction: column;
      }
      .hg-owner-chart-grid .hg-owner-property-sheet .hg-owner-factor-head {
        flex-shrink: 0;
      }
      .hg-owner-chart-grid #ownerPropertyList.hg-owner-prop-dense {
        flex: 1 1 auto;
        min-height: min-content;
        align-content: stretch;
        grid-auto-rows: minmax(min-content, 1fr);
      }
    }
    .hg-owner-property-sheet .hg-owner-factor-head {
      padding: 8px 11px 6px;
    }
    .hg-owner-property-sheet .hg-owner-chart-title {
      font-size: 12px;
    }
    .hg-owner-property-sheet .hg-owner-factor-desc {
      font-size: 10px;
      margin-top: 3px;
      line-height: 1.32;
      color: #64748b;
    }

    .hg-modal {
      position: fixed;
      inset: 0;
      background: rgba(15, 23, 42, 0.45);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
      /* Über Header (~120), Footer-Embed (10100) und WP-Chrome */
      z-index: 200000;
      isolation: isolate;
    }
    body.hg-modal-open .hg-modal.open {
      z-index: 200001;
    }
    .hg-modal:has(.hg-auth-glass-modal) {
      background: rgba(15, 23, 42, 0.45);
    }
    .hg-modal.open { display: flex; }
    #detailModal.hg-modal--dashboard.open,
    #brokerApiModal.hg-modal--dashboard.open {
      align-items: flex-start;
      justify-content: center;
      padding: clamp(72px, 11vh, 104px) 16px max(20px, env(safe-area-inset-bottom, 20px));
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }
    .hg-modal-card {
      position: relative;
      z-index: 1;
      width: min(900px, 100%);
      max-height: min(92vh, 920px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      background: #fff;
      border: 1px solid #d9e2ef;
      border-radius: 14px;
      padding: 14px;
      box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
    }
    .hg-modal-card.hg-auth-glass-modal {
      background: #fff;
      border: 1px solid #d5deea;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
    }
    .hg-modal-card.hg-owner-valuation-leave-modal {
      width: min(460px, 100%);
      padding: 0;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, 0.78);
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 253, 251, 0.88) 100%);
      backdrop-filter: blur(22px) saturate(165%);
      -webkit-backdrop-filter: blur(22px) saturate(165%);
      box-shadow:
        0 28px 64px rgba(15, 23, 42, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
      overflow: hidden;
    }
    .hg-owner-valuation-leave-modal__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 22px 22px 0;
    }
    .hg-owner-valuation-leave-modal__icon {
      width: 42px;
      height: 42px;
      border-radius: 14px;
      display: grid;
      place-items: center;
      font-size: 20px;
      background: linear-gradient(135deg, rgba(255, 145, 29, 0.16), rgba(58, 98, 227, 0.1));
      border: 1px solid rgba(255, 145, 29, 0.22);
      flex-shrink: 0;
    }
    .hg-owner-valuation-leave-modal__title {
      margin: 0 0 6px;
      font-size: 18px;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #0f172a;
    }
    .hg-owner-valuation-leave-modal__sub {
      margin: 0;
      font-size: 13px;
      line-height: 1.55;
      color: #475569;
    }
    .hg-owner-valuation-leave-modal__body {
      padding: 16px 22px 22px;
    }
    .hg-owner-valuation-leave-modal__note {
      margin: 0 0 18px;
      padding: 12px 14px;
      border-radius: 12px;
      font-size: 13px;
      line-height: 1.55;
      color: #334155;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.08);
    }
    .hg-owner-valuation-leave-modal__note a {
      color: #c2410c;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .hg-owner-valuation-leave-modal__note a:hover {
      color: #9a3412;
    }
    .hg-owner-valuation-leave-modal__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: flex-end;
    }
    .hg-owner-valuation-leave-modal__actions .hg-btn {
      min-height: 42px;
      padding: 10px 16px;
      font-size: 13px;
      font-weight: 600;
    }
    @media (max-width: 480px) {
      .hg-owner-valuation-leave-modal__actions {
        flex-direction: column-reverse;
      }
      .hg-owner-valuation-leave-modal__actions .hg-btn {
        width: 100%;
      }
    }
    #detailModal .hg-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      padding-right: 6px;
      margin-right: -4px;
    }
    .hg-modal-detail-sheet {
      border: 1px solid var(--hg-panel-border);
      border-radius: 16px;
      background: var(--hg-panel-bg);
      box-shadow: var(--hg-panel-shadow);
      overflow: hidden;
      margin-bottom: 14px;
    }
    .hg-broker-valuation-wrap + .hg-modal-detail-sheet {
      margin-top: 14px;
    }
    .hg-modal-detail-sheet .hg-owner-factor-head {
      padding: 10px 12px 8px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.88);
    }
    .hg-modal-detail-sheet .hg-owner-chart-title {
      font-size: 13px;
      font-weight: 700;
      color: #0f172a;
      margin: 0;
    }
    .hg-modal-detail-sheet .hg-owner-factor-desc {
      font-size: 11px;
      color: #64748b;
      margin: 4px 0 0;
      line-height: 1.35;
    }
    .hg-modal-lead-section {
      padding: 10px 12px 12px;
      border-top: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.55);
    }
    .hg-modal-lead-section:first-of-type {
      border-top: 0;
      padding-top: 12px;
    }
    .hg-modal-lead-section-title {
      font-size: 11px;
      font-weight: 750;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #64748b;
      margin: 0 0 8px;
    }
    .hg-modal-lead-section .hg-owner-prop-dense {
      margin: 0;
    }
    .hg-modal-detail-sheet .hg-prop-empty {
      margin: 12px;
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker {
      border-radius: 20px;
      border: 1px solid var(--hg-glass-border);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 253, 255, 0.94) 100%);
      backdrop-filter: blur(24px) saturate(170%);
      -webkit-backdrop-filter: blur(24px) saturate(170%);
      box-shadow: 0 32px 72px rgba(15, 23, 42, 0.16);
      overflow: hidden;
      transform-origin: center top;
    }
    #detailModal.hg-modal.open .hg-modal-card.hg-modal-card--broker.is-entering {
      animation: hg-broker-modal-in 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    @keyframes hg-broker-modal-in {
      from {
        opacity: 0;
        transform: translateY(16px) scale(0.985);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker .hg-modal-body {
      padding: 0 18px 18px;
    }
    .hg-broker-modal-hero {
      margin: 0 0 14px;
      padding: 18px 18px 14px;
      border-radius: 16px;
      border: 1px solid rgba(255, 145, 29, 0.28);
      background:
        radial-gradient(120% 90% at 100% 0%, rgba(255, 145, 29, 0.12) 0%, transparent 55%),
        linear-gradient(180deg, rgba(255, 251, 245, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
      box-shadow:
        0 6px 20px rgba(255, 145, 29, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
    }
    .hg-broker-modal-hero__top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .hg-broker-modal-hero__title {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #0f172a;
    }
    .hg-broker-modal-hero__meta {
      margin: 6px 0 0;
      font-size: 12.5px;
      line-height: 1.5;
      color: #64748b;
    }
    .hg-broker-modal-hero__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 10px;
    }
    .hg-broker-modal-hero__value {
      flex-shrink: 0;
      min-width: 160px;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(15, 23, 42, 0.03);
    }
    .hg-broker-modal-hero__value .k {
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #64748b;
      margin-bottom: 4px;
    }
    .hg-broker-modal-hero__value .v {
      font-size: 1.4rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      color: #0f172a;
      line-height: 1.1;
      font-variant-numeric: tabular-nums;
    }
    .hg-broker-modal-stack {
      display: grid;
      gap: 12px;
      padding-top: 14px;
    }
    .hg-broker-modal-chip {
      display: inline-flex;
      align-items: center;
      padding: 5px 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 600;
      color: #475569;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.07);
      transition: background 0.2s ease, border-color 0.2s ease;
    }
    .hg-broker-modal-section {
      position: relative;
      border: none;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.78);
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
      overflow: hidden;
      isolation: isolate;
      transition: box-shadow 0.28s ease, background 0.28s ease;
    }
    .hg-broker-modal-section.is-open {
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
    }
    .hg-broker-modal-section::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      border: 1px solid var(--hg-panel-border);
      pointer-events: none;
      z-index: 2;
    }
    .hg-broker-modal-section__toggle {
      position: relative;
      z-index: 1;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 13px 15px;
      border: none;
      background: transparent;
      cursor: pointer;
      text-align: left;
      font: inherit;
      color: inherit;
      transition: background 0.22s ease;
    }
    .hg-broker-modal-section.is-open > .hg-broker-modal-section__toggle {
      border-top-left-radius: 14px;
      border-top-right-radius: 14px;
      background: rgba(248, 250, 252, 0.65);
    }
    .hg-broker-modal-section:not(.is-open) > .hg-broker-modal-section__toggle {
      border-radius: 14px;
    }
    .hg-broker-modal-section__toggle:hover {
      background: rgba(248, 250, 252, 0.85);
    }
    .hg-broker-modal-section__title {
      margin: 0;
      font-size: 13px;
      font-weight: 700;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .hg-broker-modal-section__hint {
      margin: 2px 0 0;
      font-size: 11px;
      color: #64748b;
    }
    .hg-broker-modal-section__chev {
      flex-shrink: 0;
      font-size: 18px;
      line-height: 1;
      color: #94a3b8;
      transition: transform 0.22s ease;
    }
    .hg-broker-modal-section.is-open .hg-broker-modal-section__chev {
      transform: rotate(180deg);
    }
    .hg-broker-modal-section__body {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .hg-broker-modal-section.is-open .hg-broker-modal-section__body {
      grid-template-rows: 1fr;
    }
    .hg-broker-modal-section__inner {
      padding: 12px 14px 14px;
      border-top: 1px solid rgba(15, 23, 42, 0.06);
      overflow: hidden;
      min-height: 0;
      opacity: 0;
      transform: translateY(-4px);
      transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .hg-broker-modal-section.is-open .hg-broker-modal-section__inner {
      opacity: 1;
      transform: translateY(0);
    }
    .hg-broker-modal-section .hg-modal-detail-sheet {
      border: none;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      margin: 0;
      overflow: visible;
    }
    .hg-broker-modal-section .hg-modal-lead-section:first-of-type {
      padding-top: 10px;
    }
    .hg-broker-data-section {
      padding: 0 0 14px;
    }
    .hg-broker-data-section:last-child {
      padding-bottom: 4px;
    }
    .hg-broker-data-section__title {
      margin: 0 0 10px;
      padding: 0 2px 0 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #64748b;
      border-left: 2px solid rgba(255, 145, 29, 0.55);
    }
    .hg-broker-data-table {
      border: 1px solid rgba(15, 23, 42, 0.08);
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    }
    .hg-broker-data-row {
      display: grid;
      grid-template-columns: minmax(130px, 36%) 1fr;
      gap: 16px;
      align-items: start;
      padding: 10px 14px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.05);
      transition: background 0.15s ease;
    }
    .hg-broker-data-row:nth-child(even) {
      background: rgba(248, 250, 252, 0.55);
    }
    .hg-broker-data-row:last-child {
      border-bottom: none;
    }
    .hg-broker-data-row:hover {
      background: rgba(248, 250, 252, 0.85);
    }
    .hg-broker-data-row--wide {
      grid-template-columns: 1fr;
      gap: 4px;
    }
    .hg-broker-data-k {
      font-size: 11.5px;
      font-weight: 500;
      color: #64748b;
      line-height: 1.4;
    }
    .hg-broker-data-v {
      font-size: 12.5px;
      font-weight: 600;
      color: #0f172a;
      line-height: 1.45;
      word-break: break-word;
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    .hg-broker-data-row--wide .hg-broker-data-v {
      text-align: left;
      font-weight: 500;
    }
    .hg-broker-modal-section .hg-modal-lead-section {
      padding: 0;
      border: none;
      background: transparent;
    }
    .hg-broker-modal-section .hg-modal-lead-section-title {
      display: none;
    }
    .hg-broker-modal-actions {
      display: none;
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker {
      display: flex;
      flex-direction: column;
      width: min(1140px, calc(100vw - 32px));
      max-height: min(calc(100dvh - clamp(72px, 11vh, 104px) - 32px), 880px);
      margin: 0 auto;
      padding: 0;
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker > .hg-inline:first-child {
      position: sticky;
      top: 0;
      z-index: 4;
      flex-shrink: 0;
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker .hg-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 12px 18px 8px;
    }
    .hg-broker-modal-footer {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 18px;
      background: #fff;
      border-top: 1px solid rgba(15, 23, 42, 0.1);
      box-shadow:
        0 -1px 0 rgba(255, 255, 255, 0.9) inset,
        0 -8px 24px rgba(15, 23, 42, 0.1),
        0 -2px 8px rgba(15, 23, 42, 0.06);
    }
    #leadsModule.hg-broker-leads #brokerApiBtn {
      display: inline-flex !important;
    }
    #leadsModule.hg-broker-leads #brokerApiBtn.hg-btn--coming-soon {
      opacity: 0.5;
      color: #94a3b8;
      border-color: rgba(148, 163, 184, 0.4);
      background: rgba(248, 250, 252, 0.8);
      cursor: pointer;
    }
    #leadsModule.hg-broker-leads #brokerApiBtn.hg-btn--coming-soon:hover {
      opacity: 0.68;
      color: #64748b;
      border-color: rgba(148, 163, 184, 0.55);
    }
    .hg-modal-card--broker-api.hg-modal-card--broker-api-soon {
      width: min(440px, calc(100vw - 32px));
      max-height: none;
    }
    .hg-broker-api-coming-soon {
      font-size: 14px;
      line-height: 1.65;
      color: #475569;
    }
    .hg-broker-api-coming-soon p {
      margin: 0 0 14px;
    }
    .hg-broker-api-coming-soon p:last-child {
      margin-bottom: 0;
    }
    .hg-broker-info-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items: start;
    }
    .hg-broker-info-grid__col {
      display: flex;
      flex-direction: column;
      gap: 12px;
      min-width: 0;
    }
    @media (max-width: 720px) {
      .hg-broker-info-grid {
        grid-template-columns: 1fr;
      }
    }
    .hg-modal-card--broker-api {
      width: min(640px, calc(100vw - 32px));
      max-height: min(calc(100dvh - clamp(72px, 11vh, 104px) - 32px), 820px);
      margin: 0 auto;
      padding: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 18px;
    }
    .hg-broker-api-modal__head {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 12px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.96);
    }
    .hg-broker-api-modal__body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 16px 18px 22px;
    }
    .hg-broker-api-panel {
      display: flex;
      flex-direction: column;
      gap: 18px;
      font-size: 13px;
      color: #334155;
      line-height: 1.55;
    }
    .hg-broker-api-panel > p {
      margin: 0;
    }
    .hg-broker-api-section {
      padding: 14px 14px 12px;
      border-radius: 12px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(248, 250, 252, 0.85);
    }
    .hg-broker-api-section h4 {
      margin: 0 0 8px;
      font-size: 13px;
      font-weight: 700;
      color: #0f172a;
    }
    .hg-broker-api-section p {
      margin: 0 0 10px;
    }
    .hg-broker-api-section p:last-child {
      margin-bottom: 0;
    }
    .hg-broker-api-token-box {
      margin: 0 0 10px;
      padding: 12px 14px;
      min-height: 44px;
      border-radius: 10px;
      border: 1px dashed rgba(255, 145, 29, 0.45);
      background: #fff;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 11px;
      line-height: 1.45;
      word-break: break-all;
      color: #0f172a;
    }
    .hg-broker-api-meta-row {
      display: grid;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 12px;
      color: #475569;
    }
    .hg-broker-api-meta-row strong {
      color: #0f172a;
      font-weight: 600;
    }
    .hg-broker-api-panel pre,
    .hg-broker-api-panel code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 11.5px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
    }
    .hg-broker-api-panel pre {
      margin: 10px 0 0;
      padding: 10px 12px;
      overflow-x: auto;
      white-space: pre-wrap;
      word-break: break-word;
    }
    .hg-broker-api-panel code {
      padding: 2px 6px;
    }
    .hg-broker-api-panel ul {
      margin: 0;
      padding-left: 18px;
    }
    .hg-broker-api-panel li {
      margin-bottom: 6px;
    }
    .hg-broker-api-panel li:last-child {
      margin-bottom: 0;
    }
    .hg-broker-api-note {
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 8px;
      font-size: 12px;
      background: rgba(255, 247, 237, 0.9);
      border: 1px solid rgba(255, 145, 29, 0.25);
      color: #9a3412;
    }
    .hg-broker-portal {
      display: grid;
      gap: 12px;
    }
    #brokerStatsModule .hg-owner-headline {
      margin: 0;
    }
    #brokerStatsModule .hg-broker-chart-card {
      border-radius: 18px;
    }
    #leadsModule.hg-broker-leads .hg-toolbar {
      padding: 10px 12px;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.07);
      background: rgba(255, 255, 255, 0.65);
      margin-bottom: 12px;
    }
    #leadsModule.hg-broker-leads .hg-tab.active {
      border-color: rgba(255, 145, 29, 0.45);
      background: rgba(255, 145, 29, 0.1);
      color: #c2410c;
    }
    .hg-broker-valuation-wrap .hg-factor-row.special {
      background: rgba(248, 250, 252, 0.95);
      box-shadow: inset 2px 0 0 0 rgba(100, 116, 139, 0.35);
    }
    .hg-broker-valuation-wrap .hg-factor-row.equiv {
      background: rgba(255, 251, 245, 0.9);
      border-top: 1px solid rgba(15, 23, 42, 0.06);
    }
    .hg-broker-valuation-wrap .hg-owner-list-card {
      overflow: visible;
    }
    #detailModal.hg-modal .hg-modal-card.hg-modal-card--broker > .hg-inline:first-child {
      margin: 0;
      padding: 14px 18px 12px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.9);
    }
    #leadsModule.hg-broker-leads .hg-grid {
      gap: 12px;
    }
    .hg-leads-filter-bar {
      display: grid;
      grid-template-columns: minmax(52px, auto) repeat(3, minmax(0, 1fr));
      gap: 8px;
      align-items: center;
      margin-bottom: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.72);
    }
    .hg-leads-filter-bar__label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #94a3b8;
      white-space: nowrap;
    }
    .hg-leads-filter-bar .hg-input {
      min-width: 0;
      width: 100%;
    }
    .hg-broker-lead-card--unread {
      border-color: rgba(58, 98, 227, 0.42);
      box-shadow:
        0 0 0 1px rgba(58, 98, 227, 0.12),
        0 12px 32px rgba(58, 98, 227, 0.1);
    }
    .hg-broker-lead-card__unread-dot {
      position: absolute;
      top: 12px;
      left: 12px;
      width: 9px;
      height: 9px;
      border-radius: 999px;
      background: #3a62e3;
      box-shadow: 0 0 0 3px rgba(58, 98, 227, 0.18);
      pointer-events: none;
    }
    .hg-owner-land-hint {
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 10px;
      font-size: 11.5px;
      line-height: 1.45;
      color: #64748b;
      background: rgba(15, 23, 42, 0.04);
      border: 1px solid rgba(15, 23, 42, 0.07);
    }
    .hg-chat-load-more {
      display: flex;
      justify-content: center;
      padding: 6px 0 10px;
    }
    .hg-chat-load-more .hg-btn {
      font-size: 11px;
      min-height: 30px;
      padding: 4px 12px;
    }
    .hg-broker-api-panel {
      display: grid;
      gap: 10px;
    }
    .hg-broker-api-panel code {
      display: block;
      padding: 10px 12px;
      border-radius: 10px;
      background: rgba(15, 23, 42, 0.05);
      font-size: 11px;
      line-height: 1.45;
      word-break: break-all;
      white-space: pre-wrap;
    }
    .hg-broker-valuation-wrap {
      padding-top: 2px;
    }
    .hg-broker-valuation-wrap .hg-owner-analytics.hg-broker-modal-analytics {
      margin: 0 0 14px;
    }
    .hg-broker-modal-section[data-broker-section="valuation"] .hg-broker-modal-section__inner {
      padding-top: 14px;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-broker-modal-section__inner {
      padding: 16px 16px 18px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-field {
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-label {
      margin: 0;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-select {
      width: 100%;
      min-height: 44px;
      font-size: 13px;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-inline {
      margin-top: 0 !important;
      gap: 10px;
      flex-wrap: wrap;
    }
    .hg-broker-modal-section[data-broker-section="admin"] .hg-btn {
      min-height: 40px;
      padding: 8px 14px;
    }
    @media (prefers-reduced-motion: reduce) {
      #leadsModule.hg-broker-leads .hg-broker-lead-card,
      #detailModal.hg-modal.open .hg-modal-card.hg-modal-card--broker.is-entering {
        animation: none;
      }
      .hg-broker-modal-section__body,
      .hg-broker-modal-section__inner,
      .hg-broker-lead-card {
        transition: none;
      }
    }
    @media (max-width: 760px) {
      .hg-broker-modal-hero__top {
        flex-direction: column;
      }
      .hg-broker-modal-hero__top .hg-broker-modal-hero__value {
        width: 100%;
        min-width: 0 !important;
      }
      .hg-broker-lead-card__head {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
      }
      .hg-broker-lead-card__identity {
        flex: 1;
        min-width: 0;
        padding-right: 2px;
      }
      .hg-broker-lead-card__identity .hg-name {
        font-size: 1rem;
        line-height: 1.2;
      }
      .hg-broker-lead-card__metric-wrap {
        align-self: flex-start;
        flex-shrink: 0;
      }
      .hg-broker-lead-card__metric {
        min-height: 48px;
        padding: 6px 10px;
      }
      .hg-broker-lead-card__metric .v {
        font-size: 0.95rem;
      }
      .hg-broker-data-row {
        grid-template-columns: 1fr;
        gap: 3px;
      }
      .hg-broker-data-v {
        text-align: left;
      }
    }
    @media (max-width: 900px) {
      .hg-broker-valuation-wrap .hg-owner-chart-grid {
        grid-template-columns: 1fr !important;
      }
    }

    @media (max-width: 1120px) {
      .hg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hg-owner-grid { grid-template-columns: 1fr 1fr; }
      .hg-owner-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hg-owner-list li { grid-template-columns: 160px 1fr; }
      .hg-energy-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hg-owner-analytics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .hg-toolbar { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 760px) {
      .hg-grid { grid-template-columns: 1fr; }
      .hg-owner-grid { grid-template-columns: 1fr 1fr; }
      .hg-owner-list li { grid-template-columns: 1fr; gap: 4px; }
      .hg-owner-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hg-energy-scale { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .hg-energy-stats { grid-template-columns: 1fr; }
      .hg-owner-analytics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hg-owner-analytics .hg-owner-analytics-lead {
        grid-column: 1 / -1;
      }
      .hg-owner-headline .hg-owner-grid {
        gap: 6px;
        margin-top: 8px;
      }
      .hg-owner-headline .hg-widget:not(.hg-widget--accent) {
        padding: 8px 10px;
        border-radius: 10px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      }
      .hg-owner-headline .hg-widget--accent {
        padding: 8px 10px;
        border-radius: 10px;
      }
      .hg-owner-headline .hg-widget .k {
        font-size: 11px;
        margin-bottom: 3px;
        line-height: 1.25;
      }
      .hg-owner-headline .hg-widget .v {
        font-size: 17px;
        line-height: 1.2;
        letter-spacing: -0.02em;
      }
      .hg-owner-headline #ownerValueRange,
      .hg-owner-headline #ownerDataQuality {
        font-size: 12px;
        line-height: 1.3;
      }
      .hg-owner-headline .hg-owner-widget-label-row .k {
        margin-bottom: 0;
      }
      .hg-owner-verified-extras #ownerLeadPicker {
        font-size: 10px;
        line-height: 1.2;
        padding: 7px 8px;
      }
      .hg-owner-headline .owner-address-stand {
        font-size: 11.5px;
      }
      .hg-owner-lb-strip:not(.hg-owner-lb-strip--land-only) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .hg-owner-lb-strip .hg-owner-lb-col {
        padding: 10px 8px;
      }
      .hg-owner-lb-hd {
        font-size: 9px;
        margin-bottom: 6px;
      }
      .hg-owner-lb-line {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        margin-top: 6px;
      }
      .hg-owner-lb-line span:first-child {
        font-size: 10px;
      }
      .hg-owner-lb-line span:last-child {
        text-align: left;
        width: 100%;
        font-size: 12px;
        line-height: 1.25;
      }
      .hg-owner-lb-line .hg-nowrap-token {
        white-space: nowrap;
        font-size: 11px;
      }
      .hg-owner-lb-foot {
        padding: 8px 12px;
        font-size: 10px;
      }
      .hg-mod-teaser-badge {
        padding: 8px 14px;
        max-width: min(100%, 340px);
        font-size: 11px;
        line-height: 1.4;
      }
      .hg-mod.hg-mod--owner-glass .hg-mod-head {
        min-height: 56px;
        padding: 15px 14px;
        gap: 10px;
      }
      .hg-mod.hg-mod--owner-glass .hg-mod-badge {
        font-size: 10px;
        padding: 6px 11px;
        max-width: min(62%, 280px);
        white-space: normal;
        text-align: center;
      }
      #ownerPortalModule .hg-mod-foot .hg-mod-btn {
        min-height: 44px;
        font-size: 12px;
        padding: 9px 8px;
      }
      .hg-owner-energy-entry .hg-mod-foot--compact .hg-mod-btn {
        min-height: 38px;
        font-size: 11px;
        padding: 7px 6px;
      }
      #ownerTaxSelfUseChips.hg-mod-chips.cols-3.hg-mod-chips--tax-selfuse {
        display: flex !important;
        flex-direction: column;
        grid-template-columns: none !important;
      }
      #ownerTaxSelfUseChips.hg-mod-chips--tax-selfuse .hg-mod-chip {
        width: 100%;
        justify-content: center;
        text-align: center;
        white-space: normal;
      }
      .hg-owner-chart-grid { grid-template-columns: 1fr; }
      .hg-owner-chart-grid > #ownerFactorPanel.hg-owner-factor-panel {
        display: block;
      }
      .hg-owner-chart-grid #ownerFactorBars.hg-factor-bars {
        flex: none;
        min-height: unset;
      }
      .hg-owner-chart-grid #ownerFactorBars .hg-factor-row {
        flex-grow: 0;
      }
      .hg-owner-chart-grid #ownerFactorBars .hg-factor-row.equiv {
        margin-top: 8px;
        flex: 0 0 auto;
        min-height: 2.75rem;
      }
      .hg-owner-chart-grid .hg-owner-property-sheet {
        flex: none;
        display: block;
      }
      .hg-owner-chart-grid #ownerPropertyList.hg-owner-prop-dense {
        flex: none;
        grid-auto-rows: auto;
        align-content: start;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-factor-row {
        padding: 7px 11px;
        column-gap: 9px;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-factor-label {
        font-size: 10.25px;
        line-height: 1.22;
        -webkit-line-clamp: 2;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-factor-val {
        font-size: 11.5px;
        padding: 4px 9px;
        min-width: 3.2rem;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-owner-factor-head {
        padding: 9px 11px 6px;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-factor-bars {
        padding: 1px 0 3px;
      }
      .hg-owner-chart-grid .hg-owner-factor-panel:first-child .hg-owner-factor-desc {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 10px;
        margin-top: 2px;
        line-height: 1.22;
      }
      .hg-owner-chart-canvas { height: 200px; }
      .hg-toolbar { grid-template-columns: 1fr; }
    }

.hg-owner-funnel-mount {
      --hg-orange: #ff911d;
      --hg-orange-hover: #e67e17;
      --hg-text: #101318;
      --hg-heading: #101318;
      --hg-muted: #4f5867;
      --hg-border: rgba(210, 218, 230, 0.9);
      --hg-surface: #fff;
      --hg-focus: rgba(34, 168, 97, 0.22);
      --hg-dark: #101318;
      --hg-green: #22a861;
      --hg-green-mid: #4ad088;
      --hg-gold: #c28a0a;
      --hg-blue: #3a62e3;
      --hg-violet: #8b42d6;
      --hg-answer-radius: 16px;
    }
    #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 {
        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::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::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 .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; }
    }
    .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.78) 0%,
        rgba(247, 250, 255, 0.56) 52%,
        rgba(255, 255, 255, 0.74) 100%
      );
      border: 1px solid rgba(220, 228, 240, 0.72);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        0 22px 54px rgba(18, 30, 52, 0.08);
      backdrop-filter: blur(20px) saturate(1.08);
      -webkit-backdrop-filter: blur(20px) saturate(1.08);
    }
    .p-progress-bg {
      height: 5px;
      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);
    }
    .p-bar {
      height: 100%;
      width: 33%;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--hg-green) 0%, var(--hg-gold) 42%, var(--hg-orange) 100%);
      box-shadow: 0 0 14px rgba(34, 168, 97, 0.28);
      transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    }
    #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;
      white-space: normal;
      color: var(--hg-muted);
      border-radius: 14px;
      border: 1px solid rgba(34, 168, 97, 0.16);
      padding: 10px 12px 10px 44px;
      margin-bottom: 12px;
      font-size: 12.5px;
      line-height: 1.4;
      background: linear-gradient(135deg, rgba(236, 252, 243, 0.95) 0%, rgba(255, 252, 248, 0.92) 100%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
      overflow: hidden;
    }
    .p-top-info-box::after {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 34px;
      border-radius: 14px 0 0 14px;
      box-shadow: inset -1px 0 0 rgba(34, 168, 97, 0.22);
      background:
        linear-gradient(180deg, rgba(18, 93, 56, 0.2) 0%, rgba(34, 168, 97, 0.14) 100%),
        linear-gradient(115deg, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0) 56%);
      background-size: 100% 100%, 220% 100%;
      background-position: 0 0, 120% 0;
      background-clip: padding-box;
      animation: hgInfoStripGlow 4.2s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }
    .p-top-proof-line {
      margin: 0;
      padding-top: 0;
      width: 100%;
      border-top: 0;
      font-size: 10.5px;
      line-height: 1.35;
      letter-spacing: -0.008em;
      color: var(--hg-muted);
      text-align: center;
    }
    .p-top-info-icon {
      position: absolute;
      left: 8px;
      top: 50%;
      transform: translateY(-50%);
      width: 18px;
      height: 18px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 10px;
      font-weight: 600;
      color: #248a52;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(34, 168, 97, 0.28);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
      z-index: 2;
    }
    @keyframes hgInfoStripGlow {
      0%, 72%, 100% { background-position: 0 0, 120% 0; }
      24% { background-position: 0 0, -20% 0; }
    }
    .p-card {
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(248, 251, 255, 0.6) 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.9),
        0 16px 44px rgba(18, 30, 52, 0.07);
      backdrop-filter: blur(16px) saturate(1.05);
      -webkit-backdrop-filter: blur(16px) saturate(1.05);
    }
    .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: none;
    }
    .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 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; }
    .p-item.selected {
      border-color: rgba(255, 145, 29, 0.55);
      background: rgba(255, 145, 29, 0.07);
      box-shadow: 0 0 0 1px rgba(255, 145, 29, 0.1);
    }
    .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-dropdown,
    .p-street-dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: #fff;
      border: 1px solid rgba(210, 218, 230, 0.95);
      border-radius: 0 0 12px 12px;
      box-shadow: 0 14px 36px rgba(16, 24, 40, 0.12);
      z-index: 200;
      display: none;
      max-height: min(44vh, 320px);
      overflow-y: auto;
    }
    .p-dropdown-item,
    .p-street-dropdown-item {
      padding: 11px 12px;
      font-size: 14px;
      cursor: pointer;
      border-bottom: 1px solid rgba(16, 24, 40, 0.06);
      text-align: left;
    }
    .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;
    }
    .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-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(210, 218, 230, 0.95);
      background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
      overflow: hidden;
      box-shadow: 0 12px 36px rgba(16, 24, 40, 0.09);
    }
    .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;
    }
    .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;
    }
    @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:inherit; color:inherit; }
    .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;
    }
    #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; }
    .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 {
        font-size: 13px;
        padding: 11px 14px 11px 46px;
        margin-bottom: 14px;
        border-radius: 16px;
        text-align: left;
        align-items: flex-start;
      }
      .p-top-proof-line { font-size: 11px; text-align: left; }
      .p-top-info-box::after { width: 36px; border-radius: 16px 0 0 16px; }
      .p-top-info-icon { left: 9px; width: 19px; height: 19px; font-size: 10px; }
      .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):not(#gs-hausart):not(#gs-wohnungsart) .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 { font-size: 12px; padding: 10px 11px 11px 40px; margin-bottom: 12px; line-height: 1.45; white-space: normal; text-align: left; align-items: flex-start; }
        .p-top-info-box::after { width: 31px; border-radius: 14px 0 0 14px; }
        .p-top-info-icon { left: 7px; width: 17px; height: 17px; font-size: 9px; }
        .p-top-proof-line { font-size: 10px; line-height: 1.35; text-align: left; }
        .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 {
          color: var(--hg-green);
          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-top-info-box::after { animation: none; }
      #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; }
    }

#ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount.hg-owner-funnel-mount {
  background: var(--hg-owner-funnel-bg);
  border: none;
  box-shadow: none;
  border-radius: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0 12px 12px;
}
#ownerPortalModule .hg-owner-verify-funnel .hg-owner-funnel-host {
  background: var(--hg-owner-funnel-bg);
}
#ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway {
  background: var(--hg-owner-funnel-bg) !important;
  padding-top: var(--hg-owner-funnel-head-gap, 36px) !important;
}
#ownerPortalModule .hg-owner-verify-funnel .hg-owner-funnel-mount #hg-pro-gateway {
  background: var(--hg-owner-funnel-bg) !important;
  padding: var(--hg-owner-funnel-head-gap, 36px) 2px 6px !important;
}

.hg-owner-funnel-modal {
      display: none !important;
    }
    .hg-owner-funnel-modal.hidden { display: none !important; }
    .hg-owner-funnel-modal__backdrop {
      display: none;
    }
    .hg-owner-funnel-modal__panel {
      position: fixed;
      inset: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      display: flex;
      flex-direction: column;
      border-radius: 0;
      background: linear-gradient(180deg, #fffdfb 0%, #faf9f7 100%);
      box-shadow: none;
      overflow: hidden;
    }
    .hg-owner-funnel-modal__toolbar {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      padding: max(10px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) 8px max(12px, env(safe-area-inset-left, 0px));
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .hg-owner-funnel-modal__title {
      display: none;
    }
    .hg-owner-funnel-modal__toolbar .hg-owner-funnel-modal__close-x {
      flex-shrink: 0;
      justify-self: end;
      align-self: center;
      box-sizing: border-box;
      border: none;
      background: transparent;
      color: #64748b;
      font-size: 30px;
      line-height: 1;
      width: 40px;
      height: 40px;
      padding: 0;
      margin: 0;
      cursor: pointer;
      border-radius: 10px;
      -webkit-tap-highlight-color: transparent;
      display: grid;
      place-items: center;
    }
    .hg-owner-funnel-modal__toolbar .hg-owner-funnel-modal__close-x span {
      display: block;
      margin-top: -2px;
    }
    #ownerPortalModule .hg-owner-funnel-modal__close-x:hover,
    #ownerPortalModule .hg-owner-funnel-modal__close-x:focus,
    #ownerPortalModule .hg-owner-funnel-modal__close-x:focus-visible,
    #ownerPortalModule .hg-owner-funnel-modal__close-x:active {
      background: transparent !important;
      color: #0f172a !important;
      border: none !important;
      outline: none !important;
      box-shadow: none !important;
      transform: none !important;
    }
    .hg-owner-funnel-modal__body {
      flex: 1;
      min-height: 0;
      overflow: hidden;
      -webkit-overflow-scrolling: touch;
      padding: 0;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-host {
      margin-top: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
      flex: 1;
      min-height: 0;
      height: 100%;
    }
    .hg-owner-funnel-modal__body #ownerFunnelMount.hg-owner-funnel-mount {
      border: none;
      box-shadow: none;
      border-radius: 0;
      background: transparent;
      max-height: none;
      padding: 0;
      flex: 1;
      min-height: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway {
      min-height: 0 !important;
      max-height: none !important;
      height: auto !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      padding: 6px !important;
      border: none !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway.hg-v3 {
      --hg-v3-header-offset: 0px;
      height: 100% !important;
      min-height: 100% !important;
      max-height: none !important;
      padding: 0 !important;
      overflow: hidden !important;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway.hg-v3 .hg-v3-shell {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway.hg-v3 .p-wrapper {
      flex: 1;
      min-height: 0;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway::before,
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway::after {
      display: none !important;
      content: none !important;
    }
    .hg-owner-funnel-modal__body .hg-owner-funnel-mount #hg-pro-gateway .p-wrapper {
      transform: none !important;
      margin-left: auto !important;
      margin-right: auto !important;
      width: 100% !important;
      max-width: min(640px, 100%) !important;
    }
    #hg-pro-gateway[data-hg-dash-flow="owner"] .p-top-info-box {
      display: none !important;
    }
    #hg-pro-gateway[data-hg-dash-flow="owner"] .p-progress-bg {
      display: none !important;
    }
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress,
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway[data-hg-dash-flow="owner"] .hg-v3-progress,
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .p-progress-bg,
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway #p-bar,
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar::before,
    #ownerPortalModule .hg-owner-verify-funnel #ownerFunnelMount #hg-pro-gateway.hg-v3 .hg-v3-progress .p-bar::after {
      display: none !important;
      height: 0 !important;
      min-height: 0 !important;
      max-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      visibility: hidden !important;
      pointer-events: none !important;
      border: none !important;
      box-shadow: none !important;
      opacity: 0 !important;
      background: transparent !important;
    }
    #ownerPortalModule #ownerFunnelMount .hg-v3-progress,
    #ownerPortalModule #ownerFunnelMount .p-progress-bg,
    #ownerPortalModule #ownerFunnelMount #p-bar,
    #ownerPortalModule #ownerFunnelMount .p-bar,
    #ownerPortalModule #ownerFunnelMount .p-bar::before,
    #ownerPortalModule #ownerFunnelMount .p-bar::after,
    #ownerPortalModule .hg-owner-verify--funnel-open .hg-v3-progress,
    #ownerPortalModule .hg-owner-verify--funnel-open .p-progress-bg,
    #ownerPortalModule .hg-owner-verify--funnel-open #p-bar {
      display: none !important;
      height: 0 !important;
      min-height: 0 !important;
      max-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      visibility: hidden !important;
      pointer-events: none !important;
      border: none !important;
      box-shadow: none !important;
      opacity: 0 !important;
      background: transparent !important;
    }
    .hg-dash-kontakt-email-note {
      margin: 8px 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: rgba(220, 38, 38, 0.07);
      border: 1px solid rgba(220, 38, 38, 0.26);
      font-size: 12px;
      line-height: 1.45;
      color: #0f172a;
    }
    .hg-dash-kontakt-email-note .hg-dash-kontakt-email-value {
      word-break: break-all;
    }
    #hg-pro-gateway[data-hg-dash-flow="owner"] #inp-k-email.hg-input--locked,
    #hg-pro-gateway[data-hg-dash-flow="owner"] #inp-k-email[readonly] {
      background: rgba(248, 250, 252, 0.95);
      border-color: rgba(15, 23, 42, 0.1);
      color: #475569;
      cursor: not-allowed;
    }
    #hg-pro-gateway[data-hg-dash-flow="owner"] #gs-finish .p-finish-sms-strip {
      display: none !important;
    }

    /* Eigentümer-only: Makler/Supabase-Legacy ausblenden */
    body.hg-platform-owner-only #leadsModule,
    body.hg-platform-owner-only #brokerStatsModule,
    body.hg-platform-owner-only #brokerRegisterModal,
    body.hg-platform-owner-only #brokerApiModal,
    body.hg-platform-owner-only #brokerLoginForm,
    body.hg-platform-owner-only #brokerAuthPane,
    body.hg-platform-owner-only #brokerApiBtn {
      display: none !important;
    }

    .hg-owner-insights-pdf {
      margin-top: 18px;
    }

    .hg-owner-insights-pdf__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }

    .hg-owner-insights-pdf__head h3 {
      margin: 0;
      font-size: 1.05rem;
    }

    .hg-owner-insights-pdf__head p {
      margin: 4px 0 0;
      font-size: 0.82rem;
      color: rgba(15, 23, 42, 0.62);
      line-height: 1.45;
    }

    .hg-owner-insights-pdf__frame-wrap {
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: #fff;
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    }

    .hg-owner-insights-pdf__frame {
      display: block;
      width: 100%;
      min-height: 520px;
      height: min(72vh, 760px);
      border: 0;
      background: #fff;
    }

    .hg-owner-insights-pdf__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }

/* 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;
      }
    }