@layer hs.tokens, hs.reset, hs.elements, hs.components, hs.utilities;

@layer hs.tokens {
  :root,
  [data-hs-theme="light"] {
    color-scheme: light;
    --hs-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --hs-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace;

    /* Canonical color palette */
    --hs-color-bg: #f5f4f1;
    --hs-color-surface: #ffffff;
    --hs-color-surface-hover: rgba(55, 53, 47, 0.04);
    --hs-color-text: #37352f;
    --hs-color-text-strong: #111111;
    --hs-color-muted: rgba(55, 53, 47, 0.64);
    --hs-color-border: rgba(55, 53, 47, 0.14);
    --hs-color-primary: #545af9;
    --hs-color-primary-hover: #3f46e8;
    --hs-color-primary-soft: #f0f0ff;
    --hs-color-on-primary: #ffffff;
    --hs-color-danger: #dc2626;
    --hs-color-danger-soft: #fef2f2;
    --hs-color-success: #51D48C;
    --hs-color-success-soft: #ecfdf4;
    --hs-color-warning: #b45309;
    --hs-color-warning-soft: #fffbeb;
    --hs-color-bg-soft: var(--hs-color-bg);
    --hs-color-question-group-bg: color-mix(in srgb, var(--hs-color-bg) 90%, var(--hs-color-text) 10%);
    --hs-color-info: var(--hs-color-primary);
    --hs-color-info-soft: var(--hs-color-primary-soft);
    --hs-color-mobile-preview-backdrop: #e8e4dc;
    --hs-mobile-column-width: 390px;
    --hs-color-nav-muted: #c0bdb8;
    --hs-color-swipe-like: #4ade80;

    /* Technical dark theme helpers. Canonical consumers still use --hs-color-* tokens. */
    --hs-color-dark-bg: #0f1117;
    --hs-color-dark-bg-soft: var(--hs-color-dark-bg);
    --hs-color-dark-surface: #1b202b;
    --hs-color-dark-surface-hover: rgba(233, 236, 245, 0.07);
    --hs-color-dark-text: #e9ecf5;
    --hs-color-dark-text-strong: #ffffff;
    --hs-color-dark-muted: rgba(233, 236, 245, 0.68);
    --hs-color-dark-border: rgba(233, 236, 245, 0.14);
    --hs-color-dark-primary: #8f94ff;
    --hs-color-dark-primary-hover: #a7abff;
    --hs-color-dark-primary-soft: rgba(143, 148, 255, 0.16);
    --hs-color-dark-on-primary: #0b1020;
    --hs-color-dark-info: var(--hs-color-dark-primary);
    --hs-color-dark-info-soft: var(--hs-color-dark-primary-soft);
    --hs-color-dark-danger: #f87171;
    --hs-color-dark-danger-soft: rgba(248, 113, 113, 0.14);
    --hs-color-dark-success: #51D48C;
    --hs-color-dark-success-soft: rgba(81, 212, 140, 0.14);
    --hs-color-dark-warning: #fbbf24;
    --hs-color-dark-warning-soft: rgba(251, 191, 36, 0.14);

    --hs-space-0: 0;
    --hs-space-1: 4px;
    --hs-space-2: 8px;
    --hs-space-3: 12px;
    --hs-space-4: 16px;
    --hs-space-5: 20px;
    --hs-space-6: 24px;
    --hs-space-7: 28px;
    --hs-space-8: 32px;
    --hs-space-9: 36px;
    --hs-space-10: 40px;
    --hs-space-11: 44px;
    --hs-space-12: 48px;
    --hs-space-14: 56px;
    --hs-space-16: 64px;
    --hs-layout-20: 80px;
    --hs-layout-24: 96px;
    --hs-layout-28: 112px;
    --hs-layout-32: 128px;
    --hs-layout-36: 144px;
    --hs-layout-40: 160px;
    --hs-layout-messenger-min: 420px;
    --hs-layout-thread-rail-min: 240px;
    --hs-layout-thread-rail-max: 320px;
    --hs-layout-sheet-min: 220px;
    --hs-layout-prose-max: 28rem;
    --hs-layout-message-bubble-max: 80%;
    --hs-form-content-width: 720px;
    --hs-form-mobile-content-width: 343px;
    --hs-form-screen-height: 800px;
    --hs-form-screen-padding-top-desktop: 32px;
    --hs-form-screen-padding-top-mobile: 0;
    --hs-form-header-height: 40px;
    --hs-form-footer-height: 76px;
    --hs-form-nav-arrow-size: 40px;
    --hs-form-nav-pill-height: 40px;
    --hs-form-nav-pill-padding-x: var(--hs-space-6);
    --hs-form-nav-pill-font-size: var(--hs-text-xs);
    --hs-form-nav-pill-font-weight: var(--hs-weight-semibold-soft);
    --hs-form-nav-pill-active-bg: var(--hs-color-primary);
    --hs-form-nav-pill-active-border: var(--hs-color-primary);
    --hs-form-nav-pill-active-color: var(--hs-color-on-primary);
    --hs-form-nav-pill-complete-bg: var(--hs-color-surface);
    --hs-form-nav-pill-complete-border: var(--hs-color-border);
    --hs-form-nav-pill-complete-color: var(--hs-color-muted);
    --hs-form-nav-pill-upcoming-bg: var(--hs-color-surface);
    --hs-form-nav-pill-upcoming-border: var(--hs-color-border);
    --hs-form-nav-pill-upcoming-color: var(--hs-color-muted);
    --hs-form-nav-pill-width-contact: 170px;
    --hs-form-nav-pill-width-market: 137px;
    --hs-form-nav-pill-width-people: 137px;
    --hs-form-nav-pill-width-location: 133px;
    --hs-form-nav-pill-width-property: 181px;
    --hs-form-nav-pill-width-budget: 145px;
    --hs-form-nav-pill-width-area-layout: 189px;
    --hs-form-nav-mobile-height: 40px;
    --hs-form-nav-email-height-desktop: 56px;
    --hs-form-nav-market-height-desktop: 72px;
    --hs-form-nav-location-height-desktop: 40px;
    --hs-form-section-welcome-height-desktop: 480px;
    --hs-form-section-welcome-height-mobile: 542px;
    --hs-form-section-email-height-desktop: 411px;
    --hs-form-section-email-height-mobile: 612px;
    --hs-form-section-market-height-desktop: 532px;
    --hs-form-section-market-height-mobile: 588px;
    --hs-form-section-location-height-desktop: 495px;
    --hs-form-section-location-height-mobile: 351px;
    --hs-form-section-location-height-mobile-dropdown: 647px;
    --hs-form-section-location-height-mobile-map: 863px;
    --hs-form-section-property-height-desktop: 951px;
    --hs-form-section-property-height-mobile: 951px;
    --hs-form-section-budget-buy-height-desktop: 1040px;
    --hs-form-section-budget-buy-height-mobile: 1040px;
    --hs-form-section-budget-rent-height-desktop: 762px;
    --hs-form-section-budget-rent-height-mobile: 762px;
    --hs-form-section-area-layout-height-desktop: 950px;
    --hs-form-section-area-layout-height-mobile: 950px;
    --hs-form-section-success-height-desktop: 480px;
    --hs-form-section-success-height-mobile: 533px;
    --hs-form-email-section-padding-desktop: var(--hs-space-16) var(--hs-space-10);
    --hs-form-email-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-market-section-padding-desktop: var(--hs-space-16);
    --hs-form-market-section-padding-mobile: var(--hs-space-8);
    --hs-form-people-section-padding-desktop: var(--hs-space-16) var(--hs-space-10);
    --hs-form-people-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-property-section-padding-desktop: var(--hs-space-16) var(--hs-space-10);
    --hs-form-property-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-budget-section-padding-desktop: var(--hs-space-16);
    --hs-form-budget-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-area-section-padding-desktop: var(--hs-space-16) var(--hs-space-6);
    --hs-form-area-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-success-section-padding-desktop: var(--hs-space-16) var(--hs-space-10);
    --hs-form-success-section-padding-mobile: var(--hs-space-16) var(--hs-space-4);
    --hs-form-question-description-line-height: 18.9px;
    --hs-form-question-gap-market: var(--hs-space-12);
    --hs-form-question-gap-people: var(--hs-space-12);
    --hs-form-question-gap-property: var(--hs-space-12);
    --hs-form-question-gap-budget: var(--hs-space-12);
    --hs-form-people-content-width: 640px;
    --hs-form-choice-list-gap: var(--hs-space-2);
    --hs-form-choice-list-gap-relaxed: var(--hs-space-4);
    --hs-form-choice-max-width: 320px;
    --hs-form-choice-height: var(--hs-space-11);
    --hs-form-choice-padding-y: var(--hs-space-3);
    --hs-form-choice-padding-x: var(--hs-space-5);
    --hs-form-choice-radius: var(--hs-radius-xl);
    --hs-form-choice-font-size: var(--hs-text-md);
    --hs-form-choice-line-height: var(--hs-leading-normal);
    --hs-form-choice-font-weight: var(--hs-weight-regular);
    --hs-form-choice-hover-bg: var(--hs-color-surface-hover);
    --hs-form-choice-hover-border: var(--hs-color-primary);
    --hs-form-location-question-width: 672px;
    --hs-form-location-content-width: 648px;
    --hs-form-location-section-padding-desktop: 48px var(--hs-space-6);
    --hs-form-location-section-padding-mobile: 64px var(--hs-space-4);
    --hs-form-location-answer-gap: var(--hs-space-4);
    --hs-form-location-field-gap: var(--hs-space-1);
    --hs-form-location-field-label-size: var(--hs-text-sm);
    --hs-form-location-input-height: var(--hs-space-10);
    --hs-form-location-map-height: 420px;
    --hs-form-location-map-height-mobile: 420px;
    --hs-form-location-map-instruction-top: var(--hs-space-5);
    --hs-form-location-map-top: 31px;
    --hs-form-location-map-top-mobile: var(--hs-space-4);
    --hs-form-location-dropdown-max-height: 224px;
    --hs-form-location-overlay-height-mobile: 280px;
    --hs-form-location-toggle-height: 44px;
    --hs-form-location-toggle-option-height: 36px;
    --hs-form-location-chip-height: var(--hs-space-10);
    --hs-form-location-chip-action-size: var(--hs-space-5);
    --hs-form-email-question-gap: var(--hs-space-6);
    --hs-form-email-content-max-width: 590px;
    --hs-form-email-field-label-height: var(--hs-space-4);
    --hs-form-email-field-control-height: var(--hs-space-11);
    --hs-form-email-field-control-radius: var(--hs-radius-lg);
    --hs-form-consent-min-height: 112px;
    --hs-form-budget-range-height: 115px;
    --hs-form-budget-range-axis-height: 170px;
    --hs-form-budget-range-axis-max-width: 560px;
    --hs-form-budget-range-axis-min-width: 208px;
    --hs-form-budget-scale-top: 55px;
    --hs-form-budget-scale-height: 60px;
    --hs-form-budget-scale-track-height: var(--hs-space-2);
    --hs-form-budget-scale-track-top: 13px;
    --hs-form-budget-scale-ticks-top: 42px;
    --hs-form-budget-track-top: calc(var(--hs-form-budget-scale-top) + var(--hs-form-budget-scale-track-top));
    --hs-form-budget-marker-top: 17px;
    --hs-form-budget-value-counter-height: 35px;
    --hs-form-budget-handle-size: var(--hs-space-4);
    --hs-form-area-range-height: 170px;
    --hs-form-area-range-safe-inset: var(--hs-space-10);
    --hs-form-area-scale-top: var(--hs-space-16);
    --hs-form-area-scale-height: var(--hs-space-11);
    --hs-form-area-scale-track-height: 6px;
    --hs-form-room-needs-row-height: 72px;
    --hs-form-room-needs-action-row-height: 68px;
    --hs-form-stepper-chip-width: 148px;
    --hs-form-stepper-chip-height: 56px;
    --hs-form-stepper-button-size: var(--hs-space-8);
    --hs-form-stepper-value-width: var(--hs-space-8);
    --hs-form-stepper-value-size: var(--hs-text-24);
    --hs-form-success-status-height: 28px;
    --hs-z-sticky: 10;
    --hs-page-gutter-sm: var(--hs-space-4);
    --hs-page-gutter-md: var(--hs-space-8);
    --hs-page-gutter-lg: var(--hs-layout-24);
    --hs-section-gap-sm: var(--hs-space-8);
    --hs-section-gap-md: var(--hs-space-12);
    --hs-section-gap-lg: var(--hs-layout-20);
    --hs-shell-padding-sm: var(--hs-space-4);
    --hs-shell-padding-md: var(--hs-space-6);
    --hs-shell-padding-lg: var(--hs-space-8);
    --hs-card-padding-sm: var(--hs-space-3);
    --hs-card-padding-md: var(--hs-space-4);
    --hs-card-padding-lg: var(--hs-space-6);
    --hs-welcome-content-padding-x: var(--hs-space-14);
    --hs-welcome-content-padding-y: var(--hs-space-10);
    --hs-welcome-content-max-width: 590px;
    --hs-login-form-fields-max-width: 22rem;
    --hs-message-toast-left: 50%;
    --hs-survey-cta-button-max-width: 18rem;
    --hs-position-center: 50%;
    --hs-radius-sm: 4px;
    --hs-radius-lg: 8px;
    --hs-radius-xl: 12px;
    --hs-radius-pill: 999px;
    --hs-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --hs-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --hs-shadow-lg: 0 18px 48px rgba(15, 23, 42, 0.12);
    --hs-shadow-message-actions: 0 -8px 28px rgba(15, 23, 42, 0.12);
    --hs-text-9: 9px;
    --hs-text-10: 10px;
    --hs-text-11: 11px;
    --hs-text-xs: 12px;
    --hs-text-sm: 13px;
    --hs-text-md: 14px;
    --hs-text-15: 15px;
    --hs-text-lg: 16px;
    --hs-text-17: 17px;
    --hs-text-18: 18px;
    --hs-text-xl: 20px;
    --hs-text-22: 22px;
    --hs-text-message-reaction: 1.35rem;
    --hs-text-24: 24px;
    --hs-text-27: 27px;
    --hs-text-28: 28px;
    --hs-text-30: 30px;
    --hs-text-32: 32px;
    --hs-text-36: 36px;
    --hs-text-38: 38px;
    --hs-text-40: 40px;
    --hs-text-42: 42px;
    --hs-text-fluid-section: clamp(24px, 3.2vw, 30px);
    --hs-text-fluid-heading-sm: clamp(26px, 2vw, 34px);
    --hs-text-fluid-heading-md: clamp(26px, 4vw, 34px);
    --hs-text-fluid-heading-lg: clamp(28px, 6vw, 34px);
    --hs-text-fluid-display: clamp(38px, 5vw, 54px);
    --hs-type-label-xs-size: var(--hs-text-11);
    --hs-type-label-size: var(--hs-text-xs);
    --hs-type-meta-size: var(--hs-text-sm);
    --hs-type-body-sm-size: var(--hs-text-md);
    --hs-type-body-md-size: var(--hs-text-15);
    --hs-type-body-size: var(--hs-text-lg);
    --hs-type-body-lg-size: var(--hs-text-17);
    --hs-type-upper-heading-size: var(--hs-text-xs);
    --hs-type-heading-xs-size: var(--hs-text-18);
    --hs-type-heading-sm-size: var(--hs-text-xl);
    --hs-type-heading-md-size: var(--hs-text-24);
    --hs-type-heading-lg-size: var(--hs-text-32);
    --hs-type-display-size: var(--hs-text-40);
    --hs-leading-display-tight: 0.98;
    --hs-leading-none: 1;
    --hs-leading-xtight: 1.08;
    --hs-leading-tightest: 1.1;
    --hs-leading-title: 1.12;
    --hs-leading-tight: 1.15;
    --hs-leading-compressed: 1.18;
    --hs-leading-snug: 1.2;
    --hs-leading-flow: 1.22;
    --hs-leading-compact: 1.25;
    --hs-leading-balanced: 1.28;
    --hs-leading-ui: 1.3;
    --hs-leading-dense: 1.35;
    --hs-leading-reading: 1.4;
    --hs-leading-normal: 1.45;
    --hs-leading-relaxed: 1.5;
    --hs-leading-comfortable: 1.55;
    --hs-leading-loose: 1.6;
    --hs-leading-airy: 1.7;
    --hs-leading-expanded: 1.95;
    --hs-leading-control-sm: var(--hs-space-5);
    --hs-leading-control-lg: 40px;
    --hs-weight-light: 200;
    --hs-weight-regular: 400;
    --hs-weight-book: 450;
    --hs-weight-medium: 500;
    --hs-weight-medium-strong: 550;
    --hs-weight-ui-strong: 560;
    --hs-weight-semibold-soft: 600;
    --hs-weight-semibold: 650;
    --hs-weight-strong: 700;
    --hs-weight-bold: 750;
    --hs-weight-heavy: 800;
    --hs-weight-display: 850;
    --hs-tracking-normal: 0;
    --hs-tracking-subtle: 0.02em;
    --hs-tracking-caption: 0.03em;
    --hs-tracking-eyebrow: 0.04em;
    --hs-tracking-emphasis: 0.05em;
    --hs-tracking-section: 0.08em;
    --hs-type-label-xs-line-height: var(--hs-leading-snug);
    --hs-type-label-line-height: var(--hs-leading-tight);
    --hs-type-meta-line-height: var(--hs-leading-dense);
    --hs-type-body-line-height: var(--hs-leading-normal);
    --hs-type-heading-line-height: var(--hs-leading-tight);
    --hs-type-upper-heading-line-height: var(--hs-leading-snug);
    --hs-type-label-weight: var(--hs-weight-semibold-soft);
    --hs-type-label-strong-weight: var(--hs-weight-strong);
    --hs-type-body-weight: var(--hs-weight-regular);
    --hs-type-heading-weight: var(--hs-weight-strong);
    --hs-type-upper-heading-weight: var(--hs-weight-semibold);
    --hs-type-upper-heading-tracking: var(--hs-tracking-eyebrow);
    --hs-control-height-sm: var(--hs-space-9);
    --hs-control-height-md: var(--hs-space-11);
    --hs-control-height-lg: 48px;
    --hs-field-gap: var(--hs-space-2);
    --hs-input-padding-x: var(--hs-space-4);
    --hs-textarea-min-height: 108px;
    --hs-switch-width: var(--hs-space-11);
    --hs-switch-height: 26px;
    --hs-switch-thumb-size: 22px;
    --hs-switch-thumb-offset: 2px;
    --hs-switch-track-off: #d1d1d6;
    --hs-brand-logo-height: var(--hs-space-8);
    --hs-brand-logo-height-sm: 26px;
    --hs-brand-logo-height-lg: var(--hs-space-9);
    --hs-form-brand-logo-height: 19px;
    --hs-bottom-nav-item-height: calc(
      var(--hs-space-1)
      + var(--hs-icon-size-large)
      + var(--hs-space-1)
      + calc(var(--hs-text-xs) * var(--hs-leading-tight))
      + var(--hs-space-1)
    );
    --hs-bottom-nav-badge-bleed: var(--hs-space-1);
    --hs-action-badge-offset: calc(var(--hs-space-1) * -1);
    --hs-bottom-nav-height: calc(
      var(--hs-bottom-nav-badge-bleed)
      + var(--hs-space-2)
      + var(--hs-bottom-nav-item-height)
      + max(var(--hs-space-3), var(--hs-safe-bottom, 0px))
      + 1px
    );
    --hs-button-height-sm: var(--hs-control-height-sm);
    --hs-button-height-md: var(--hs-control-height-md);
    --hs-button-height-lg: var(--hs-control-height-lg);
    --hs-button-min-width: 120px;
    --hs-button-padding-x: var(--hs-space-5);
    --hs-button-padding-x-sm: var(--hs-space-3);
    --hs-button-gap: var(--hs-space-2);
    --hs-button-radius: var(--hs-radius-pill);
    --hs-button-font-size: var(--hs-text-md);
    --hs-button-font-size-sm: var(--hs-text-xs);
    --hs-button-font-size-lg: var(--hs-text-18);
    --hs-button-font-weight: var(--hs-weight-semibold-soft);
    --hs-button-line-height: var(--hs-leading-tight);
    --hs-button-bg: var(--hs-color-surface);
    --hs-button-bg-hover: var(--hs-color-surface-hover);
    --hs-button-border-width: 1px;
    --hs-button-border: var(--hs-color-border);
    --hs-button-border-hover: color-mix(in srgb, var(--hs-color-text) 24%, transparent);
    --hs-button-color: var(--hs-color-text);
    --hs-button-shadow: var(--hs-shadow-sm);
    --hs-button-shadow-hover: var(--hs-shadow-md);
    --hs-button-primary-bg: var(--hs-color-primary);
    --hs-button-primary-bg-hover: var(--hs-color-primary-hover);
    --hs-button-primary-border: var(--hs-color-primary);
    --hs-button-primary-border-hover: var(--hs-color-primary-hover);
    --hs-button-primary-color: var(--hs-color-on-primary);
    --hs-button-secondary-bg: var(--hs-color-surface);
    --hs-button-secondary-bg-hover: var(--hs-color-bg);
    --hs-button-secondary-border: var(--hs-color-border);
    --hs-button-secondary-border-hover: color-mix(in srgb, var(--hs-color-text) 24%, transparent);
    --hs-button-secondary-color: var(--hs-color-text);
    --hs-button-ghost-bg: color-mix(in srgb, var(--hs-color-surface) 0%, transparent);
    --hs-button-ghost-bg-hover: var(--hs-color-surface-hover);
    --hs-button-ghost-border: color-mix(in srgb, var(--hs-color-surface) 0%, transparent);
    --hs-button-ghost-color: var(--hs-color-text);
    --hs-icon-size-small: var(--hs-space-4);
    --hs-icon-size-large: var(--hs-space-5);
    --hs-icon-size-xs: var(--hs-icon-size-small);
    --hs-search-min-height: var(--hs-space-10);
    --hs-search-padding-x: var(--hs-space-3);
    --hs-search-gap: var(--hs-space-2);
    --hs-search-radius: var(--hs-button-radius);
    --hs-search-bg: var(--color-bg-subtle, var(--hs-color-bg));
    --hs-search-bg-hover: color-mix(in srgb, var(--hs-color-text) 8%, transparent);
    --hs-search-bg-focus: var(--hs-search-bg-hover);
    --hs-search-text: var(--color-text-muted, var(--hs-color-muted));
    --hs-search-text-active: var(--hs-color-text);
    --hs-search-icon: var(
      --color-text-subtle,
      color-mix(in srgb, var(--hs-color-text) 46%, transparent)
    );
    --hs-search-font-size: var(--hs-text-15);
    --hs-search-font-weight: var(--hs-weight-medium);
    --hs-icon-size-sm: var(--hs-icon-size-small);
    --hs-icon-size-md: var(--hs-icon-size-large);
    --hs-icon-size-lg: var(--hs-icon-size-large);
    --hs-icon-stroke: 2;
    --hs-icon-stroke-strong: 2.25;
    --hs-icon-button-size-sm: var(--hs-space-8);
    --hs-icon-button-size-md: var(--hs-button-height-md);
  }

  [data-hs-theme="dark"] {
    color-scheme: dark;
    --hs-color-bg: var(--hs-color-dark-bg);
    --hs-color-surface: var(--hs-color-dark-surface);
    --hs-color-surface-hover: var(--hs-color-dark-surface-hover);
    --hs-color-text: var(--hs-color-dark-text);
    --hs-color-text-strong: var(--hs-color-dark-text-strong);
    --hs-color-muted: var(--hs-color-dark-muted);
    --hs-color-border: var(--hs-color-dark-border);
    --hs-color-primary: var(--hs-color-dark-primary);
    --hs-color-primary-hover: var(--hs-color-dark-primary-hover);
    --hs-color-primary-soft: var(--hs-color-dark-primary-soft);
    --hs-color-on-primary: var(--hs-color-dark-on-primary);
    --hs-color-danger: var(--hs-color-dark-danger);
    --hs-color-danger-soft: var(--hs-color-dark-danger-soft);
    --hs-color-success: var(--hs-color-dark-success);
    --hs-color-success-soft: var(--hs-color-dark-success-soft);
    --hs-color-warning: var(--hs-color-dark-warning);
    --hs-color-warning-soft: var(--hs-color-dark-warning-soft);
    --hs-color-bg-soft: var(--hs-color-bg);
    --hs-color-info: var(--hs-color-primary);
    --hs-color-info-soft: var(--hs-color-primary-soft);
    --hs-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28);
    --hs-shadow-md: 0 12px 28px rgba(0, 0, 0, 0.34);
    --hs-shadow-lg: 0 22px 54px rgba(0, 0, 0, 0.42);
    --hs-switch-track-off: rgba(233, 236, 245, 0.28);
  }
}
@layer hs.reset {
  :where(*, *::before, *::after) {
    box-sizing: border-box;
  }

  :where(:focus-visible) {
    outline: 2px solid color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    outline-offset: 2px;
  }
}

@layer hs.elements {
  html:has(.hs-touchpoint--mobile-concept),
  body:has(.hs-touchpoint--mobile-concept) {
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  #root:has(> .hs-mobile-preview) {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  #root:has(> .hs-mobile-preview) > .hs-mobile-preview {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
  }

  #root:has(> .hs-mobile-preview) > .hs-mobile-preview > .hs-mobile-preview__frame {
    min-height: 0;
    height: 100%;
  }

  :where(button, input, select, textarea) {
    font: inherit;
  }

  :where(button) {
    cursor: pointer;
  }

  :where(button:disabled) {
    cursor: not-allowed;
  }

  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) {
    min-height: var(--hs-control-height-md);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
  }

  :where(textarea) {
    min-height: 108px;
  }
}

@layer hs.components {
  :where(.hs-touchpoint) {
    --hs-touchpoint-bg: var(--hs-color-bg);
    --hs-touchpoint-bg-soft: var(--hs-color-bg);
    --hs-touchpoint-surface: var(--hs-color-surface);
    --hs-touchpoint-surface-hover: var(--hs-color-surface-hover);
    --hs-touchpoint-text: var(--hs-color-text);
    --hs-touchpoint-text-strong: var(--hs-color-text-strong);
    --hs-touchpoint-muted: var(--hs-color-muted);
    --hs-touchpoint-border: var(--hs-color-border);
    --hs-touchpoint-font: var(--hs-font-sans);
    --hs-touchpoint-body-size: var(--hs-type-body-sm-size);
    --hs-touchpoint-body-line-height: var(--hs-type-body-sm-line-height);
    min-height: 100%;
    background: var(--hs-touchpoint-bg);
    color: var(--hs-touchpoint-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-sm-line-height);
  }

  :where(.hs-touchpoint--app, .hs-touchpoint--mobile-concept, .hs-touchpoint--offer-wizard, .hs-touchpoint--offer-preview, .hs-touchpoint--public-form, .hs-touchpoint--agent-send-form, .hs-touchpoint--form, .hs-touchpoint--landing, .hs-touchpoint--email-preview) {
    --color-bg: var(--hs-touchpoint-bg);
    --color-bg-subtle: var(--hs-touchpoint-bg-soft);
    --color-surface: var(--hs-touchpoint-surface);
    --color-surface-raised: var(--hs-touchpoint-bg-soft);
    --color-text: var(--hs-touchpoint-text);
    --color-text-muted: var(--hs-touchpoint-muted);
    --color-border: var(--hs-touchpoint-border);
    --bg: var(--hs-touchpoint-bg);
    --bg-soft: var(--hs-touchpoint-bg-soft);
    --panel: var(--hs-touchpoint-surface);
    --panel-alt: var(--hs-touchpoint-bg-soft);
    --text: var(--hs-touchpoint-text);
    --muted: var(--hs-touchpoint-muted);
    --border: var(--hs-touchpoint-border);
    --button-bg: var(--hs-button-secondary-bg);
    --button-text: var(--hs-button-secondary-color);
    --button-border: var(--hs-button-secondary-border);
    --input-bg: var(--hs-touchpoint-surface);
    --input-text: var(--hs-touchpoint-text);
  }

  :where(.hs-touchpoint--email-preview) {
    --hs-touchpoint-bg: var(--hs-email-bg, var(--hs-color-bg));
    --hs-touchpoint-surface: var(--hs-email-surface, var(--hs-color-surface));
    --hs-email-preview-body-display: block;
    --hs-email-preview-body-padding: var(--hs-space-0);
    --hs-email-preview-body-overflow-x: hidden;
    --hs-email-preview-body-overflow-y: auto;
  }

  :where(.hs-email-shell, .guide-email-shell-preview) {
    display: grid;
    gap: var(--hs-space-4);
  }

  :where(.hs-email-meta-bar, .guide-email-meta-bar) {
    display: grid;
    gap: var(--hs-space-1);
    padding: var(--hs-space-3) var(--hs-space-4);
    border-radius: var(--hs-radius-lg);
    background: color-mix(in srgb, var(--hs-color-surface) 92%, transparent);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  :where(.hs-email-body, .guide-email-body) {
    display: grid;
    gap: var(--hs-space-4);
  }

  :where(.hs-email-cta, .guide-email-cta, .hs-email-action) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
  }

  :where(.hs-button) {
    min-height: var(--hs-button-height-md);
    min-width: var(--hs-button-min-width);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--hs-button-gap);
    padding: 0 var(--hs-button-padding-x);
    border: var(--hs-button-border-width) solid var(--hs-button-border);
    border-radius: var(--hs-button-radius);
    background: var(--hs-button-bg);
    color: var(--hs-button-color);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-button-font-size);
    font-weight: var(--hs-button-font-weight);
    line-height: var(--hs-button-line-height);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: var(--hs-button-shadow);
    cursor: pointer;
    transition:
      background 160ms ease,
      border-color 160ms ease,
      color 160ms ease,
      transform 160ms ease,
      box-shadow 160ms ease;
  }

  :where(.hs-button:hover, .hs-button:focus-visible) {
    border-color: var(--hs-button-border-hover);
    background: var(--hs-button-bg-hover);
    box-shadow: var(--hs-button-shadow-hover);
  }

  :where(.hs-button:active) {
    transform: translateY(1px);
  }

  :where(.hs-button:disabled, .hs-button.is-disabled) {
    opacity: 0.52;
    pointer-events: none;
  }

  :where(.hs-button--primary) {
    --hs-button-bg: var(--hs-button-primary-bg);
    --hs-button-bg-hover: var(--hs-button-primary-bg-hover);
    --hs-button-border: var(--hs-button-primary-border);
    --hs-button-border-hover: var(--hs-button-primary-border-hover);
    --hs-button-color: var(--hs-button-primary-color);
  }

  :where(.hs-button--primary:hover, .hs-button--primary:focus-visible) {
    color: var(--hs-button-primary-color);
  }

  :where(.hs-button--secondary) {
    --hs-button-bg: var(--hs-button-secondary-bg);
    --hs-button-bg-hover: var(--hs-button-secondary-bg-hover);
    --hs-button-border: var(--hs-button-secondary-border);
    --hs-button-border-hover: var(--hs-button-secondary-border-hover);
    --hs-button-color: var(--hs-button-secondary-color);
  }

  :where(.hs-button--ghost) {
    --hs-button-bg: var(--hs-button-ghost-bg);
    --hs-button-bg-hover: var(--hs-button-ghost-bg-hover);
    --hs-button-border: var(--hs-button-ghost-border);
    --hs-button-border-hover: var(--hs-button-ghost-border);
    --hs-button-color: var(--hs-button-ghost-color);
    --hs-button-shadow: none;
    --hs-button-shadow-hover: none;
  }

  :where(.hs-button--compact) {
    min-height: var(--hs-button-height-sm);
    min-width: 0;
    padding-inline: var(--hs-button-padding-x-sm);
    font-size: var(--hs-button-font-size-sm);
  }

  :where(.hs-button--large) {
    min-height: var(--hs-button-height-lg);
    font-size: var(--hs-button-font-size-lg);
  }

  :where(.hs-button--icon) {
    width: var(--hs-button-height-md);
    min-width: var(--hs-button-height-md);
    height: var(--hs-button-height-md);
    min-height: var(--hs-button-height-md);
    padding: 0;
    border-radius: var(--hs-radius-pill);
  }

  :where(.hs-sticky-action) {
    position: fixed;
    top: var(--hs-sticky-action-offset, var(--hs-space-4));
    right: var(--hs-sticky-action-offset, var(--hs-space-4));
    z-index: var(--hs-sticky-action-z-index, 20);
    display: grid;
    justify-items: end;
    gap: var(--hs-space-2);
  }

  @media (max-width: 760px) {
    :where(.hs-sticky-action) {
      --hs-sticky-action-offset: var(--hs-space-3);
    }
  }

  :where(.hs-icon) {
    width: var(--hs-icon-size-large);
    height: var(--hs-icon-size-large);
    flex: 0 0 auto;
    display: inline-block;
    color: currentColor;
    fill: none;
    stroke: currentColor;
    stroke-width: var(--hs-icon-stroke);
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  :where(.hs-icon--small),
  :where(.hs-icon--xs),
  :where(.hs-icon--sm) {
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
  }

  :where(.hs-icon--large),
  :where(.hs-icon--md),
  :where(.hs-icon--lg) {
    width: var(--hs-icon-size-large);
    height: var(--hs-icon-size-large);
  }

  :where(.hs-icon--on-accent) {
    color: var(--hs-color-on-primary);
    stroke: var(--hs-color-on-primary);
  }

  .hs-surface-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--hs-surface-accent-bg, var(--hs-color-primary));
    color: var(--hs-color-on-primary);
  }

  .hs-surface-accent :where(.hs-icon) {
    color: var(--hs-color-on-primary);
    stroke: var(--hs-color-on-primary);
  }

  .hs-notif-row__type-badge {
    position: absolute;
    bottom: calc(var(--hs-space-1) * -1);
    right: calc(var(--hs-space-1) * -1);
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    border-radius: var(--hs-radius-pill);
  }

  .hs-notif-row__icon-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-12);
    height: var(--hs-space-12);
    border-radius: var(--hs-radius-lg);
    background: color-mix(in srgb, var(--hs-color-text-strong) 6%, var(--hs-color-surface));
  }

  .hs-notif-row__icon-fallback .hs-icon {
    color: var(--hs-notif-accent, var(--hs-color-primary));
    stroke: var(--hs-notif-accent, var(--hs-color-primary));
  }

  :where(.hs-icon-button) {
    width: var(--hs-icon-button-size-md);
    min-width: var(--hs-icon-button-size-md);
    height: var(--hs-icon-button-size-md);
    min-height: var(--hs-icon-button-size-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: var(--hs-button-border-width) solid var(--hs-button-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-button-bg);
    color: var(--hs-button-color);
    font: inherit;
    cursor: pointer;
  }

  :where(.hs-icon-button:hover, .hs-icon-button:focus-visible) {
    border-color: var(--hs-button-border-hover);
    background: var(--hs-button-bg-hover);
  }

  :where(.hs-icon-button:focus-visible) {
    outline: 3px solid var(--color-primary-ring, var(--hs-color-primary-soft));
    outline-offset: 2px;
  }

  :where(.hs-icon-button--sm) {
    width: var(--hs-icon-button-size-sm);
    min-width: var(--hs-icon-button-size-sm);
    height: var(--hs-icon-button-size-sm);
    min-height: var(--hs-icon-button-size-sm);
  }

  :where(.hs-icon-button--md) {
    width: var(--hs-icon-button-size-md);
    min-width: var(--hs-icon-button-size-md);
    height: var(--hs-icon-button-size-md);
    min-height: var(--hs-icon-button-size-md);
  }

  .hs-field {
    display: grid;
    gap: var(--hs-field-gap);
  }

  .hs-field__label {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
  }

  .hs-field__help {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-normal);
  }

  .hs-field__error {
    margin: 0;
    color: var(--hs-color-danger);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-normal);
  }

  .consent-field {
    display: grid;
    gap: var(--hs-field-gap);
  }

  .consent-field.is-hidden {
    display: none;
  }

  .consent-field__label {
    display: grid;
    grid-template-columns: var(--hs-space-5) minmax(0, 1fr);
    gap: var(--hs-space-2);
    align-items: start;
    cursor: pointer;
  }

  .consent-field__label input[type="checkbox"] {
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    margin: calc(var(--hs-space-0) + 1px) var(--hs-space-0) var(--hs-space-0);
    accent-color: var(--hs-color-primary);
  }

  .consent-field__text {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .consent-field__text a {
    color: var(--hs-color-primary);
    font-weight: var(--hs-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .consent-field__text small {
    display: block;
    margin-top: var(--hs-space-1);
    color: var(--hs-color-muted);
  }

  .consent-field__text small:empty {
    display: none;
  }

  .consent-field.is-invalid .consent-field__label input[type="checkbox"] {
    outline: 2px solid color-mix(in srgb, var(--hs-color-danger) 46%, transparent);
    outline-offset: 1px;
  }

  .required-mark {
    margin-left: var(--hs-space-1);
    color: var(--hs-color-danger);
    font-weight: var(--hs-weight-semibold);
  }

  .consent-field__text .required-mark {
    margin-left: 0;
    margin-right: var(--hs-space-1);
  }

  .hs-question-card__title .required-mark,
  .field-title .required-mark,
  .field-title-text .required-mark {
    margin-left: var(--hs-space-1);
  }

  .hs-input,
  .hs-textarea,
  .hs-select {
    width: 100%;
    min-height: var(--hs-control-height-md);
    padding: 0 var(--hs-input-padding-x);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-normal);
  }

  .hs-textarea {
    min-height: var(--hs-textarea-min-height);
    padding-block: calc(var(--hs-space-3) - 1px);
    resize: vertical;
  }

  .hs-input:focus,
  .hs-textarea:focus,
  .hs-select:focus {
    border-color: var(--hs-color-primary);
    outline: 2px solid color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    outline-offset: 0;
  }

  .hs-input[readonly],
  .hs-input:read-only,
  .hs-textarea[readonly],
  .hs-textarea:read-only {
    background: color-mix(in srgb, var(--hs-color-text) 4%, var(--hs-color-surface));
    color: var(--hs-color-muted);
    cursor: default;
  }

  .hs-input[readonly]:focus,
  .hs-input:read-only:focus,
  .hs-textarea[readonly]:focus,
  .hs-textarea:read-only:focus {
    border-color: var(--hs-color-border);
    outline: none;
  }

  .hs-switch,
  .hs-switch[data-slot="switch"] {
    position: relative;
    flex-shrink: 0;
    width: var(--hs-switch-width);
    height: var(--hs-switch-height);
    border: none;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-switch-track-off);
    cursor: pointer;
    transition: background-color 200ms ease;
    outline: none;
  }

  .hs-switch[data-state="checked"] {
    background: var(--hs-color-primary);
  }

  .hs-switch:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    outline-offset: 2px;
  }

  .hs-switch:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .hs-switch__thumb,
  .hs-switch [data-slot="switch-thumb"] {
    display: block;
    width: var(--hs-switch-thumb-size);
    height: var(--hs-switch-thumb-size);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-on-primary);
    box-shadow: var(--hs-shadow-sm);
    transition: transform 200ms ease;
    transform: translateX(var(--hs-switch-thumb-offset));
    pointer-events: none;
  }

  .hs-switch__thumb[data-state="checked"],
  .hs-switch [data-slot="switch-thumb"][data-state="checked"] {
    transform: translateX(
      calc(var(--hs-switch-width) - var(--hs-switch-thumb-size) - var(--hs-switch-thumb-offset))
    );
  }

  .hs-input-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--hs-search-gap);
    width: 100%;
    min-width: 0;
    min-height: var(--hs-search-min-height);
    padding: 0 var(--hs-search-padding-x);
    border: 0;
    border-radius: var(--hs-search-radius);
    background: var(--hs-search-bg);
    color: var(--hs-search-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-search-font-size);
    font-weight: var(--hs-search-font-weight);
    line-height: var(--hs-leading-none);
    transition:
      background-color var(--transition-fast, 120ms ease),
      color var(--transition-fast, 120ms ease);
  }

  .hs-input-search:focus-within {
    background: var(--hs-search-bg-focus);
    color: var(--hs-search-text-active);
    outline: none;
  }

  .hs-input-search__icon {
    flex-shrink: 0;
    color: var(--hs-search-icon);
    pointer-events: none;
  }

  .hs-input-search__input {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: var(--hs-leading-normal);
    outline: none;
  }

  .hs-input-search__input::placeholder {
    color: var(--hs-search-text);
  }

  .hs-input-search__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .hs-input-search--trigger {
    cursor: pointer;
    text-align: left;
    font: inherit;
  }

  .hs-input-search--trigger:hover,
  .hs-input-search--trigger:focus-visible {
    background: var(--hs-search-bg-hover);
    color: var(--hs-search-text-active);
    outline: none;
  }

  .hs-input-search--icon-only {
    width: var(--hs-space-11);
    min-height: var(--hs-space-11);
    justify-content: center;
    justify-items: center;
    padding: 0;
    grid-template-columns: auto;
  }

  .hs-input-search--icon-only .hs-input-search__icon {
    width: var(--hs-space-5);
    height: var(--hs-space-5);
  }

  .hs-input-search--expanded {
    --hs-search-min-height: var(--hs-space-12);
    --hs-search-font-size: var(--hs-text-lg);
    --hs-search-padding-x: var(--hs-space-4);
  }

  @media (min-width: 768px) {
    .hs-input-search--expanded {
      --hs-search-min-height: var(--hs-space-14);
      --hs-search-font-size: var(--hs-text-xl);
    }
  }

  .hs-input-search--clearable:has(.hs-input-search__clear) {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .hs-input-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--hs-space-8);
    height: var(--hs-space-8);
    padding: 0;
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: transparent;
    color: var(--hs-search-icon);
    cursor: pointer;
  }

  .hs-input-search__clear:hover,
  .hs-input-search__clear:focus-visible {
    color: var(--hs-search-text-active);
    outline: none;
  }

  .hs-message-composer {
    flex-shrink: 0;
    padding: var(--hs-space-2) var(--hs-space-4) var(--hs-space-6);
    background: var(--hs-color-surface);
    border-top: 1px solid color-mix(in srgb, var(--hs-color-text) 6%, transparent);
  }

  .hs-message-composer__bar {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    width: 100%;
    min-width: 0;
  }

  .hs-message-composer__input {
    flex: 1;
    min-width: 0;
    height: var(--hs-control-height-md);
    padding: 0 var(--hs-input-padding-x);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
    outline: none;
  }

  .hs-message-composer__input::placeholder {
    color: var(--hs-color-nav-muted);
  }

  .hs-message-composer__input:focus {
    border-color: var(--hs-color-primary);
    outline: 2px solid color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    outline-offset: 0;
  }

  .hs-message-composer__attach.hs-icon-circle-button:not(.hs-icon-circle-button--primary) {
    background: var(--hs-color-bg);
    color: var(--hs-color-muted);
    box-shadow: none;
  }

  .hs-message-composer__attach--open {
    transform: rotate(45deg);
  }

  .hs-message-composer__send.hs-icon-circle-button:not(.hs-icon-circle-button--primary) {
    background: color-mix(in srgb, var(--hs-color-bg) 72%, var(--hs-color-text) 28%);
    color: var(--hs-color-nav-muted);
    box-shadow: none;
    cursor: default;
  }

  .hs-message-composer__send.hs-icon-circle-button:disabled {
    opacity: 1;
    cursor: not-allowed;
  }

  .hs-message-composer__send.hs-icon-circle-button:disabled .hs-icon {
    opacity: 0.55;
  }

  .hs-message-actions__backdrop {
    position: absolute;
    inset: 0;
    z-index: 60;
    background: rgba(15, 23, 42, 0.28);
  }

  .hs-message-actions {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    padding: var(--hs-space-3) var(--hs-space-4) var(--hs-space-6);
    border-radius: var(--hs-radius-xl) var(--hs-radius-xl) 0 0;
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-message-actions);
  }

  .hs-message-actions__handle {
    display: block;
    width: var(--hs-space-12);
    height: calc(var(--hs-space-1) + var(--hs-space-1) / 2);
    margin: 0 auto var(--hs-space-4);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text) 38%, transparent);
  }

  .hs-message-actions__preview {
    margin-bottom: var(--hs-space-4);
    padding: var(--hs-space-3);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg);
    color: var(--hs-color-text);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-snug);
  }

  .hs-message-actions__reactions {
    display: flex;
    justify-content: space-between;
    gap: var(--hs-space-2);
    margin-bottom: var(--hs-space-4);
    padding-bottom: var(--hs-space-4);
    border-bottom: 1px solid color-mix(in srgb, var(--hs-color-text) 8%, transparent);
  }

  .hs-message-actions__reaction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-11);
    height: var(--hs-space-11);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-bg);
    font-size: var(--hs-text-message-reaction);
    line-height: var(--hs-leading-none);
    cursor: pointer;
    transition: transform 120ms ease, background-color 120ms ease;
  }

  .hs-message-actions__reaction:active {
    transform: scale(1.08);
    background: color-mix(in srgb, var(--hs-color-primary) 12%, var(--hs-color-bg));
  }

  .hs-message-actions__list {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .hs-message-actions__item {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
    width: 100%;
    min-height: var(--hs-space-12);
    padding: 0 var(--hs-space-3);
    border: 0;
    border-radius: var(--hs-radius-lg);
    background: transparent;
    color: var(--hs-color-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-medium);
    text-align: left;
    cursor: pointer;
  }

  .hs-message-actions__item:active {
    background: var(--hs-color-bg);
  }

  .hs-message-actions__item--danger {
    color: var(--hs-color-danger);
  }

  .hs-message-reply-preview {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
    margin-bottom: var(--hs-space-2);
    padding: var(--hs-space-2) var(--hs-space-3);
    border-left: 3px solid var(--hs-color-primary);
    border-radius: var(--hs-radius-md);
    background: var(--hs-color-bg);
  }

  .hs-message-reply-preview__content {
    flex: 1;
    min-width: 0;
  }

  .hs-message-reply-preview__label {
    color: var(--hs-color-primary);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-tight);
  }

  .hs-message-reply-preview__text {
    margin-top: var(--hs-space-1);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-snug);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .hs-message-reply-preview__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-8);
    height: var(--hs-space-8);
    flex-shrink: 0;
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: transparent;
    color: var(--hs-color-muted);
    cursor: pointer;
  }

  .hs-message-bubble {
    border-radius: var(--hs-radius-lg);
    padding: var(--hs-space-2) var(--hs-space-3);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-snug);
    user-select: none;
    transition:
      transform 120ms ease,
      background-color 120ms ease,
      box-shadow 120ms ease;
  }

  .hs-message-bubble--incoming {
    background: var(--hs-color-surface);
    color: var(--hs-color-text-strong);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-message-bubble--incoming.is-pressed {
    background: color-mix(in srgb, var(--hs-color-bg) 72%, var(--hs-color-surface));
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
  }

  .hs-message-bubble--outgoing {
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-message-bubble--outgoing.is-pressed {
    background: var(--hs-color-primary-hover);
  }

  .hs-message-bubble--incoming.is-last-in-group {
    border-bottom-left-radius: 6px;
  }

  .hs-message-bubble--outgoing.is-last-in-group {
    border-bottom-right-radius: 6px;
  }

  .hs-message-bubble.is-pressed {
    transform: scale(0.98);
  }

  .hs-message-bubble__meta {
    margin-top: var(--hs-space-1);
    display: flex;
    align-items: center;
    gap: var(--hs-space-1);
    font-size: var(--hs-text-10);
  }

  .hs-message-bubble--incoming .hs-message-bubble__meta {
    color: color-mix(in srgb, var(--hs-color-muted) 72%, transparent);
  }

  .hs-message-bubble--outgoing .hs-message-bubble__meta {
    color: color-mix(in srgb, var(--hs-color-on-primary) 72%, transparent);
  }

  .hs-message-bubble__author {
    margin-bottom: calc(var(--hs-space-1) / 4);
    padding: 0 var(--hs-space-1);
    font-size: var(--hs-text-10);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-member-color, var(--hs-color-primary));
  }

  .hs-chat-date-divider {
    display: flex;
    justify-content: center;
    padding: var(--hs-space-3) 0;
  }

  .hs-chat-date-divider__label {
    padding: var(--hs-space-1) var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-surface) 78%, transparent);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-11);
    font-weight: var(--hs-weight-semibold);
  }

  .hs-chat-unread-divider {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
    padding: var(--hs-space-3) 0;
  }

  .hs-chat-unread-divider__line {
    flex: 1;
    height: 1px;
    background: color-mix(in srgb, var(--hs-color-primary) 18%, transparent);
  }

  .hs-chat-unread-divider__label {
    font-size: var(--hs-text-11);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-primary);
  }

  .hs-link-preview {
    margin-bottom: var(--hs-space-2);
    padding: var(--hs-space-2) var(--hs-space-3);
    border-radius: var(--hs-radius-md);
    background: var(--hs-surface-subtle, color-mix(in srgb, var(--hs-color-bg) 88%, var(--hs-color-text) 4%));
    text-align: left;
  }

  .hs-link-preview--outgoing {
    background: color-mix(in srgb, var(--hs-color-on-primary) 14%, transparent);
  }

  .hs-member-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-member-color, var(--hs-color-primary));
    color: var(--hs-color-on-primary);
    font-weight: var(--hs-weight-bold);
  }

  .hs-member-avatar--xs {
    width: calc(var(--hs-space-3) + var(--hs-space-1) / 2);
    height: calc(var(--hs-space-3) + var(--hs-space-1) / 2);
    font-size: 6px;
  }

  .hs-member-avatar--sm {
    width: var(--hs-space-4);
    height: var(--hs-space-4);
    font-size: 5px;
  }

  .hs-member-avatar--md {
    width: var(--hs-space-8);
    height: var(--hs-space-8);
    font-size: var(--hs-text-10);
  }

  .hs-member-avatar--lg {
    width: var(--hs-space-14);
    height: var(--hs-space-14);
    font-size: var(--hs-text-md);
  }

  .hs-member-avatar--stacked {
    border: 1px solid var(--hs-color-surface);
  }

  .hs-member-avatar--ring {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--hs-color-surface) 50%, transparent);
  }

  .hs-message-bubble-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-1);
    margin-top: var(--hs-space-1);
  }

  .hs-message-bubble-reaction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hs-space-7);
    height: var(--hs-space-7);
    padding: 0 var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-none);
  }

  .hs-message-toast {
    position: absolute;
    left: var(--hs-message-toast-left);
    bottom: calc(var(--hs-space-20) + var(--hs-safe-bottom, 0px));
    z-index: 80;
    transform: translateX(-50%);
    max-width: calc(100% - var(--hs-space-8));
    padding: var(--hs-space-3) var(--hs-space-4);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong, #18181b) 92%, transparent);
    color: var(--hs-color-surface);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-medium);
    white-space: nowrap;
    box-shadow: var(--hs-shadow-lg);
    pointer-events: none;
  }

  :where(.hs-choice-grid, .choice-grid) {
    display: grid;
    gap: var(--hs-space-3);
  }

  :where(.hs-choice-grid--media, .choice-grid--purpose) {
    display: flex;
    gap: var(--hs-space-3);
    overflow-x: auto;
  }

  :where(.hs-choice, .choice-card) {
    position: relative;
    margin: 0;
  }

  :where(.hs-choice:not(.hs-choice--media), .choice-card:not(.choice-card--purpose)) {
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    overflow: hidden;
    transition:
      border-color 160ms ease,
      background-color 160ms ease,
      box-shadow 160ms ease;
  }

  :where(.hs-choice__input, .choice-input--hidden) {
    position: absolute;
    width: var(--hs-space-0);
    height: var(--hs-space-0);
    margin: var(--hs-space-0);
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
  }

  :where(.hs-choice__control) {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-sm);
    background: var(--hs-color-surface);
  }

  :where(.hs-choice:has(.hs-choice__input:checked) .hs-choice__control) {
    border-color: var(--hs-color-primary);
    background: color-mix(in srgb, var(--hs-color-primary-soft) 28%, var(--hs-color-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-primary) 18%, transparent);
  }

  :where(.hs-choice__label, .choice-option-label) {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: var(--hs-space-14);
    padding: var(--hs-space-4) var(--hs-space-5);
    border: 0;
    border-radius: inherit;
    color: var(--hs-color-text);
    cursor: pointer;
  }

  :where(.hs-choice__text, .choice-option-text) {
    font-size: var(--hs-type-body-size);
    line-height: var(--hs-type-body-line-height);
    font-weight: var(--hs-weight-medium);
  }

  :where(.hs-choice__label:has(.hs-choice__title), .choice-option-label:has(.choice-option-title)) {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--hs-space-1);
  }

  :where(.hs-choice__title, .choice-option-title) {
    font-size: var(--hs-type-body-size);
    line-height: var(--hs-type-body-line-height);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text);
  }

  :where(.hs-choice__description, .choice-option-description) {
    font-size: var(--hs-type-caption-size);
    line-height: var(--hs-type-caption-line-height);
    font-weight: var(--hs-weight-regular);
    color: var(--hs-color-text-muted);
  }

  :where(.hs-choice__input:checked + .hs-choice__label .hs-choice__title, .choice-input--hidden:checked + .choice-option-label .choice-option-title) {
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-choice:has(.hs-choice__input:checked), .choice-card:has(.choice-input--hidden:checked):not(.choice-card--purpose)) {
    border-color: var(--hs-color-primary);
    background: color-mix(in srgb, var(--hs-color-primary-soft) 18%, var(--hs-color-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-primary) 12%, transparent);
  }

  .hs-choice:not(.hs-choice--media).is-selected {
    border-color: var(--hs-color-primary);
    background: color-mix(in srgb, var(--hs-color-primary-soft) 18%, var(--hs-color-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-primary) 12%, transparent);
  }

  :where(.hs-choice__input:checked + .hs-choice__label .hs-choice__text, .choice-input--hidden:checked + .choice-option-label .choice-option-text) {
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-choice:hover:not(.hs-choice--media), .choice-card:hover:not(.choice-card--purpose)) {
    border-color: color-mix(in srgb, var(--hs-color-primary) 18%, var(--hs-color-border));
    background: color-mix(in srgb, var(--hs-color-primary-soft) 10%, var(--hs-color-surface));
  }

  :where(.hs-choice__input:focus-visible + .hs-choice__label, .choice-input--hidden:focus-visible + .choice-option-label) {
    outline: 3px solid color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    outline-offset: 2px;
  }

  :where(.hs-choice--media, .choice-card--purpose) {
    display: flex;
    flex: 0 0 calc((100% - (2 * var(--hs-space-3))) / 3);
    min-width: calc(var(--hs-layout-40) + 60px);
  }

  :where(.hs-choice__media, .purpose-card-media) {
    display: grid;
    place-items: center;
    min-height: var(--hs-layout-20);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg);
    color: var(--hs-color-muted);
  }

  :where(.hs-choice--media .hs-choice__label, .purpose-card-label) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--hs-space-2);
    width: 100%;
    height: 100%;
    padding: var(--hs-space-2);
    border: 0.5px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
    box-sizing: border-box;
    transition:
      border-color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  :where(.hs-choice--media .hs-choice__label:hover, .purpose-card-label:hover) {
    transform: translateY(-1px);
  }

  :where(.hs-choice--media .hs-choice__media, .purpose-card-media) {
    display: flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--hs-radius-lg);
    background:
      linear-gradient(
        135deg,
        color-mix(in srgb, var(--hs-color-primary) 8%, transparent),
        color-mix(in srgb, var(--hs-color-primary) 18%, transparent)
      ),
      var(--hs-color-bg);
    color: var(--hs-color-muted);
    font-size: var(--hs-type-meta-size);
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-choice--media .hs-choice__title, .purpose-card-title) {
    display: block;
    font-size: var(--hs-type-body-size);
    line-height: var(--hs-leading-dense);
    font-weight: var(--hs-weight-bold);
  }

  :where(.hs-choice__input:checked + .hs-choice__label:has(.hs-choice__media), .choice-input--hidden:checked + .purpose-card-label) {
    border-color: var(--hs-color-primary);
    box-shadow: inset 0 0 0 0.5px var(--hs-color-primary);
  }

  :where(.hs-choice__clear, .district-choice-clear-icon) {
    position: relative;
    display: inline-block;
    width: var(--hs-space-4);
    height: var(--hs-space-4);
    color: var(--hs-color-primary);
  }

  :where(.hs-choice__clear, .district-choice-clear-icon)::before,
  :where(.hs-choice__clear, .district-choice-clear-icon)::after {
    content: "";
    position: absolute;
    top: var(--hs-position-center);
    left: var(--hs-position-center);
    width: calc(var(--hs-space-3) + 1px);
    height: var(--hs-space-1);
    border-radius: var(--hs-radius-pill);
    background: currentColor;
  }

  :where(.hs-choice__clear, .district-choice-clear-icon)::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  :where(.hs-choice__clear, .district-choice-clear-icon)::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  :where(.hs-radio-control, .matrix-radio-label) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hs-space-7);
    min-height: var(--hs-space-7);
    padding: 0;
    border-radius: var(--hs-radius-pill);
    cursor: pointer;
  }

  :where(.hs-radio-control__mark, .matrix-radio) {
    position: relative;
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    border: 1.5px solid color-mix(in srgb, var(--hs-color-text) 38%, transparent);
    border-radius: var(--hs-radius-pill);
    background: transparent;
    transition:
      border-color 160ms ease,
      background-color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  :where(.hs-radio-control__mark, .matrix-radio)::after {
    content: "";
    position: absolute;
    top: var(--hs-position-center);
    left: var(--hs-position-center);
    width: var(--hs-space-2);
    height: var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    transform: translate(-50%, -50%) scale(0);
    transition: transform 160ms ease;
  }

  :where(.hs-choice__input:checked + .hs-radio-control .hs-radio-control__mark, .matrix-input:checked + .matrix-radio-label .matrix-radio) {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
  }

  :where(.hs-choice__input:checked + .hs-radio-control .hs-radio-control__mark, .matrix-input:checked + .matrix-radio-label .matrix-radio)::after {
    transform: translate(-50%, -50%) scale(1);
  }

  :where(.hs-choice__input:focus-visible + .hs-radio-control, .matrix-input:focus-visible + .matrix-radio-label) {
    outline: 2px solid var(--hs-color-primary-ring);
    outline-offset: 4px;
  }

  :where(.hs-matrix-answer__cell, .matrix-cell).is-disabled {
    opacity: 0.42;
  }

  :where(.hs-matrix-answer__cell, .matrix-cell).is-disabled :where(.hs-radio-control, .matrix-radio-label) {
    cursor: not-allowed;
  }

  :where(.hs-matrix-answer__cell, .matrix-cell).is-disabled :where(.hs-radio-control__mark, .matrix-radio) {
    border-color: color-mix(in srgb, var(--hs-color-text) 20%, transparent);
  }

  :where(.hs-matrix-answer__cell, .matrix-cell):not(.is-disabled):hover :where(.hs-radio-control__mark, .matrix-radio) {
    border-color: color-mix(in srgb, var(--hs-color-primary) 48%, var(--hs-color-border));
  }

  :where(.hs-matrix-answer, .matrix-table) {
    width: 100%;
    display: block;
  }

  :where(.hs-radio-control__text, .matrix-radio-text) {
    display: none;
  }

  :where(.hs-chip, .hs-location-chip, .location-chip) {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-bg);
    color: var(--hs-color-text);
    padding: var(--hs-space-3) var(--hs-space-3);
    font-size: var(--hs-type-body-size);
    font-weight: var(--hs-weight-medium);
  }

  :where(.hs-chip--location, .hs-location-chip--city, .hs-location-chip.location-chip--city, .location-chip--city) {
    padding: 0 var(--hs-space-2) 0 0;
  }

  :where(.hs-chip.is-selected, .hs-location-chip.is-selected, .hs-location-chip.is-active, .location-chip.is-selected, .location-chip.is-active) {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-primary) 18%, transparent);
  }

  :where(.hs-chip__remove, .hs-location-chip__remove, .hs-location-chip__indicator, .location-chip-remove, .location-chip-selected-indicator) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hs-space-5);
    height: var(--hs-space-5);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-stepper, .room-needs-stepper) {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-1);
    padding: var(--hs-space-1);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
  }

  :where(.hs-stepper .hs-icon-button) {
    flex-shrink: 0;
  }

  :where(.hs-stepper__button, .room-needs-stepper-button) {
    width: var(--hs-icon-button-size-sm);
    min-width: var(--hs-icon-button-size-sm);
    height: var(--hs-icon-button-size-sm);
    min-height: var(--hs-icon-button-size-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: var(--hs-button-border-width) solid var(--hs-button-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-button-bg);
    color: var(--hs-button-color);
    font: inherit;
    font-weight: var(--hs-weight-semibold);
    cursor: pointer;
  }

  :where(.hs-stepper__button, .room-needs-stepper-button):hover:not(:disabled) {
    border-color: var(--hs-button-border-hover);
    background: var(--hs-button-bg-hover);
  }

  :where(.hs-stepper__button, .room-needs-stepper-button):focus-visible {
    outline: 3px solid var(--color-primary-ring, var(--hs-color-primary-soft));
    outline-offset: 2px;
  }

  :where(.hs-stepper__button, .room-needs-stepper-button):disabled {
    color: var(--hs-color-muted);
    cursor: not-allowed;
    opacity: 0.42;
  }

  :where(.hs-stepper__value, .room-needs-stepper-value) {
    min-width: var(--hs-space-8);
    text-align: center;
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-range-control) {
    position: relative;
    width: 100%;
    max-width: calc(var(--hs-layout-40, 10rem) + 30rem);
    height: var(--hs-space-12);
    touch-action: none;
    user-select: none;
  }

  :where(.hs-range-control__track, .budget-slider-base) {
    position: absolute;
    left: 0;
    right: 0;
    top: var(--hs-position-center);
    height: var(--hs-space-2);
    transform: translateY(-50%);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-border);
    pointer-events: none;
  }

  :where(.hs-range-control__active, .budget-slider-active) {
    position: absolute;
    top: var(--hs-position-center);
    left: 0;
    height: var(--hs-space-2);
    transform: translateY(-50%);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    pointer-events: none;
  }

  :where(.hs-range-control__handle, .budget-handle) {
    position: absolute;
    top: var(--hs-position-center);
    width: var(--hs-space-7);
    height: var(--hs-space-7);
    transform: translate(-50%, -50%);
    border: 2px solid var(--hs-color-primary);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    box-shadow: 0 0 0 2px var(--hs-color-surface);
    padding: 0;
    cursor: grab;
    z-index: 2;
  }

  :where(.hs-range-control__handle:active, .budget-handle:active) {
    cursor: grabbing;
  }

  :where(.hs-question-card, .field-card) {
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
    padding: var(--hs-card-padding-lg);
  }

  :where(.hs-question-card--purpose, .field-card--purpose) {
    background: color-mix(in srgb, var(--hs-color-primary-soft) 22%, var(--hs-color-surface));
  }

  :where(.hs-question-card--invalid, .field-card.is-invalid) {
    border-color: color-mix(in srgb, var(--hs-color-danger) 58%, var(--hs-color-border));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-danger) 26%, transparent);
  }

  :where(.hs-question-card__header, .field-header) {
    display: grid;
    gap: var(--hs-space-2);
    margin-bottom: var(--hs-space-6);
  }

  :where(.hs-question-card__title, .field-title) {
    display: flex;
    align-items: flex-start;
    gap: var(--hs-space-2);
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-sm-size);
    line-height: var(--hs-type-heading-sm-line-height);
    font-weight: var(--hs-type-heading-sm-weight);
  }

  :where(.hs-question-card__index, .field-title-index) {
    flex: 0 0 auto;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-label-size);
    line-height: var(--hs-leading-snug);
    font-weight: var(--hs-weight-semibold);
  }

  :where(.hs-question-card__description, .field-description) {
    margin: 0;
    max-width: 100%;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-size);
    line-height: var(--hs-type-body-line-height);
  }

  :where(.hs-form-welcome) :where(.hs-question-card__header, .field-header) {
    margin-bottom: 0;
  }

  :where(.hs-welcome-content) {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--hs-welcome-content-max-width);
    padding: var(--hs-welcome-content-padding-y) var(--hs-welcome-content-padding-x);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
  }

  :where(.hs-welcome-content__stack) {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-6);
  }

  :where(.hs-welcome-content__title) {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-xs-size);
    line-height: var(--hs-type-heading-line-height);
    font-weight: var(--hs-type-heading-weight);
  }

  :where(.hs-welcome-content__paragraphs) {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-3);
  }

  :where(.hs-welcome-content__body) {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-sm-line-height);
    font-weight: var(--hs-type-body-weight);
  }

  :where(.hs-question-group, .conditional-field-group) {
    display: grid;
    gap: var(--hs-space-4);
    padding: var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-question-group-bg);
  }

  :where(.hs-question-group__title, .conditional-field-group-title) {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-label-strong-size);
    font-weight: var(--hs-type-label-strong-weight);
  }

  :where(.hs-form-section, .hs-form-section--location) {
    min-width: 0;
  }

  :where(.hs-form-question) {
    display: grid;
    gap: var(--hs-space-2);
  }

  :where(.hs-form-question__content) {
    display: grid;
    gap: var(--hs-space-2);
  }

  :where(.hs-form-question__title) {
    display: inline-flex;
    align-items: baseline;
    gap: var(--hs-space-1);
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-md-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  :where(.hs-form-question__required) {
    color: var(--hs-color-danger);
  }

  :where(.hs-form-question__description) {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-size);
    line-height: var(--hs-type-body-line-height);
  }

  :where(.hs-form-footer) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: var(--hs-form-footer-height, var(--hs-layout-20));
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
  }

  :where(.hs-form-actions) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--hs-space-3);
    width: 100%;
  }

  :where(.hs-answer-group, .hs-location-answer, .hs-range-answer, .hs-count-answer, .hs-matrix-answer) {
    display: grid;
    gap: var(--hs-space-3);
  }

  :where(.hs-location-answer, .hs-location-search) {
    display: grid;
    gap: var(--hs-form-location-answer-gap, var(--hs-space-4));
  }

  :where(.hs-location-block, .hs-location-search__input-group) {
    display: grid;
    gap: var(--hs-form-location-field-gap, var(--hs-space-1));
    margin-bottom: 0;
    border-radius: var(--hs-space-1);
  }

  :where(.hs-location-search__input) {
    max-width: 100%;
  }

  :where(.hs-location-selected-list) {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
  }

  :where(.hs-location-search__suggestions) {
    display: grid;
    gap: var(--hs-space-2);
  }

  :where(.hs-location-search__suggestion) {
    display: grid;
    gap: var(--hs-space-1);
    width: 100%;
    padding: var(--hs-space-3) var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }

  :where(.hs-location-search__suggestion:hover, .hs-location-search__suggestion:focus-visible) {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
    outline: 3px solid var(--hs-color-primary-ring);
    outline-offset: 2px;
  }

  :where(.hs-location-search__suggestion span, .hs-location-search__empty) {
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-line-height);
  }

  :where(.hs-location-chip.has-district-selection:not(.is-selected)) {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
  }

  :where(.hs-location-chip__label:is(button)) {
    min-height: var(--hs-space-10);
    padding: 0 0 0 var(--hs-space-3);
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }

  :where(.hs-location-chip__label:is(button):focus-visible, .hs-location-chip__remove:focus-visible, .hs-location-chip__indicator:focus-visible) {
    border-radius: var(--hs-radius-pill);
    outline: 3px solid var(--hs-color-primary-ring);
    outline-offset: 2px;
  }

  :where(.hs-location-chip__clear, .hs-location-chip__clear::before, .hs-location-chip__clear::after) {
    display: block;
    width: var(--hs-space-3);
    height: var(--hs-space-1);
    border-radius: var(--hs-radius-pill);
    background: currentColor;
  }

  :where(.hs-district-picker) {
    display: grid;
    gap: var(--hs-space-3);
  }

  :where(.hs-district-picker--embedded, .hs-district-picker.district-picker--embedded) {
    margin-top: var(--hs-space-3);
    padding-top: var(--hs-space-3);
    border-top: 1px solid var(--hs-color-border);
  }

  :where(.hs-district-view-toggle) {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(var(--hs-layout-24), 1fr));
    width: fit-content;
    max-width: 100%;
    padding: var(--hs-space-1);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg);
  }

  :where(.hs-district-picker--embedded .hs-district-view-toggle, .hs-district-picker.district-picker--embedded .hs-district-view-toggle) {
    justify-self: end;
  }

  :where(.hs-district-view-toggle__button) {
    box-sizing: border-box;
    min-height: var(--hs-space-9);
    padding: 0 var(--hs-space-3);
    border: 1px solid transparent;
    border-radius: var(--hs-button-radius);
    background: transparent;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-meta-size);
    font-weight: var(--hs-weight-semibold);
    cursor: pointer;
  }

  :where(.hs-district-view-toggle__button.is-active, .hs-district-view-toggle__button[aria-pressed="true"]) {
    border: 1px solid var(--hs-color-border);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    box-shadow: none;
  }

  :where(.hs-district-view-toggle__button:hover, .hs-district-view-toggle__button:focus-visible) {
    color: var(--hs-color-primary);
    outline: 3px solid var(--hs-color-primary-ring);
    outline-offset: 2px;
  }

  :where(.hs-district-picker__view) {
    min-width: 0;
  }

  :where(.hs-city-map) {
    display: grid;
    gap: var(--hs-space-2);
  }

  :where(.hs-city-map__description) {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-line-height);
  }

  :where(.hs-city-map__canvas) {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: calc(var(--hs-layout-40) * 2);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg);
  }

  :where(.hs-city-map__note) {
    margin: 0;
    padding: var(--hs-space-4);
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-line-height);
  }

  .hs-card {
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-card--padded {
    padding: var(--hs-space-6);
  }

  .hs-card--padded-compact {
    padding: var(--hs-space-2);
  }

  .hs-data-table {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-data-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr);
    gap: var(--hs-space-4);
    align-items: center;
    padding: var(--hs-space-3) var(--hs-space-4);
    border-top: 1px solid var(--hs-color-border);
  }

  .hs-data-row:first-child {
    border-top: 0;
  }

  .hs-data-label {
    color: var(--hs-color-muted);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-weight);
    line-height: var(--hs-type-label-line-height);
  }

  .hs-data-value {
    min-width: 0;
    color: var(--hs-color-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-type-body-sm-size);
    font-weight: var(--hs-type-body-weight);
    line-height: var(--hs-leading-snug);
  }

  .hs-data-meta {
    display: block;
    margin-top: var(--hs-space-1);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-normal);
  }

  .hs-price-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--hs-space-3);
    margin-top: var(--hs-space-4);
    margin-bottom: var(--hs-space-3);
  }

  .hs-price-summary__value {
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-lg-size);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-tightest);
  }

  .hs-price-summary__secondary {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-18);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-snug);
  }

  @media (max-width: 760px) {
    .hs-price-summary__value {
      font-size: var(--hs-type-heading-md-size);
    }

    .hs-price-summary__secondary {
      font-size: var(--hs-text-17);
    }

    .hs-offer-swipe-card__price {
      font-size: var(--hs-text-xl);
    }
  }

  .hs-key-facts-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: var(--hs-space-3);
  }

  .hs-key-facts-grid .hs-data-row {
    min-height: var(--hs-control-height-lg);
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    align-items: center;
    background: transparent;
  }

  .hs-key-facts-grid .hs-data-label {
    font-size: var(--hs-text-11);
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-normal);
  }

  .hs-key-facts-grid .hs-data-value {
    font-size: var(--hs-type-body-sm-size);
    font-weight: var(--hs-weight-semibold-soft);
  }

  .hs-topbar {
    border-bottom: 1px solid var(--hs-color-border);
    background: color-mix(in srgb, var(--hs-color-surface) 92%, transparent);
    backdrop-filter: blur(14px);
  }

  .hs-topbar-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-4);
    min-height: var(--hs-control-height-lg);
  }

  .hs-nav-item,
  .hs-tab,
  .hs-sidebar-item,
  .hs-breadcrumb-item,
  .hs-menu-item {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    color: var(--hs-color-text);
    font-family: var(--hs-font-sans);
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-weight);
    line-height: var(--hs-type-label-line-height);
    text-decoration: none;
  }

  .hs-nav-item {
    min-height: var(--hs-control-height-sm);
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
  }

  .hs-nav-item:hover,
  .hs-nav-item:focus-visible {
    background: var(--hs-color-surface-hover);
  }

  :where(.hs-link) {
    color: var(--link, var(--hs-color-primary));
    text-decoration: none;
    text-underline-offset: 3px;
    cursor: pointer;
  }

  :where(.hs-link:hover, .hs-link:focus-visible) {
    color: var(--hs-color-primary-hover);
    text-decoration: underline;
  }

  :where(button.hs-link, a.hs-link) {
    font: inherit;
  }

  :where(button.hs-link) {
    display: inline;
    border: 0;
    background: none;
    padding: 0;
    text-align: inherit;
  }

  .hs-tabs {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    border-bottom: 1px solid var(--hs-color-border);
  }

  .hs-tab {
    min-height: var(--hs-control-height-md);
    padding: 0 var(--hs-space-3);
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--hs-color-muted);
    cursor: pointer;
  }

  .hs-tab:hover,
  .hs-tab:focus-visible,
  .hs-tab--active,
  .hs-tab[aria-selected="true"] {
    border-bottom-color: var(--hs-color-primary);
    color: var(--hs-color-text-strong);
  }

  .hs-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hs-space-2);
  }

  .hs-breadcrumb-item {
    color: var(--hs-color-muted);
  }

  .hs-sidebar-nav {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-sidebar-item {
    justify-content: space-between;
    min-height: var(--hs-control-height-md);
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-lg);
  }

  .hs-sidebar-item:hover,
  .hs-sidebar-item:focus-visible,
  .hs-sidebar-item--active,
  .hs-sidebar-item[aria-current="page"] {
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-menu-popover {
    display: grid;
    gap: var(--hs-space-1);
    min-width: calc(var(--hs-layout-40) + var(--hs-space-5));
    padding: var(--hs-space-2);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-md);
  }

  .hs-menu-item {
    justify-content: space-between;
    min-height: var(--hs-control-height-sm);
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-sm);
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .hs-menu-item:hover,
  .hs-menu-item:focus-visible,
  .hs-menu-item--active {
    background: var(--hs-color-bg);
    color: var(--hs-color-text-strong);
  }

  .hs-step-tabs {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    overflow-x: auto;
  }

  .hs-step-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-height: var(--hs-control-height-sm);
    padding: 0 var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-muted);
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-weight);
    white-space: nowrap;
  }

  .hs-step-tab--active,
  .hs-step-tab[aria-current="step"] {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-tabs--filter {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    padding: var(--hs-space-1);
    border: 0;
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg);
  }

  .hs-tabs--filter .hs-tab {
    min-height: var(--hs-control-height-sm);
    padding: var(--hs-space-2) var(--hs-space-3);
    border: 0;
    border-bottom: 0;
    border-radius: var(--hs-radius-lg);
    background: transparent;
    color: var(--hs-color-muted);
  }

  .hs-tabs--filter .hs-tab:hover,
  .hs-tabs--filter .hs-tab:focus-visible {
    background: color-mix(in srgb, var(--hs-color-surface) 72%, transparent);
    border-bottom-color: transparent;
    color: var(--hs-color-text);
  }

  .hs-tabs--filter .hs-tab--active,
  .hs-tabs--filter .hs-tab[aria-selected="true"] {
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
    color: var(--hs-color-text-strong);
    border-bottom-color: transparent;
  }

  .hs-tab-count {
    min-width: var(--hs-space-6);
    height: var(--hs-space-6);
    padding: 0 calc(var(--hs-space-2) - 1px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text) 8%, transparent);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-none);
    font-variant-numeric: tabular-nums;
  }

  .hs-tab--active .hs-tab-count,
  .hs-tab[aria-selected="true"] .hs-tab-count {
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    min-height: var(--hs-control-height-sm);
    padding: 0 var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-bg);
    color: var(--hs-color-text);
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-weight);
    line-height: var(--hs-type-label-line-height);
    white-space: nowrap;
  }

  .hs-pill--primary {
    background: var(--hs-color-primary-soft);
    border-color: color-mix(in srgb, var(--hs-color-primary) 18%, transparent);
    color: var(--hs-color-primary);
  }

  .hs-pill--success {
    background: var(--hs-color-success-soft);
    border-color: color-mix(in srgb, var(--hs-color-success) 20%, transparent);
    color: var(--hs-color-success);
  }

  .hs-pill--warning {
    background: var(--hs-color-warning-soft);
    border-color: color-mix(in srgb, var(--hs-color-warning) 18%, transparent);
    color: var(--hs-color-warning);
  }

  .hs-pill--compact {
    min-height: var(--hs-space-6);
    gap: var(--hs-space-1);
    padding: 0 var(--hs-space-2);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-none);
    border-width: 0.5px;
  }

  .hs-badge {
    display: inline-flex;
    align-items: center;
    min-height: var(--hs-space-5);
    padding: 0 var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-none);
    white-space: nowrap;
  }

  .hs-badge--muted {
    background: color-mix(in srgb, var(--hs-color-text) 8%, transparent);
    color: var(--hs-color-muted);
  }

  .hs-app-shell {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-app-shell__sidebar {
    display: grid;
    align-content: start;
    gap: var(--hs-space-4);
    padding: var(--hs-space-4);
    border-right: 1px solid var(--hs-color-border);
    background: var(--hs-color-bg);
  }

  .hs-app-shell__main {
    min-width: 0;
    padding: var(--hs-space-4);
  }

  .hs-container {
    width: min(1120px, calc(100% - 32px));
    margin-inline: auto;
  }

  .hs-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-3);
  }

  .hs-meta,
  .hs-email-section-title {
    margin: 0;
    color: var(--hs-color-primary);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    text-transform: uppercase;
  }

  .hs-field-hint,
  .field-hint {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .hs-consent-error {
    margin: 0;
    color: var(--hs-color-danger);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .field-legend {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    line-height: var(--hs-leading-normal);
  }

  .step-section-intro {
    display: grid;
    gap: var(--hs-space-2);
    margin-bottom: var(--hs-space-4);
  }

  .step-section-intro__title {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-sm-size);
    line-height: var(--hs-type-heading-line-height);
    font-weight: var(--hs-weight-semibold-soft);
  }

  .step-section-intro__description {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-normal);
  }

  .hs-inline-check {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    width: fit-content;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-regular);
    text-transform: none;
  }

  .hs-inline-check__label {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    cursor: pointer;
  }

  .hs-inline-check__text {
    color: inherit;
    font-size: inherit;
    line-height: var(--hs-leading-normal);
  }

  .hs-profile-summary {
    margin-bottom: var(--hs-space-4);
  }

  .hs-profile-quality {
    width: fit-content;
    padding: var(--hs-space-2) var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-sm);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-text);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
  }

  .hs-refinement-list {
    display: grid;
    gap: var(--hs-space-3);
  }

  .hs-refinement-module {
    display: grid;
    gap: var(--hs-space-3);
    padding: var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-bg-soft);
  }

  .hs-refinement-module h2,
  .hs-refinement-module p {
    margin: 0;
  }

  .hs-refinement-module h2 {
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-22);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-chat-panel {
    padding-bottom: var(--hs-space-7);
  }

  .hs-chat-log {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-chat-bubble {
    display: grid;
    gap: var(--hs-space-3);
    max-width: 760px;
    padding: var(--hs-space-5);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    line-height: var(--hs-leading-normal);
  }

  .hs-chat-bubble h2,
  .hs-chat-bubble p {
    margin: 0;
  }

  .hs-chat-bubble--system {
    justify-self: start;
    background: var(--hs-color-bg-soft);
  }

  .hs-chat-bubble--user {
    justify-self: end;
    max-width: 520px;
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-text);
    font-weight: var(--hs-weight-strong);
  }

  .hs-chat-actions {
    margin-top: var(--hs-space-2);
  }

  .hs-intake-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
  }

  .hs-intake-benefits > span {
    display: inline-flex;
    align-items: center;
    min-height: var(--hs-space-7);
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold-soft);
  }

  .hs-touchpoint-card,
  .hs-email-preview {
    display: grid;
    gap: var(--hs-space-4);
    padding: var(--hs-space-5);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
  }

  .hs-touchpoint-card p {
    margin: 0;
    color: var(--hs-color-muted);
    line-height: var(--hs-leading-normal);
  }

  .hs-touchpoint-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--hs-space-4);
  }

  .hs-info-row {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: var(--hs-space-4);
    padding-bottom: var(--hs-space-2);
    border-bottom: 1px solid color-mix(in srgb, var(--hs-color-text) 8%, transparent);
  }

  .hs-info-row span {
    color: var(--hs-color-muted);
  }

  .hs-info-row strong {
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-lg);
    line-height: var(--hs-leading-normal);
  }

  .hs-email-card {
    display: grid;
    gap: var(--hs-space-3);
  }

  .hs-email-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-4);
  }

  .hs-email-inline-cta {
    width: fit-content;
  }

  .hs-email-message {
    margin: 0;
    color: var(--hs-color-muted);
    line-height: var(--hs-leading-normal);
  }
}
@layer hs.utilities {
  .hs-stack {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--hs-space-3);
  }

  .hs-muted {
    color: var(--hs-color-muted);
  }

  .hs-type-body,
  .hs-type-body-sm,
  .hs-type-label,
  .hs-type-label-strong,
  .hs-type-upper-heading,
  .hs-type-heading-sm,
  .hs-type-heading-md,
  .hs-type-heading-lg,
  .hs-type-display {
    font-family: var(--hs-font-sans);
    letter-spacing: var(--hs-tracking-normal);
  }

  .hs-type-body {
    font-size: var(--hs-type-body-size);
    font-weight: var(--hs-type-body-weight);
    line-height: var(--hs-type-body-line-height);
  }

  .hs-type-body-sm {
    font-size: var(--hs-type-body-sm-size);
    font-weight: var(--hs-type-body-weight);
    line-height: var(--hs-type-body-line-height);
  }

  .hs-type-label {
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-weight);
    line-height: var(--hs-type-label-line-height);
  }

  .hs-type-label-strong {
    font-size: var(--hs-type-label-size);
    font-weight: var(--hs-type-label-strong-weight);
    line-height: var(--hs-type-label-line-height);
  }

  .hs-type-upper-heading {
    font-size: var(--hs-type-upper-heading-size);
    font-weight: var(--hs-type-upper-heading-weight);
    line-height: var(--hs-type-upper-heading-line-height);
    letter-spacing: var(--hs-type-upper-heading-tracking);
    text-transform: uppercase;
  }

  .hs-type-heading-sm {
    font-size: var(--hs-type-heading-sm-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-type-heading-md {
    font-size: var(--hs-type-heading-md-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-type-heading-lg {
    font-size: var(--hs-type-heading-lg-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-type-display {
    font-size: var(--hs-type-display-size);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-tightest);
  }
}

/* === Homeskaner demand form DS components: start === */
/* Source of truth for the static demand form. Do not style these components in the landing page CSS. */
/* Legacy alias: .field-card mirrors .hs-question-card — prefer hs-question-card in new markup. */

html {
  color-scheme: inherit;
}

:root {
  --font-sans: var(--hs-font-sans);
  --color-bg: var(--hs-color-bg);
  --color-bg-subtle: var(--hs-color-bg);
  --color-bg-muted: color-mix(in srgb, var(--hs-color-bg) 92%, var(--hs-color-text) 8%);
  --color-surface: var(--hs-color-surface);
  --color-surface-raised: var(--hs-color-bg);
  --color-question-group-bg: var(--hs-color-question-group-bg);
  --color-border-subtle: color-mix(in srgb, var(--hs-color-text) 8%, transparent);
  --color-border: var(--hs-color-border);
  --color-border-strong: color-mix(in srgb, var(--hs-color-text) 24%, transparent);
  --color-text: var(--hs-color-text);
  --color-text-muted: var(--hs-color-muted);
  --color-text-subtle: color-mix(in srgb, var(--hs-color-text) 46%, transparent);
  --color-primary: var(--hs-color-primary);
  --color-primary-hover: var(--hs-color-primary-hover);
  --color-primary-soft: var(--hs-color-primary-soft);
  --color-primary-ring: color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
  --color-primary-ring-strong: color-mix(in srgb, var(--hs-color-primary) 32%, transparent);
  --step-tab-height: 48px;
  --gallery-arrow-size: 44px;
  --gallery-arrow-bg: var(--color-surface);
  --gallery-arrow-bg-hover: var(--color-bg-subtle);
  --gallery-arrow-border: var(--color-border);
  --gallery-arrow-color: var(--color-text);
  --gallery-arrow-shadow: 0 10px 28px color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 12%, transparent);
  --color-accent: var(--hs-color-success);
  --color-accent-soft: var(--hs-color-success-soft);
  --color-danger: var(--hs-color-danger);
  --color-danger-soft: var(--hs-color-danger-soft);
  --bg: var(--color-bg);
  --text: var(--color-text);
  --muted: var(--color-text-muted);
  --border: var(--color-border);
  --panel: var(--color-surface);
  --panel-alt: var(--color-bg-subtle);
  --button-bg: var(--color-surface);
  --button-text: var(--color-text);
  --button-border: var(--color-border);
  --input-bg: var(--color-surface);
  --input-text: var(--color-text);
  --link: var(--color-primary);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --radius-sm: var(--hs-radius-sm);
  --radius-md: var(--hs-radius-sm);
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius: var(--radius-lg);
  --type-hero: var(--hs-type-heading-lg-size);
  --type-section: var(--hs-type-heading-md-size);
  --type-question: var(--hs-type-heading-sm-size);
  --type-answer: var(--hs-type-body-size);
  --type-body: var(--hs-type-body-sm-size);
  --type-meta: var(--hs-type-meta-size);
  --shadow-sm: var(--hs-shadow-sm);
  --shadow-md: var(--hs-shadow-md);
  --weight-regular: var(--hs-weight-regular);
  --weight-medium: var(--hs-weight-medium);
  --weight-semibold: var(--hs-weight-semibold-soft);
  --weight-bold: var(--hs-weight-strong);
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  font-family:
    var(--font-sans);
  font-size: var(--hs-text-lg);
  line-height: var(--hs-leading-relaxed);
  background: var(--bg);
  color: var(--text);
  accent-color: var(--color-primary);
}

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

body {
  padding: var(--space-5);
  display: flex;
  justify-content: center;
  overflow: hidden;
  max-width: 100%;
}

body.hs-touchpoint--email-preview {
  height: auto;
  min-height: 100%;
  display: var(--hs-email-preview-body-display);
  justify-content: initial;
  overflow-x: var(--hs-email-preview-body-overflow-x);
  overflow-y: var(--hs-email-preview-body-overflow-y);
  padding: var(--hs-email-preview-body-padding);
}

/* Agent send-form is a scrollable document page, not an app viewport shell. */
body.hs-touchpoint--agent-send-form {
  height: auto;
  min-height: 100dvh;
  display: block;
  justify-content: initial;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
}

.page-shell,
.wizard-shell,
.form-fields,
.number-grid,
.range-grid,
.progress-meta,
.ui-step-context,
.ui-step-context-list,
.summary-content,
.summary-section,
.footer-actions,
.progressive-scale,
.hs-progressive-scale,
.two-d-grid,
.hs-two-d-grid {
  display: block;
}

.page-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  max-width: calc(var(--hs-layout-40) + 560px);
  height: calc(100dvh - (2 * var(--space-5)));
  min-width: 0;
  min-height: 0;
}

.ui-topbar {
  width: 100%;
  min-height: var(--hs-space-11);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: var(--space-4);
  padding: 0;
}

.ui-topbar-brand {
  display: inline-flex;
  align-items: center;
  line-height: var(--hs-leading-none);
}

.ui-topbar-logo {
  display: block;
  width: auto;
  height: var(--hs-space-6);
}

.hero-panel,
.wizard-header,
.ui-wizard-header,
.form-card,
.summary-panel {
  margin-bottom: var(--space-3);
  background: var(--panel);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-sm);
  padding: var(--space-5);
  border-radius: var(--radius);
  min-width: 0;
  max-width: 100%;
}

.step-tabs-shell,
.ui-step-context {
  position: relative;
  margin-top: var(--space-4);
  margin-bottom: 0;
  display: block;
  padding: 0;
  background: transparent;
  border: none;
  min-width: 0;
  max-width: 100%;
}

.step-tabs-shell:has(.step-tabs.is-hidden),
.ui-step-context:has(.ui-step-context-list.is-hidden) {
  display: none;
}

.step-tabs-arrow,
.ui-step-context-arrow-button {
  appearance: none;
  position: absolute;
  top: var(--hs-position-center);
  z-index: 2;
  width: var(--gallery-arrow-size);
  height: var(--gallery-arrow-size);
  min-width: 0;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid var(--gallery-arrow-border);
  background: var(--gallery-arrow-bg);
  color: var(--gallery-arrow-color);
  border-radius: var(--hs-radius-pill);
  box-shadow: var(--gallery-arrow-shadow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--hs-text-xl);
  line-height: var(--hs-leading-none);
  font-weight: var(--weight-semibold);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition:
    background 160ms ease,
    transform 160ms ease,
    opacity 160ms ease;
}

.step-tabs-arrow:hover:not(:disabled),
.ui-step-context-arrow-button:hover:not(:disabled) {
  background: var(--gallery-arrow-bg-hover);
  color: var(--gallery-arrow-color);
  transform: translateY(-50%) scale(1.04);
}

.step-tabs-arrow--prev,
.ui-step-context-prev {
  left: calc((var(--gallery-arrow-size) + var(--space-3)) * -1);
}

.step-tabs-arrow--next,
.ui-step-context-next {
  right: calc((var(--gallery-arrow-size) + var(--space-3)) * -1);
}

.step-tabs-arrow:disabled,
.ui-step-context-arrow-button:disabled {
  opacity: 0.34;
  cursor: default;
}

.step-tabs-arrow span,
.ui-step-context-arrow-button span {
  display: none;
}

.step-tabs-arrow::before,
.ui-step-context-arrow-button::before {
  content: "";
  width: var(--hs-space-3);
  height: var(--hs-space-3);
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.step-tabs-arrow--prev::before,
.ui-step-context-prev::before {
  transform: rotate(135deg);
}

.step-tabs-arrow--next::before,
.ui-step-context-next::before {
  transform: rotate(-45deg);
}

.form-card {
  padding: var(--space-4);
}

.field-header {
  display: block;
  margin-bottom: var(--hs-space-10);
}

#property-form.form-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: hidden;
}

.form-surface {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.wizard-header {
  padding: var(--space-5) var(--space-4);
}

.header-progress {
  width: 100%;
  height: var(--hs-space-2);
  margin-top: var(--space-4);
  overflow: hidden;
  border-radius: var(--hs-radius-pill);
  background: color-mix(in srgb, var(--color-primary) 12%, var(--color-border-subtle));
}

.header-progress-fill {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--color-primary);
  transition: width 180ms ease-out;
}

.field-card {
  margin-bottom: var(--space-3);
  background: var(--panel);
  border: 1px solid var(--color-border-subtle);
  padding: var(--space-5);
  border-radius: var(--radius-xl);
}

.submission-success,
.hs-form-success {
  display: grid;
  gap: var(--space-5);
  margin-bottom: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl);
  background: var(--panel);
  box-shadow: var(--shadow-sm);
}

.submission-success-brand,
.hs-form-success__brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-subtle);
}

.submission-success-logo,
.hs-form-success__logo {
  display: block;
  width: calc(var(--hs-layout-28) - 3px);
  height: auto;
}

.submission-success-pill,
.hs-form-success__pill {
  display: inline-flex;
  align-items: center;
  min-height: var(--hs-space-7);
  padding: var(--hs-space-0) var(--hs-space-3);
  border: 1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);
  border-radius: var(--hs-radius-pill);
  background: var(--color-accent-soft);
  color: var(--color-accent);
  font-size: var(--type-meta);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.submission-success-title,
.hs-form-success__title {
  margin: 0;
  color: var(--text);
  font-size: var(--hs-text-24);
  line-height: var(--hs-leading-title);
  font-weight: var(--weight-bold);
}

.submission-success-lead,
.submission-success-list,
.hs-form-success__lead,
.hs-form-success__list {
  margin: 0;
  color: var(--muted);
  font-size: var(--type-answer);
  line-height: var(--hs-leading-comfortable);
}

.submission-success-subtitle,
.hs-form-success__subtitle {
  margin: var(--space-2) 0 0;
  color: var(--text);
  font-size: var(--type-question);
  line-height: var(--hs-leading-snug);
  font-weight: var(--weight-bold);
}

.submission-success-list,
.hs-form-success__list {
  display: grid;
  gap: var(--space-3);
  padding-left: var(--hs-space-5);
}

.field-card.is-invalid {
  border-color: color-mix(in srgb, var(--hs-color-danger) 58%, var(--border));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hs-color-danger) 26%, transparent);
}

.field-error {
  margin: var(--space-3) 0 0;
  color: var(--hs-color-danger);
  font-size: var(--type-meta);
  font-weight: var(--weight-semibold);
}

.conditional-field-group {
  margin-bottom: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--color-question-group-bg);
  margin: 0 0 var(--space-4);
  color: var(--text);
  font-size: var(--type-question);
  line-height: var(--hs-leading-compact);
  font-weight: var(--weight-bold);
}

.conditional-field-group .field-card {
  margin-bottom: var(--space-3);
  background: var(--panel);
}

.conditional-field-group .field-card:last-child {
  margin-bottom: 0;
}

.choice-grid {
  display: grid;
  gap: var(--space-3);
}

.choice-grid--purpose {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--space-3);
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: var(--hs-space-1);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.choice-grid--purpose::-webkit-scrollbar {
  display: none;
}

.count-slider-field {
  max-width: calc(var(--hs-layout-40) + 480px);
}

.count-stepper-field {
  display: flex;
  justify-content: flex-start;
  padding-top: var(--space-2);
}

.count-slider-value {
  position: absolute;
  top: var(--hs-space-2);
  transform: translateX(-50%);
  width: var(--hs-space-10);
  height: var(--hs-space-10);
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, var(--border));
  border-radius: calc(var(--hs-space-2) + 2px);
  background: color-mix(in srgb, var(--color-primary-soft) 46%, var(--panel));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: auto;
  cursor: grab;
  user-select: none;
  touch-action: none;
  z-index: 2;
}

.count-slider-value:active {
  cursor: grabbing;
}

.count-slider-value span,
.count-slider-value strong {
  display: block;
}

.count-slider-value span {
  font-size: var(--hs-text-xs);
  color: var(--muted);
}

.count-slider-value strong {
  font-size: var(--hs-text-xl);
  line-height: var(--hs-leading-none);
  font-weight: var(--weight-bold);
}

.count-slider-wrap {
  width: 100%;
  position: relative;
  padding-top: var(--hs-space-12);
}

.count-slider-input {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: 0;
}

.count-slider-ticks {
  display: grid;
  grid-template-columns: repeat(11, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--hs-space-4);
  font-size: var(--type-meta);
  color: var(--muted);
}

.count-slider-ticks span {
  text-align: center;
}

.budget-range-field {
  display: block;
}

.budget-values-row,
.hs-range-answer__values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

:where(.hs-range-answer__value-box, .budget-value-box) {
  display: block;
  min-width: calc(var(--hs-layout-40) + 20px);
  padding: var(--hs-space-3) var(--hs-space-3);
  border: 1px solid var(--border);
  background: var(--panel-alt);
  border-radius: calc(var(--hs-space-2) + 2px);
}

:where(.hs-range-answer__value-box, .budget-value-box) span,
:where(.hs-range-answer__value-box, .budget-value-box) strong {
  display: block;
}

:where(.hs-range-answer__value-box, .budget-value-box) span {
  font-size: var(--type-meta);
  color: var(--muted);
  font-weight: var(--weight-medium);
}

:where(.hs-range-control__input, .budget-value-input) {
  display: block;
  width: 100%;
  max-width: none !important;
  margin-top: var(--hs-space-2);
  font-weight: var(--weight-semibold);
  font-size: var(--type-answer);
}

:where(.hs-range-control__value-control, .budget-value-control) {
  display: flex;
  align-items: center;
  gap: var(--hs-space-2);
  margin-top: var(--hs-space-2);
}

:where(.hs-range-control__value-control, .budget-value-control) :where(.hs-range-control__input, .budget-value-input) {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
}

.budget-value-suffix,
.hs-range-control__suffix {
  display: inline-block;
  color: var(--muted);
  font-size: var(--type-answer);
  font-weight: var(--weight-semibold);
  line-height: var(--hs-leading-none);
  white-space: nowrap;
}

:where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-answer__values, .budget-values-row) {
  position: absolute;
  inset: var(--hs-space-0) var(--hs-space-0) auto;
  z-index: 3;
  display: block;
  height: var(--hs-space-9);
  margin-bottom: 0;
  pointer-events: none;
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) {
  position: absolute;
  top: 0;
  min-width: 0;
  width: var(--hs-space-16);
  height: var(--hs-space-10);
  padding: var(--hs-space-0) var(--hs-space-2);
  border-radius: calc(var(--hs-space-2) + 2px);
  border-color: color-mix(in srgb, var(--color-primary) 22%, var(--border));
  background: color-mix(in srgb, var(--color-primary-soft) 46%, var(--panel));
  pointer-events: auto;
  transform: translateX(-50%);
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) > span:first-child {
  display: none;
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) :where(.hs-range-control__value-control, .budget-value-control) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--hs-space-1);
  width: 100%;
  height: 100%;
  margin-top: 0;
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact):where(.hs-range-answer__value-box--with-suffix, .budget-value-box--has-suffix) {
  width: calc(var(--hs-layout-40) - 4px);
  box-sizing: border-box;
  padding-inline: var(--hs-space-3);
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact):where(.hs-range-answer__value-box--with-suffix, .budget-value-box--has-suffix) :where(.hs-range-control__value-control, .budget-value-control) {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: var(--hs-space-1);
  width: 100%;
  overflow: hidden;
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) :where(.hs-range-control__suffix, .budget-value-suffix) {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: var(--hs-space-5);
  height: var(--hs-space-10);
  color: var(--text);
  font-size: var(--hs-text-xl);
  font-weight: var(--weight-bold);
  line-height: var(--hs-leading-control-lg);
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) :where(.hs-range-control__input, .budget-value-input) {
  width: 100%;
  height: var(--hs-space-10);
  min-width: 0;
  max-width: none !important;
  margin-top: 0;
  padding: 0;
  border: none;
  background: transparent;
  text-align: center;
  font-size: var(--hs-text-xl);
  line-height: var(--hs-leading-control-lg);
  font-weight: var(--weight-bold);
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact):where(.hs-range-answer__value-box--with-suffix, .budget-value-box--has-suffix) :where(.hs-range-control__input, .budget-value-input) {
  flex: 0 1 112px;
  width: min(112px, calc(100% - var(--hs-space-6)));
  min-width: 0;
  max-width: none !important;
  text-align: right;
}

:where(.hs-range-answer__value-box--compact, .budget-value-box--compact) :where(.hs-range-control__input, .budget-value-input):focus-visible {
  outline: none;
}

.budget-slider-group {
  position: relative;
  width: 100%;
  max-width: calc(var(--hs-layout-40) + 480px);
  height: var(--hs-space-12);
  margin-bottom: var(--space-2);
  touch-action: none;
  user-select: none;
}

:where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-control, .budget-slider-group) {
  height: calc(var(--hs-layout-20) + var(--hs-space-1));
}

.budget-slider-ticks,
.hs-range-control__ticks {
  position: relative;
  height: var(--hs-space-6);
  max-width: calc(var(--hs-layout-40) + 480px);
  margin-top: var(--hs-space-3);
  font-size: var(--type-meta);
  color: var(--muted);
}

.budget-slider-ticks span,
.hs-range-control__ticks span {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  white-space: nowrap;
  transform: translateX(-50%);
}

.budget-slider-ticks .budget-tick-start,
.hs-range-control__ticks .hs-range-control__tick--start {
  transform: none;
}

.budget-slider-ticks .budget-tick-end,
.hs-range-control__ticks .hs-range-control__tick--end {
  transform: translateX(-100%);
}

:where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__handle, .budget-handle),
:where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__active, .budget-slider-active),
:where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-answer__value-box--compact, .budget-value-box--compact) {
  transition:
    left 220ms cubic-bezier(0.22, 1, 0.36, 1),
    width 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

:where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__ticks, .budget-slider-ticks) span {
  transition:
    left 220ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 180ms ease;
}

.budget-slider-ticks span.is-tick-entering,
.budget-slider-ticks span.is-tick-leaving,
.hs-range-control__ticks .hs-range-control__tick--entering,
.hs-range-control__ticks .hs-range-control__tick--leaving {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  :where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__handle, .budget-handle),
  :where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__active, .budget-slider-active),
  :where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-answer__value-box--compact, .budget-value-box--compact),
  :where(.hs-range-answer, .budget-range-field).is-scale-transitioning :where(.hs-range-control__ticks, .budget-slider-ticks) span {
    transition: none;
  }
}

.budget-slider-base {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--hs-position-center);
  height: var(--hs-space-1);
  transform: translateY(-50%);
  background: var(--border);
  border-radius: var(--hs-radius-pill);
}

:where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-control__track, .budget-slider-base),
:where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-control__active, .budget-slider-active),
:where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-control__handle, .budget-handle) {
  top: var(--hs-space-14);
}

:where(.hs-range-control__active, .budget-slider-active) {
  position: absolute;
  top: var(--hs-position-center);
  height: var(--hs-space-2);
  transform: translateY(-50%);
  background: var(--link);
  pointer-events: none;
  border-radius: var(--hs-radius-pill);
}

:where(.hs-range-control__handle, .budget-handle) {
  position: absolute;
  top: var(--hs-position-center);
  width: var(--hs-space-7);
  height: var(--hs-space-7);
  transform: translate(-50%, -50%);
  border-radius: var(--hs-position-center);
  background: var(--button-bg);
  border: 2px solid var(--color-primary);
  box-shadow: 0 0 0 2px var(--panel);
  cursor: grab;
  padding: 0;
  z-index: 2;
}

:where(.hs-range-control__handle, .budget-handle):active {
  cursor: grabbing;
}

:where(.hs-range-control__handle, .budget-handle):hover {
  transform: translate(-50%, -50%) scale(1.05);
}

:where(.hs-range-control__handle, .budget-handle):focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 2px;
}

.count-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: var(--hs-space-5);
  height: var(--hs-space-5);
  border-radius: var(--hs-position-center);
  background: var(--button-bg);
  border: 2px solid var(--color-primary);
  box-shadow: 0 0 0 2px var(--panel);
  margin-top: calc(var(--hs-space-0) - var(--hs-space-2));
  cursor: pointer;
}

.count-slider-input::-moz-range-thumb {
  width: var(--hs-space-5);
  height: var(--hs-space-5);
  border-radius: var(--hs-position-center);
  background: var(--button-bg);
  border: 2px solid var(--color-primary);
  box-shadow: 0 0 0 2px var(--panel);
  cursor: pointer;
}

.choice-card,
.matrix-row,
.progressive-item,
.hs-progressive-scale__item {
  margin-bottom: var(--space-2);
}

.progressive-scale,
.hs-progressive-scale {
  display: grid;
  gap: 0;
}

.progressive-header,
.hs-progressive-scale__header {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 120px;
  align-items: end;
  gap: var(--space-3);
  padding-bottom: var(--hs-space-2);
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}

.progressive-header span,
.hs-progressive-scale__header span {
  font-size: var(--type-meta);
  color: var(--muted);
  font-weight: var(--weight-semibold);
}

.progressive-header span:last-child,
.hs-progressive-scale__header span:last-child {
  text-align: center;
}

.progressive-item,
.hs-progressive-scale__item {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 120px;
  align-items: center;
  gap: var(--space-3);
  padding: var(--hs-space-5) var(--hs-space-0);
  border-bottom: 1px solid var(--border);
}

.progressive-label,
.hs-progressive-scale__label {
  display: block !important;
  padding: var(--hs-space-0) !important;
}

.progressive-label-text,
.hs-progressive-scale__text {
  display: block;
  font-size: var(--type-body);
  font-weight: var(--weight-semibold);
  color: var(--text);
  line-height: var(--hs-leading-normal);
}

.progressive-item input[type="radio"],
.hs-progressive-scale__item input[type="radio"] {
  justify-self: center;
}

.choice-card--purpose {
  display: flex;
  flex: 0 0 calc((100% - (2 * var(--space-3))) / 3);
  min-width: calc(var(--hs-layout-40) + 60px);
  margin-bottom: 0;
}

.choice-input--hidden {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.choice-card:not(.choice-card--purpose) {
  margin-bottom: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--panel);
  overflow: hidden;
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease;
}

.choice-card label,
.matrix-cell label,
.progressive-item label,
.cell-button {
  display: inline-block;
  padding: var(--hs-space-2) var(--hs-space-0);
}

.matrix-radio-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: var(--hs-space-7);
  min-height: var(--hs-space-7);
  cursor: pointer;
  border-radius: var(--hs-radius-pill);
  padding: var(--hs-space-0) !important;
}

.matrix-radio {
  position: relative;
  width: var(--hs-space-5);
  height: var(--hs-space-5);
  border: 1.5px solid color-mix(in srgb, var(--text) 38%, transparent);
  border-radius: var(--hs-radius-pill);
  background: transparent;
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.matrix-radio::after {
  content: "";
  position: absolute;
  inset: var(--hs-position-center);
  width: var(--hs-space-2);
  height: var(--hs-space-2);
  border-radius: var(--hs-radius-pill);
  background: var(--color-primary);
  transform: translate(-50%, -50%) scale(0);
  transition: transform 160ms ease;
}

.matrix-radio-text {
  display: none;
}

.choice-option-label {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: var(--hs-space-14);
  padding: var(--hs-space-4) var(--hs-space-5) !important;
  border: 0;
  border-radius: inherit;
  cursor: pointer;
  color: var(--text);
  transition:
    background-color 160ms ease,
    color 160ms ease;
}

.choice-option-text {
  font-size: var(--type-answer);
  line-height: var(--hs-leading-reading);
  font-weight: var(--weight-medium);
}

.choice-option-label:has(.choice-option-title) {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--hs-space-1);
}

.choice-option-title {
  font-size: var(--type-answer);
  line-height: var(--hs-leading-reading);
  font-weight: var(--weight-semibold);
  color: var(--text);
}

.choice-option-description {
  font-size: var(--type-caption);
  line-height: var(--hs-leading-reading);
  font-weight: var(--weight-regular);
  color: var(--hs-color-muted);
}

.choice-input--hidden:checked + .choice-option-label .choice-option-title {
  font-weight: var(--weight-semibold);
}

.choice-input--hidden:checked + .choice-option-label .choice-option-text {
  font-weight: var(--weight-semibold);
  color: var(--text);
}

.choice-card:has(.choice-input--hidden:checked):not(.choice-card--purpose) {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary-soft) 18%, var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.choice-card:hover:not(.choice-card--purpose) {
  border-color: color-mix(in srgb, var(--color-primary) 18%, var(--border));
  background: color-mix(in srgb, var(--color-primary-soft) 10%, var(--panel));
}

.choice-input--hidden:focus-visible + .choice-option-label {
  outline: 2px solid var(--color-primary-ring);
  outline-offset: 4px;
  border-radius: inherit;
}

.matrix-input:checked + .matrix-radio-label .matrix-radio {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}

.matrix-input:checked + .matrix-radio-label .matrix-radio::after {
  transform: translate(-50%, -50%) scale(1);
}

.matrix-input:focus-visible + .matrix-radio-label {
  outline: 2px solid var(--color-primary-ring);
  outline-offset: 4px;
}

.matrix-cell.is-disabled {
  opacity: 0.42;
}

.matrix-cell.is-disabled .matrix-radio-label {
  cursor: not-allowed;
}

.matrix-cell.is-disabled .matrix-radio {
  border-color: color-mix(in srgb, var(--text) 20%, transparent);
}

.matrix-cell:not(.is-disabled):hover .matrix-radio {
  border-color: color-mix(in srgb, var(--color-primary) 48%, var(--border));
}

.matrix-table {
  width: 100%;
  display: block;
}

.purpose-card-label {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-2);
  width: 100%;
  height: 100%;
  padding: var(--space-2) !important;
  border: 0.5px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--panel);
  cursor: pointer;
  box-sizing: border-box;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.purpose-card-label:hover {
  transform: translateY(-1px);
}

.purpose-card-media {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 8%, transparent), color-mix(in srgb, var(--color-primary) 18%, transparent)),
    var(--panel-alt);
  color: var(--muted);
  font-size: var(--type-meta);
  font-weight: var(--weight-semibold);
}

.purpose-card-title {
  display: block;
  font-size: var(--type-answer);
  line-height: var(--hs-leading-dense);
  font-weight: var(--weight-bold);
}

.choice-input--hidden:checked + .purpose-card-label {
  border-color: var(--link);
  box-shadow: inset 0 0 0 0.5px var(--link);
}

.sr-only {
  position: absolute;
  width: calc(var(--hs-space-0) + 1px);
  height: calc(var(--hs-space-0) + 1px);
  padding: 0;
  margin: calc(var(--hs-space-0) - 1px);
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.matrix-header,
.hs-matrix-answer__header {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) repeat(var(--cols), minmax(110px, 1fr));
  align-items: end;
  gap: var(--space-4);
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--panel);
  padding-top: var(--space-2);
  padding-bottom: var(--hs-space-2);
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}

.matrix-header span,
.hs-matrix-answer__header span {
  font-size: var(--type-meta);
  color: var(--muted);
  font-weight: var(--weight-semibold);
  text-align: center;
}

.matrix-row,
.hs-matrix-answer__row {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) repeat(var(--cols), minmax(110px, 1fr));
  align-items: center;
  gap: var(--space-4);
  padding: var(--hs-space-5) var(--hs-space-0);
  border-bottom: 1px solid var(--border);
}

.matrix-row:first-of-type,
.hs-matrix-answer__row:first-of-type {
  padding-top: var(--hs-space-5);
}

.matrix-row-title,
.hs-matrix-answer__title {
  font-weight: var(--weight-semibold);
  margin: 0;
  color: var(--text);
  font-size: var(--type-body);
  line-height: var(--hs-leading-normal);
}

.matrix-options,
.hs-matrix-answer__options {
  display: contents;
}

.hs-matrix-answer__spacer {
  display: block;
}

.matrix-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.input-group {
  margin-bottom: var(--space-3);
}

.input-group label {
  display: block;
  margin-bottom: var(--hs-space-2);
  color: var(--text);
  font-size: var(--type-body);
  font-weight: var(--weight-semibold);
}

.input-group input,
.input-group select {
  width: 100%;
  max-width: calc(var(--hs-layout-40) + 160px);
  background: var(--input-bg);
  color: var(--input-text);
  border: 1px solid var(--border);
  padding: var(--hs-space-2) var(--space-3);
  border-radius: var(--radius-lg);
  font-size: var(--type-answer);
}

.input-group input:focus-visible,
.input-group select:focus-visible,
.room-needs-custom-select:focus-visible {
  border-color: var(--color-primary);
  outline: 3px solid var(--color-primary-ring);
}

.location-search-field {
  display: grid;
  gap: var(--space-2);
}

.location-search-input-group input {
  max-width: 100%;
}

.location-selected-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.location-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid var(--border);
  background: var(--panel-alt);
  color: var(--text);
  border-radius: var(--hs-radius-pill);
  padding: var(--hs-space-2) var(--space-3);
  font-size: var(--type-body);
  font-weight: var(--weight-medium);
}

.location-chip--city {
  padding: var(--hs-space-0) var(--hs-space-2) var(--hs-space-0) var(--hs-space-0);
}

.location-chip.is-active,
.location-chip.is-selected {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.location-chip.has-district-selection:not(.is-selected) {
  border-color: color-mix(in srgb, var(--color-primary) 34%, var(--border));
  background: color-mix(in srgb, var(--color-primary-soft) 42%, var(--panel-alt));
}

.location-chip-selected-indicator {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: var(--hs-space-5);
  height: var(--hs-space-5);
  padding: var(--hs-space-0) var(--hs-space-2);
  border-radius: var(--hs-radius-pill);
  border: 0;
  background: var(--color-primary);
  color: var(--hs-color-on-primary);
  font-size: var(--hs-text-xs);
  font-weight: var(--weight-bold);
  line-height: var(--hs-leading-none);
  cursor: pointer;
}

.location-chip-selected-indicator:focus-visible {
  outline: 3px solid var(--color-primary-ring);
  outline-offset: 2px;
}

.location-chip-selected-count {
  display: inline-block;
}

.location-chip-selected-clear-icon,
.location-chip-selected-clear-icon::before,
.location-chip-selected-clear-icon::after {
  display: block;
  width: calc(var(--hs-space-3) - 1px);
  height: var(--hs-space-1);
  border-radius: var(--hs-radius-pill);
  background: currentColor;
}

.location-chip-selected-clear-icon {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  background: transparent;
  opacity: 0;
  transform: translate(-50%, -50%);
}

.location-chip-selected-clear-icon::before,
.location-chip-selected-clear-icon::after {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  content: "";
}

.location-chip-selected-clear-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.location-chip-selected-clear-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.location-chip-selected-indicator:hover .location-chip-selected-count,
.location-chip-selected-indicator:focus-visible .location-chip-selected-count {
  opacity: 0;
}

.location-chip-selected-indicator:hover .location-chip-selected-clear-icon,
.location-chip-selected-indicator:focus-visible .location-chip-selected-clear-icon {
  opacity: 1;
}

.location-chip-label {
  white-space: nowrap;
}

.location-chip-label:is(button) {
  min-height: var(--hs-space-10);
  padding: 0 0 0 var(--hs-space-3);
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.location-chip-label:is(button):focus-visible {
  border-radius: var(--hs-radius-pill);
  outline: 3px solid var(--color-primary-ring);
  outline-offset: 2px;
}

.location-chip-remove {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-5);
  height: var(--hs-space-5);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--hs-color-muted);
  font-size: var(--hs-type-meta-size);
  font-weight: var(--weight-semibold);
  line-height: var(--hs-leading-none);
  cursor: pointer;
}

.location-chip-remove-icon,
.location-chip-remove-icon::before,
.location-chip-remove-icon::after {
  display: block;
  width: var(--hs-space-3);
  height: var(--hs-space-1);
  border-radius: var(--hs-radius-pill);
  background: currentColor;
}

.location-chip-remove-icon {
  position: relative;
  background: transparent;
}

.location-chip-remove-icon::before,
.location-chip-remove-icon::after {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  content: "";
}

.location-chip-remove-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.location-chip-remove-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.location-chip-remove:hover {
  color: var(--hs-color-text);
}

.location-chip-remove:focus-visible {
  border-radius: var(--hs-radius-pill);
  outline: 3px solid var(--color-primary-ring);
}

.location-search-suggestions {
  display: grid;
  gap: var(--hs-space-2);
}

.district-choice-card .choice-option-label {
  justify-content: space-between;
  gap: var(--hs-space-3);
}

.district-choice-clear-icon,
.district-choice-clear-icon::before,
.district-choice-clear-icon::after {
  display: block;
  width: var(--hs-space-4);
  height: var(--hs-space-1);
  border-radius: var(--hs-radius-pill);
  background: currentColor;
}

.district-choice-clear-icon {
  position: relative;
  flex: 0 0 auto;
  width: var(--hs-space-7);
  height: var(--hs-space-7);
  border: 1px solid color-mix(in srgb, var(--hs-color-primary) 24%, var(--hs-color-border));
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-surface);
  color: var(--hs-color-primary);
  opacity: 0;
  transform: scale(0.86);
  transition:
    opacity 160ms ease,
    transform 160ms ease,
    color 160ms ease,
    border-color 160ms ease;
}

.district-choice-clear-icon::before,
.district-choice-clear-icon::after {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  content: "";
}

.district-choice-clear-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.district-choice-clear-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.district-choice-card:has(.choice-input--hidden:checked) .district-choice-clear-icon {
  opacity: 1;
  transform: scale(1);
}

.embedded-city-map {
  margin-top: var(--space-2);
}

.district-picker {
  display: grid;
  gap: var(--space-3);
}

.district-picker--embedded {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
}

.district-view-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  width: fit-content;
  max-width: 100%;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--panel-alt);
}

.district-picker--embedded .district-view-toggle {
  justify-self: end;
}

.district-view-toggle-button {
  min-height: 36px;
  padding: 0 var(--space-3);
  border: 0;
  border-radius: var(--hs-button-radius);
  background: transparent;
  color: var(--muted);
  font-size: var(--type-meta);
  font-weight: var(--weight-semibold);
  cursor: pointer;
}

.district-view-toggle-button.is-active {
  background: var(--panel);
  color: var(--text);
  box-shadow:
    0 1px 2px color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 8%, transparent),
    inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 16%, transparent);
}

.district-view-toggle-button:focus-visible {
  outline: 3px solid var(--color-primary-ring);
  outline-offset: 2px;
}

.district-picker-view {
  min-width: 0;
}

.city-map-field {
  display: grid;
  gap: var(--space-2);
}

.embedded-city-map > iframe,
.embedded-city-map > a {
  display: none !important;
}

.city-map-image-frame {
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}

.city-map-image {
  display: block;
  width: 100%;
  height: auto;
}

.room-needs-field {
  display: grid;
  gap: var(--space-3);
}

:where(.hs-count-answer, .room-needs-field) {
  display: grid;
  gap: var(--space-3);
}

.room-needs-row,
.hs-count-answer__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-top: 1px solid var(--border);
}

.room-needs-row:first-child,
.hs-count-answer__row:first-child {
  border-top: none;
  padding-top: 0;
}

.count-group-field :where(.hs-count-answer__row, .room-needs-row) {
  padding: 0;
  border-top: 0;
}

.count-group-field :where(.hs-count-answer__row, .room-needs-row) + :where(.hs-count-answer__row, .room-needs-row) {
  margin-top: var(--hs-space-3);
}

:where(.hs-count-answer, .room-needs-field):not(.count-group-field) :where(.hs-count-answer__row, .room-needs-row) {
  flex-direction: column;
  align-items: flex-start;
}

:where(.hs-count-answer__title--custom, .room-needs-title--custom) {
  flex-basis: auto;
}

:where(.hs-count-answer__picker, .room-needs-custom-picker) {
  width: 100%;
}

:where(.hs-count-answer__listbox, .room-needs-custom-list) {
  width: min(100%, 420px);
}

:where(.hs-count-answer__group, .room-needs-custom-group) + :where(.hs-count-answer__group, .room-needs-custom-group) {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-border-subtle);
}

:where(.hs-count-answer__group-label, .room-needs-custom-group-label) {
  padding: var(--hs-space-2) var(--hs-space-3);
  color: var(--color-primary);
  font-size: var(--type-meta);
  font-weight: var(--weight-regular);
  letter-spacing: var(--hs-tracking-normal);
}

:where(.hs-count-answer__remove, .room-needs-remove) {
  flex: 0 0 auto;
}

:where(.hs-count-answer__add, .room-needs-add) {
  display: flex;
}

:where(.hs-count-answer__add-button, .room-needs-add-button) {
  width: fit-content;
}

.room-needs-title,
.hs-count-answer__title {
  font-size: var(--type-body);
  font-weight: var(--weight-semibold);
  color: var(--text);
  flex: 0 0 min(320px, 42%);
}

.count-group-field :where(.hs-count-answer__title, .room-needs-title) {
  font-weight: var(--hs-weight-regular);
}

.room-needs-controls,
.hs-count-answer__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  flex: 1 1 auto;
  flex-wrap: wrap;
}

.room-needs-stepper {
  display: inline-flex;
  align-items: center;
  min-height: var(--hs-space-11);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--hs-radius-pill);
  background: var(--panel-alt);
}

.room-needs-stepper-button {
  width: var(--hs-space-11);
  height: var(--hs-space-11);
  min-width: var(--hs-space-11);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: var(--hs-text-22);
  font-weight: var(--weight-semibold);
  line-height: var(--hs-leading-none);
  cursor: pointer;
}

.room-needs-stepper-button:hover:not(:disabled),
.room-needs-stepper-button:focus-visible {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.room-needs-stepper-button:disabled {
  color: var(--muted);
  cursor: default;
  opacity: 0.45;
}

.room-needs-stepper-value {
  min-width: var(--hs-space-10);
  color: var(--text);
  font-size: var(--type-answer);
  font-weight: var(--weight-bold);
  text-align: center;
}

.room-needs-title--custom {
  position: relative;
  flex: 1 1 min(320px, 42%);
}

.room-needs-title--custom::after {
  display: none;
  position: absolute;
  top: var(--hs-position-center);
  right: var(--hs-space-5);
  width: calc(var(--hs-space-2) + 1px);
  height: calc(var(--hs-space-2) + 1px);
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  content: "";
  pointer-events: none;
  transform: translateY(-62%) rotate(45deg);
}

.room-needs-title--custom:focus-within::after {
  border-color: var(--color-primary);
}

.room-needs-row--pending .room-needs-title--custom {
  flex-basis: 100%;
}

.room-needs-row--pending .room-needs-controls {
  display: none;
}

.room-needs-custom-select,
.hs-count-answer__native-select {
  appearance: none;
  width: 100%;
  min-height: var(--hs-space-14);
  background: var(--input-bg);
  color: var(--input-text);
  border: 1px solid var(--border);
  padding: 0 48px 0 var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--type-answer);
  font-weight: var(--weight-semibold);
  line-height: var(--hs-leading-reading);
  cursor: pointer;
  box-shadow:
    inset 0 0 0 1px transparent,
    0 1px 0 color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 2%, transparent);
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease;
}

.room-needs-custom-select:hover,
.hs-count-answer__native-select:hover {
  border-color: color-mix(in srgb, var(--color-primary) 24%, var(--border));
  background: var(--panel);
}

.room-needs-custom-select:focus-visible,
.hs-count-answer__native-select:focus-visible {
  box-shadow:
    inset 0 0 0 1px var(--color-primary),
    0 0 0 3px var(--color-primary-ring);
}

.room-needs-custom-select optgroup {
  color: var(--muted);
  font-weight: var(--weight-bold);
}

.room-needs-custom-select option {
  color: var(--text);
  font-weight: var(--weight-medium);
}

.room-needs-custom-select--native {
  position: absolute;
  width: calc(var(--hs-space-0) + 1px);
  height: calc(var(--hs-space-0) + 1px);
  min-height: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.room-needs-custom-picker {
  position: relative;
  width: 100%;
}

.room-needs-custom-trigger,
.hs-count-answer__trigger {
  appearance: none;
  position: relative;
  width: 100%;
  min-height: var(--hs-space-14);
  padding: 0 48px 0 var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--input-bg);
  color: var(--input-text);
  box-shadow:
    inset 0 0 0 1px transparent,
    0 1px 0 color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 2%, transparent);
  cursor: pointer;
  font: inherit;
  font-size: var(--type-answer);
  font-weight: var(--weight-semibold);
  line-height: var(--hs-leading-compact);
  text-align: left;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease;
}

.room-needs-custom-trigger::after,
.hs-count-answer__trigger::after {
  position: absolute;
  top: var(--hs-position-center);
  right: var(--hs-space-5);
  width: calc(var(--hs-space-2) + 1px);
  height: calc(var(--hs-space-2) + 1px);
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  content: "";
  pointer-events: none;
  transform: translateY(-62%) rotate(45deg);
  transition:
    border-color 0.16s ease,
    transform 0.16s ease;
}

.room-needs-custom-trigger.is-placeholder,
.hs-count-answer__trigger.is-placeholder {
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
}

.room-needs-custom-trigger:hover,
.hs-count-answer__trigger:hover {
  border-color: color-mix(in srgb, var(--color-primary) 24%, var(--border));
  background: var(--panel);
}

.room-needs-custom-trigger:focus-visible,
.hs-count-answer__trigger:focus-visible {
  outline: none;
  box-shadow:
    inset 0 0 0 1px var(--color-primary),
    0 0 0 3px var(--color-primary-ring);
}

.room-needs-custom-picker.is-open .room-needs-custom-trigger {
  border-color: var(--color-primary);
  background: var(--panel);
  box-shadow:
    inset 0 0 0 1px var(--color-primary),
    0 0 0 3px var(--color-primary-ring);
}

.room-needs-custom-picker.is-open .room-needs-custom-trigger::after {
  border-color: var(--color-primary);
  transform: translateY(-38%) rotate(225deg);
}

.room-needs-custom-list {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  left: 0;
  width: min(100%, 420px);
  max-height: calc(var(--hs-layout-40) + 160px);
  overflow-y: auto;
  padding: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--panel);
  box-shadow:
    0 18px 40px color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 14%, transparent),
    0 2px 8px color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 8%, transparent);
}

.room-needs-custom-list[hidden] {
  display: none;
}

.room-needs-custom-group + .room-needs-custom-group {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-border-subtle);
}

.room-needs-custom-group-label {
  padding: var(--hs-space-2) var(--hs-space-3);
  color: var(--color-primary);
  font-size: var(--type-meta);
  font-weight: var(--weight-regular);
  letter-spacing: var(--hs-tracking-normal);
}

.room-needs-custom-option,
.hs-count-answer__option {
  appearance: none;
  display: flex;
  width: 100%;
  min-height: var(--hs-space-10);
  align-items: center;
  justify-content: flex-start;
  padding: calc(var(--hs-space-2) + 1px) var(--hs-space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: var(--type-body);
  font-weight: var(--weight-medium);
  line-height: var(--hs-leading-compact);
  text-align: left;
}

.room-needs-custom-option:hover,
.room-needs-custom-option:focus-visible,
.hs-count-answer__option:hover,
.hs-count-answer__option:focus-visible {
  outline: none;
  border-color: var(--color-primary-ring-strong);
  background: var(--color-primary-soft);
  color: var(--color-primary-hover);
}

.room-needs-custom-option.is-selected,
.hs-count-answer__option.is-selected {
  border-color: var(--color-primary-ring-strong);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-weight: var(--weight-semibold);
}

.room-needs-remove {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-9);
  height: var(--hs-space-9);
  min-width: var(--hs-space-9);
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--hs-radius-pill);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.room-needs-remove:hover {
  color: var(--text);
  background: var(--panel-alt);
}

.room-needs-remove:focus-visible {
  outline: 3px solid var(--color-primary-ring);
  outline-offset: 2px;
}

.room-needs-add {
  display: flex;
  justify-content: flex-start;
  padding-top: var(--space-2);
  border-top: 1px solid var(--border);
}

.room-needs-add-button,
.hs-count-answer__add-button {
  min-width: var(--hs-layout-24);
}

.location-suggestion {
  display: grid;
  gap: var(--hs-space-1);
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--panel-alt);
  color: var(--text);
  border-radius: var(--radius-xl);
  padding: var(--hs-space-3) var(--hs-space-4);
  cursor: pointer;
}

.location-suggestion strong,
.hs-location-search__suggestion-title {
  font-size: var(--type-answer);
  line-height: var(--hs-leading-ui);
  font-weight: var(--weight-semibold);
}

.location-suggestion span,
.hs-location-search__suggestion-meta {
  color: var(--muted);
  font-size: var(--type-meta);
}

.step-tab,
.cell-button,
.hs-two-d-grid__cell {
  appearance: none;
  border: 1px solid var(--button-border);
  background: var(--button-bg);
  color: var(--button-text);
  padding: var(--hs-space-3) var(--hs-space-4);
  cursor: pointer;
  border-radius: var(--hs-button-radius);
  font-size: var(--type-body);
  font-weight: var(--weight-semibold);
}

.hs-two-d-grid__caption {
  margin: 0 0 var(--hs-space-3);
  color: var(--muted);
  font-size: var(--type-meta);
  line-height: var(--hs-leading-normal);
}

.hs-two-d-grid__board {
  display: grid;
  grid-template-columns: minmax(140px, 1.2fr) repeat(auto-fit, minmax(110px, 1fr));
  gap: var(--space-3);
  align-items: stretch;
}

.hs-two-d-grid__corner,
.hs-two-d-grid__axis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--hs-space-3) var(--hs-space-4);
  border-radius: var(--hs-radius-lg);
  background: color-mix(in srgb, var(--panel) 88%, var(--border) 12%);
  color: var(--muted);
  font-size: var(--type-meta);
  font-weight: var(--weight-semibold);
  text-align: center;
}

.step-tab {
  flex: 0 0 220px;
  height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
  min-height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
  max-height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
  text-align: left;
  white-space: normal;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--hs-space-2);
  margin: 0;
  overflow: hidden;
  background: var(--panel);
  border-color: var(--color-border-subtle);
  box-shadow: none;
}

.step-tab strong,
.step-tab span {
  display: block;
}

.step-tab strong {
  font-size: var(--type-meta);
  color: var(--muted);
  font-weight: var(--weight-semibold);
}

.step-tab span {
  display: -webkit-box;
  overflow: hidden;
  font-size: var(--type-answer);
  font-weight: var(--weight-bold);
  line-height: var(--hs-leading-dense);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.step-tab.is-active {
  border-color: color-mix(in srgb, var(--color-primary) 18%, var(--border));
  background: color-mix(in srgb, var(--color-primary-soft) 30%, var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.step-tabs,
.ui-step-context-list {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  min-height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
  margin-bottom: 0;
  display: flex;
  gap: var(--space-2);
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.step-tabs::-webkit-scrollbar,
.ui-step-context-list::-webkit-scrollbar {
  display: none;
}

.summary-list,
.logic-list {
  padding-left: var(--hs-space-5);
}

.is-hidden {
  display: none;
}

a {
  color: var(--link);
}

a.hs-button,
a.hs-button:hover,
a.hs-button:focus-visible,
a.hs-button:active,
button.hs-button,
button.hs-button:hover,
button.hs-button:focus-visible,
button.hs-button:active,
a.hs-button:visited {
  color: var(--hs-button-color);
  text-decoration: none;
}

a.hs-button.hs-button--primary,
a.hs-button.hs-button--primary:hover,
a.hs-button.hs-button--primary:focus-visible,
a.hs-button.hs-button--primary:active,
button.hs-button.hs-button--primary,
button.hs-button.hs-button--primary:hover,
button.hs-button.hs-button--primary:focus-visible,
button.hs-button.hs-button--primary:active,
a.hs-button.hs-button--primary:visited {
  color: var(--hs-button-primary-color);
}

iframe {
  background: var(--panel-alt);
}

.city-map-canvas {
  width: 100%;
  min-height: 420px;
  border: 1px solid var(--border);
  margin: var(--space-3) 0;
  background: var(--panel);
  border-radius: var(--radius);
  overflow: hidden;
}

.city-map-canvas .city-map-note {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 420px;
  margin: 0;
  padding: var(--space-4);
  text-align: center;
}

.google-map-district-labels,
.hs-city-map__labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.google-map-district-label,
.hs-city-map__label {
  position: absolute;
  padding: calc(4px * var(--district-label-scale, 1)) calc(8px * var(--district-label-scale, 1));
  border: 1px solid color-mix(in srgb, var(--text) 10%, transparent);
  border-radius: var(--hs-radius-pill);
  background: color-mix(in srgb, var(--hs-color-surface) 94%, transparent);
  box-shadow: 0 calc(3px * var(--district-label-scale, 1)) calc(10px * var(--district-label-scale, 1)) color-mix(in srgb, color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%) 16%, transparent);
  color: color-mix(in srgb, var(--hs-color-text) 82%, var(--hs-color-primary) 18%);
  font-size: calc(var(--hs-text-xs) * var(--district-label-scale, 1));
  font-weight: var(--weight-bold);
  line-height: var(--hs-leading-tightest);
  text-align: center;
  white-space: nowrap;
  z-index: 1;
}

.google-map-district-label.is-selected,
.hs-city-map__label.is-selected {
  border-color: var(--color-primary);
  background: var(--color-primary);
  box-shadow: 0 calc(4px * var(--district-label-scale, 1)) calc(14px * var(--district-label-scale, 1)) color-mix(in srgb, var(--color-primary) 34%, transparent);
  color: var(--hs-color-on-primary);
  z-index: 3;
}

.google-map-district-label.is-hovered,
.hs-city-map__label.is-hovered {
  border-color: var(--color-primary);
  background: var(--hs-color-surface);
  box-shadow: 0 calc(5px * var(--district-label-scale, 1)) calc(16px * var(--district-label-scale, 1)) color-mix(in srgb, var(--hs-color-primary) 24%, transparent);
  color: var(--color-primary);
  z-index: 4;
}

.google-map-district-label.is-selected.is-hovered,
.hs-city-map__label.is-selected.is-hovered {
  background: var(--color-primary);
  color: var(--hs-color-on-primary);
}

.city-map-svg,
.hs-city-map__svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 420px;
}

.city-map-district-shape,
.hs-city-map__district-shape {
  fill: color-mix(in srgb, var(--hs-color-primary) 4%, transparent);
  stroke: var(--hs-color-muted);
  stroke-width: 2;
  cursor: pointer;
  transition:
    fill var(--transition-fast),
    stroke var(--transition-fast),
    stroke-width var(--transition-fast);
}

.city-map-district-shape:hover,
.city-map-district-shape:focus-visible,
.hs-city-map__district-shape:hover,
.hs-city-map__district-shape:focus-visible {
  fill: var(--hs-color-primary-soft);
  stroke: var(--color-primary);
  stroke-width: 3;
  outline: none;
}

.city-map-district-shape.is-selected,
.hs-city-map__district-shape.is-selected {
  fill: color-mix(in srgb, var(--hs-color-primary) 14%, transparent);
  stroke: var(--color-primary);
  stroke-width: 3;
}

.city-map-district-label,
.hs-city-map__district-text {
  pointer-events: none;
  fill: var(--muted);
  font-size: var(--hs-text-15);
  font-weight: var(--weight-semibold);
  text-anchor: middle;
  dominant-baseline: central;
}

.city-map-note {
  margin-top: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--type-body);
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

h1 {
  margin-bottom: var(--space-3);
  font-size: var(--type-hero);
  line-height: var(--hs-leading-tight);
  font-weight: var(--weight-bold);
}

h2 {
  margin-bottom: 0;
  font-size: var(--type-section);
  line-height: var(--hs-leading-snug);
  font-weight: var(--weight-bold);
}

.field-title {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 0;
  font-size: var(--type-question);
  line-height: var(--hs-leading-ui);
  font-weight: var(--weight-bold);
}

.field-title-index {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: var(--type-meta);
  line-height: var(--hs-leading-snug);
  font-weight: var(--weight-semibold);
}

.field-title-text {
  display: block;
  flex: 1 1 auto;
}

.field-description {
  margin-top: var(--hs-space-3);
  margin-bottom: 0;
  max-width: calc(70ch + calc(var(--hs-space-1) - var(--hs-space-1)));
  color: var(--muted);
  font-size: var(--type-body);
  font-weight: var(--weight-regular);
}

#step-counter {
  font-size: var(--type-meta);
  color: var(--muted);
  font-weight: var(--weight-semibold);
}

.form-fields {
  display: grid;
  gap: var(--space-4);
}

.form-footer {
  flex: 0 0 auto;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: max(var(--space-3), env(safe-area-inset-bottom));
  background: linear-gradient(to top, var(--bg) 72%, color-mix(in srgb, var(--bg) 86%, transparent));
}

.footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  padding-top: var(--space-5);
}

.form-submit-status {
  min-height: var(--hs-space-5);
  margin: var(--space-2) 0 0;
  color: var(--muted);
  font-size: var(--type-small);
  font-weight: var(--weight-semibold);
  text-align: right;
}

.form-submit-status:empty {
  display: none;
}

.form-submit-status.is-success {
  color: var(--hs-color-success);
}

.form-submit-status.is-error {
  color: var(--hs-color-danger);
}

.wizard-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--space-3);
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.wizard-header,
.step-tabs-shell,
#property-form,
.form-surface,
.form-fields,
.field-card {
  min-width: 0;
  max-width: 100%;
}

.is-purpose-step .field-card--purpose {
  margin-bottom: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.is-purpose-step .form-footer {
  margin-top: var(--space-3);
  padding-top: 0;
}

@media (max-width: 760px) {
  body {
    padding: var(--space-2);
  }

  .page-shell {
    height: calc(100dvh - (2 * var(--space-2)));
  }

  .hero-panel,
  .wizard-header,
  .step-tabs-shell,
  .field-card,
  .submission-success,
  .hs-form-success,
  .summary-panel {
    padding: var(--space-3);
  }

  .submission-success-brand,
  .hs-form-success__brand {
    align-items: flex-start;
    flex-direction: column;
  }

  .conditional-field-group {
    padding: var(--space-3);
  }

  .step-tabs-arrow {
    display: none;
  }

  .step-tabs-shell {
    margin-top: var(--space-3);
    padding: 0;
  }

  .form-card {
    padding: 0;
  }

  .form-surface {
    padding: var(--space-3);
  }

  .page-shell {
    max-width: 100%;
  }

  h1 {
    font-size: var(--hs-text-24);
  }

  h2 {
    font-size: var(--hs-text-22);
  }

  .field-title {
    font-size: var(--hs-text-18);
  }

  .choice-grid--purpose {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
    overflow: visible;
    padding-bottom: 0;
  }

  .choice-card--purpose {
    flex: none;
    min-width: 0;
    width: 100%;
  }

  .purpose-card-label {
    min-height: 0;
  }

  .purpose-card-media {
    aspect-ratio: 16 / 10;
  }

  :where(.hs-range-answer__values, .budget-values-row) {
    grid-template-columns: 1fr;
  }

  :where(.hs-range-answer__value-box, .budget-value-box) {
    width: 100%;
  }

  :where(.hs-range-answer--compact, .budget-range-field--compact) :where(.hs-range-answer__values, .budget-values-row) {
    position: absolute;
    display: block;
    height: var(--hs-space-9);
  }

  :where(.hs-range-answer__value-box--compact, .budget-value-box--compact) {
    width: var(--hs-space-16);
    height: var(--hs-space-10);
  }

  :where(.hs-range-answer__value-box--compact, .budget-value-box--compact):where(.hs-range-answer__value-box--with-suffix, .budget-value-box--has-suffix) {
    width: calc(var(--hs-layout-40) - 4px);
  }

  :where(.hs-range-answer__value-box--compact, .budget-value-box--compact) :where(.hs-range-control__input, .budget-value-input) {
    width: 100%;
    max-width: none !important;
  }

  :where(.hs-range-control, .budget-slider-group),
  :where(.hs-range-control__ticks, .budget-slider-ticks),
  .count-slider-field {
    max-width: 100%;
  }

  .budget-slider-ticks {
    font-size: var(--hs-text-11);
  }

  .matrix-row {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .room-needs-field:not(.count-group-field) .room-needs-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .room-needs-field:not(.count-group-field) .room-needs-title {
    flex-basis: auto;
  }

  .room-needs-field:not(.count-group-field) .room-needs-controls {
    width: 100%;
    justify-content: flex-start;
  }

  .matrix-row-title {
    flex-basis: auto;
  }

  .matrix-header {
    display: none;
  }

  .matrix-options {
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    gap: var(--space-2);
  }

  .matrix-cell {
    flex-direction: column;
    gap: var(--hs-space-2);
  }

  .matrix-radio-label {
    flex-direction: column;
    gap: var(--hs-space-2);
    min-width: auto;
    min-height: auto;
  }

  .matrix-radio-text {
    display: block;
    font-size: var(--hs-text-11);
    line-height: var(--hs-leading-snug);
    font-weight: var(--weight-medium);
    color: var(--muted);
    text-align: center;
  }

  .progressive-header {
    display: none;
  }

  .progressive-item {
    grid-template-columns: 1fr auto;
    gap: var(--space-2);
  }

  .count-slider-value {
    width: var(--hs-space-10);
    min-width: var(--hs-space-10);
    height: var(--hs-space-10);
  }

  .count-slider-wrap {
    padding-top: var(--hs-space-11);
  }

  .step-tab {
    flex-basis: calc(var(--hs-layout-40) + var(--hs-space-2));
    height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
    min-height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
    max-height: var(--step-tab-height, calc(var(--hs-layout-24) + 8px));
  }

  .footer-actions {
    padding-top: var(--space-2);
    padding-bottom: max(var(--space-2), env(safe-area-inset-bottom));
  }

  .district-picker--embedded .district-view-toggle {
    justify-self: stretch;
    width: 100%;
  }

  .footer-actions .hs-button {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: color-mix(in srgb, var(--hs-color-text-strong) 96%, var(--hs-color-primary) 4%);
    --text: color-mix(in srgb, var(--hs-color-on-primary) 94%, var(--hs-color-primary-soft) 6%);
    --muted: color-mix(in srgb, var(--hs-color-on-primary) 68%, transparent);
    --border: color-mix(in srgb, var(--hs-color-on-primary) 14%, transparent);
    --panel: color-mix(in srgb, var(--hs-color-text-strong) 90%, var(--hs-color-primary) 10%);
    --panel-alt: color-mix(in srgb, var(--hs-color-text-strong) 82%, var(--hs-color-primary) 18%);
    --button-bg: color-mix(in srgb, var(--hs-color-text-strong) 82%, var(--hs-color-primary) 18%);
    --button-text: color-mix(in srgb, var(--hs-color-on-primary) 94%, var(--hs-color-primary-soft) 6%);
    --button-border: color-mix(in srgb, var(--hs-color-on-primary) 24%, transparent);
    --input-bg: color-mix(in srgb, var(--hs-color-text-strong) 94%, var(--hs-color-primary) 6%);
    --input-text: color-mix(in srgb, var(--hs-color-on-primary) 94%, var(--hs-color-primary-soft) 6%);
    --link: var(--color-primary);
    --color-primary: color-mix(in srgb, var(--hs-color-primary) 64%, var(--hs-color-on-primary) 36%);
    --color-primary-soft: color-mix(in srgb, var(--hs-color-primary) 16%, transparent);
    --color-primary-ring: color-mix(in srgb, var(--hs-color-primary) 26%, transparent);
    --color-primary-ring-strong: color-mix(in srgb, var(--hs-color-primary) 34%, transparent);
  }

  .hero-panel,
  .wizard-header,
  .step-tabs-shell,
  .form-card,
  .field-card,
  .summary-panel {
    box-shadow: none;
  }

  .choice-card label,
  .matrix-cell label,
  .progressive-item label,
  .cell-button,
  .chip-note {
    color: var(--text);
  }

  .matrix-row-title {
    color: var(--text);
  }

  input,
  select,
  textarea,
  button {
    color: var(--text);
  }

  .city-map-canvas {
    background: color-mix(in srgb, var(--hs-color-text-strong) 88%, var(--hs-color-primary) 12%);
  }
}

.text-field input {
  width: 100%;
  min-height: calc(var(--hs-space-12) + 4px);
  border: 1px solid color-mix(in srgb, var(--hs-color-text-strong) 16%, transparent);
  border-radius: var(--hs-space-4);
  padding: var(--hs-space-0) var(--hs-space-4);
  font: inherit;
  color: color-mix(in srgb, var(--hs-color-text) 82%, var(--hs-color-primary) 18%);
  background: color-mix(in srgb, var(--hs-color-surface) 92%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--hs-color-on-primary) 80%, transparent);
}

.text-field input:focus {
  outline: 3px solid color-mix(in srgb, var(--hs-color-primary) 16%, transparent);
  border-color: color-mix(in srgb, var(--hs-color-primary) 44%, transparent);
}

/* Compact DS-soft step tracker */
.ui-wizard-header {
  margin-bottom: var(--space-3);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.ui-step-context {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--hs-space-4);
  min-width: 0;
}

.ui-step-context-list {
  width: 100%;
  min-width: 0;
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0;
  background: var(--hs-color-surface);
  border: 0;
  border-radius: var(--hs-radius-pill);
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ui-step-context-list::-webkit-scrollbar {
  display: none;
}

.ui-step-pill {
  appearance: none;
  flex: 0 0 auto;
  min-width: max-content;
  min-height: var(--hs-space-12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--hs-space-0) var(--hs-space-6);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--hs-radius-pill);
  background: var(--panel);
  color: var(--text);
  font: inherit;
  font-size: var(--type-answer);
  font-weight: var(--weight-regular);
  line-height: var(--hs-leading-none);
  white-space: nowrap;
  cursor: pointer;
  scroll-snap-align: start;
  box-shadow: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}

.ui-step-pill:hover {
  border-color: color-mix(in srgb, var(--color-primary) 24%, var(--color-border-subtle));
  background: color-mix(in srgb, var(--color-primary-soft) 18%, var(--panel));
  color: var(--color-primary);
}

.ui-step-pill.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 24%, transparent);
}

.ui-step-pill.is-complete {
  background: var(--panel);
  color: var(--text);
}

.ui-step-pill.is-upcoming {
  border-color: var(--color-border);
  background: var(--color-bg-subtle);
  color: var(--muted);
}

.ui-step-pill-label,
.hs-step-pill__label {
  display: block;
  white-space: nowrap;
}

.ui-step-context-arrow-button {
  appearance: none;
  width: var(--gallery-arrow-size);
  height: var(--gallery-arrow-size);
  min-width: var(--gallery-arrow-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--gallery-arrow-border);
  border-radius: var(--hs-radius-pill);
  background: var(--gallery-arrow-bg);
  color: var(--gallery-arrow-color);
  box-shadow: none;
  cursor: pointer;
  font: inherit;
  font-size: var(--hs-text-xl);
  font-weight: var(--weight-semibold);
  transition: background 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.ui-step-context-arrow-button:hover:not(:disabled) {
  background: var(--gallery-arrow-bg-hover);
  transform: scale(1.03);
}

.ui-step-context-arrow-button:disabled {
  opacity: 0.34;
  cursor: default;
}

@media (max-width: 800px) {
  .ui-step-context {
    grid-template-columns: minmax(0, 1fr);
  }

  .ui-step-context-arrow-button {
    display: none;
  }

  .ui-step-context-list {
    gap: var(--space-2);
    border-radius: var(--hs-form-radius-pill, var(--hs-radius-pill, 999px));
  }

  .ui-step-pill {
    min-height: var(--hs-space-12);
    padding: var(--hs-space-0) var(--hs-space-5);
    font-size: var(--hs-text-md);
  }
}

/* === Homeskaner demand form DS components: end === */

@layer hs.tokens {
  :root,
  [data-hs-theme="light"] {
    --hs-email-surface: var(--hs-color-surface);
    --hs-email-surface-raised: var(--hs-color-bg);
    --hs-email-text: var(--hs-color-text);
    --hs-email-text-strong: var(--hs-color-text-strong);
    --hs-email-muted: var(--hs-color-muted);
    --hs-email-border: var(--hs-color-border);
    --hs-email-border-soft: color-mix(in srgb, var(--hs-color-text) 8%, transparent);
    --hs-email-primary: var(--hs-color-primary);
    --hs-email-primary-hover: var(--hs-color-primary-hover);
    --hs-email-primary-soft: var(--hs-color-primary-soft);
    --hs-email-radius: var(--hs-radius-lg);
    --hs-email-shadow: var(--hs-shadow-md);
    --hs-email-card-shadow: var(--hs-shadow-sm);
    --hs-email-body-padding: var(--hs-space-6);
    --hs-email-card-padding: calc(var(--hs-space-3) + 2px);
    --hs-email-section-gap: var(--hs-space-5);
    --hs-email-heading-lead-gap: var(--hs-space-3);
    --hs-email-lead-gap: var(--hs-space-3);
    --hs-email-logo-width: calc(var(--hs-layout-36) + 2px);

    /* Frozen delivery palette — keep in sync with packages/shared/src/email-design-tokens.ts */
    --hs-email-delivery-page-bg: #f3f4f6;
    --hs-email-delivery-surface: #ffffff;
    --hs-email-delivery-border: #e8eaef;
    --hs-email-delivery-border-subtle: #e5e7eb;
    --hs-email-delivery-text: #1f1f1f;
    --hs-email-delivery-text-muted: #4b5563;
    --hs-email-delivery-text-subtle: #6b7280;
    --hs-email-delivery-text-disclaimer: #666;
    --hs-email-delivery-primary: #545af9;
    --hs-email-delivery-primary-hover: #3f46e8;
    --hs-email-delivery-on-primary: #ffffff;
    --hs-email-delivery-primary-soft: #eef0ff;
    --hs-email-delivery-message-bg: #f9fafb;
    --hs-email-delivery-link-url: #2563eb;
  }
}

@layer hs.components {
  :where(.hs-email-shell) {
    overflow: hidden;
    border: 1px solid var(--hs-email-border-soft);
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface);
    box-shadow: var(--hs-email-shadow);
  }

  :where(.hs-email-meta) {
    display: grid;
    gap: calc(var(--hs-space-2) - var(--hs-space-1));
    padding: var(--hs-space-4) var(--hs-space-4);
    border-bottom: 1px solid var(--hs-email-border-soft);
    background: var(--hs-email-surface-raised);
    color: var(--hs-email-muted);
    font-size: var(--hs-text-xs);
  }

  :where(.hs-email-meta strong) {
    color: var(--hs-email-text);
  }

  :where(.hs-email-body) {
    padding: var(--hs-email-body-padding);
  }

  :where(.hs-email-body p) {
    margin: 0;
  }

  :where(.hs-email-body > h2) {
    margin: 0;
    color: var(--hs-email-text);
    font-size: var(--hs-text-24);
    line-height: var(--hs-leading-tight);
    letter-spacing: var(--hs-tracking-normal);
  }

  :where(.hs-email-brand) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-4);
    margin-bottom: var(--hs-space-6);
    padding-bottom: var(--hs-space-4);
    border-bottom: 1px solid var(--hs-email-border-soft);
  }

  :where(.hs-email-brand-logo) {
    width: var(--hs-email-logo-width);
    height: auto;
  }

  :where(.hs-email-nav) {
    display: flex;
    align-items: center;
    gap: var(--hs-space-4);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-regular);
    white-space: nowrap;
  }

  :where(.hs-email-nav a) {
    color: var(--hs-email-text-strong);
    text-decoration: none;
  }

  :where(.hs-email-nav a:hover) {
    color: var(--hs-email-primary);
  }

  :where(.hs-email-nav-primary) {
    min-width: 0;
    border-radius: var(--hs-email-radius);
  }

  .hs-email-nav a.hs-email-nav-primary,
  .hs-email-nav a.hs-email-nav-primary:hover,
  .hs-email-nav a.hs-email-nav-primary:focus-visible,
  .hs-email-nav a.hs-email-nav-primary:active {
    color: var(--hs-button-primary-color);
  }

  :where(.hs-email-label-mobile) {
    display: none;
  }

  :where(.hs-email-lead) {
    color: var(--hs-email-muted);
    font-size: var(--hs-text-md);
  }

  :where(.hs-email-body > h2 + .hs-email-lead) {
    margin-top: var(--hs-email-heading-lead-gap);
  }

  :where(.hs-email-lead + .hs-email-lead) {
    margin-top: var(--hs-email-lead-gap);
  }

  :where(.hs-email-lead-with-offset) {
    margin-top: var(--hs-email-lead-gap);
  }

  :where(.hs-email-section) {
    margin-top: var(--hs-email-section-gap);
    padding-top: var(--hs-space-5);
    border-top: 1px solid var(--hs-email-border-soft);
  }

  :where(.hs-email-body > h2 + .hs-email-section) {
    margin-top: var(--hs-space-3);
  }

  :where(.hs-email-section-plain, .hs-email-section-card) {
    padding-top: 0;
    border-top: 0;
  }

  :where(.hs-email-buyer-agent-section) {
    display: grid;
    gap: var(--hs-space-3);
  }

  :where(.hs-email-section-title) {
    margin: var(--hs-space-0) var(--hs-space-0) var(--hs-space-2);
    color: color-mix(in srgb, var(--hs-email-text) 46%, transparent);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    letter-spacing: var(--hs-tracking-emphasis);
    text-transform: uppercase;
  }

  :where(.hs-email-details) {
    display: grid;
    gap: var(--hs-space-3);
    padding: var(--hs-email-card-padding);
    border: 1px solid var(--hs-email-border);
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface);
    box-shadow: var(--hs-email-card-shadow);
  }

  :where(.hs-email-row) {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: var(--hs-space-3);
    align-items: start;
    font-size: var(--hs-text-md);
  }

  :where(.hs-email-row span:first-child) {
    color: var(--hs-email-muted);
    white-space: nowrap;
  }

  :where(.hs-email-row strong) {
    min-width: 0;
    font-weight: var(--hs-weight-semibold-soft);
  }

  :where(.hs-email-offer-card) {
    grid-template-columns: 1fr;
    gap: var(--hs-space-4);
  }

  :where(.hs-email-offer-media) {
    position: relative;
    overflow: hidden;
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface-raised);
  }

  :where(.hs-email-offer-thumb) {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    background: var(--hs-email-surface-raised);
  }

  :where(.hs-email-match-pill) {
    position: absolute;
    top: var(--hs-space-3);
    left: var(--hs-space-3);
    display: inline-flex;
    align-items: center;
    min-height: var(--hs-space-7);
    padding: calc(var(--hs-space-1) + 1px) var(--hs-space-3);
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-email-surface) 92%, transparent);
    color: var(--hs-email-text);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-none);
    box-shadow: var(--hs-email-card-shadow);
  }

  :where(.hs-email-match-pill strong, .hs-email-match-pill .hs-email-percent) {
    color: var(--hs-email-primary-hover);
  }

  :where(.hs-email-match-pill strong) {
    margin-left: var(--hs-space-1);
    font-weight: var(--hs-weight-strong);
  }

  :where(.hs-email-offer-fields) {
    display: grid;
    gap: var(--hs-space-3);
    min-width: 0;
  }

  :where(.hs-email-offer-subtitle) {
    color: var(--hs-email-muted);
  }

  :where(.hs-email-price-row) {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
  }

  :where(.hs-email-price-values) {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--hs-space-2) var(--hs-space-3);
    flex-wrap: wrap;
  }

  :where(.hs-email-price-values > strong:first-child) {
    width: fit-content;
    max-width: 100%;
    flex: 0 1 auto;
    overflow-wrap: anywhere;
  }

  :where(.hs-email-offer-price-per-sqm) {
    flex: 0 1 auto;
    color: var(--hs-email-muted);
    font-size: var(--hs-text-sm);
    overflow-wrap: anywhere;
  }

  :where(.hs-email-details .hs-email-action, .hs-email-variant-list .hs-email-action) {
    justify-self: end;
    margin-top: var(--hs-space-2);
  }

  :where(.hs-email-agent-head) {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
  }

  :where(.hs-email-agent-avatar) {
    width: var(--hs-space-12);
    height: var(--hs-space-12);
    flex: 0 0 var(--hs-space-12);
    border: 1px solid var(--hs-email-border-soft);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-email-surface-raised);
    object-fit: cover;
  }

  :where(.hs-email-agent-head strong) {
    font-size: var(--hs-text-lg);
    font-weight: var(--hs-weight-semibold-soft);
  }

  :where(.hs-email-message-row) {
    grid-column: 1 / -1;
    display: grid;
    gap: calc(var(--hs-space-2) - var(--hs-space-1));
    padding: var(--hs-space-3);
    border: 1px solid var(--hs-email-border-soft);
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface-raised);
  }

  :where(.hs-email-message-row span:first-child) {
    color: var(--hs-email-muted);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    letter-spacing: var(--hs-tracking-subtle);
    text-transform: uppercase;
    white-space: normal;
  }

  :where(.hs-email-message-row strong) {
    font-weight: var(--hs-weight-medium);
  }

  :where(.hs-email-feedback-grid) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--hs-space-3);
  }

  :where(.hs-email-feedback-choice) {
    display: grid;
    gap: var(--hs-space-2);
    justify-items: center;
    padding: var(--hs-space-4) var(--hs-space-3);
    border: 1px solid var(--hs-email-border);
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface);
    color: var(--hs-email-text);
    text-align: center;
    text-decoration: none;
    box-shadow: var(--hs-email-card-shadow);
  }

  :where(.hs-email-feedback-choice:hover) {
    border-color: var(--hs-email-primary);
    color: var(--hs-email-primary-hover);
  }

  :where(.hs-email-feedback-icon) {
    display: block;
    width: var(--hs-space-9);
    height: var(--hs-space-9);
    line-height: var(--hs-leading-none);
  }

  :where(.hs-email-feedback-icon svg) {
    display: block;
    width: 100%;
    height: 100%;
  }

  :where(.hs-email-feedback-icon circle) {
    fill: currentColor;
    opacity: .14;
  }

  :where(.hs-email-feedback-icon path) {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  :where(.hs-email-feedback-icon-good) {
    color: var(--hs-color-success);
  }

  :where(.hs-email-feedback-icon-neutral) {
    color: var(--hs-color-warning);
  }

  :where(.hs-email-feedback-icon-bad) {
    color: var(--hs-color-danger);
  }

  :where(.hs-email-action-pair) {
    display: flex;
    justify-content: flex-end;
    gap: var(--hs-space-3);
    flex-wrap: wrap;
  }

  :where(.hs-email-action-pair .hs-email-action) {
    margin-top: var(--hs-space-2);
  }

  :where(.hs-email-variant-list) {
    display: grid;
    gap: var(--hs-space-3);
  }

  :where(.hs-email-variant-card) {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--hs-space-4);
    padding: var(--hs-email-card-padding);
    border: 1px solid var(--hs-email-border);
    border-radius: var(--hs-email-radius);
    background: var(--hs-email-surface);
    box-shadow: var(--hs-email-card-shadow);
  }

  :where(.hs-email-footer) {
    margin-top: var(--hs-space-6);
    padding-top: var(--hs-space-4);
    border-top: 1px solid var(--hs-email-border-soft);
    color: var(--hs-email-muted);
    font-size: var(--hs-text-xs);
  }

  :where(.hs-email-footer a) {
    color: var(--hs-email-muted);
  }
}

@media (min-width: 760px) {
  :where(.hs-email-variant-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  :where(.hs-email-body) {
    padding: var(--hs-space-5);
  }

  :where(.hs-email-brand) {
    align-items: center;
    gap: var(--hs-space-3);
  }

  :where(.hs-email-brand-logo) {
    width: var(--hs-layout-32);
  }

  :where(.hs-email-nav) {
    flex: 0 0 auto;
    gap: 0;
  }

  :where(.hs-email-nav a:not(.hs-email-nav-primary)) {
    display: none;
  }

  :where(.hs-email-nav .hs-email-nav-primary) {
    min-height: var(--hs-space-9);
    min-width: 0;
    padding-inline: var(--hs-space-3);
    font-size: var(--hs-text-sm);
  }

  :where(.hs-email-label-desktop) {
    display: none;
  }

  :where(.hs-email-label-mobile) {
    display: inline;
  }

  :where(.hs-email-price-row) {
    grid-template-columns: 1fr;
  }

  :where(.hs-email-price-values) {
    gap: var(--hs-space-1) var(--hs-space-3);
  }

  :where(.hs-email-feedback-grid) {
    grid-template-columns: 1fr;
  }

  :where(.hs-email-action-pair) {
    display: grid;
    justify-content: stretch;
  }
}

/* Homeskaner form DS components */:root {
  --hs-form-primary: var(--color-primary, #365cff);
  --hs-form-primary-soft: var(--color-primary-soft, color-mix(in srgb, var(--hs-form-primary) 12%, white));
  --hs-form-primary-ring: var(--color-primary-ring, color-mix(in srgb, var(--hs-form-primary) 30%, transparent));
  --hs-form-surface: var(--color-surface, #ffffff);
  --hs-form-subtle: var(--color-bg-subtle, #f7f7f5);
  --hs-form-muted: var(--color-text-muted, #74746f);
  --hs-form-border: var(--color-border-subtle, #e4e3df);
  --hs-form-border-strong: var(--color-border, #d9d8d3);
  --hs-form-danger: var(--color-danger, #b42318);
  --hs-form-radius-pill: 999px;
  --hs-form-radius-lg: var(--radius-lg, 24px);
  --hs-form-shadow-sm: var(--shadow-sm, 0 10px 30px rgba(19, 19, 18, .08));
}

.hs-brand,
.ui-topbar .hs-brand {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: var(--hs-space-8);
  text-decoration: none;
}

.hs-brand-logo,
.ui-topbar .hs-brand-logo {
  display: block;
  width: auto;
  height: var(--hs-brand-logo-height);
  object-fit: contain;
}

.hs-brand-logo--sm {
  height: var(--hs-brand-logo-height-sm);
}

.hs-brand-logo--lg {
  height: var(--hs-brand-logo-height-lg);
}

.ui-step-context,
.hs-step-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--hs-space-4);
  width: min(100%, var(--page-content-max, 1080px));
  margin-inline: auto;
  background: transparent;
}

#ui-step-context-list,
.ui-step-context-list,
.hs-step-list {
  display: flex;
  align-items: center;
  gap: var(--hs-space-3);
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: var(--hs-space-1);
  border: 0;
  border-radius: var(--hs-form-radius-pill);
  background: var(--hs-form-subtle);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

#ui-step-context-list::-webkit-scrollbar,
.ui-step-context-list::-webkit-scrollbar,
.hs-step-list::-webkit-scrollbar {
  display: none;
}

.ui-step-pill,
.hs-step-pill {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: var(--hs-space-12);
  width: max-content;
  max-width: none;
  padding: var(--hs-space-0) var(--hs-space-7);
  border-radius: var(--hs-form-radius-pill);
  border: 1px solid var(--hs-form-border);
  background: var(--hs-form-surface);
  color: var(--color-text, #262625);
  font: inherit;
  font-size: var(--hs-text-lg);
  font-weight: var(--hs-weight-semibold-soft);
  line-height: var(--hs-leading-tightest);
  white-space: nowrap;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.ui-step-pill .ui-step-pill-index,
.ui-step-pill .ui-step-pill-count,
.hs-step-pill .ui-step-pill-index,
.hs-step-pill .ui-step-pill-count {
  display: none !important;
}

.ui-step-pill.is-active,
.hs-step-pill.is-active {
  background: var(--hs-form-primary);
  border-color: var(--hs-form-primary);
  color: var(--hs-form-surface);
  box-shadow: none;
}

.ui-step-pill.is-complete,
.ui-step-pill.is-visited,
.ui-step-pill.is-clicked,
.hs-step-pill.is-complete,
.hs-step-pill.is-visited,
.hs-step-pill.is-clicked {
  background: color-mix(in srgb, var(--hs-form-primary-soft) 55%, var(--hs-form-surface));
  border-color: color-mix(in srgb, var(--hs-form-primary-ring) 65%, var(--hs-form-border));
  color: color-mix(in srgb, var(--hs-form-primary) 72%, var(--color-text, #262625));
}

.ui-step-pill.is-upcoming,
.ui-step-pill[aria-disabled="true"],
.hs-step-pill.is-upcoming,
.hs-step-pill[aria-disabled="true"] {
  background: var(--hs-form-subtle);
  border-color: var(--hs-form-border-strong);
  color: var(--hs-form-muted);
  cursor: default;
}

.ui-step-pill:not(.is-active):not([aria-disabled="true"]):hover,
.hs-step-pill:not(.is-active):not([aria-disabled="true"]):hover {
  background: var(--hs-form-surface);
  border-color: var(--hs-form-border-strong);
  color: var(--color-text, #262625);
  box-shadow: none;
}

.ui-step-pill:focus-visible,
.hs-step-pill:focus-visible {
  outline: 2px solid var(--hs-form-primary);
  outline-offset: 3px;
}

.ui-step-context-arrow,
.hs-icon-button,
#ui-step-context-prev,
#ui-step-context-next {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-12);
  height: var(--hs-space-12);
  border-radius: var(--hs-form-radius-pill);
  border: 1px solid var(--hs-form-border);
  background: var(--hs-form-surface);
  color: var(--color-text, #262625);
  box-shadow: none;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}

.ui-step-context-arrow:hover,
.hs-icon-button:hover,
#ui-step-context-prev:hover,
#ui-step-context-next:hover {
  background: var(--hs-form-subtle);
  border-color: var(--hs-form-border-strong);
  color: var(--color-text, #262625);
  box-shadow: none;
}

.ui-step-context-arrow:focus-visible,
.hs-icon-button:focus-visible,
#ui-step-context-prev:focus-visible,
#ui-step-context-next:focus-visible {
  outline: 2px solid var(--hs-form-primary);
  outline-offset: 3px;
}

.ui-step-context-arrow:disabled,
.hs-icon-button:disabled,
#ui-step-context-prev:disabled,
#ui-step-context-next:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.field-index,
.field-number,
.field-title-index,
.field-title-number,
.field-title-prefix,
.question-index,
.ui-field-index,
.hs-field-index {
  display: none !important;
}

.field-card.is-invalid,
.hs-card.is-invalid {
  border-color: color-mix(in srgb, var(--hs-form-danger) 42%, var(--hs-form-border));
}

.field-error,
.validation-error,
.hs-field-error {
  color: var(--hs-form-danger);
  font-size: var(--hs-text-md);
  font-weight: var(--hs-weight-semibold-soft);
  line-height: var(--hs-leading-dense);
}

#form-footer .footer-actions,
.form-footer .footer-actions,
.hs-form-actions {
  background: transparent;
}

@media (max-width: 799px) {
  .ui-step-context,
  .hs-step-context {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .ui-step-pill,
  .hs-step-pill {
    min-height: var(--hs-space-11);
    padding-inline: var(--hs-space-5);
    font-size: var(--hs-text-15);
  }
}

/* Homeskaner form DS components - generated by Codex */
:root {
  --hs-form-primary: var(--color-primary, #4f46e5);
  --hs-form-primary-soft: var(--color-primary-soft, #eef2ff);
  --hs-form-primary-ring: var(--color-primary-ring, rgba(79, 70, 229, 0.22));
  --hs-form-surface: var(--color-surface, #ffffff);
  --hs-form-surface-muted: var(--color-bg-subtle, #f7f7f5);
  --hs-form-border: var(--color-border-subtle, #e6e3dd);
  --hs-form-border-strong: var(--color-border, #d8d4cc);
  --hs-form-text: var(--color-text, #2d2c29);
  --hs-form-muted: var(--color-text-muted, #77736b);
  --hs-form-danger: var(--color-danger, #b42318);
  --hs-form-radius-pill: 999px;
}

.hs-brand,
.ui-topbar .hs-brand {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  text-decoration: none;
  color: var(--hs-form-primary);
}

.hs-brand-logo,
.ui-topbar .hs-brand-logo {
  display: block;
  height: var(--hs-brand-logo-height);
  width: auto;
  object-fit: contain;
}

.hs-brand-logo--sm {
  height: var(--hs-brand-logo-height-sm);
}

.hs-brand-logo--lg {
  height: var(--hs-brand-logo-height-lg);
}

.ui-step-context,
.hs-step-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--hs-space-4);
  width: min(100%, var(--page-content-max, 1080px));
  margin-inline: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}

#ui-step-context-list,
.ui-step-context-list,
.hs-step-list {
  display: flex;
  align-items: center;
  gap: var(--hs-space-3);
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  background: var(--hs-form-subtle);
  border: 0;
  border-radius: var(--hs-form-radius-pill);
  padding: var(--hs-space-1);
  margin: 0;
  box-shadow: none;
}

#ui-step-context-list::-webkit-scrollbar,
.ui-step-context-list::-webkit-scrollbar,
.hs-step-list::-webkit-scrollbar {
  display: none;
}

.ui-step-pill,
.hs-step-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--hs-space-12);
  width: max-content;
  max-width: none;
  padding: var(--hs-space-0) var(--hs-space-7);
  border-radius: var(--hs-form-radius-pill);
  border: 1px solid var(--hs-form-border);
  background: var(--hs-form-surface);
  color: var(--hs-form-text);
  font: inherit;
  font-size: var(--hs-text-15);
  font-weight: var(--hs-weight-semibold);
  line-height: var(--hs-leading-none);
  white-space: nowrap;
  text-overflow: clip;
  overflow: visible;
  box-shadow: none;
  scroll-snap-align: start;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, opacity 140ms ease;
}

.ui-step-pill-index,
.ui-step-pill-count,
.hs-step-pill-index,
.hs-step-pill-count {
  display: none !important;
}

.ui-step-pill.is-active,
.hs-step-pill.is-active,
.ui-step-pill[aria-current="step"] {
  background: var(--hs-form-primary);
  border-color: var(--hs-form-primary);
  color: var(--hs-form-surface);
  box-shadow: none;
}

.ui-step-pill.is-complete,
.ui-step-pill.is-visited,
.ui-step-pill.is-clicked,
.hs-step-pill.is-complete,
.hs-step-pill.is-visited,
.hs-step-pill.is-clicked {
  background: color-mix(in srgb, var(--hs-form-primary-soft) 56%, var(--hs-form-surface));
  border-color: color-mix(in srgb, var(--hs-form-primary) 30%, var(--hs-form-border));
  color: var(--hs-form-primary);
}

.ui-step-pill.is-upcoming,
.hs-step-pill.is-upcoming,
.ui-step-pill[aria-disabled="true"] {
  background: var(--hs-form-surface);
  border-color: var(--hs-form-border-strong);
  color: var(--hs-form-muted);
  cursor: default;
}

.ui-step-pill:not(.is-active):not([aria-disabled="true"]):hover,
.hs-step-pill:not(.is-active):not([aria-disabled="true"]):hover {
  background: var(--hs-form-surface);
  border-color: var(--hs-form-border-strong);
  color: var(--hs-form-text);
  box-shadow: none;
}

.ui-step-context-arrow,
#ui-step-context-prev,
#ui-step-context-next,
.hs-step-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-12);
  height: var(--hs-space-12);
  flex: 0 0 var(--hs-space-12);
  border-radius: var(--hs-form-radius-pill);
  border: 1px solid var(--hs-form-border);
  background: var(--hs-form-surface);
  color: var(--hs-form-text);
  box-shadow: none;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, opacity 140ms ease;
}

.ui-step-context-arrow:hover,
#ui-step-context-prev:hover,
#ui-step-context-next:hover,
.hs-step-arrow:hover {
  background: var(--hs-form-surface-muted);
  border-color: var(--hs-form-border-strong);
  color: var(--hs-form-text);
  box-shadow: none;
}

.ui-step-context-arrow:focus-visible,
#ui-step-context-prev:focus-visible,
#ui-step-context-next:focus-visible,
.ui-step-pill:focus-visible,
.hs-step-pill:focus-visible,
.hs-step-arrow:focus-visible {
  outline: 2px solid var(--hs-form-primary);
  outline-offset: 2px;
}

.field-index,
.field-number,
.field-title-index,
.field-title-number,
.field-title-prefix,
.question-index,
.ui-field-index,
.hs-field-index {
  display: none !important;
}

.field-card.is-invalid,
.hs-field-card.is-invalid {
  border-color: color-mix(in srgb, var(--hs-form-danger) 45%, var(--hs-form-border));
}

.field-error,
.validation-error,
.hs-field-error {
  color: var(--hs-form-danger);
  font-size: var(--hs-text-md);
  font-weight: var(--hs-weight-semibold-soft);
}

.form-validation-sheet-panel,
.hs-validation-sheet-panel {
  background: var(--hs-form-surface);
  border: 1px solid color-mix(in srgb, var(--hs-form-danger) 42%, var(--hs-form-border));
  border-radius: var(--radius-lg, 24px) var(--radius-lg, 24px) 0 0;
  box-shadow: var(--shadow-sm, 0 8px 24px rgba(0,0,0,.08));
}

.form-validation-sheet-title,
.hs-validation-sheet-title {
  font-size: var(--hs-text-md);
  font-weight: var(--hs-weight-semibold-soft);
}

@media (max-width: 799px) {
  .ui-step-context,
  .hs-step-context {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    gap: 0;
  }

  #ui-step-context-prev,
  #ui-step-context-next,
  .ui-step-context-arrow,
  .hs-step-arrow {
    display: none !important;
  }

  .ui-step-pill,
  .hs-step-pill {
    min-height: var(--hs-space-11);
    padding: var(--hs-space-0) var(--hs-space-5);
    font-size: var(--hs-text-md);
  }
}

/* Homeskaner DS: form tracker and wizard controls */
.hs-step-tracker {
  inline-size: 100%;
}

.hs-step-list {
  display: flex;
  align-items: center;
  gap: var(--space-3, 12px);
  inline-size: 100%;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.hs-step-list::-webkit-scrollbar {
  display: none;
}

.hs-step-pill {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-block-size: var(--hs-space-12);
  padding: var(--hs-space-0) var(--hs-space-6);
  border: 1px solid var(--color-border-subtle, #e5e5e1);
  border-radius: var(--radius-pill, 999px);
  background: var(--color-surface, #ffffff);
  color: var(--color-text, #2f2f2d);
  font-family: var(--hs-font-family-base);
  font-size: var(--hs-text-sm);
  font-weight: var(--hs-weight-semibold);
  line-height: var(--hs-leading-tight);
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, opacity 120ms ease;
  scroll-snap-align: start;
}

.hs-step-pill:hover:not(:disabled) {
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d8d8d3);
  color: var(--color-text, #2f2f2d);
}

.hs-step-pill:active:not(:disabled) {
  opacity: .72;
}

.hs-step-pill:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--color-primary-ring, rgba(74, 85, 255, .22));
}

.hs-step-pill.is-active {
  background: var(--hs-form-primary);
  border-color: var(--hs-form-primary);
  color: var(--hs-form-surface);
  box-shadow: none;
}

.hs-step-pill.is-completed {
  background: var(--color-surface, #ffffff);
  border-color: var(--color-border-subtle, #e5e5e1);
  color: var(--color-text, #2f2f2d);
}

.hs-step-pill.is-upcoming,
.hs-step-pill:disabled {
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d8d8d3);
  color: var(--color-text-muted, #757570);
}

.hs-step-arrow {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--hs-space-12);
  block-size: var(--hs-space-12);
  border: 1px solid var(--color-border-subtle, #e5e5e1);
  border-radius: var(--radius-pill, 999px);
  background: var(--color-surface, #ffffff);
  color: var(--color-text, #2f2f2d);
  box-shadow: var(--hs-shadow-xs);
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 120ms ease;
}

.hs-step-arrow:hover:not(:disabled) {
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d8d8d3);
  color: var(--color-text, #2f2f2d);
  box-shadow: none;
}

.hs-step-arrow:active:not(:disabled) {
  opacity: .72;
}

.hs-step-arrow:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--color-primary-ring, rgba(74, 85, 255, .22));
}

.hs-step-arrow:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.hs-footer-actions {
  display: flex;
  align-items: center;
  gap: var(--space-4, 16px);
}

.hs-field-index-hidden {
  display: none !important;
}

/* Homeskaner DS: form tracker and wizard controls */
.hs-step-tracker {
  inline-size: 100%;
}

.hs-step-list {
  display: flex;
  align-items: center;
  gap: var(--space-3, 12px);
  inline-size: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.hs-step-list::-webkit-scrollbar {
  display: none;
}

.hs-step-pill {
  appearance: none;
  border: 1px solid var(--color-border-subtle, #deded8);
  background: var(--color-surface, #fff);
  color: var(--color-text, #2e2d2a);
  min-block-size: var(--hs-space-12);
  inline-size: max-content;
  max-inline-size: none;
  padding: var(--hs-space-0) var(--hs-space-6);
  border-radius: var(--radius-pill, 999px);
  box-shadow: var(--hs-shadow-xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  white-space: nowrap;
  font-family: var(--hs-font-family-base);
  font-size: var(--hs-text-sm);
  font-weight: var(--hs-weight-semibold);
  line-height: var(--hs-leading-none);
  cursor: pointer;
  scroll-snap-align: start;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease, box-shadow .16s ease;
}

.hs-step-pill:hover {
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d5d5ce);
}

.hs-step-pill:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring, rgba(47, 99, 235, .22));
}

.hs-step-pill.is-active {
  color: var(--hs-form-surface);
  background: var(--hs-form-primary);
  border-color: var(--hs-form-primary);
  box-shadow: none;
}

.hs-step-pill.is-completed {
  color: var(--color-text, #2e2d2a);
  background: var(--color-surface, #fff);
  border-color: var(--color-border-subtle, #deded8);
}

.hs-step-pill.is-upcoming,
.hs-step-pill:disabled {
  color: var(--color-text-muted, #7a7972);
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d8d8d3);
  cursor: default;
}

.hs-step-pill:active {
  opacity: .78;
}

.hs-step-arrow {
  appearance: none;
  inline-size: var(--hs-space-11);
  block-size: var(--hs-space-11);
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--color-border-subtle, #deded8);
  background: var(--color-surface, #fff);
  color: var(--color-text, #2e2d2a);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--hs-shadow-xs);
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}

.hs-step-arrow:hover {
  background: var(--color-bg-subtle, #f7f7f5);
  border-color: var(--color-border, #d5d5ce);
  color: var(--color-text, #2e2d2a);
}

.hs-step-arrow:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring, rgba(47, 99, 235, .22));
}

.hs-step-arrow:disabled {
  opacity: .45;
  cursor: default;
}

.hs-footer-actions {
  display: flex;
  align-items: center;
  gap: var(--space-4, 16px);
}

.hs-field-index-hidden {
  display: none !important;
}
/* End Homeskaner DS: form tracker and wizard controls */

@layer hs.components {
  .hs-section-header {
    margin: 0 0 var(--hs-space-3);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-semibold);
    letter-spacing: var(--hs-tracking-normal);
  }

  .hs-accordion-trigger,
  .hs-accordion [data-slot="accordion-trigger"] {
    padding-block: var(--hs-space-2);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-semibold);
    letter-spacing: var(--hs-tracking-normal);
  }

  .hs-accordion-stack {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-4);
  }

  .hs-accordion-stack > [data-slot="accordion-item"] {
    border-bottom: none;
  }

  .hs-accordion-card {
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
    padding-inline: var(--hs-space-4);
  }

  .hs-clickable-card {
    appearance: none;
    width: 100%;
    display: block;
    text-align: left;
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    box-shadow: var(--hs-shadow-sm);
    cursor: pointer;
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  .hs-clickable-card--row {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
  }

  @media (hover: hover) and (pointer: fine) {
    .hs-clickable-card:hover {
      background: var(--hs-color-surface-hover);
      border-color: color-mix(in srgb, var(--hs-color-text) 20%, transparent);
      box-shadow: var(--hs-shadow-md);
    }
  }

  .hs-touchpoint--mobile-concept .hs-clickable-card:hover,
  .hs-touchpoint--mobile-concept .hs-clickable-card:active {
    background: var(--hs-color-surface);
    border-color: var(--hs-color-border);
    box-shadow: var(--hs-shadow-sm);
    transform: none;
  }

  @media (hover: hover) and (pointer: fine) {
    .hs-clickable-card:active {
      transform: translateY(1px);
    }
  }

  .hs-touchpoint--mobile-concept .hs-clickable-card {
    transition: none;
  }

  .hs-clickable-card:focus-visible {
    outline: none;
    box-shadow:
      var(--hs-shadow-sm),
      0 0 0 3px color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
  }

  .hs-offer-reference-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-3);
    margin-bottom: var(--hs-space-2);
  }

  .hs-offer-reference {
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-light);
    line-height: var(--hs-leading-snug);
    color: var(--hs-color-muted);
  }

  .hs-offer-status-inline {
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-1);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-snug);
    color: var(--hs-color-success);
    white-space: nowrap;
  }

  .hs-offer-status-inline svg {
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
    flex: 0 0 auto;
    stroke-width: var(--hs-icon-stroke);
  }

  .hs-offer-status-inline--archive {
    color: var(--hs-color-muted);
  }

  /* Meta pills: entity + market + location only. Status lives in hs-offer-status-inline. */
  .hs-meta-pill,
  .hs-offer-pill {
    display: inline-flex;
    min-height: var(--hs-space-8);
    align-items: center;
    gap: var(--hs-space-2);
    padding: 0 var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-bg);
    color: var(--hs-color-text);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-medium);
    white-space: nowrap;
  }

  .hs-meta-pill svg,
  .hs-offer-pill svg {
    width: var(--hs-icon-size-large);
    height: var(--hs-icon-size-large);
    flex: 0 0 auto;
    stroke-width: var(--hs-icon-stroke);
  }

  .hs-meta-pill--compact,
  .hs-offer-pill--compact {
    min-height: var(--hs-space-6);
    gap: var(--hs-space-1);
    padding: 0 var(--hs-space-2);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-none);
    border-width: 0.5px;
  }

  .hs-meta-pill--compact svg,
  .hs-offer-pill--compact svg {
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
  }

  .hs-meta-pill--entity,
  .hs-offer-pill--property {
    background: var(--hs-color-primary-soft);
    border-color: color-mix(in srgb, var(--hs-color-primary) 18%, transparent);
    color: var(--hs-color-primary);
  }

  .hs-meta-pill--market-new,
  .hs-offer-pill--market-primary {
    background: color-mix(in srgb, var(--hs-color-success-soft) 72%, var(--hs-color-surface));
    border-color: color-mix(in srgb, var(--hs-color-success) 18%, transparent);
    color: var(--hs-color-success);
  }

  .hs-meta-pill--market-used,
  .hs-offer-pill--market-secondary {
    background: var(--hs-color-warning-soft);
    border-color: color-mix(in srgb, var(--hs-color-warning) 18%, transparent);
    color: var(--hs-color-warning);
  }

  .hs-meta-pill--location,
  .hs-offer-pill--district {
    background: var(--hs-color-bg);
    border-color: var(--hs-color-border);
    color: var(--hs-color-text);
  }

  .hs-offer-meta-chips {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(var(--hs-space-2) - 2px);
    margin-bottom: var(--hs-space-4);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .hs-offer-meta-chips::-webkit-scrollbar {
    display: none;
  }

  .hs-meta-pill--on-media,
  .hs-offer-pill--on-media {
    border-width: 0.5px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0 14px color-mix(in srgb, currentColor 10%, transparent);
  }

  .hs-meta-pill--on-media.hs-meta-pill--entity,
  .hs-meta-pill--on-media.hs-offer-pill--property,
  .hs-offer-pill--on-media.hs-meta-pill--entity,
  .hs-offer-pill--on-media.hs-offer-pill--property {
    background: color-mix(in srgb, var(--hs-color-primary) 20%, transparent);
    border-color: color-mix(in srgb, var(--hs-color-primary) 48%, transparent);
    color: color-mix(in srgb, var(--hs-color-primary) 28%, var(--hs-color-on-primary) 72%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--entity svg,
  .hs-meta-pill--on-media.hs-offer-pill--property svg,
  .hs-offer-pill--on-media.hs-meta-pill--entity svg,
  .hs-offer-pill--on-media.hs-offer-pill--property svg {
    color: color-mix(in srgb, var(--hs-color-primary) 42%, var(--hs-color-on-primary) 58%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--market-new,
  .hs-meta-pill--on-media.hs-offer-pill--market-primary,
  .hs-offer-pill--on-media.hs-meta-pill--market-new,
  .hs-offer-pill--on-media.hs-offer-pill--market-primary {
    background: color-mix(in srgb, var(--hs-color-success) 18%, transparent);
    border-color: color-mix(in srgb, var(--hs-color-success) 45%, transparent);
    color: color-mix(in srgb, var(--hs-color-success) 25%, var(--hs-color-on-primary) 75%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--market-new svg,
  .hs-meta-pill--on-media.hs-offer-pill--market-primary svg,
  .hs-offer-pill--on-media.hs-meta-pill--market-new svg,
  .hs-offer-pill--on-media.hs-offer-pill--market-primary svg {
    color: color-mix(in srgb, var(--hs-color-success) 40%, var(--hs-color-on-primary) 60%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--market-used,
  .hs-meta-pill--on-media.hs-offer-pill--market-secondary,
  .hs-offer-pill--on-media.hs-meta-pill--market-used,
  .hs-offer-pill--on-media.hs-offer-pill--market-secondary {
    background: color-mix(in srgb, var(--hs-color-warning) 18%, transparent);
    border-color: color-mix(in srgb, var(--hs-color-warning) 45%, transparent);
    color: color-mix(in srgb, var(--hs-color-warning) 30%, var(--hs-color-on-primary) 70%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--market-used svg,
  .hs-meta-pill--on-media.hs-offer-pill--market-secondary svg,
  .hs-offer-pill--on-media.hs-meta-pill--market-used svg,
  .hs-offer-pill--on-media.hs-offer-pill--market-secondary svg {
    color: color-mix(in srgb, var(--hs-color-warning) 42%, var(--hs-color-on-primary) 58%);
  }

  .hs-meta-pill--on-media.hs-meta-pill--location,
  .hs-meta-pill--on-media.hs-offer-pill--district,
  .hs-offer-pill--on-media.hs-meta-pill--location,
  .hs-offer-pill--on-media.hs-offer-pill--district {
    background: color-mix(in srgb, var(--hs-color-on-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--hs-color-on-primary) 28%, transparent);
    color: color-mix(in srgb, var(--hs-color-on-primary) 88%, transparent);
  }

  .hs-meta-pill--on-media.hs-meta-pill--location svg,
  .hs-meta-pill--on-media.hs-offer-pill--district svg,
  .hs-offer-pill--on-media.hs-meta-pill--location svg,
  .hs-offer-pill--on-media.hs-offer-pill--district svg {
    color: color-mix(in srgb, var(--hs-color-on-primary) 72%, transparent);
  }

  .hs-offer-pill--overlay {
    background: color-mix(in srgb, var(--hs-color-surface) 82%, transparent);
    backdrop-filter: blur(8px);
  }

  .hs-offer-status-badge {
    display: inline-flex;
    min-height: var(--hs-space-7);
    align-items: center;
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-semibold-soft);
    white-space: nowrap;
  }

  .hs-offer-status-badge--premium {
    background: var(--hs-color-warning-soft);
    color: var(--hs-color-warning);
  }

  .hs-offer-stat-pill {
    display: inline-flex;
    min-height: var(--hs-space-8);
    align-items: center;
    gap: var(--hs-space-2);
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-surface) 12%, transparent);
    color: var(--hs-color-on-primary);
    backdrop-filter: blur(8px);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-medium);
    white-space: nowrap;
  }

  .hs-offer-stat-pill svg {
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
    flex: 0 0 auto;
    stroke-width: var(--hs-icon-stroke);
  }

  .hs-offer-stat-pill--surface {
    background: var(--hs-color-bg);
    color: var(--hs-color-text);
    box-shadow: var(--hs-shadow-sm);
    backdrop-filter: none;
  }

  .hs-offer-stat-pill--surface svg {
    color: var(--hs-color-primary);
  }

  /* Offer preview — gallery rail (canonical .hs-offer-gallery* + legacy .peek-gallery-* aliases) */
  .hs-touchpoint--offer-preview,
  .guide-offer-gallery-preview,
  .guide-offer-module-preview {
    --hs-offer-gallery-bottom: var(--hs-space-4);
    --hs-offer-gallery-thumb-height: 52px;
    /* Figma DS Modules/Offer Preview contract sizes for permalink runtime. */
    --hs-offer-permalink-hero-height: 620px;
    --hs-offer-permalink-title-width: 857px;
    --hs-offer-permalink-table-width: 760px;
    --hs-offer-permalink-mobile-content-width: 343px;
    --hs-offer-permalink-map-width: 520px;
    --hs-offer-permalink-map-head-height: 64px;
    --hs-offer-permalink-map-frame-height: 138px;
    --hs-offer-lightbox-stage-width: 1200px;
    --hs-offer-lightbox-stage-height: 560px;
    --hs-offer-lightbox-stage-top: 96px;
    --hs-offer-lightbox-close-size: 48px;
    --hs-offer-lightbox-mobile-counter-width: 55px;
    --hs-offer-lightbox-mobile-counter-height: 24px;
    --hs-offer-gallery-overlay-bg: color-mix(in srgb, var(--hs-color-text-strong) 72%, transparent);
    --hs-offer-gallery-on-media-arrow-bg: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    --hs-offer-gallery-on-media-arrow-bg-hover: color-mix(in srgb, var(--hs-color-text-strong) 80%, transparent);
    --hs-offer-gallery-on-media-arrow-border: color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    --hs-offer-gallery-on-media-arrow-color: var(--hs-color-on-primary);
  }

  .hs-offer-gallery,
  .peek-gallery-overlay {
    position: absolute;
    left: var(--hs-space-4);
    right: var(--hs-space-4);
    bottom: var(--hs-offer-gallery-bottom);
    z-index: 7;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--hs-space-2) var(--hs-space-3);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-offer-gallery-overlay-bg);
    border: 0;
    backdrop-filter: blur(12px);
    pointer-events: auto;
  }

  .hs-offer-gallery__scroll,
  .peek-gallery-scroll {
    display: flex;
    gap: var(--hs-space-2);
    overflow: hidden;
    padding-bottom: 0;
    max-width: 100%;
    margin-inline: auto;
    pointer-events: auto;
  }

  .hs-offer-gallery__scroll::-webkit-scrollbar,
  .peek-gallery-scroll::-webkit-scrollbar {
    display: none;
  }

  .hs-offer-gallery__thumb,
  .peek-gallery-thumb {
    width: 84px;
    height: var(--hs-offer-gallery-thumb-height);
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 40%, transparent);
    border-radius: var(--hs-space-3);
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
    flex: 0 0 auto;
    cursor: pointer;
    backdrop-filter: blur(10px);
    pointer-events: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
  }

  .hs-offer-gallery__thumb:hover,
  .peek-gallery-thumb:hover {
    border-color: rgba(255, 255, 255, 0.72);
  }

  .hs-offer-gallery__thumb--active,
  .peek-gallery-thumb-active {
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  }

  .hs-offer-gallery__thumb-image,
  .peek-gallery-thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
  }

  .hs-offer-gallery__thumb--missing,
  .peek-gallery-thumb-missing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(17, 24, 39, 0.52);
    color: rgba(255, 255, 255, 0.94);
    cursor: default;
  }

  .hs-offer-gallery__thumb-count,
  .peek-gallery-thumb-count {
    font-weight: var(--hs-weight-strong);
    font-size: var(--hs-text-18);
  }

  .hs-offer-gallery__counter,
  .peek-gallery-counter {
    position: absolute;
    right: var(--hs-space-4);
    bottom: var(--hs-offer-gallery-bottom);
    z-index: 7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--hs-space-12);
    min-height: var(--hs-space-12);
    min-width: var(--hs-space-12);
    padding: 0 var(--hs-space-3);
    border: var(--hs-button-border-width) solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    line-height: var(--hs-leading-none);
    pointer-events: none;
  }

  .hs-offer-gallery__nav,
  .peek-gallery-nav {
    position: absolute;
    top: var(--hs-position-center);
    transform: translateY(-50%);
    z-index: 8;
    width: var(--gallery-arrow-size);
    height: var(--gallery-arrow-size);
    border: 1px solid var(--gallery-arrow-border);
    border-radius: var(--hs-radius-pill);
    background: var(--gallery-arrow-bg);
    color: var(--gallery-arrow-color);
    box-shadow: var(--gallery-arrow-shadow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(12px);
  }

  .hs-offer-gallery__nav:hover,
  .peek-gallery-nav:hover {
    background: var(--gallery-arrow-bg-hover);
    color: var(--gallery-arrow-color);
  }

  .hs-offer-gallery__nav--prev,
  .peek-gallery-nav-prev {
    left: var(--hs-space-6);
  }

  .hs-offer-gallery__nav--next,
  .peek-gallery-nav-next {
    right: var(--hs-space-6);
  }

  .hs-offer-gallery__nav--on-media,
  .guide-on-media-stage .hs-offer-gallery__nav {
    border-color: var(--hs-offer-gallery-on-media-arrow-border);
    background: var(--hs-offer-gallery-on-media-arrow-bg);
    color: var(--hs-offer-gallery-on-media-arrow-color);
    box-shadow: none;
  }

  .hs-offer-gallery__nav--on-media:hover,
  .guide-on-media-stage .hs-offer-gallery__nav:hover {
    background: var(--hs-offer-gallery-on-media-arrow-bg-hover);
    color: var(--hs-offer-gallery-on-media-arrow-color);
  }

  /* Offer preview — hero media actions (canonical .hs-offer-hero__media-* + legacy .peek-hero-media-* aliases) */
  .hs-offer-hero__media-actions,
  .peek-hero-media-actions {
    position: absolute;
    left: var(--hs-space-4);
    right: var(--hs-space-4);
    bottom: var(--hs-offer-gallery-bottom);
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
    box-sizing: border-box;
    min-height: var(--hs-offer-gallery-thumb-height);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: none;
  }

  .hs-offer-hero__media-button,
  .peek-hero-media-button.hs-button {
    pointer-events: auto;
    --hs-button-bg: var(--hs-offer-gallery-on-media-arrow-bg);
    --hs-button-bg-hover: var(--hs-offer-gallery-on-media-arrow-bg-hover);
    --hs-button-border: var(--hs-offer-gallery-on-media-arrow-border);
    --hs-button-border-hover: color-mix(in srgb, var(--hs-color-on-primary) 28%, transparent);
    --hs-button-color: var(--hs-offer-gallery-on-media-arrow-color);
    --hs-button-shadow: none;
    --hs-button-shadow-hover: none;
    width: auto;
    min-width: 0;
    max-width: none;
    height: var(--hs-space-12);
    min-height: var(--hs-space-12);
    max-height: var(--hs-space-12);
    flex: 0 0 auto;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-2);
    padding: 0 var(--hs-space-3);
    box-sizing: border-box;
    line-height: var(--hs-leading-none);
    font: inherit;
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    border: var(--hs-button-border-width) solid var(--hs-button-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-button-bg);
    color: var(--hs-button-color);
    box-shadow: var(--hs-button-shadow);
    cursor: pointer;
    overflow: hidden;
  }

  .hs-offer-hero__media-button [class~="hs-icon"],
  .hs-offer-hero__media-button svg,
  .peek-hero-media-button [class~="hs-icon"],
  .peek-hero-media-button svg {
    width: var(--hs-icon-size-sm);
    height: var(--hs-icon-size-sm);
    flex: 0 0 auto;
    color: var(--hs-offer-gallery-on-media-arrow-color);
  }

  .hs-offer-hero__media-button:hover,
  .hs-offer-hero__media-button:focus-visible,
  .peek-hero-media-button.hs-button:hover,
  .peek-hero-media-button.hs-button:focus-visible {
    border-color: var(--hs-button-border-hover);
    background: var(--hs-button-bg-hover);
    color: var(--hs-button-color);
    box-shadow: var(--hs-button-shadow-hover);
    outline: none;
  }

  .hs-offer-hero__media-actions ~ .hs-offer-gallery,
  .hs-offer-hero__media-actions ~ .peek-gallery-overlay,
  .peek-hero-media-actions ~ .hs-offer-gallery,
  .peek-hero-media-actions ~ .peek-gallery-overlay {
    left: auto;
    right: var(--hs-space-4);
    width: fit-content;
    max-width: calc(100% - var(--hs-space-4) * 2);
    justify-content: center;
  }

  .permalink-page.permalink-page--desktop .hs-offer-hero__media-actions ~ .hs-offer-gallery,
  .permalink-page.permalink-page--desktop .peek-hero-media-actions ~ .peek-gallery-overlay {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    max-width: calc(100% - var(--hs-space-8));
  }

  @media (min-width: 801px) {
    .permalink-page .hs-offer-hero__media-actions ~ .hs-offer-gallery,
    .permalink-page .peek-hero-media-actions ~ .peek-gallery-overlay {
      left: 50%;
      right: auto;
      transform: translateX(-50%);
      max-width: calc(100% - var(--hs-space-8));
    }
  }

  @media (max-width: 800px) {
    .permalink-page .hs-offer-hero__media-actions,
    .permalink-page .peek-hero-media-actions {
      left: var(--hs-space-3);
      right: var(--hs-space-3);
      bottom: var(--hs-permalink-mobile-hero-controls-bottom);
      z-index: 6;
    }

    .permalink-page .hs-offer-hero__media-button.hs-button,
    .permalink-page .peek-hero-media-button.hs-button {
      width: var(--hs-space-12);
      min-width: var(--hs-space-12);
      max-width: var(--hs-space-12);
      height: var(--hs-space-12);
      min-height: var(--hs-space-12);
      max-height: var(--hs-space-12);
      justify-content: center;
      gap: 0;
      padding: 0;
      border-radius: var(--hs-radius-pill);
    }

    .permalink-page .hs-offer-hero__media-button.hs-button span,
    .permalink-page .peek-hero-media-button.hs-button span {
      position: absolute;
      width: 1px;
      height: calc(var(--hs-space-0) + 1px);
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }
  }

  .permalink-page .hs-offer-hero__media-actions,
  .permalink-page .peek-hero-media-actions {
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    height: auto;
    min-height: var(--hs-space-12);
  }

  /* Offer preview — media lightbox (canonical .hs-offer-lightbox* + legacy .offer-lightbox-* aliases) */
  .hs-offer-lightbox__backdrop,
  .offer-lightbox-backdrop {
    position: fixed;
    inset: 0;
    z-index: 140;
    background: color-mix(in srgb, var(--hs-color-text-strong) 90%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--hs-space-6) 0;
  }

  .permalink-page .hs-offer-lightbox__backdrop:not(.hs-offer-media-modal--map) {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }

  .guide-offer-lightbox-preview .hs-offer-lightbox__backdrop {
    position: absolute;
    inset: 0;
    padding: var(--hs-space-4);
  }

  .hs-offer-lightbox,
  .offer-lightbox {
    position: relative;
    width: 100%;
    max-height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: var(--hs-space-4);
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    display: block;
  }

  .hs-offer-lightbox__topbar,
  .offer-lightbox-topbar {
    position: absolute;
    top: var(--hs-space-6);
    right: var(--hs-space-6);
    left: auto;
    z-index: 5;
    width: auto;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--hs-space-4);
    color: color-mix(in srgb, var(--hs-color-on-primary) 92%, transparent);
    pointer-events: none;
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__topbar {
    top: 24px;
    right: 24px;
  }

  .guide-offer-lightbox-preview .hs-offer-lightbox__topbar {
    top: var(--hs-space-3);
    right: var(--hs-space-3);
  }

  .hs-offer-lightbox__close,
  .offer-lightbox-close {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hs-icon-button-size-md);
    width: var(--hs-icon-button-size-md);
    height: var(--hs-icon-button-size-md);
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    background: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    color: var(--hs-color-on-primary);
    border-radius: var(--hs-radius-pill);
    pointer-events: auto;
    cursor: pointer;
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__close {
    min-width: var(--hs-offer-lightbox-close-size);
    width: var(--hs-offer-lightbox-close-size);
    height: var(--hs-offer-lightbox-close-size);
  }

  .hs-offer-lightbox__close:hover,
  .offer-lightbox-close:hover {
    background: color-mix(in srgb, var(--hs-color-text-strong) 80%, transparent);
  }

  .hs-offer-lightbox__stage,
  .offer-lightbox-stage {
    height: min(72vh, 880px);
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
    touch-action: none;
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__stage {
    position: absolute;
    top: var(--hs-offer-lightbox-stage-top);
    left: var(--hs-position-center);
    width: min(var(--hs-offer-lightbox-stage-width), calc(100vw - calc(var(--hs-space-10) * 2)));
    height: var(--hs-offer-lightbox-stage-height);
    transform: translateX(-50%);
  }

  .guide-offer-lightbox-preview .hs-offer-lightbox__stage {
    height: min(220px, 100%);
  }

  .hs-offer-lightbox__image,
  .offer-lightbox-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    user-select: none;
    touch-action: none;
  }

  .hs-offer-lightbox__counter,
  .offer-lightbox-counter {
    position: absolute;
    right: var(--hs-space-3);
    bottom: var(--hs-space-3);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--hs-space-12);
    min-height: var(--hs-space-12);
    min-width: var(--hs-space-12);
    padding: 0 var(--hs-space-3);
    border: var(--hs-button-border-width) solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    line-height: var(--hs-leading-none);
    pointer-events: none;
    backdrop-filter: blur(12px);
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__counter {
    display: none;
  }

  .hs-offer-lightbox__nav,
  .offer-lightbox-nav {
    position: absolute;
    top: var(--hs-position-center);
    transform: translateY(-50%);
    z-index: 2;
    width: var(--gallery-arrow-size);
    height: var(--gallery-arrow-size);
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    color: var(--hs-color-on-primary);
    box-shadow: none;
    display: grid;
    place-items: center;
    cursor: pointer;
    backdrop-filter: blur(12px);
  }

  .hs-offer-lightbox__nav:hover,
  .offer-lightbox-nav:hover {
    background: color-mix(in srgb, var(--hs-color-text-strong) 80%, transparent);
  }

  .hs-offer-lightbox__nav--prev,
  .offer-lightbox-nav-prev {
    left: var(--hs-space-3);
  }

  .hs-offer-lightbox__nav--next,
  .offer-lightbox-nav-next {
    right: var(--hs-space-3);
  }

  .hs-offer-lightbox__thumbs,
  .offer-lightbox-thumbs {
    display: flex;
    gap: var(--hs-space-2);
    justify-content: center;
    overflow-x: auto;
    padding: 0 var(--hs-space-3) var(--hs-space-2);
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__thumbs {
    position: absolute;
    top: calc(var(--hs-offer-lightbox-stage-top) + var(--hs-offer-lightbox-stage-height) + var(--hs-space-8));
    left: 0;
    right: 0;
    height: calc(var(--hs-space-16) + var(--hs-space-1));
    padding: 0;
  }

  .hs-offer-lightbox__thumb,
  .offer-lightbox-thumb {
    width: 72px;
    height: 52px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 24%, transparent);
    border-radius: var(--hs-radius-sm);
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
    flex: 0 0 auto;
    cursor: pointer;
  }

  .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__thumb {
    width: 84px;
    height: 68px;
  }

  .hs-offer-lightbox__thumb--active,
  .offer-lightbox-thumb-active {
    border-color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
  }

  @media (max-width: 800px) {
    .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__stage {
      top: var(--hs-offer-lightbox-stage-top);
      left: 16px;
      width: min(var(--hs-offer-permalink-mobile-content-width), calc(100vw - var(--hs-space-8)));
      height: var(--hs-offer-permalink-hero-height);
      transform: none;
    }

    .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__topbar {
      top: 16px;
      right: 16px;
    }

    .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__counter {
      right: 0;
      bottom: 40px;
      display: inline-flex;
      width: var(--hs-offer-lightbox-mobile-counter-width);
      min-width: var(--hs-offer-lightbox-mobile-counter-width);
      height: var(--hs-offer-lightbox-mobile-counter-height);
      min-height: var(--hs-offer-lightbox-mobile-counter-height);
      padding: 0 var(--hs-space-2);
    }

    .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__thumbs,
    .permalink-page .hs-offer-lightbox:not(.hs-offer-media-modal--map) .hs-offer-lightbox__nav {
      display: none;
    }
  }

  .hs-offer-lightbox__thumb-image,
  .offer-lightbox-thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
  }

  /* Offer preview — card shell (canonical hs-offer-card* + legacy peek-card* aliases) */
  .hs-offer-card,
  .peek-card {
    min-height: 100%;
    overflow: visible;
    background: var(--hs-color-surface);
  }

  .hs-offer-preview {
    display: grid;
    gap: var(--hs-space-6);
  }

  .hs-offer-card--preview {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-lg);
  }

  .hs-offer-card__body--preview {
    display: grid;
    gap: var(--hs-space-6);
    padding: var(--hs-space-6);
  }

  .hs-offer-card.peek-card-permalink,
  .peek-card-permalink {
    position: relative;
    width: 100%;
    min-height: 100vh;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    border: 0;
    background: transparent;
  }

  .hs-offer-card__body,
  .peek-card-body {
    height: auto;
    overflow: visible;
    padding: var(--hs-space-6) var(--hs-space-6) var(--hs-space-7);
    display: grid;
    gap: var(--hs-space-5);
  }

  .hs-offer-card__body.peek-card-body-permalink,
  .peek-card-body-permalink {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(100%, var(--hs-permalink-card-max-width));
    margin: var(--hs-space-5) auto 0;
    padding: var(--hs-space-6) var(--hs-space-5) var(--hs-space-14);
    gap: var(--hs-space-5);
    background: var(--hs-color-surface);
    border-radius: var(--hs-radius-xl);
  }

  .permalink-page .hs-offer-card__body.peek-card-body-permalink,
  .permalink-page .peek-card-body-permalink {
    width: min(var(--hs-offer-permalink-title-width), calc(100vw - var(--hs-space-10)));
    padding-inline: 0;
    gap: var(--hs-space-7);
  }

  .permalink-page .hs-offer-card,
  .permalink-page .peek-card,
  .permalink-page .hs-offer-card.peek-card-permalink,
  .permalink-page .peek-card-permalink,
  .permalink-page .hs-offer-card__body,
  .permalink-page .peek-card-body,
  .permalink-page .hs-offer-card__body.peek-card-body-permalink,
  .permalink-page .peek-card-body-permalink {
    height: auto;
    max-height: none;
    overflow: visible;
  }

  @media (min-width: 801px) {
    .permalink-page .hs-offer-card.peek-card-permalink,
    .permalink-page .peek-card-permalink {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .permalink-page .hs-offer-card__body.peek-card-body-permalink,
    .permalink-page .peek-card-body-permalink,
    .permalink-page .peek-card-draft .peek-card-body-permalink {
      width: min(var(--hs-offer-permalink-title-width), calc(100vw - var(--hs-space-10)));
      margin-top: var(--hs-space-5);
      margin-inline: 0;
      border-radius: var(--hs-radius-xl);
    }
  }

  @media (max-width: 800px) {
    .permalink-page .hs-offer-card__body.peek-card-body-permalink,
    .permalink-page .peek-card-body-permalink,
    .permalink-page .peek-card-draft .peek-card-body-permalink {
      width: min(var(--hs-offer-permalink-mobile-content-width), calc(100vw - var(--hs-space-8)));
      max-width: none;
      margin-top: calc(-1 * var(--hs-space-3));
      margin-inline: auto;
      border-radius: var(--hs-radius-xl) var(--hs-radius-xl) 0 0;
      padding: var(--hs-space-5) 0 var(--hs-space-9);
      gap: var(--hs-space-5);
    }

    .permalink-page .hs-offer-card.peek-card-permalink,
    .permalink-page .peek-card-permalink {
      align-items: stretch;
    }
  }

  .hs-offer-card.peek-card-draft .hs-offer-card__body.peek-card-body-permalink,
  .peek-card-draft .peek-card-body-permalink {
    box-sizing: border-box;
    width: min(100%, calc(720px + var(--hs-space-10)));
    max-width: min(100%, calc(720px + var(--hs-space-10)));
    margin: var(--hs-space-5) auto 0;
    padding-inline: var(--hs-space-5);
    background: var(--hs-color-surface);
    border-radius: var(--hs-radius-xl);
  }

  .hs-offer-card--draft .hs-offer-media-stack.peek-media-stack-permalink,
  .peek-card-draft .peek-media-stack-permalink {
    width: 100%;
    margin-inline: 0;
  }

  /* Offer preview — permalink domain blocks (canonical hs-offer-* + legacy peek-* aliases) */
  .hs-offer-media-stack,
  .peek-media-stack {
    display: grid;
    gap: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--hs-color-text) 8%, transparent);
  }

  .hs-offer-media-stack--permalink,
  .peek-media-stack-permalink {
    width: 100%;
    margin-inline: 0;
    border-bottom: 0;
  }

  .permalink-page .hs-offer-media-stack--permalink,
  .permalink-page .peek-media-stack-permalink {
    width: 100vw;
    max-width: none;
    margin-inline: calc(50% - 50vw);
  }

  .hs-offer-media-stack--permalink .peek-hero-meta,
  .hs-offer-media-stack--permalink .peek-hero-placeholder,
  .peek-media-stack-permalink .peek-hero-meta,
  .peek-media-stack-permalink .peek-hero-placeholder {
    display: none;
  }

  @media (min-width: 801px) {
    .permalink-page .hs-offer-media-stack--permalink,
    .permalink-page .peek-media-stack-permalink {
      align-self: stretch;
      width: 100vw;
      margin-inline: calc(50% - 50vw);
    }
  }

  .hs-offer-hero,
  .peek-hero {
    --peek-gallery-thumb-height: calc(var(--hs-space-16) + 4px);
    --peek-gallery-bottom: calc(var(--hs-space-3) + 2px);
    --hs-offer-gallery-bottom: var(--peek-gallery-bottom);
    --hs-offer-gallery-thumb-height: var(--peek-gallery-thumb-height);
    --peek-hero-gallery-padding-bottom: 112px;
    --peek-gallery-rail-offset: calc(var(--peek-hero-gallery-padding-bottom) / 2);
    min-height: 328px;
    padding: var(--hs-space-5);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--hs-space-3);
    position: relative;
    color: var(--hs-color-on-primary);
    background-size: cover;
    background-position: center;
    transition:
      min-height 180ms ease,
      height 180ms ease,
      padding 180ms ease;
  }

  .hs-offer-hero--permalink,
  .peek-hero-permalink {
    min-height: var(--permalink-hero-height, 460px);
    height: var(--permalink-hero-height, 460px);
    padding: 0;
  }

  .permalink-page .hs-offer-hero--permalink,
  .permalink-page .peek-hero-permalink {
    width: 100%;
    min-height: var(--hs-offer-permalink-hero-height);
    height: var(--hs-offer-permalink-hero-height);
  }

  .hs-offer-hero__image,
  .peek-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .hs-offer-hero__image-button {
    width: 100%;
    height: 100%;
    min-height: inherit;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: zoom-in;
  }

  .hs-offer-hero__image-button:focus-visible {
    outline: var(--hs-focus-ring-width) solid var(--hs-focus-ring-color);
    outline-offset: calc(-1 * var(--hs-focus-ring-width));
  }

  .hs-offer-title--permalink,
  .peek-title-block-permalink {
    min-height: var(--permalink-title-min-height, calc(var(--hs-layout-40) + 12px));
    align-content: end;
    gap: var(--hs-space-3);
  }

  .permalink-page .hs-offer-title--permalink,
  .permalink-page .peek-title-block-permalink {
    width: 100%;
    min-height: 0;
  }

  .hs-offer-title,
  .peek-title-block {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-offer-title h1,
  .peek-title-block h1 {
    margin: 0;
  }

  .hs-offer-title h2,
  .peek-title-block h2 {
    margin: 0;
    font-size: var(--hs-text-27);
    line-height: var(--hs-leading-tight);
  }

  .hs-offer-summary,
  .peek-summary {
    margin: 0;
    color: color-mix(in srgb, var(--hs-color-text) 75%, transparent);
    line-height: var(--hs-leading-comfortable);
    max-width: calc(var(--hs-layout-40) + 800px);
  }

  .hs-offer-status-row {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-strong);
    letter-spacing: var(--hs-tracking-eyebrow);
    text-transform: uppercase;
  }

  .hs-offer-key-facts,
  .peek-key-facts-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: var(--hs-space-3);
  }

  .permalink-page .hs-offer-key-facts,
  .permalink-page .peek-key-facts-grid,
  .permalink-page .hs-offer-params__section {
    width: 100%;
    max-width: var(--hs-offer-permalink-table-width);
    margin-inline: auto;
  }

  .permalink-page .hs-offer-key-facts .hs-data-row {
    box-sizing: border-box;
    min-height: 46px;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    align-items: center;
    padding-block: 0;
  }

  .hs-offer-price-summary,
  .peek-price-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--hs-space-3);
    margin-top: var(--hs-space-4);
  }

  .permalink-page .hs-offer-price-summary,
  .permalink-page .peek-price-summary {
    min-height: 29px;
    margin-top: var(--hs-space-3);
  }

  .hs-offer-price-summary__value,
  .peek-price-summary-value {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-lg-size);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-tightest);
  }

  .permalink-page .hs-offer-price-summary__value,
  .permalink-page .peek-price-summary-value {
    line-height: 29px;
  }

  .hs-offer-price-summary__secondary,
  .peek-price-summary-secondary {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-18);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-snug);
  }

  .hs-offer-key-fact,
  .peek-key-fact {
    min-width: 0;
    min-height: var(--hs-control-height-lg);
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    align-items: center;
    background: transparent;
  }

  .hs-offer-interest-panel,
  .peek-interest-panel {
    min-width: 0;
    display: grid;
    gap: var(--hs-space-3);
    padding: var(--hs-space-4);
    border-radius: var(--hs-space-4);
    background: var(--hs-color-surface-hover);
    border: 1px solid color-mix(in srgb, var(--hs-color-text) 12%, transparent);
  }

  .hs-offer-interest-panel--homeskaner,
  .peek-interest-panel-homeskaner {
    padding: var(--hs-space-4);
    border: 1px solid color-mix(in srgb, var(--hs-color-text) 12%, transparent);
    border-radius: var(--hs-space-2);
    background: var(--hs-color-surface);
    gap: var(--hs-space-4);
  }

  .hs-offer-params,
  .peek-params-sections {
    display: grid;
    gap: var(--hs-space-6);
    overflow-anchor: none;
  }

  .hs-offer-params__section {
    display: grid;
    gap: var(--hs-space-3);
  }

  .hs-offer-params__section h2,
  .hs-offer-map__head h2,
  .hs-card h2 {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-xs-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-leading-tight);
  }

  .hs-offer-contact-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--hs-space-4);
    padding: var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-offer-contact-bar--reveal {
    border-color: color-mix(in srgb, var(--hs-color-primary) 22%, var(--hs-color-border));
    background: color-mix(in srgb, var(--hs-color-primary) 4%, var(--hs-color-surface));
  }

  .hs-offer-contact-bar__content {
    min-width: 0;
    display: grid;
    gap: var(--hs-space-1);
  }

  .hs-offer-contact-bar__eyebrow,
  .hs-offer-contact-bar__meta {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-snug);
  }

  .hs-offer-contact-bar__eyebrow {
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-eyebrow);
  }

  .hs-offer-contact-bar__title {
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-18);
    line-height: var(--hs-leading-snug);
  }

  .hs-offer-contact-bar__text {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .hs-offer-contact-bar__action {
    justify-self: end;
  }

  .hs-offer-contact-bar__meta {
    grid-column: 1 / -1;
  }

  .hs-offer-params__row,
  .peek-fact-row {
    display: grid;
    grid-template-columns: minmax(88px, 120px) minmax(0, 1fr);
    align-items: start;
    gap: var(--hs-space-3);
    padding: var(--hs-space-2) var(--hs-space-0);
    border-bottom: 1px solid color-mix(in srgb, var(--hs-color-text) 6%, transparent);
  }

  .hs-offer-params__row:last-child,
  .peek-fact-row:last-child {
    border-bottom: 0;
  }

  .hs-offer-map,
  .peek-map-card {
    min-width: 0;
    position: relative;
    display: grid;
    gap: 0;
    overflow: hidden;
    padding: 0;
  }

  .hs-offer-map--public,
  .peek-map-card-public {
    border-radius: var(--hs-radius-lg);
  }

  .permalink-page .hs-offer-map--public,
  .permalink-page .peek-map-card-public {
    width: min(100%, var(--hs-offer-permalink-map-width));
    margin-inline: auto;
    border: 0;
    background: var(--hs-color-surface);
  }

  .hs-offer-map__head,
  .peek-map-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-3);
    padding: var(--hs-space-3) var(--hs-space-4);
    border-bottom: 1px solid var(--hs-color-border);
    background: var(--hs-color-surface);
  }

  .permalink-page .hs-offer-map--public .hs-offer-map__head,
  .permalink-page .peek-map-card-public .peek-map-card-head {
    min-height: var(--hs-offer-permalink-map-head-height);
    box-sizing: border-box;
    padding-block: var(--hs-space-3);
  }

  .permalink-page .hs-offer-map--public .hs-offer-map__head p,
  .permalink-page .peek-map-card-public .peek-map-card-head p {
    display: none;
  }

  .hs-offer-map__head > div,
  .peek-map-card-head > div {
    min-width: 0;
    display: grid;
    gap: calc(var(--hs-space-1) - 1px);
  }

  .hs-offer-map__stage,
  .peek-map-stage {
    position: relative;
    min-width: 0;
    width: 100%;
  }

  .hs-offer-map__frame,
  .peek-map-frame {
    width: 100%;
    height: 340px;
    border: 0;
    border-radius: 0;
    background: var(--hs-color-bg);
    display: block;
  }

  .hs-offer-map--public .hs-offer-map__frame,
  .peek-map-card-public .peek-map-frame {
    height: var(--hs-layout-40);
  }

  .permalink-page .hs-offer-map--public .hs-offer-map__frame,
  .permalink-page .peek-map-card-public .peek-map-frame {
    height: var(--hs-offer-permalink-map-frame-height);
  }

  .hs-offer-map__location,
  .peek-location-card {
    min-width: 0;
    padding: var(--hs-space-3) var(--hs-space-4);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--hs-space-3);
  }

  .hs-offer-map__location--with-map,
  .peek-location-card-with-map {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  @media (min-width: 801px) {
    .permalink-page .hs-offer-map--public .hs-offer-map__location,
    .permalink-page .peek-map-card-public .peek-location-card {
      display: none;
    }
  }

  @media (max-width: 800px) {
    .hs-offer-hero--permalink,
    .peek-hero-permalink {
      min-height: var(--permalink-hero-height, 320px);
      height: var(--permalink-hero-height, 320px);
    }

    .hs-offer-title--permalink,
    .peek-title-block-permalink {
      min-height: auto;
    }

    .hs-offer-price-summary__value,
    .peek-price-summary-value {
      font-size: var(--hs-type-heading-md-size);
    }

    .hs-offer-price-summary__secondary,
    .peek-price-summary-secondary {
      font-size: var(--hs-text-17);
    }

    .permalink-page .hs-offer-key-facts,
    .permalink-page .peek-key-facts-grid,
    .permalink-page .hs-offer-params__section {
      max-width: var(--hs-offer-permalink-mobile-content-width);
    }

    .permalink-page .hs-offer-key-facts .hs-data-row {
      min-height: 35px;
      grid-template-columns: minmax(112px, 128px) minmax(0, 1fr);
      gap: var(--hs-space-2);
      padding-inline: var(--hs-space-4);
    }

    .hs-offer-params__row,
    .peek-fact-row {
      grid-template-columns: 1fr;
      gap: var(--hs-space-1);
    }

    .hs-offer-map__location,
    .peek-location-card {
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
      gap: var(--hs-space-2);
    }

    .hs-offer-map__head,
    .peek-map-card-head {
      align-items: flex-start;
      flex-direction: column;
    }

    .permalink-page .hs-offer-map--public,
    .permalink-page .peek-map-card-public {
      width: min(100%, var(--hs-offer-permalink-mobile-content-width));
    }

    .permalink-page .hs-offer-map--public .hs-offer-map__head,
    .permalink-page .peek-map-card-public .peek-map-card-head {
      min-height: var(--hs-offer-permalink-map-head-height);
    }

    .hs-offer-map__frame,
    .peek-map-frame {
      height: 280px;
    }

    .hs-offer-map--public .hs-offer-map__frame,
    .peek-map-card-public .peek-map-frame {
      height: var(--hs-layout-40);
    }

    .permalink-page .hs-offer-map--public .hs-offer-map__frame,
    .permalink-page .peek-map-card-public .peek-map-frame {
      height: var(--hs-offer-permalink-map-frame-height);
    }

    .hs-offer-card__body--preview {
      padding: var(--hs-space-5);
    }

    .hs-offer-contact-bar {
      grid-template-columns: 1fr;
    }

    .hs-offer-contact-bar__action {
      justify-self: stretch;
      width: 100%;
    }
  }

  /* Offer preview — contact modal (canonical hs-offer-contact-modal* + legacy peek-contact-modal* aliases) */
  .hs-offer-contact-modal__backdrop,
  .peek-contact-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 80;
    padding: var(--hs-space-6);
    background: rgba(15, 23, 42, 0.34);
    display: grid;
    place-items: center;
  }

  .hs-offer-contact-modal,
  .peek-contact-modal {
    width: min(560px, 100%);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    border-radius: var(--hs-space-4);
    border: 1px solid color-mix(in srgb, var(--hs-color-text) 12%, transparent);
    background: var(--hs-color-surface);
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.26);
    padding: var(--hs-space-6);
    display: grid;
    gap: var(--hs-space-5);
  }

  .hs-offer-contact-modal__head,
  .peek-contact-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--hs-space-3);
  }

  .hs-offer-contact-modal__head h3,
  .peek-contact-modal-head h3 {
    margin: 0;
    font-size: var(--hs-text-xl);
    line-height: var(--hs-leading-compact);
    font-weight: var(--hs-weight-strong);
    color: var(--hs-color-text);
  }

  .hs-offer-contact-modal__head p,
  .peek-contact-modal-head p {
    margin: calc(var(--hs-space-1) + 1px) var(--hs-space-0) var(--hs-space-0);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-reading);
  }

  .hs-offer-contact-modal__close,
  .peek-contact-modal-close {
    flex: 0 0 auto;
    min-width: var(--hs-space-10);
    width: var(--hs-space-10);
    height: var(--hs-space-10);
    padding: 0;
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--ui-button-radius);
    background: var(--color-surface);
    color: var(--color-text-muted);
    display: inline-grid;
    place-items: center;
    cursor: pointer;
  }

  .hs-offer-contact-modal__close:hover,
  .peek-contact-modal-close:hover {
    background: var(--hs-color-surface-hover);
    color: var(--hs-color-text);
  }

  @media (max-width: 800px) {
    .hs-offer-contact-modal__backdrop,
    .peek-contact-modal-backdrop {
      padding: var(--hs-space-3);
      place-items: center;
    }

    .hs-offer-contact-modal,
    .peek-contact-modal {
      max-height: calc(100vh - 24px);
      border-radius: var(--hs-space-4);
      padding: var(--hs-space-4);
    }
  }

  /* Offer preview — media modal (canonical hs-offer-media-modal* + legacy offer-map/tour/floor aliases) */
  .hs-offer-media-modal--map.offer-map-lightbox-backdrop,
  .offer-map-lightbox-backdrop {
    padding: var(--hs-space-6);
    align-items: stretch;
    justify-content: center;
  }

  .hs-offer-media-modal--map,
  .offer-map-lightbox {
    position: relative;
    width: min(1080px, 100%);
    max-height: calc(100vh - 48px);
    height: 100%;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: var(--hs-space-3);
  }

  .hs-offer-media-modal--map .hs-offer-lightbox__topbar,
  .offer-map-lightbox-topbar {
    position: static;
    width: 100%;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.92);
    pointer-events: auto;
  }

  .hs-offer-media-modal__stage.offer-map-lightbox-stage,
  .offer-map-lightbox-stage {
    position: relative;
    width: 100%;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--hs-radius-lg);
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 12%, transparent);
    background: var(--hs-color-bg);
  }

  .hs-offer-media-modal__frame.offer-map-lightbox-frame,
  .offer-map-lightbox-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    flex: 1 1 auto;
    border: 0;
    background: var(--hs-color-bg);
  }

  .hs-offer-media-modal__caption.offer-map-lightbox-caption,
  .offer-map-lightbox-caption {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-normal);
  }

  .hs-offer-lightbox__stage.offer-floor-image-stage,
  .offer-floor-image-stage {
    height: min(82vh, 860px);
    width: 100%;
    touch-action: none;
  }

  .hs-offer-media-modal__image.offer-floor-preview-image,
  .offer-floor-preview-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    user-select: none;
    touch-action: none;
    transform-origin: center;
    will-change: transform;
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen-backdrop,
  .offer-tour-fullscreen-backdrop {
    padding: 0;
    align-items: center;
    justify-content: center;
    background: rgba(9, 14, 24, 0.9);
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen-backdrop-expanded,
  .offer-tour-fullscreen-backdrop-expanded {
    align-items: stretch;
    justify-content: stretch;
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen,
  .offer-tour-fullscreen {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--hs-color-text-strong) 90%, transparent);
    color: var(--hs-color-on-primary);
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen-expanded,
  .offer-tour-fullscreen-expanded {
    min-height: 100vh;
  }

  .hs-offer-media-modal__video-frame.offer-tour-video-frame,
  .offer-tour-video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 100vh;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.42)),
      url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=82");
    background-size: cover;
    background-position: center;
  }

  .hs-offer-media-modal__video.offer-tour-video,
  .offer-tour-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: transparent;
  }

  .hs-offer-media-modal__fullscreen-button.offer-tour-fullscreen-button,
  .offer-tour-fullscreen-button {
    position: absolute;
    right: calc(var(--hs-space-3) + env(safe-area-inset-right));
    bottom: calc(var(--hs-space-3) + env(safe-area-inset-bottom));
    z-index: 3;
    width: var(--hs-space-10);
    height: var(--hs-space-10);
    border: 1px solid color-mix(in srgb, var(--hs-color-on-primary) 18%, transparent);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 68%, transparent);
    color: var(--hs-color-on-primary);
    display: grid;
    place-items: center;
    box-shadow: 0 1px 0 color-mix(in srgb, var(--hs-color-text) 6%, transparent);
    cursor: pointer;
    backdrop-filter: blur(12px);
  }

  .hs-offer-media-modal__fullscreen-button.offer-tour-fullscreen-button:hover,
  .offer-tour-fullscreen-button:hover {
    background: color-mix(in srgb, var(--hs-color-text-strong) 80%, transparent);
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen-expanded .hs-offer-media-modal__video-frame,
  .offer-tour-fullscreen-expanded .offer-tour-video-frame {
    width: 100vw;
    height: 100vh;
    max-height: none;
    aspect-ratio: auto;
  }

  .hs-offer-media-modal--tour.offer-tour-fullscreen-expanded .hs-offer-media-modal__fullscreen-button,
  .offer-tour-fullscreen-expanded .offer-tour-fullscreen-button {
    display: none;
  }

  .hs-offer-lightbox__close.offer-tour-fullscreen-close,
  .offer-tour-fullscreen-close {
    position: fixed;
    top: calc(var(--hs-space-3) + env(safe-area-inset-top));
    right: calc(var(--hs-space-3) + env(safe-area-inset-right));
    z-index: 5;
  }

  @media (max-width: 800px) {
    .hs-offer-media-modal--map.offer-map-lightbox-backdrop,
    .offer-map-lightbox-backdrop {
      padding:
        calc(var(--hs-space-3) + env(safe-area-inset-top))
        calc(var(--hs-space-3) + env(safe-area-inset-right))
        calc(var(--hs-space-3) + env(safe-area-inset-bottom))
        calc(var(--hs-space-3) + env(safe-area-inset-left));
      align-items: stretch;
      justify-content: stretch;
    }

    .hs-offer-media-modal--map,
    .offer-map-lightbox {
      width: 100%;
      max-width: none;
      max-height: none;
      height: 100%;
    }

    .hs-offer-media-modal__frame.offer-map-lightbox-frame,
    .offer-map-lightbox-frame {
      min-height: 0;
    }
  }

  @media (max-width: 760px) {
    .hs-offer-media-modal--tour.offer-tour-fullscreen-expanded,
    .offer-tour-fullscreen-expanded {
      position: relative;
      min-height: 100vh;
      overflow: hidden;
    }

    .hs-offer-media-modal--tour.offer-tour-fullscreen-expanded .hs-offer-media-modal__video-frame,
    .offer-tour-fullscreen-expanded .offer-tour-video-frame {
      position: absolute;
      top: var(--hs-position-center);
      left: var(--hs-position-center);
      width: 100vh;
      height: 100vw;
      transform: translate(-50%, -50%) rotate(90deg);
      transform-origin: center;
    }
  }


    /* Offer wizard — canonical hs-offer-wizard-* + legacy add-offer-* aliases */
  .hs-offer-wizard,
  .add-offer-source-shell,
  .add-offer-draft-shell {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-offer-wizard__source-grid,
  .add-offer-source-grid {
    display: grid;
    gap: var(--hs-space-3);
  }

  .hs-offer-wizard__source-page,
  .add-offer-source-page {
    width: min(1120px, 100%);
    margin: var(--hs-space-0) auto;
    display: grid;
    gap: var(--hs-space-6);
  }

  .hs-offer-wizard__source-page--step,
  .add-offer-source-page-step {
    width: min(720px, 100%);
  }

  .hs-offer-wizard__review-panel,
  .add-offer-source-step-panel {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-offer-wizard__draft-shell,
  .add-offer-draft-shell .permalink-page {
    display: grid;
    gap: var(--hs-space-4);
  }

  /* App shell — canonical hs-app-* + legacy ui-*/sidebar-* aliases */
  .hs-app-sidebar,
  .app-sidebar {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .hs-app-toolbar,
  .ui-toolbar {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
    min-height: var(--hs-space-12);
  }

  .hs-app-table,
  .ui-table {
    width: 100%;
    border-collapse: collapse;
  }

  .hs-icon-action-button {
    appearance: none;
    display: inline-flex;
    width: var(--hs-icon-button-size-md);
    height: var(--hs-icon-button-size-md);
    min-width: var(--hs-icon-button-size-md);
    align-items: center;
    justify-content: center;
    border: var(--hs-button-border-width) solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-surface) 88%, transparent);
    color: var(--hs-color-primary);
    box-shadow: var(--hs-shadow-sm);
    backdrop-filter: blur(8px);
    cursor: pointer;
    transition:
      background-color 160ms ease,
      color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  .hs-icon-action-button:hover {
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-md);
  }

  .hs-icon-action-button:active {
    transform: translateY(calc(var(--hs-space-1) / 4));
  }

  .hs-icon-action-button:focus-visible {
    outline: none;
    box-shadow:
      var(--hs-shadow-sm),
      0 0 0 calc(var(--hs-space-1) * 0.75) color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
  }

  .hs-icon-action-button--primary {
    border-color: transparent;
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  /* Brand logo — canonical SVG lockup (homeskaner-small.svg). Sizes: --sm (app header), default/md (landing), --lg (login/splash). */
  .hs-brand-logo--sm {
    height: var(--hs-brand-logo-height-sm);
  }

  .hs-brand-logo--lg {
    height: var(--hs-brand-logo-height-lg);
  }

  .hs-app-shell-main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }

  .hs-app-shell-stage {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    position: relative;
    overflow: hidden;
  }

  .hs-app-tab-panel {
    position: absolute;
    z-index: 50;
    inset: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    background: var(--hs-color-bg);
  }

  .hs-app-tab-panel__header {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: var(--hs-space-1);
    padding:
      var(--hs-space-5)
      var(--hs-space-5)
      var(--hs-space-4);
  }

  .hs-app-tab-panel__header-row {
    display: flex;
    align-items: center;
    gap: var(--hs-space-3);
  }

  .hs-app-tab-panel__title {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-tight);
    letter-spacing: var(--hs-tracking-normal);
  }

  .hs-text-strong {
    color: var(--hs-color-text-strong);
  }

  .hs-text-muted {
    color: var(--hs-color-muted);
  }

  .hs-text-subtle {
    color: color-mix(in srgb, var(--hs-color-muted) 82%, transparent);
  }

  .hs-text-xs-subtle {
    color: color-mix(in srgb, var(--hs-color-muted) 72%, transparent);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-snug);
  }

  .hs-unread-dot {
    width: var(--hs-space-2);
    height: var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    flex-shrink: 0;
  }

  .hs-clickable-card--row.is-unread {
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-notice-banner {
    margin-bottom: var(--hs-space-3);
    padding: var(--hs-space-3);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    color: var(--hs-color-primary);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-snug);
  }

  .hs-touchpoint--mobile-concept {
    --hs-notif-accent-primary: var(--hs-color-primary);
    --hs-notif-accent-success: var(--hs-color-success);
    --hs-notif-accent-danger: var(--hs-color-danger);
    --hs-notif-accent-warning: var(--hs-color-warning, #f59e0b);
    --hs-notif-accent-violet: color-mix(in srgb, var(--hs-color-primary) 65%, #8b5cf6);
    --hs-notif-accent-orange: color-mix(in srgb, var(--hs-color-warning) 78%, var(--hs-color-danger) 22%);
    --hs-notif-accent-neutral: var(--hs-color-muted);
    --hs-notif-accent-strong: var(--hs-color-text-strong);
    --hs-surface-subtle: color-mix(in srgb, var(--hs-color-bg) 88%, var(--hs-color-text) 4%);
    --hs-status-liked: var(--hs-color-success);
    --hs-status-neutral-track: color-mix(in srgb, var(--hs-color-muted) 28%, transparent);
  }

  .hs-text-primary {
    color: var(--hs-color-primary);
  }

  .hs-search-result-card {
    width: 100%;
    margin-bottom: var(--hs-space-2);
    padding: var(--hs-space-3);
  }

  .hs-search-result-card__time {
    flex-shrink: 0;
    color: color-mix(in srgb, var(--hs-color-muted) 72%, transparent);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-tight);
  }

  .hs-search-result-card__media-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-12);
    height: var(--hs-space-12);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-surface-subtle);
  }

  .hs-search-result-card__thumb {
    width: var(--hs-space-12);
    height: var(--hs-space-12);
    border-radius: var(--hs-radius-lg);
    object-fit: cover;
  }

  .hs-search-result-card__property-thumb {
    position: relative;
    flex-shrink: 0;
    width: calc(var(--hs-space-16) + var(--hs-space-4));
    height: calc(var(--hs-space-16) + var(--hs-space-4));
    overflow: hidden;
    border-radius: var(--hs-radius-lg);
    background: var(--hs-surface-subtle);
  }

  .hs-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-icon-badge--sm {
    width: var(--hs-space-5);
    height: var(--hs-space-5);
  }

  .hs-icon-badge--corner {
    position: absolute;
    right: calc(var(--hs-space-1) * -1);
    bottom: calc(var(--hs-space-1) * -1);
  }

  .hs-status-badge {
    position: absolute;
    top: var(--hs-space-1);
    right: var(--hs-space-1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-status-track, var(--hs-status-neutral-track));
  }

  .hs-status-badge--liked {
    --hs-status-track: var(--hs-status-liked);
    color: var(--hs-color-on-primary);
  }

  .hs-app-tab-panel__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: var(--hs-space-4);
    scrollbar-width: none;
  }

  .hs-app-tab-panel__scroll::-webkit-scrollbar {
    display: none;
  }

  .hs-app-tab-panel__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--hs-space-2);
  }

  .hs-bottom-sheet {
    border-radius: var(--hs-radius-xl) var(--hs-radius-xl) 0 0;
    background: var(--hs-color-bg);
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.12);
    padding-bottom: var(--hs-safe-bottom);
    max-height: calc(100% - var(--hs-safe-top));
  }

  .hs-bottom-sheet__handle {
    display: block;
    width: var(--hs-space-12);
    height: calc(var(--hs-space-1) + var(--hs-space-1) / 2);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text) 38%, transparent);
  }

  .hs-map-price-pin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--hs-space-8);
    max-width: min(11.5rem, 46vw);
    padding: 0 var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-text-strong);
    box-shadow: var(--hs-shadow-md);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-tight);
    font-weight: var(--hs-weight-semibold);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .hs-map-price-pin.is-active {
    border-color: var(--hs-color-text-strong);
    background: var(--hs-color-text-strong);
    color: var(--hs-color-surface);
  }

  .hs-map-selected-card {
    overflow: hidden;
    border-radius: var(--hs-radius-xl);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-lg);
  }

  .hs-map-selected-card__media {
    height: 210px;
  }

  .hs-map-embed iframe {
    border: 0;
    filter: saturate(0.9) brightness(1.02);
  }

  .hs-map-price-pin-anchor {
    transform: translate(-50%, -100%);
  }

  .hs-map-price-pin__tail {
    width: 0;
    height: 0;
    margin: 0 auto;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--hs-color-surface);
  }

  .hs-map-price-pin.is-active + .hs-map-price-pin__tail {
    border-top-color: var(--hs-color-text-strong);
  }

  .hs-bottom-sheet__title {
    font-weight: var(--hs-weight-bold);
    font-size: var(--hs-type-heading-xs-size);
    line-height: var(--hs-leading-tight);
    color: var(--hs-color-text-strong);
  }

  .hs-media-dot {
    border-radius: var(--hs-radius-pill);
    height: calc(var(--hs-space-1) + var(--hs-space-1) / 2);
    width: calc(var(--hs-space-1) + var(--hs-space-1) / 2);
    background: color-mix(in srgb, var(--hs-color-on-primary) 45%, transparent);
    transition: all 200ms ease;
  }

  .hs-media-dot.is-active {
    width: var(--hs-space-4);
    background: var(--hs-color-on-primary);
  }

  .hs-media-dot--on-media.is-active {
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.16);
  }

  .hs-media-like-indicator {
    position: absolute;
    top: var(--hs-space-3);
    right: var(--hs-space-3);
    display: flex;
    width: var(--hs-space-8);
    height: var(--hs-space-8);
    align-items: center;
    justify-content: center;
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-success) 85%, transparent);
    color: var(--hs-color-on-primary);
  }

  .hs-conversation-row {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid color-mix(in srgb, var(--hs-color-text-strong) 7%, transparent);
  }

  .hs-conversation-row__swipe-bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 var(--hs-space-5);
    pointer-events: none;
  }

  .hs-conversation-row__swipe-bg--left {
    background: var(--hs-color-primary);
  }

  .hs-conversation-row__swipe-bg--right {
    justify-content: flex-end;
    background: var(--hs-color-danger);
  }

  .hs-conversation-row__button {
    position: relative;
    z-index: 10;
    display: flex;
    width: 100%;
    align-items: center;
    gap: var(--hs-space-3);
    height: 76px;
    padding: 0 var(--hs-space-4);
    text-align: left;
    cursor: pointer;
    background: var(--hs-color-surface);
  }

  .hs-conversation-row__button.is-pinned {
    background: color-mix(in srgb, var(--hs-color-primary) 7%, var(--hs-color-surface));
  }

  .hs-conversation-row__thumb {
    width: var(--hs-space-12);
    height: var(--hs-space-12);
    object-fit: cover;
    border-radius: var(--hs-radius-lg);
  }

  .hs-contact-preview-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--hs-space-2) - (var(--hs-space-1) / 2));
    padding: calc(var(--hs-space-2) + var(--hs-space-1) / 2) 0;
    border-radius: var(--hs-radius-lg);
    background: var(--hs-surface-subtle);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
  }

  .hs-contact-preview-action .hs-icon {
    color: var(--hs-color-primary);
  }

  .hs-icon-action-button--liked .hs-icon {
    color: var(--hs-color-danger);
  }

  .hs-filter-pill {
    appearance: none;
    display: inline-flex;
    min-height: var(--hs-space-10);
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-2);
    padding: 0 var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-muted);
    box-shadow: var(--hs-shadow-sm);
    cursor: pointer;
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-regular);
    line-height: var(--hs-leading-tight);
    white-space: nowrap;
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      color 160ms ease,
      box-shadow 160ms ease;
  }

  .hs-filter-pill__icon {
    flex-shrink: 0;
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
    stroke-width: var(--hs-icon-stroke);
  }

  .hs-filter-pill:hover,
  .hs-filter-pill:focus-visible {
    border-color: color-mix(in srgb, var(--hs-color-primary) 24%, var(--hs-color-border));
    color: var(--hs-color-primary);
  }

  .hs-filter-pill:focus-visible {
    outline: none;
    box-shadow:
      var(--hs-shadow-sm),
      0 0 0 3px color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
  }

  .hs-filter-pill.is-active {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
    box-shadow: var(--hs-shadow-md);
  }

  .hs-filter-pill--soft-primary {
    border-color: color-mix(in srgb, var(--hs-color-primary) 22%, transparent);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-filter-pill--soft-primary:hover,
  .hs-filter-pill--soft-primary:focus-visible {
    border-color: color-mix(in srgb, var(--hs-color-primary) 35%, transparent);
    color: var(--hs-color-primary);
  }

  .hs-filter-pill--soft-primary.is-active {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
    box-shadow: var(--hs-shadow-md);
  }

  .hs-filter-pill--danger {
    border-color: color-mix(in srgb, var(--hs-color-danger) 22%, transparent);
    background: var(--hs-color-danger-soft);
    color: var(--hs-color-danger);
  }

  .hs-filter-pill--danger.is-active {
    border-color: var(--hs-color-danger);
    background: var(--hs-color-danger);
    color: var(--hs-color-on-primary);
  }

  .hs-filter-pill--success {
    border-color: color-mix(in srgb, var(--hs-color-success) 22%, transparent);
    background: var(--hs-color-success-soft);
    color: var(--hs-color-success);
  }

  .hs-filter-pill--success:hover,
  .hs-filter-pill--success:focus-visible {
    border-color: color-mix(in srgb, var(--hs-color-success) 35%, transparent);
    color: var(--hs-color-success);
  }

  .hs-filter-pill--success.is-active {
    border-color: var(--hs-color-success);
    background: var(--hs-color-success);
    color: var(--hs-color-on-primary);
  }

  /* Mobile concept — App preview shell, swipe card, bottom nav */
  .hs-touchpoint--mobile-concept {
    --hs-safe-top: env(safe-area-inset-top, var(--hs-space-0));
    --hs-safe-right: env(safe-area-inset-right, var(--hs-space-0));
    --hs-safe-bottom: env(safe-area-inset-bottom, var(--hs-space-0));
    --hs-safe-left: env(safe-area-inset-left, var(--hs-space-0));
    --hs-app-vh: 100svh;
    --hs-app-vh: 100dvh;
    --hs-app-column-max: 800px;
    overflow-x: clip;
  }

  .hs-mobile-preview.hs-touchpoint--mobile-concept {
    container-type: size;
    container-name: hs-mobile-frame;
    width: 100%;
    max-width: min(100%, var(--hs-app-column-max));
    margin-inline: auto;
  }

  .hs-mobile-preview > .hs-mobile-preview__frame {
    container-type: normal;
    container-name: unset;
  }

  .hs-mobile-preview__frame.hs-touchpoint--mobile-concept {
    container-type: size;
    container-name: hs-mobile-frame;
  }

  .hs-touchpoint--mobile-concept .hs-app-header__actions .hs-icon-circle-button > .hs-icon {
    width: var(--hs-icon-size-large);
    height: var(--hs-icon-size-large);
  }

  .hs-touchpoint--mobile-concept .hs-icon-circle-button {
    width: var(--hs-space-11);
    height: var(--hs-space-11);
    flex: 0 0 auto;
    padding: 0;
  }

  .hs-touchpoint--mobile-concept button.hs-icon-circle-button {
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-space-11);
    height: var(--hs-space-11);
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-primary);
    box-shadow: var(--hs-shadow-sm);
    cursor: pointer;
    transition:
      background-color 160ms ease,
      color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  .hs-touchpoint--mobile-concept button.hs-icon-circle-button:hover,
  .hs-touchpoint--mobile-concept button.hs-icon-circle-button:focus-visible {
    box-shadow: var(--hs-shadow-md);
    outline: none;
  }

  .hs-touchpoint--mobile-concept button.hs-icon-circle-button:active {
    transform: scale(0.96);
  }

  .hs-touchpoint--mobile-concept button.hs-icon-circle-button--primary {
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-touchpoint--mobile-concept button.hs-filter-pill {
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-2);
    min-height: var(--hs-space-10);
    padding: 0 var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-muted);
    cursor: pointer;
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-tight);
    white-space: nowrap;
    transition:
      background-color 160ms ease,
      color 160ms ease,
      border-color 160ms ease;
  }

  .hs-touchpoint--mobile-concept button.hs-filter-pill.is-active {
    border-color: var(--hs-color-primary);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-touchpoint--mobile-concept button.hs-filter-pill--soft-primary.is-active {
    border-color: color-mix(in srgb, var(--hs-color-primary) 35%, transparent);
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-touchpoint--mobile-concept button.hs-filter-pill--success.is-active {
    border-color: var(--hs-color-success);
    background: var(--hs-color-success);
    color: var(--hs-color-on-primary);
  }

  .hs-touchpoint--mobile-concept button.hs-filter-pill--danger.is-active {
    border-color: var(--hs-color-danger);
    background: color-mix(in srgb, var(--hs-color-danger) 12%, transparent);
    color: var(--hs-color-danger);
  }

  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item {
    appearance: none;
    box-sizing: border-box;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-1);
    min-width: 0;
    min-height: var(--hs-bottom-nav-item-height);
    padding: var(--hs-space-1) 0;
    border: 0;
    border-radius: var(--hs-radius-lg);
    background: transparent;
    color: var(--hs-color-text-strong);
    cursor: pointer;
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-tight);
    transition:
      background-color 200ms ease,
      color 200ms ease;
  }

  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item:hover,
  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item:focus-visible {
    outline: none;
  }

  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item--active,
  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item[aria-current="page"] {
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item--active .hs-bottom-nav__icon,
  .hs-touchpoint--mobile-concept button.hs-bottom-nav__item[aria-current="page"] .hs-bottom-nav__icon {
    color: var(--hs-color-primary);
  }

  .hs-touchpoint--mobile-concept .hs-surface-accent,
  .hs-touchpoint--mobile-concept button .hs-surface-accent {
    color: var(--hs-color-on-primary);
  }

  .hs-touchpoint--mobile-concept .hs-surface-accent .hs-icon,
  .hs-touchpoint--mobile-concept button .hs-surface-accent .hs-icon {
    color: var(--hs-color-on-primary);
    stroke: var(--hs-color-on-primary);
  }

  .hs-touchpoint--mobile-concept .hs-app-header,
  .hs-touchpoint--mobile-concept .hs-filter-tabs-bar,
  .hs-touchpoint--mobile-concept .hs-bottom-nav {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  html:has(.hs-touchpoint--mobile-concept),
  body:has(.hs-touchpoint--mobile-concept) {
    background: var(--hs-color-mobile-preview-backdrop);
  }

  .hs-mobile-preview {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background: var(--hs-color-bg);
  }

  .hs-mobile-preview__frame {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    background: var(--hs-color-bg);
    box-shadow: none;
  }

  .hs-mobile-preview.hs-touchpoint--mobile-concept > .hs-mobile-preview__frame {
    min-height: 0;
    height: 100%;
    max-height: 100%;
  }

  .hs-mobile-preview.hs-touchpoint--mobile-concept > .hs-mobile-preview__frame:has(> .hs-app-shell-stage + .hs-bottom-nav) {
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(var(--hs-bottom-nav-height), auto);
    grid-template-areas: "stage" "nav";
    padding-top: var(--hs-safe-top);
    padding-bottom: 0;
    overflow: hidden;
    min-height: 0;
    height: 100%;
  }

  .hs-mobile-preview__frame:has(> .hs-app-shell-stage + .hs-bottom-nav) > .hs-app-shell-stage {
    grid-area: stage;
    flex: none;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }

  .hs-mobile-preview__frame:has(> .hs-app-shell-stage + .hs-bottom-nav) > .hs-bottom-nav {
    grid-area: nav;
    margin-top: 0;
    align-self: end;
    min-height: var(--hs-bottom-nav-height);
  }

  .hs-touchpoint--mobile-concept .hs-filter-tabs-scroll {
    gap: var(--hs-space-2);
    align-items: center;
    overflow-y: visible;
  }

  .hs-mobile-preview__frame--login {
    max-height: var(--hs-app-vh);
    height: 100%;
    min-height: 0;
    overflow-y: auto;
  }

  .hs-mobile-preview__frame--onboarding {
    position: relative;
    overflow: hidden;
  }

  .hs-onboarding-splash {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    padding:
      calc(var(--hs-space-8) + var(--hs-safe-top))
      max(var(--hs-space-8), var(--hs-safe-right))
      calc(var(--hs-space-8) + var(--hs-safe-bottom))
      max(var(--hs-space-8), var(--hs-safe-left));
    border: 0;
    background: var(--hs-color-bg);
    cursor: pointer;
  }

  .hs-onboarding-splash__logo--animated {
    animation: hs-onboarding-logo-pulse 1.5s ease-in-out infinite;
  }

  @keyframes hs-onboarding-logo-pulse {
    0%,
    100% {
      transform: scale(1);
      opacity: 1;
    }

    50% {
      transform: scale(1.04);
      opacity: 0.92;
    }
  }

  .hs-onboarding-inspiration {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
  }

  .hs-onboarding-inspiration__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .hs-onboarding-inspiration__photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    transform-origin: center;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    cursor: default;
    animation: hs-onboarding-hero-zoom 14s ease-out forwards;
  }

  @keyframes hs-onboarding-hero-zoom {
    from {
      transform: scale(1);
    }

    to {
      transform: scale(1.08);
    }
  }

  .hs-onboarding-inspiration__overlay {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
    gap: var(--hs-space-4);
    min-height: 100%;
    width: 100%;
    pointer-events: auto;
    isolation: isolate;
    padding:
      calc(var(--hs-space-6) + var(--hs-safe-top))
      max(var(--hs-space-5), var(--hs-safe-right))
      calc(var(--hs-space-8) + var(--hs-safe-bottom))
      max(var(--hs-space-5), var(--hs-safe-left));
    background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--hs-color-text-strong) 8%, transparent) 0%,
      color-mix(in srgb, var(--hs-color-text-strong) 72%, transparent) 58%,
      color-mix(in srgb, var(--hs-color-text-strong) 88%, transparent) 100%
    );
  }

  .hs-onboarding-inspiration__copy {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-onboarding-inspiration__title {
    margin: 0;
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-30);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-tight);
  }

  .hs-onboarding-inspiration__subtitle {
    margin: 0;
    max-width: calc(var(--hs-layout-40) + var(--hs-space-16));
    color: color-mix(in srgb, var(--hs-color-on-primary) 88%, transparent);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-normal);
  }

  .hs-onboarding-agent-banner {
    align-self: flex-start;
    padding: var(--hs-space-2) var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-primary) 24%, transparent);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
  }

  .hs-onboarding-progress {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
  }

  .hs-onboarding-progress__dot {
    width: var(--hs-space-2);
    height: var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-on-primary) 36%, transparent);
  }

  .hs-onboarding-progress__dot.is-active {
    width: calc(var(--hs-space-6) - (var(--hs-space-1) / 2));
    background: var(--hs-color-on-primary);
  }

  .hs-onboarding-actions {
    display: grid;
    gap: var(--hs-space-3);
    padding-top: var(--hs-space-2);
  }

  .hs-onboarding-inspiration__content {
    display: grid;
    gap: var(--hs-space-4);
    width: 100%;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__overlay {
    padding-left: max(var(--hs-space-5), var(--hs-safe-left));
    padding-right: max(var(--hs-space-5), var(--hs-safe-right));
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-agent-banner {
    align-self: center;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__content {
    width: 100%;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__copy {
    width: 100%;
    text-align: center;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__title,
  .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__subtitle {
    width: 100%;
    max-width: none;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-actions {
    width: 100%;
    padding-top: 0;
  }

  .hs-touchpoint--mobile-concept .hs-onboarding-actions .hs-button {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
  }

  .hs-survey-cta-card {
    display: grid;
    gap: var(--hs-space-3);
    padding: var(--hs-space-4);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
    text-align: center;
    justify-items: center;
  }

  .hs-survey-cta-card > .hs-button {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  @media (min-width: 480px) {
    .hs-survey-cta-card > .hs-button {
      width: 100%;
      max-width: var(--hs-survey-cta-button-max-width);
      justify-self: center;
    }
  }

  .hs-survey-cta-card__title {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-snug);
    text-align: center;
    width: 100%;
  }

  .hs-survey-cta-card__copy {
    margin: 0;
    color: var(--hs-color-text-muted);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
    text-align: center;
    width: 100%;
  }

  .hs-touchpoint--app-embedded .page-shell {
    min-height: 100%;
    padding-top: 0;
  }

  .hs-mobile-status-bar {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    padding: var(--hs-space-4) var(--hs-space-7) var(--hs-space-1);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
  }

  .hs-mobile-status-bar__signal {
    display: flex;
    align-items: center;
    gap: var(--hs-space-1);
  }

  .hs-mobile-status-bar__bar {
    width: var(--hs-space-1);
    border-radius: var(--hs-radius-pill);
    background: currentColor;
  }

  .hs-mobile-status-bar__bar:nth-child(1) {
    height: calc(var(--hs-space-1) * 1.25);
  }

  .hs-mobile-status-bar__bar:nth-child(2) {
    height: calc(var(--hs-space-2) - (var(--hs-space-1) / 4));
  }

  .hs-mobile-status-bar__bar:nth-child(3) {
    height: calc(var(--hs-space-2) + (var(--hs-space-1) / 4));
  }

  .hs-mobile-status-bar__bar:nth-child(4) {
    height: calc(var(--hs-space-3) - (var(--hs-space-1) / 4));
    opacity: 0.3;
  }

  .hs-mobile-status-bar__battery {
    position: relative;
    width: var(--hs-space-4);
    height: calc(var(--hs-space-2) + (var(--hs-space-1) / 2));
    margin-left: var(--hs-space-1);
    border: var(--hs-button-border-width) solid currentColor;
    border-radius: calc(var(--hs-space-1) / 2);
  }

  .hs-mobile-status-bar__battery-level {
    position: absolute;
    inset:
      calc(var(--hs-space-1) / 2)
      var(--hs-space-1)
      calc(var(--hs-space-1) / 2)
      calc(var(--hs-space-1) / 2);
    border-radius: calc(var(--hs-space-1) / 4);
    background: currentColor;
  }

  .hs-mobile-status-bar__battery-cap {
    position: absolute;
    top: var(--hs-position-center);
    right: calc(var(--hs-space-1) * -0.75);
    width: calc(var(--hs-space-1) / 2);
    height: calc(var(--hs-space-2) - (var(--hs-space-1) / 2));
    border-radius: 0 var(--hs-radius-pill) var(--hs-radius-pill) 0;
    background: currentColor;
    transform: translateY(-50%);
  }

  .hs-app-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--hs-space-3);
    min-width: 0;
    padding:
      max(var(--hs-space-4), var(--hs-safe-top))
      max(var(--hs-space-4), var(--hs-safe-right))
      var(--hs-space-3)
      max(var(--hs-space-4), var(--hs-safe-left));
  }

  .hs-app-header__start,
  .hs-app-header__actions {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    min-width: 0;
  }

  .hs-app-header__start {
    flex: 1 1 auto;
    overflow: hidden;
  }

  .hs-app-header__actions {
    flex: 0 0 auto;
    overflow: visible;
  }

  .hs-icon-circle-button__wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
  }

  .hs-icon-circle-button > .hs-icon-circle-button__wrap {
    width: 100%;
    height: 100%;
  }

  .hs-count-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--hs-space-2);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 7%, transparent);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
    white-space: nowrap;
  }

  .hs-icon-circle-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--hs-space-2);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-primary);
    box-shadow: var(--hs-shadow-sm);
    cursor: pointer;
    transition:
      background-color 160ms ease,
      color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  .hs-icon-circle-button:hover,
  .hs-icon-circle-button:focus-visible {
    box-shadow: var(--hs-shadow-md);
    outline: none;
  }

  .hs-icon-circle-button:active {
    transform: scale(0.96);
  }

  .hs-icon-circle-button--primary {
    background: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-icon-circle-button--muted {
    color: var(--hs-color-muted);
  }

  .hs-filter-tabs-bar {
    flex-shrink: 0;
    min-width: 0;
    overflow: visible;
  }

  .hs-filter-tabs-scroll {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding:
      var(--hs-space-2)
      max(var(--hs-space-4), var(--hs-safe-right))
      var(--hs-space-5)
      max(var(--hs-space-4), var(--hs-safe-left));
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    box-sizing: border-box;
  }

  .hs-filter-tabs-scroll::-webkit-scrollbar {
    display: none;
  }

  .hs-bottom-nav {
    position: relative;
    z-index: 40;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-evenly;
    gap: var(--hs-space-2);
    padding:
      calc(var(--hs-space-2) + var(--hs-bottom-nav-badge-bleed))
      max(var(--hs-space-4), var(--hs-safe-right))
      max(var(--hs-space-3), var(--hs-safe-bottom))
      max(var(--hs-space-4), var(--hs-safe-left));
    border-top: 1px solid color-mix(in srgb, var(--hs-color-text-strong) 6%, transparent);
    background: var(--hs-color-surface);
    min-height: var(--hs-bottom-nav-height);
  }

  .hs-bottom-nav__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--hs-icon-size-large);
    height: var(--hs-icon-size-large);
    flex: 0 0 auto;
  }

  .hs-action-badge,
  .hs-bottom-nav__badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hs-space-4);
    height: var(--hs-space-4);
    padding: 0 calc(var(--hs-space-1) / 2);
    border-radius: var(--hs-radius-pill);
    font-size: 0.625rem;
    font-weight: var(--hs-weight-semibold);
    line-height: 1;
  }

  .hs-action-badge--on-surface,
  .hs-bottom-nav__badge {
    background: var(--hs-color-primary);
    color: var(--hs-color-surface);
  }

  .hs-action-badge--on-primary {
    background: var(--hs-color-danger);
    color: var(--hs-color-on-primary);
    box-shadow: 0 0 0 2px var(--hs-color-primary);
  }

  .hs-bottom-nav__badge {
    top: calc(var(--hs-space-1) * -1);
    right: calc(var(--hs-space-2) * -1);
  }

  .hs-icon-circle-button .hs-action-badge {
    top: var(--hs-action-badge-offset);
    right: var(--hs-action-badge-offset);
  }

  .hs-bottom-nav__item {
    appearance: none;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-1);
    min-width: 0;
    min-height: var(--hs-bottom-nav-item-height);
    padding: var(--hs-space-1) 0;
    border: 0;
    border-radius: var(--hs-radius-lg);
    background: transparent;
    color: var(--hs-color-text-strong);
    cursor: pointer;
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-tight);
    transition:
      background-color 200ms ease,
      color 200ms ease;
  }

  .hs-bottom-nav__item:hover,
  .hs-bottom-nav__item:focus-visible {
    outline: none;
  }

  .hs-bottom-nav__item--active,
  .hs-bottom-nav__item[aria-current="page"] {
    background: var(--hs-color-primary-soft);
    color: var(--hs-color-primary);
  }

  .hs-bottom-nav__item--active .hs-bottom-nav__icon,
  .hs-bottom-nav__item[aria-current="page"] .hs-bottom-nav__icon {
    color: var(--hs-color-primary);
  }

  .hs-bottom-nav__icon {
    width: calc(var(--hs-space-6) - (var(--hs-space-1) / 2));
    height: calc(var(--hs-space-6) - (var(--hs-space-1) / 2));
    flex: 0 0 auto;
    stroke-width: var(--hs-icon-stroke);
  }

  .hs-offer-swipe-card {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: var(--hs-space-4);
    cursor: grab;
    touch-action: none;
  }

  .hs-offer-swipe-card:active {
    cursor: grabbing;
  }

  .hs-offer-swipe-card--stacked {
    cursor: default;
  }

  .hs-offer-swipe-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
  }

  .hs-offer-swipe-card__dim {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--hs-color-text-strong) 40%, transparent);
  }

  .hs-offer-swipe-card__dim--light {
    background: color-mix(in srgb, var(--hs-color-surface) 20%, transparent);
  }

  .hs-offer-swipe-card__dim--medium {
    background: color-mix(in srgb, var(--hs-color-surface) 10%, transparent);
  }

  .hs-offer-swipe-card__gradient {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(var(--hs-position-center) + var(--hs-space-12));
    background: linear-gradient(
      to top,
      rgb(0 0 0 / 0.95) 0%,
      rgb(0 0 0 / 0.6) 45%,
      transparent 100%
    );
    pointer-events: none;
  }

  .hs-offer-swipe-card__content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    min-width: 0;
    padding: 0 var(--hs-space-5) var(--hs-space-6);
  }

  .hs-offer-swipe-card__content--with-view-toggle {
    padding-right: calc(var(--hs-space-5) + 6.5rem);
  }

  .hs-offer-swipe-card__badges {
    position: absolute;
    top: var(--hs-space-8);
    left: var(--hs-space-4);
    display: flex;
    gap: var(--hs-space-2);
  }

  .hs-offer-swipe-card__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--hs-space-2);
    margin-bottom: var(--hs-space-1);
    min-width: 0;
  }

  .hs-offer-swipe-card__price {
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-22);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-snug);
  }

  .hs-offer-swipe-card__price-unit {
    color: color-mix(in srgb, var(--hs-color-on-primary) 55%, transparent);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-tight);
  }

  .hs-offer-swipe-card__title {
    margin-bottom: calc(var(--hs-space-1) / 2);
    color: var(--hs-color-on-primary);
    font-size: var(--hs-text-lg);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-ui);
  }

  .hs-offer-swipe-card__location {
    display: flex;
    align-items: center;
    gap: var(--hs-space-1);
    margin-bottom: var(--hs-space-3);
    color: color-mix(in srgb, var(--hs-color-on-primary) 60%, transparent);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-tight);
  }

  .hs-offer-swipe-card__location-icon {
    flex-shrink: 0;
    color: color-mix(in srgb, var(--hs-color-on-primary) 60%, transparent);
  }

  .hs-offer-swipe-card__stats {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
    margin-bottom: 0;
  }

  .hs-offer-swipe-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-1);
    margin-bottom: var(--hs-space-2);
    min-width: 0;
  }

  .hs-offer-swipe-card__meta > * {
    flex-shrink: 0;
  }

  .hs-offer-swipe-card__view-toggle {
    position: absolute;
    right: var(--hs-space-4);
    bottom: var(--hs-space-4);
    z-index: 30;
  }

  .hs-view-toggle-pill {
    appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-2);
    width: max-content;
    max-width: calc(100% - var(--hs-space-8));
    padding: var(--hs-space-3) var(--hs-space-5);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-text-strong) 72%, transparent);
    color: var(--hs-color-on-primary);
    box-shadow: var(--hs-shadow-lg);
    backdrop-filter: blur(8px);
    cursor: pointer;
    font-family: var(--hs-font-sans);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
    white-space: nowrap;
    transition: transform 160ms ease, background-color 160ms ease;
  }

  .hs-view-toggle-pill:hover,
  .hs-view-toggle-pill:focus-visible {
    outline: none;
    background: color-mix(in srgb, var(--hs-color-text-strong) 88%, transparent);
  }

  .hs-view-toggle-pill:active {
    transform: scale(0.96);
  }

  .hs-view-toggle-pill--card {
    position: absolute;
    right: var(--hs-space-4);
    bottom: var(--hs-space-4);
    z-index: 30;
    background: color-mix(in srgb, var(--hs-color-text-strong) 82%, transparent);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .hs-view-toggle-pill--card:hover,
  .hs-view-toggle-pill--card:focus-visible {
    background: color-mix(in srgb, var(--hs-color-text-strong) 92%, transparent);
  }

  .hs-view-toggle-pill--map-center {
    position: absolute;
    bottom: calc(var(--hs-space-4) + var(--hs-safe-bottom));
    left: 50%;
    z-index: 20;
    transform: translateX(-50%);
  }

  .hs-view-toggle-pill--map-center:active {
    transform: translateX(-50%) scale(0.96);
  }

  .hs-offer-swipe-card__view-toggle:hover,
  .hs-offer-swipe-card__view-toggle:focus-visible {
    outline: none;
    background: color-mix(in srgb, var(--hs-color-text-strong) 88%, transparent);
  }

  .hs-offer-swipe-card__view-toggle:active {
    transform: scale(0.94);
  }

  .hs-offer-feature-pill {
    display: inline-flex;
    min-height: var(--hs-space-7);
    align-items: center;
    padding: 0 var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: color-mix(in srgb, var(--hs-color-surface) 12%, transparent);
    color: var(--hs-color-on-primary);
    backdrop-filter: blur(8px);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-medium);
    line-height: var(--hs-leading-tight);
    white-space: nowrap;
  }

  .hs-offer-feature-pill--overlay {
    background: color-mix(in srgb, var(--hs-color-surface) 12%, transparent);
    color: var(--hs-color-on-primary);
    backdrop-filter: blur(8px);
  }

  .hs-swipe-stamp {
    position: absolute;
    top: var(--hs-space-12);
    padding: var(--hs-space-1) var(--hs-space-4);
    border: 4px solid currentColor;
    border-radius: var(--hs-radius-xl);
    color: currentColor;
    font-size: var(--hs-text-22);
    font-weight: var(--hs-weight-display);
    letter-spacing: var(--hs-tracking-section);
    line-height: var(--hs-leading-none);
    text-transform: uppercase;
    white-space: nowrap;
  }

  .hs-swipe-stamp--like {
    left: var(--hs-space-6);
    color: var(--hs-color-swipe-like);
    transform: rotate(-20deg);
  }

  .hs-swipe-stamp--pass {
    right: var(--hs-space-6);
    color: var(--hs-color-primary);
    transform: rotate(20deg);
  }

  .hs-undo-chip {
    position: absolute;
    top: var(--hs-space-3);
    right: var(--hs-space-3);
    z-index: 30;
    display: inline-flex;
    align-items: center;
    gap: calc(var(--hs-space-2) - (var(--hs-space-1) / 2));
    padding: calc(var(--hs-space-2) - (var(--hs-space-1) / 2)) var(--hs-space-3);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-primary);
    box-shadow: var(--hs-shadow-md);
    cursor: pointer;
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
  }

  .hs-empty-state {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--hs-space-4);
  }

  .hs-empty-state__icon {
    display: flex;
    width: var(--hs-space-16);
    height: var(--hs-space-16);
    align-items: center;
    justify-content: center;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    color: var(--hs-color-primary);
    box-shadow: var(--hs-shadow-sm);
  }

  .hs-empty-state__text {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-snug);
    text-align: center;
  }

  .hs-login-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding:
      var(--hs-space-10)
      max(var(--hs-space-6), var(--hs-safe-right))
      calc(var(--hs-space-10) + var(--hs-safe-bottom))
      max(var(--hs-space-6), var(--hs-safe-left));
  }

  .hs-login-form__brand {
    display: flex;
    justify-content: center;
    margin-bottom: var(--hs-space-8);
  }

  .hs-login-form__title {
    margin-bottom: var(--hs-space-2);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-22);
    font-weight: var(--hs-weight-bold);
    line-height: var(--hs-leading-snug);
  }

  .hs-login-form__lead {
    margin-bottom: var(--hs-space-6);
    color: var(--hs-color-muted);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-snug);
  }

  .hs-login-form__fields {
    width: 100%;
    max-width: var(--hs-login-form-fields-max-width);
  }

  .hs-callout {
    margin-bottom: var(--hs-space-4);
    padding: var(--hs-space-3) var(--hs-space-4);
    border-radius: var(--hs-radius-xl);
    font-size: var(--hs-text-md);
    line-height: var(--hs-leading-snug);
  }

  .hs-callout--info {
    background: color-mix(in srgb, var(--hs-color-primary) 10%, transparent);
    color: var(--hs-color-primary);
  }

  .hs-callout--danger {
    background: color-mix(in srgb, var(--hs-color-danger) 10%, transparent);
    color: var(--hs-color-danger);
  }

  .hs-icon-action-button--warning {
    color: var(--hs-color-warning);
  }

  .hs-action-flash {
    position: absolute;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .hs-action-flash__bubble {
    display: flex;
    width: calc(var(--hs-space-12) * 2);
    height: calc(var(--hs-space-12) * 2);
    align-items: center;
    justify-content: center;
    border-radius: var(--hs-radius-pill);
    backdrop-filter: blur(4px);
    font-size: var(--hs-text-36);
    line-height: var(--hs-leading-none);
  }

  .hs-action-flash__bubble--like {
    background: color-mix(in srgb, var(--hs-color-swipe-like) 20%, transparent);
  }

  .hs-action-flash__bubble--nope {
    background: color-mix(in srgb, var(--hs-color-danger) 20%, transparent);
  }

  .hs-action-flash__bubble--star {
    background: color-mix(in srgb, var(--hs-color-warning) 20%, transparent);
  }

  /* Touchpoint form — approval / email landing panels */
  body:has(.hs-touchpoint--form) {
    height: auto;
    min-height: 100dvh;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
  }

  .hs-touchpoint--form .hs-panel {
    width: min(720px, 100%);
    margin-inline: auto;
    margin-block: 0;
    padding:
      calc(var(--hs-space-6) + var(--hs-safe-top))
      max(var(--hs-space-4), var(--hs-safe-right))
      calc(var(--hs-space-8) + var(--hs-safe-bottom))
      max(var(--hs-space-4), var(--hs-safe-left));
    display: grid;
    gap: var(--hs-space-5);
  }

  .hs-panel-header {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-panel-header h1 {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-md-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-panel-header p {
    margin: 0;
    color: var(--hs-color-muted);
    font-size: var(--hs-type-body-sm-size);
    line-height: var(--hs-type-body-line-height);
  }

  .hs-touchpoint--form .hs-offer-card {
    display: grid;
    gap: var(--hs-space-4);
    padding: var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface);
    box-shadow: var(--hs-shadow-sm);
    overflow: hidden;
  }

  .hs-touchpoint--form .hs-offer-card > img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: var(--hs-radius-md);
  }

  .hs-offer-rows {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-offer-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--hs-space-3);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .hs-offer-row span {
    color: var(--hs-color-muted);
  }

  .hs-offer-row strong {
    color: var(--hs-color-text-strong);
    font-weight: var(--hs-weight-semibold);
    text-align: right;
  }

  .hs-info-card {
    padding: var(--hs-space-3);
    border-radius: var(--hs-radius-md);
    background: var(--hs-color-surface-muted);
  }

  .hs-info-rows {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-form {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-form-group {
    display: grid;
    gap: var(--hs-space-4);
  }

  .hs-form-group-title {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-tight);
  }

  .hs-field-legend {
    margin: 0;
    color: var(--hs-color-text);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-normal);
  }

  .hs-required {
    color: var(--hs-color-danger);
  }

  .hs-touchpoint--form .hs-field > label {
    color: var(--hs-color-text);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold);
    line-height: var(--hs-leading-normal);
  }

  .hs-touchpoint--form .hs-field textarea {
    width: 100%;
    min-height: var(--hs-textarea-min-height);
    padding: var(--hs-space-3) var(--hs-input-padding-x);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-md);
    background: var(--hs-color-surface);
    color: var(--hs-color-text);
    font: inherit;
    line-height: var(--hs-leading-normal);
    resize: vertical;
  }

  .hs-touchpoint--form .hs-field textarea:focus {
    outline: 2px solid color-mix(in srgb, var(--hs-color-primary) 28%, transparent);
    outline-offset: 1px;
    border-color: color-mix(in srgb, var(--hs-color-primary) 40%, transparent);
  }

  .hs-radio-group {
    display: grid;
    gap: var(--hs-space-2);
  }

  .hs-radio {
    display: grid;
    grid-template-columns: var(--hs-space-5) minmax(0, 1fr);
    gap: var(--hs-space-3);
    align-items: start;
    padding: var(--hs-space-3);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-md);
    background: var(--hs-color-surface);
    cursor: pointer;
  }

  .hs-radio:has(input:checked) {
    border-color: color-mix(in srgb, var(--hs-color-primary) 50%, transparent);
    background: color-mix(in srgb, var(--hs-color-primary) 6%, var(--hs-color-surface));
  }

  .hs-radio input {
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    margin: calc(var(--hs-space-0) + 1px) var(--hs-space-0) var(--hs-space-0);
    accent-color: var(--hs-color-primary);
  }

  .hs-radio-copy {
    display: grid;
    gap: var(--hs-space-1);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .hs-radio-copy strong {
    color: var(--hs-color-text-strong);
    font-weight: var(--hs-weight-semibold);
  }

  .hs-radio-copy > span:not(:first-child) {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-relaxed);
  }

  .hs-consent {
    display: grid;
    grid-template-columns: var(--hs-space-5) minmax(0, 1fr);
    gap: var(--hs-space-2);
    align-items: start;
    cursor: pointer;
  }

  .hs-consent input[type="checkbox"] {
    width: var(--hs-space-5);
    height: var(--hs-space-5);
    margin: calc(var(--hs-space-0) + 1px) var(--hs-space-0) var(--hs-space-0);
    accent-color: var(--hs-color-primary);
  }

  .hs-consent-copy {
    display: block;
    color: var(--hs-color-muted);
    font-size: var(--hs-text-sm);
    line-height: var(--hs-leading-normal);
  }

  .hs-consent-copy a {
    color: var(--hs-color-primary);
    font-weight: var(--hs-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .hs-consent-copy small {
    color: var(--hs-color-muted);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-relaxed);
  }

  .hs-state {
    display: none;
    gap: var(--hs-space-2);
    padding: var(--hs-space-4);
    border: 1px solid var(--hs-color-border);
    border-radius: var(--hs-radius-lg);
    background: var(--hs-color-surface-muted);
  }

  .hs-state.is-visible {
    display: grid;
  }

  .hs-state h2 {
    margin: 0;
    color: var(--hs-color-text-strong);
    font-size: var(--hs-type-heading-sm-size);
    font-weight: var(--hs-type-heading-weight);
    line-height: var(--hs-type-heading-line-height);
  }

  .hs-state p {
    margin: 0;
  }

  .agent-add-menu-desktop {
    position: relative;
  }

  .hs-form-embed {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--hs-color-bg);
  }

  .hs-form-embed__header {
    flex-shrink: 0;
    align-self: stretch;
    padding:
      calc(var(--hs-space-4) + var(--hs-safe-top))
      max(var(--hs-space-4), var(--hs-safe-right))
      var(--hs-space-2)
      max(var(--hs-space-4), var(--hs-safe-left));
  }

  .hs-form-embed__frame {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: min(100%, var(--hs-app-column-max));
    border: 0;
  }

  .hs-map-list-pill {
    position: absolute;
    bottom: calc(var(--hs-space-4) + var(--hs-safe-bottom));
    left: 50%;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    gap: var(--hs-space-2);
    padding: var(--hs-space-3) var(--hs-space-5);
    border: 0;
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-text-strong);
    color: var(--hs-color-on-primary);
    box-shadow: var(--hs-shadow-lg);
    cursor: pointer;
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold-soft);
    line-height: var(--hs-leading-tight);
    transform: translateX(-50%);
  }

  /* Narrow phones (~320px) — frame width, not browser viewport */
  @container hs-mobile-frame (max-width: 380px) {
    .hs-touchpoint--mobile-concept .hs-app-header {
      gap: var(--hs-space-2);
    }

    .hs-touchpoint--mobile-concept .hs-filter-tabs-scroll {
      gap: var(--hs-space-1);
    }

    .hs-touchpoint--mobile-concept .hs-filter-pill {
      min-height: var(--hs-space-9);
      padding: 0 var(--hs-space-3);
      font-size: var(--hs-text-sm);
    }

    .hs-touchpoint--mobile-concept .hs-map-price-pin {
      min-height: var(--hs-space-7);
      max-width: min(9.5rem, 42cqw);
      padding: 0 var(--hs-space-2);
      font-size: var(--hs-text-sm);
    }

    .hs-touchpoint--mobile-concept .hs-view-toggle-pill {
      padding: var(--hs-space-2) var(--hs-space-4);
      font-size: var(--hs-text-sm);
    }

    .hs-touchpoint--mobile-concept .hs-map-selected-card {
      left: var(--hs-space-3);
      right: var(--hs-space-3);
      bottom: calc(var(--hs-space-4) + var(--hs-safe-bottom));
    }

    .hs-touchpoint--mobile-concept .hs-bottom-nav {
      gap: var(--hs-space-1);
    }

    .hs-touchpoint--mobile-concept .hs-bottom-nav__item {
      min-height: var(--hs-bottom-nav-item-height);
      padding: var(--hs-space-1) 0;
      font-size: var(--hs-text-11);
    }

    .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__title {
      font-size: var(--hs-text-24);
    }

    .hs-touchpoint--mobile-concept .hs-onboarding-inspiration__overlay {
      padding-left: max(var(--hs-space-4), var(--hs-safe-left));
      padding-right: max(var(--hs-space-4), var(--hs-safe-right));
    }

    .hs-touchpoint--mobile-concept .hs-offer-stat-pill--surface {
      padding: 0 var(--hs-space-2);
      font-size: var(--hs-text-sm);
    }

    .hs-touchpoint--mobile-concept .hs-offer-swipe-card__content {
      padding-left: var(--hs-space-4);
      padding-right: var(--hs-space-4);
    }
  }

  /* Short frame height (landscape / short preview panels) */
  @container hs-mobile-frame (max-height: 520px) {
    .hs-touchpoint--mobile-concept .hs-offer-swipe-card__content {
      padding-bottom: var(--hs-space-4);
    }

    .hs-touchpoint--mobile-concept .hs-offer-swipe-card__badges {
      top: var(--hs-space-4);
    }

    .hs-touchpoint--mobile-concept .hs-swipe-stamp {
      top: var(--hs-space-6);
    }

    .hs-touchpoint--mobile-concept .hs-bottom-sheet--list {
      max-height: calc(100% - var(--hs-space-16) - var(--hs-space-2));
    }
  }

  .hs-presentation-booking {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-6);
    min-height: 100%;
  }

  .hs-presentation-booking__header {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-2);
  }

  .hs-presentation-booking__eyebrow {
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text-muted);
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-eyebrow);
  }

  .hs-presentation-booking__title {
    font-size: var(--hs-text-xl);
    font-weight: var(--hs-weight-bold);
    color: var(--hs-color-text-strong);
    line-height: var(--hs-leading-tight);
  }

  .hs-presentation-booking__meta,
  .hs-presentation-booking__note {
    font-size: var(--hs-text-sm);
    color: var(--hs-color-text-muted);
    line-height: var(--hs-leading-normal);
  }

  .hs-presentation-booking__footer {
    position: sticky;
    bottom: 0;
    padding-top: var(--hs-space-4);
    background: linear-gradient(to top, var(--hs-color-surface) 70%, transparent);
  }

  .hs-presentation-slot-list {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-5);
    flex: 1;
  }

  .hs-presentation-slot-day {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-3);
  }

  .hs-presentation-slot-day__title {
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text-strong);
  }

  .hs-presentation-slot-day__items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
  }

  .hs-presentation-slot-item {
    border: 1px solid var(--hs-color-border-subtle);
    border-radius: var(--hs-radius-pill);
    padding: var(--hs-space-2) var(--hs-space-4);
    background: var(--hs-color-surface);
    color: var(--hs-color-text-strong);
    font-size: var(--hs-text-sm);
    font-weight: var(--hs-weight-semibold);
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
  }

  .hs-presentation-slot-item:hover,
  .hs-presentation-slot-item:focus-visible {
    border-color: var(--hs-color-primary);
    outline: none;
  }

  .hs-presentation-slot-item--selected {
    background: var(--hs-color-primary);
    border-color: var(--hs-color-primary);
    color: var(--hs-color-on-primary);
  }

  .hs-presentation-slot-item:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .hs-presentation-success {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-6);
  }

  .hs-presentation-success__icon {
    color: var(--hs-color-success);
  }

  .hs-presentation-success__details {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-4);
    padding: var(--hs-space-4);
    border-radius: var(--hs-space-4);
    background: var(--hs-color-surface-muted);
  }

  .hs-presentation-success__label {
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text-muted);
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-eyebrow);
  }

  .hs-presentation-success__value {
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text-strong);
    line-height: var(--hs-leading-normal);
  }

  .hs-presentation-invitation-card {
    display: block;
    border: 0;
    border-radius: var(--hs-space-3);
    padding: var(--hs-space-3);
    cursor: pointer;
  }

  .hs-presentation-invitation-card:focus-visible {
    outline: 2px solid var(--hs-color-primary);
    outline-offset: 2px;
  }

  .hs-message-presentation-invite {
    display: flex;
    flex-direction: column;
    gap: var(--hs-space-2);
    padding: var(--hs-space-3);
    border-radius: var(--hs-space-3);
    background: var(--hs-color-surface-muted);
    border: 1px solid var(--hs-color-border-subtle);
  }

  .hs-message-presentation-invite__header {
    display: flex;
    align-items: center;
    gap: var(--hs-space-2);
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-primary);
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-caption);
  }

  .hs-message-presentation-invite__offer {
    font-size: var(--hs-text-md);
    font-weight: var(--hs-weight-semibold);
    color: var(--hs-color-text-strong);
    line-height: var(--hs-leading-tight);
  }

  .hs-message-presentation-invite__agent,
  .hs-message-presentation-invite__body {
    font-size: var(--hs-text-sm);
    color: var(--hs-color-text-muted);
    line-height: var(--hs-leading-normal);
  }

  .hs-message-presentation-invite .hs-button {
    margin-top: var(--hs-space-1);
  }

  .hs-presentation-success__email-note {
    margin-top: var(--hs-space-2);
    max-width: var(--hs-layout-prose-max);
    font-size: var(--hs-text-sm);
    color: var(--hs-color-text-muted);
    line-height: var(--hs-leading-normal);
  }

  /* App shell — hs-* context overrides relocated from styles.css (iter12) */
  .global-search-header .hs-input-search {
    flex: 1;
    min-width: 0;
  }

  .ui-toolbar-search .hs-input-search {
    flex: 1;
    min-width: 0;
  }

  .messenger-inbox-view-mobile .hs-input-search {
    min-width: 0;
  }

  @media (max-width: 760px) {
    .messenger-inbox-view-mobile .hs-input-search {
      min-width: 0;
      max-width: 100%;
    }

    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .hs-offer-hero__media-actions,
    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .peek-hero-media-actions {
      left: var(--hs-space-3);
      right: var(--hs-space-3);
      bottom: var(--hs-space-3);
      height: auto;
      min-height: var(--hs-space-12);
    }

    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .hs-offer-hero__media-button.hs-button,
    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .peek-hero-media-button.hs-button {
      width: var(--hs-space-12);
      min-width: var(--hs-space-12);
      max-width: var(--hs-space-12);
      height: var(--hs-space-12);
      min-height: var(--hs-space-12);
      max-height: var(--hs-space-12);
      justify-content: center;
      gap: 0;
      padding: 0;
      border-radius: var(--hs-radius-pill);
    }

    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .hs-offer-hero__media-button.hs-button span,
    .peek-card:not(.peek-card-draft):not(.peek-card-permalink) .peek-hero-media-button.hs-button span {
      position: absolute;
      width: 1px;
      height: calc(var(--hs-space-0) + 1px);
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }
  }

  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips {
    flex-wrap: nowrap;
    gap: var(--hs-space-1);
  }

  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips .hs-meta-pill,
  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips .hs-offer-pill {
    min-height: var(--hs-space-6);
    gap: var(--hs-space-1);
    padding: 0 var(--hs-space-2);
    font-size: var(--hs-text-xs);
    line-height: var(--hs-leading-none);
    border-width: 0.5px;
  }

  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips .hs-meta-pill svg,
  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips .hs-offer-pill svg,
  .permalink-page.permalink-page--mobile .peek-title-meta.hs-offer-meta-chips .hs-icon {
    width: var(--hs-icon-size-small);
    height: var(--hs-icon-size-small);
  }

  .permalink-page .peek-title-meta.hs-offer-meta-chips {
    margin-bottom: var(--hs-space-4);
  }

  .peek-contact-submit.hs-button {
    border-radius: var(--hs-button-radius);
    min-height: var(--hs-button-height-md);
  }

  .peek-contact-submit-inline.hs-button {
    min-width: calc(var(--hs-layout-40) + 16px);
    padding-inline: var(--hs-space-4);
  }

  .peek-params-show-more.hs-button {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  .hs-touchpoint--agent-crm .hs-input-search__label,
  .hs-touchpoint--agent-crm .sidebar-nav-label {
    font-weight: var(--hs-weight-medium);
  }

  .hs-touchpoint--agent-crm .page-shell .messenger-inbox-view {
    width: 100%;
  }

  .hs-touchpoint--agent-crm .page-shell .agent-notifications-view {
    width: 100%;
  }

  /* Form page header — canonical hs-app-header + hs-brand-logo--sm across form touchpoints */
  .hs-touchpoint--public-form .page-shell > .hs-app-header,
  .hs-touchpoint--app-embedded .page-shell > .hs-app-header,
  .hs-touchpoint--agent-send-form .panel > .hs-app-header,
  .hs-touchpoint--form > .hs-app-header {
    flex-shrink: 0;
    margin-bottom: 0;
    width: 100%;
  }

  .hs-touchpoint--public-form .page-shell > .hs-app-header.ui-topbar,
  .hs-touchpoint--app-embedded .page-shell > .hs-app-header.ui-topbar {
    min-height: 0;
    margin-bottom: 0;
  }

  .hs-touchpoint--public-form .page-shell > .hs-app-header .hs-brand-logo--sm,
  .hs-touchpoint--app-embedded .page-shell > .hs-app-header .hs-brand-logo--sm {
    height: var(--hs-form-brand-logo-height);
  }

  .hs-touchpoint--agent-send-form .panel > .hs-app-header.send-form-brand,
  .hs-touchpoint--agent-send-form .panel > .hs-app-header {
    padding: 0;
    margin: 0;
    min-height: 0;
  }

  .hs-touchpoint--agent-send-form .hs-agent-registration-dev-preview {
    display: grid;
    gap: var(--hs-space-2);
    margin-top: var(--hs-space-4);
    padding: var(--hs-space-4);
    border-radius: var(--hs-radius-lg);
    border: 1px dashed var(--hs-color-border);
    background: color-mix(in srgb, var(--hs-color-primary) 4%, var(--hs-color-surface));
  }

  .hs-touchpoint--agent-send-form .hs-agent-registration-dev-preview p {
    margin: 0;
    font-size: var(--hs-text-xs);
    font-weight: var(--hs-weight-semibold-soft);
    color: var(--hs-color-text-muted);
    text-transform: uppercase;
    letter-spacing: var(--hs-tracking-eyebrow);
  }

  .hs-touchpoint--agent-send-form .hs-agent-registration-dev-preview__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--hs-space-2);
  }

  .hs-touchpoint--agent-send-form .hs-agent-registration-dev-preview__links a {
    padding: var(--hs-space-1) var(--hs-space-3);
    border-radius: var(--hs-radius-pill);
    background: var(--hs-color-surface);
    border: 1px solid var(--hs-color-border);
    color: var(--hs-color-primary);
    font-size: var(--hs-text-sm);
    text-decoration: none;
  }

  .hs-touchpoint--agent-send-form .hs-agent-registration-dev-preview__links a.is-active {
    background: var(--hs-color-primary);
    border-color: var(--hs-color-primary);
    color: var(--hs-color-on-primary, #fff);
  }

  .hs-touchpoint--form > .hs-app-header {
    width: min(720px, 100%);
    margin-inline: auto;
    padding:
      calc(var(--hs-space-6) + var(--hs-safe-top))
      max(var(--hs-space-4), var(--hs-safe-right))
      var(--hs-space-3)
      max(var(--hs-space-4), var(--hs-safe-left));
  }

  .hs-touchpoint--form:has(> .hs-app-header) > .hs-panel {
    padding-top: var(--hs-space-5);
  }

  @media (max-width: 799px) {
    .hs-question-card__title.field-title {
      font-size: var(--hs-type-heading-xs-size, var(--hs-text-18));
      line-height: var(--hs-leading-tight);
    }
  }

}

/*
 * Product short form final contract.
 * Kept unlayered because legacy compatibility selectors in this file are also
 * unlayered; this must win the cascade for the static short form only.
 */
.hs-touchpoint--public-form .hs-step-list {
  gap: var(--hs-space-2);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.hs-touchpoint--public-form .hs-step-pill {
  min-block-size: var(--hs-form-nav-pill-height);
  min-height: var(--hs-form-nav-pill-height);
  padding: 0 var(--hs-form-nav-pill-padding-x);
  border-color: var(--hs-form-nav-pill-upcoming-border);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-form-nav-pill-upcoming-bg);
  color: var(--hs-form-nav-pill-upcoming-color);
  font-family: var(--hs-font-sans);
  font-size: var(--hs-form-nav-pill-font-size);
  font-weight: var(--hs-form-nav-pill-font-weight);
  line-height: var(--hs-leading-none);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-step-pill.is-active,
.hs-touchpoint--public-form .hs-step-pill[aria-current="step"] {
  border-color: var(--hs-form-primary);
  background: var(--hs-form-primary);
  color: var(--hs-form-surface);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-step-pill.is-complete,
.hs-touchpoint--public-form .hs-step-pill.is-visited,
.hs-touchpoint--public-form .hs-step-pill.is-clicked {
  border-color: var(--hs-form-nav-pill-complete-border);
  background: var(--hs-form-nav-pill-complete-bg);
  color: var(--hs-form-nav-pill-complete-color);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-step-pill.is-upcoming,
.hs-touchpoint--public-form .hs-step-pill[aria-disabled="true"] {
  border-color: var(--hs-form-nav-pill-upcoming-border);
  background: var(--hs-form-nav-pill-upcoming-bg);
  color: var(--hs-form-nav-pill-upcoming-color);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-step-pill--desktop-contact,
.hs-touchpoint--public-form .hs-step-pill--mobile-contact {
  width: var(--hs-form-nav-pill-width-contact);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-market,
.hs-touchpoint--public-form .hs-step-pill--mobile-market {
  width: var(--hs-form-nav-pill-width-market);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-people,
.hs-touchpoint--public-form .hs-step-pill--mobile-people {
  width: var(--hs-form-nav-pill-width-people);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-location,
.hs-touchpoint--public-form .hs-step-pill--mobile-location {
  width: var(--hs-form-nav-pill-width-location);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-property,
.hs-touchpoint--public-form .hs-step-pill--mobile-property {
  width: var(--hs-form-nav-pill-width-property);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-budget,
.hs-touchpoint--public-form .hs-step-pill--mobile-budget {
  width: var(--hs-form-nav-pill-width-budget);
}

.hs-touchpoint--public-form .hs-step-pill--desktop-area,
.hs-touchpoint--public-form .hs-step-pill--mobile-area-layout {
  width: var(--hs-form-nav-pill-width-area-layout);
}

.hs-touchpoint--public-form .hs-step-arrow {
  inline-size: var(--hs-form-nav-arrow-size);
  block-size: var(--hs-form-nav-arrow-size);
  width: var(--hs-form-nav-arrow-size);
  height: var(--hs-form-nav-arrow-size);
  flex-basis: var(--hs-form-nav-arrow-size);
  border-color: var(--hs-color-border);
  background: var(--hs-color-surface);
  color: var(--hs-color-text);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-form-section {
  box-sizing: border-box;
  display: grid;
  min-width: 0;
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-xl);
  background: var(--hs-color-surface);
}

.hs-touchpoint--public-form {
  --hs-form-welcome-section-padding-desktop: var(--hs-space-16) var(--hs-space-10);
  --hs-form-welcome-section-padding-mobile: var(--hs-space-8) var(--hs-space-6);
}

.hs-touchpoint--public-form .hs-form-section--welcome {
  align-content: start;
  padding: var(--hs-form-welcome-section-padding-desktop);
  border-radius: var(--hs-radius-lg);
}

.hs-touchpoint--public-form .hs-form-section--email-start {
  align-content: start;
  gap: var(--hs-form-email-question-gap);
  padding: var(--hs-form-email-section-padding-desktop);
  border-radius: var(--hs-radius-lg);
}

.hs-touchpoint--public-form .hs-welcome-content {
  width: 100%;
  max-width: var(--hs-welcome-content-max-width);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.hs-touchpoint--public-form .hs-welcome-content__time {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: var(--hs-text-30);
  padding: var(--hs-space-2) var(--hs-space-3);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-primary-hover);
  color: var(--hs-color-on-primary);
  font-size: var(--hs-text-sm);
  line-height: var(--hs-leading-none);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-welcome-content__title {
  font-size: var(--hs-type-heading-sm-size);
  line-height: var(--hs-type-heading-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-welcome-content__body,
.hs-touchpoint--public-form .hs-welcome-content__checklist-intro {
  color: var(--hs-color-muted);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-welcome-content__checklist {
  display: grid;
  gap: var(--hs-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hs-touchpoint--public-form .hs-welcome-content__checklist-item {
  display: flex;
  align-items: center;
  gap: var(--hs-space-2);
  color: var(--hs-color-muted);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
}

.hs-touchpoint--public-form .hs-welcome-content__check,
.hs-touchpoint--public-form .hs-success-content__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-6);
  height: var(--hs-space-6);
  flex: 0 0 var(--hs-space-6);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-primary);
  color: var(--hs-color-on-primary);
  font-size: var(--hs-text-xs);
  line-height: var(--hs-leading-none);
}

.hs-touchpoint--public-form .hs-icon--check {
  position: relative;
}

.hs-touchpoint--public-form .hs-icon--check::before {
  content: "";
  width: calc(var(--hs-icon-size-small) * 0.375);
  height: calc(var(--hs-icon-size-small) * 0.625);
  border: solid currentColor;
  border-width: 0 calc(var(--hs-icon-stroke) * 1px) calc(var(--hs-icon-stroke) * 1px) 0;
  transform: rotate(45deg) translateY(-1px);
}

.hs-touchpoint--public-form .hs-form-section--market {
  align-content: start;
  gap: var(--hs-form-question-gap-market);
  padding: var(--hs-form-market-section-padding-desktop);
}

.hs-touchpoint--public-form .hs-form-section--people {
  align-content: start;
  gap: var(--hs-form-question-gap-people);
  padding: var(--hs-form-people-section-padding-desktop);
  border-radius: var(--hs-radius-lg);
}

.hs-touchpoint--public-form .hs-form-section--property {
  align-content: start;
  gap: var(--hs-form-question-gap-property);
  padding: var(--hs-form-property-section-padding-desktop);
}

.hs-touchpoint--public-form .hs-form-section--budget-buy {
  align-content: start;
  gap: var(--hs-form-question-gap-budget);
  padding: var(--hs-form-budget-section-padding-desktop);
}

.hs-touchpoint--public-form .hs-form-section--budget-rent {
  align-content: start;
  gap: var(--hs-form-question-gap-budget);
  padding: var(--hs-form-budget-section-padding-desktop);
}

.hs-touchpoint--public-form .hs-form-section--area-layout {
  align-content: start;
  gap: var(--hs-form-question-gap-budget);
  padding: var(--hs-form-area-section-padding-desktop);
  border-radius: var(--hs-radius-lg);
}

.hs-touchpoint--public-form .hs-form-section--success {
  align-content: start;
  padding: var(--hs-form-success-section-padding-desktop);
  border-radius: var(--hs-radius-lg);
}

.hs-touchpoint--public-form .hs-form-section--location {
  min-height: var(--hs-form-section-location-height-desktop);
  padding: var(--hs-form-location-section-padding-desktop);
}

.hs-touchpoint--public-form .hs-form-question {
  gap: var(--hs-space-2);
  align-content: start;
}

.hs-touchpoint--public-form .hs-form-question__header {
  align-self: start;
}

.hs-touchpoint--public-form .hs-form-question__title {
  font-size: var(--hs-type-heading-sm-size);
  line-height: var(--hs-type-heading-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-form-question__description {
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
}

.hs-touchpoint--public-form .hs-form-question__eyebrow {
  margin: 0 0 var(--hs-space-4);
  color: var(--hs-color-primary);
  font-size: var(--hs-type-heading-xs-size);
  line-height: var(--hs-leading-snug);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-question-card__heading-group {
  display: grid;
  gap: var(--hs-space-2);
}

.hs-touchpoint--public-form .hs-question-card__eyebrow {
  margin: 0;
  color: var(--hs-color-primary);
  font-size: var(--hs-type-heading-xs-size);
  line-height: var(--hs-leading-snug);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-choice-grid--stacked {
  grid-template-columns: 1fr;
}

.hs-touchpoint--public-form :is(
  .hs-email-start-step,
  .hs-market-step,
  .hs-people-step,
  .hs-location-step,
  .hs-property-step,
  .hs-budget-step,
  .hs-space-step,
  .hs-invite-step
) {
  display: grid;
  gap: var(--hs-space-6);
  width: 100%;
}

.hs-touchpoint--public-form :is(
  .hs-email-start-step__content,
  .hs-market-step__content,
  .hs-people-step__content,
  .hs-location-step__content,
  .hs-property-step__content,
  .hs-budget-step__content,
  .hs-space-step__content,
  .hs-invite-step__intro,
  .hs-invite-step__section
) {
  display: grid;
  gap: var(--hs-space-4);
  width: 100%;
}

.hs-touchpoint--public-form .hs-people-step__content {
  width: min(100%, var(--hs-form-people-content-width));
  margin-inline: auto;
}

.hs-touchpoint--public-form .hs-location-step__content {
  width: min(100%, var(--hs-form-location-question-width));
  margin-inline: auto;
}

.hs-touchpoint--public-form .hs-email-start-step__content,
.hs-touchpoint--public-form .hs-email-start-consent__field {
  max-width: var(--hs-form-email-content-max-width);
  margin-inline: auto;
}

.hs-touchpoint--public-form .hs-email-start-consent,
.hs-touchpoint--public-form .hs-email-start-consent__field {
  display: grid;
  gap: var(--hs-space-3);
  width: 100%;
}

.hs-touchpoint--public-form :is(
  .hs-email-start-step__field-label,
  .hs-invite-step__field-label
) {
  color: var(--hs-color-text-strong);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-invite-step__section-title {
  margin: 0;
  color: var(--hs-color-text-strong);
  font-size: var(--hs-type-heading-xs-size);
  line-height: var(--hs-leading-snug);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-invite-step__eyebrow {
  width: fit-content;
}

.hs-touchpoint--public-form .hs-invite-step__inline-actions {
  display: grid;
  gap: var(--hs-space-3);
}

.hs-touchpoint--public-form .hs-invite-step__trust-list {
  display: grid;
  gap: var(--hs-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hs-touchpoint--public-form .hs-invite-step__trust-row {
  display: flex;
  align-items: flex-start;
  gap: var(--hs-space-2);
}

.hs-touchpoint--public-form .hs-choice-list--short-form {
  display: grid;
  gap: var(--hs-form-choice-list-gap);
  width: min(100%, var(--hs-form-choice-max-width));
}

.hs-touchpoint--public-form .hs-space-step__choices {
  display: grid;
  gap: var(--hs-form-choice-list-gap);
  width: min(100%, var(--hs-form-choice-max-width));
}

.hs-touchpoint--public-form .hs-choice-list--property {
  display: grid;
  gap: var(--hs-form-choice-list-gap);
  width: min(100%, var(--hs-form-choice-max-width));
}

.hs-touchpoint--public-form .hs-choice-list--budget {
  display: grid;
  gap: var(--hs-form-choice-list-gap-relaxed);
  width: min(100%, var(--hs-form-choice-max-width));
}

.hs-touchpoint--public-form .hs-choice--short-form {
  box-sizing: border-box;
  height: var(--hs-form-choice-height);
  width: min(100%, var(--hs-form-choice-max-width));
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-form-choice-radius);
  background: var(--hs-color-surface);
  box-shadow: none;
  overflow: hidden;
}

.hs-touchpoint--public-form .hs-choice--short-form .hs-choice__label {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 0 var(--hs-form-choice-padding-x);
}

.hs-touchpoint--public-form .hs-choice--short-form .hs-choice__text {
  font-size: var(--hs-form-choice-font-size);
  line-height: var(--hs-form-choice-line-height);
  font-weight: var(--hs-form-choice-font-weight);
}

.hs-touchpoint--public-form .hs-choice--property {
  box-sizing: border-box;
  height: var(--hs-form-choice-height);
  width: min(100%, var(--hs-form-choice-max-width));
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-form-choice-radius);
  background: var(--hs-color-surface);
  box-shadow: none;
  overflow: hidden;
}

.hs-touchpoint--public-form .hs-choice--budget {
  box-sizing: border-box;
  height: var(--hs-form-choice-height);
  width: min(100%, var(--hs-form-choice-max-width));
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-form-choice-radius);
  background: var(--hs-color-surface);
  box-shadow: none;
  overflow: hidden;
}

.hs-touchpoint--public-form .hs-choice--property .hs-choice__label {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 0 var(--hs-form-choice-padding-x);
}

.hs-touchpoint--public-form .hs-choice--budget .hs-choice__label {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 0 var(--hs-form-choice-padding-x);
}

.hs-touchpoint--public-form .hs-choice--property .hs-choice__text {
  font-size: var(--hs-form-choice-font-size);
  line-height: var(--hs-form-choice-line-height);
  font-weight: var(--hs-form-choice-font-weight);
}

.hs-touchpoint--public-form .hs-choice--budget .hs-choice__text {
  font-size: var(--hs-form-choice-font-size);
  line-height: var(--hs-form-choice-line-height);
  font-weight: var(--hs-form-choice-font-weight);
}

.hs-touchpoint--public-form .hs-choice--short-form:hover:not(.is-selected):not(:has(.hs-choice__input:checked)),
.hs-touchpoint--public-form .hs-choice--property:hover:not(.is-selected):not(:has(.hs-choice__input:checked)),
.hs-touchpoint--public-form .hs-choice--budget:hover:not(.is-selected):not(:has(.hs-choice__input:checked)) {
  border-color: var(--hs-form-choice-hover-border);
  background: var(--hs-form-choice-hover-bg);
}

.hs-touchpoint--public-form .hs-choice--short-form.is-selected,
.hs-touchpoint--public-form .hs-choice--short-form:has(.hs-choice__input:checked),
.hs-touchpoint--public-form .hs-choice--property.is-selected,
.hs-touchpoint--public-form .hs-choice--property:has(.hs-choice__input:checked),
.hs-touchpoint--public-form .hs-choice--budget.is-selected,
.hs-touchpoint--public-form .hs-choice--budget:has(.hs-choice__input:checked) {
  border-color: var(--hs-color-primary);
  background: var(--hs-color-primary-soft);
  box-shadow: inset 0 0 0 1px var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-form-footer {
  box-sizing: border-box;
  height: var(--hs-form-footer-height);
  min-height: var(--hs-form-footer-height);
  padding: var(--hs-space-4);
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-lg);
  background: var(--hs-color-surface);
}

.hs-touchpoint--public-form .hs-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--hs-space-3);
  width: 100%;
  height: auto;
  padding: 0;
  background: transparent;
}

.hs-touchpoint--public-form .hs-form-footer--welcome .hs-button--secondary {
  display: none;
}

.hs-touchpoint--public-form .hs-button {
  min-height: var(--hs-button-height-md);
  min-width: var(--hs-button-min-width);
  padding-inline: var(--hs-button-padding-x);
  font-family: var(--hs-font-sans);
  font-size: var(--hs-button-font-size);
  font-weight: var(--hs-button-font-weight);
  line-height: var(--hs-button-line-height);
}

.hs-touchpoint--public-form .hs-email-start-field {
  display: grid;
  gap: var(--hs-field-gap);
  width: 100%;
}

.hs-touchpoint--public-form .hs-email-start-field .hs-field__label {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--hs-space-1);
  min-height: var(--hs-form-email-field-label-height);
  color: var(--hs-color-text);
  font-size: var(--hs-text-sm);
  font-weight: var(--hs-weight-semibold-soft);
  line-height: var(--hs-leading-none);
}

.hs-touchpoint--public-form .hs-field__required {
  color: var(--hs-color-danger);
  font-size: var(--hs-text-sm);
  line-height: var(--hs-leading-snug);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-email-start-field .hs-input {
  box-sizing: border-box;
  height: var(--hs-form-email-field-control-height);
  min-height: var(--hs-form-email-field-control-height);
  padding: 0 var(--hs-space-3);
  border-color: var(--hs-color-border);
  border-radius: var(--hs-form-email-field-control-radius);
}

.hs-touchpoint--public-form .hs-consent {
  display: grid;
  grid-template-columns: var(--hs-space-5) minmax(0, 1fr);
  gap: var(--hs-space-2);
  align-items: start;
  min-height: var(--hs-form-consent-min-height);
  cursor: pointer;
}

.hs-touchpoint--public-form .hs-consent input[type="checkbox"] {
  width: var(--hs-space-5);
  height: var(--hs-space-5);
  margin: 0;
  accent-color: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-consent-copy {
  display: block;
  color: var(--hs-color-muted);
  font-size: var(--hs-form-choice-font-size);
  line-height: var(--hs-form-choice-line-height);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-budget-range {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: var(--hs-form-budget-range-height);
  padding-inline: var(--hs-space-4);
  overflow: hidden;
}

.hs-touchpoint--public-form .hs-budget-range__axis {
  position: relative;
  flex: 1 1 0;
  width: 100%;
  max-width: var(--hs-form-budget-range-axis-max-width);
  min-width: var(--hs-form-budget-range-axis-min-width);
  height: var(--hs-form-budget-range-axis-height);
}

.hs-touchpoint--public-form .hs-financial-scale {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--hs-form-budget-scale-top);
  height: var(--hs-form-budget-scale-height);
}

.hs-touchpoint--public-form .hs-financial-scale__track,
.hs-touchpoint--public-form .hs-budget-range__active-track {
  position: absolute;
  height: var(--hs-form-budget-scale-track-height);
  border-radius: var(--hs-radius-pill);
  pointer-events: none;
}

.hs-touchpoint--public-form .hs-financial-scale__track {
  left: 0;
  right: 0;
  top: var(--hs-form-budget-scale-track-top);
  background: var(--hs-color-border);
}

.hs-touchpoint--public-form .hs-budget-range__active-track {
  top: var(--hs-form-budget-track-top);
  left: var(--hs-budget-min-position, 10%);
  width: calc(var(--hs-budget-max-position, 80%) - var(--hs-budget-min-position, 10%));
  background: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-financial-scale__ticks {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--hs-form-budget-scale-ticks-top);
  height: var(--hs-space-5);
}

.hs-touchpoint--public-form .hs-financial-scale__tick {
  position: absolute;
  top: 0;
  color: var(--hs-color-muted);
  font-size: var(--hs-form-nav-pill-font-size);
  line-height: var(--hs-leading-tight);
  font-weight: var(--hs-weight-semibold-soft);
  letter-spacing: var(--hs-tracking-eyebrow);
  transform: translateX(-50%);
  white-space: nowrap;
}

.hs-touchpoint--public-form .hs-financial-scale__tick:first-child {
  transform: none;
}

.hs-touchpoint--public-form .hs-financial-scale__tick:last-child {
  transform: translateX(-100%);
}

.hs-touchpoint--public-form .hs-financial-scale__tick--0 {
  left: 0;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--1 {
  left: 20%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--2 {
  left: 40%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--3 {
  left: 60%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--4 {
  left: 80%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--5 {
  left: 100%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-0 {
  left: 0;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-5 {
  left: 15.89%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-10 {
  left: 31.96%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-15 {
  left: 48.75%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-20 {
  left: 65.18%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-25 {
  left: 81.96%;
}

.hs-touchpoint--public-form .hs-financial-scale__tick--rent-30 {
  left: 100%;
}

.hs-touchpoint--public-form .hs-budget-range__markers {
  position: absolute;
  inset: var(--hs-form-budget-marker-top) 0 auto;
  height: var(--hs-layout-20);
  pointer-events: none;
}

.hs-touchpoint--public-form .hs-value-counter {
  position: absolute;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--hs-space-1);
  min-height: var(--hs-form-budget-value-counter-height);
  padding: var(--hs-space-2) var(--hs-space-3);
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-lg);
  background: var(--hs-color-surface);
  color: var(--hs-color-text);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  pointer-events: auto;
  transform: translateX(-50%);
}

.hs-touchpoint--public-form .hs-value-counter--min {
  left: var(--hs-budget-min-position, 10%);
}

.hs-touchpoint--public-form .hs-value-counter--max {
  left: var(--hs-budget-max-position, 80%);
}

.hs-touchpoint--public-form .hs-value-counter__suffix {
  font-size: var(--hs-text-10);
  line-height: var(--hs-leading-snug);
}

.hs-touchpoint--public-form .hs-value-counter__value {
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-value-counter__size,
.hs-touchpoint--public-form .hs-value-counter__currency,
.hs-touchpoint--public-form .hs-value-counter__area-unit {
  font-size: var(--hs-text-10);
  line-height: var(--hs-leading-snug);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-budget-range__handle {
  position: absolute;
  top: calc(var(--hs-form-budget-track-top) - (var(--hs-form-budget-handle-size) / 2) + (var(--hs-form-budget-scale-track-height) / 2));
  width: var(--hs-form-budget-handle-size);
  height: var(--hs-form-budget-handle-size);
  border: 0;
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-primary);
  pointer-events: none;
  transform: translateX(-50%);
}

.hs-touchpoint--public-form .hs-budget-range__handle--min {
  left: var(--hs-budget-min-position, 10%);
}

.hs-touchpoint--public-form .hs-budget-range__handle--max {
  left: var(--hs-budget-max-position, 80%);
}

.hs-touchpoint--public-form .hs-budget-range__input {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--hs-form-budget-track-top) - var(--hs-space-4));
  width: 100%;
  height: var(--hs-space-10);
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.hs-touchpoint--public-form .hs-area-range {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: var(--hs-form-area-range-height);
  overflow: hidden;
}

.hs-touchpoint--public-form .hs-area-range__axis {
  position: absolute;
  inset: 0 var(--hs-form-area-range-safe-inset);
}

.hs-touchpoint--public-form .hs-area-scale {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--hs-form-area-scale-top);
  height: var(--hs-form-area-scale-height);
}

.hs-touchpoint--public-form .hs-area-scale__track,
.hs-touchpoint--public-form .hs-area-range__active-track {
  position: absolute;
  left: 0;
  right: 0;
  height: var(--hs-form-area-scale-track-height);
  border-radius: var(--hs-radius-pill);
  pointer-events: none;
}

.hs-touchpoint--public-form .hs-area-scale__track {
  background: var(--hs-color-border);
}

.hs-touchpoint--public-form .hs-area-range__active-track {
  top: var(--hs-form-area-scale-top);
  left: var(--hs-area-min-position, 20%);
  right: auto;
  width: calc(var(--hs-area-max-position, 80%) - var(--hs-area-min-position, 20%));
  background: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-area-scale__ticks {
  position: absolute;
  top: calc(var(--hs-space-4) + var(--hs-form-area-scale-track-height));
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  color: var(--hs-color-muted);
  font-size: var(--hs-form-nav-pill-font-size);
  line-height: var(--hs-leading-tight);
  font-weight: var(--hs-weight-semibold-soft);
  letter-spacing: var(--hs-tracking-eyebrow);
  white-space: nowrap;
}

.hs-touchpoint--public-form .hs-area-range__markers {
  position: absolute;
  inset: var(--hs-space-2) 0 auto;
  height: var(--hs-layout-20);
  pointer-events: none;
}

.hs-touchpoint--public-form .hs-area-range__markers .hs-value-counter {
  top: 0;
}

.hs-touchpoint--public-form .hs-value-counter--area-min {
  left: var(--hs-area-min-position, 20%);
}

.hs-touchpoint--public-form .hs-value-counter--area-max {
  left: var(--hs-area-max-position, 80%);
}

.hs-touchpoint--public-form .hs-area-range__handle {
  position: absolute;
  top: calc(var(--hs-form-area-scale-top) - (var(--hs-form-budget-handle-size) / 2) + (var(--hs-form-area-scale-track-height) / 2));
  width: var(--hs-form-budget-handle-size);
  height: var(--hs-form-budget-handle-size);
  border: 0;
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-primary);
  pointer-events: none;
  transform: translateX(-50%);
}

.hs-touchpoint--public-form .hs-area-range__handle--min {
  left: var(--hs-area-min-position, 20%);
}

.hs-touchpoint--public-form .hs-area-range__handle--max {
  left: var(--hs-area-max-position, 80%);
}

.hs-touchpoint--public-form .hs-area-range__input {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--hs-form-area-scale-top) - var(--hs-space-4));
  width: 100%;
  height: var(--hs-space-10);
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.hs-touchpoint--public-form .hs-room-needs {
  display: grid;
  width: 100%;
  border-radius: var(--hs-radius-sm);
}

.hs-touchpoint--public-form .hs-room-needs__row {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  min-height: var(--hs-form-room-needs-row-height);
  border-bottom: 1px solid var(--hs-color-border);
}

.hs-touchpoint--public-form .hs-room-needs__row:last-child {
  border-bottom: 0;
}

.hs-touchpoint--public-form .hs-room-needs__label {
  flex: 1 1 0;
  min-width: 0;
  color: var(--hs-color-text-strong);
  font-size: var(--hs-type-body-size);
  line-height: normal;
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-stepper-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--hs-space-2);
  width: var(--hs-form-stepper-chip-width);
  height: var(--hs-form-stepper-chip-height);
  padding: var(--hs-space-1) var(--hs-space-4);
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-pill);
}

.hs-touchpoint--public-form .hs-stepper-chip__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-form-stepper-button-size);
  height: var(--hs-form-stepper-button-size);
  padding: 0;
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-bg);
  color: var(--hs-color-text);
  cursor: pointer;
}

.hs-touchpoint--public-form .hs-stepper-chip__button:hover,
.hs-touchpoint--public-form .hs-stepper-chip__button:focus-visible {
  border-color: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-stepper-chip__button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.hs-touchpoint--public-form .hs-stepper-chip__value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-form-stepper-value-width);
  height: var(--hs-space-6);
  color: var(--hs-color-text-strong);
  font-size: var(--hs-form-stepper-value-size);
  line-height: normal;
  font-weight: var(--hs-weight-semibold-soft);
  text-align: center;
}

.hs-touchpoint--public-form .hs-room-needs__action-row {
  display: flex;
  align-items: center;
  min-height: var(--hs-form-room-needs-action-row-height);
}

.hs-touchpoint--public-form .hs-success-content,
.hs-touchpoint--public-form .hs-success-content__stack {
  display: grid;
  gap: var(--hs-space-4);
  width: 100%;
}

.hs-touchpoint--public-form .hs-success-content__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: var(--hs-form-success-status-height);
  padding: 0 var(--hs-space-3);
  border: 1px solid var(--hs-color-success);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-success-soft);
  color: var(--hs-color-success);
  font-size: var(--hs-text-xs);
  line-height: var(--hs-leading-none);
  font-weight: var(--hs-weight-bold);
}

.hs-touchpoint--public-form .hs-success-content__title {
  color: var(--hs-color-text-strong);
  font-size: var(--hs-type-heading-sm-size);
  line-height: var(--hs-type-heading-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-success-content__description,
.hs-touchpoint--public-form .hs-success-content__next-title,
.hs-touchpoint--public-form .hs-success-content__next-item {
  color: var(--hs-color-muted);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-success-content__next-list {
  display: grid;
  gap: var(--hs-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hs-touchpoint--public-form .hs-success-content__next-item {
  display: flex;
  align-items: center;
  gap: var(--hs-space-2);
}

.hs-touchpoint--public-form .hs-location-search {
  width: min(100%, var(--hs-form-location-content-width));
  gap: var(--hs-form-location-answer-gap);
  margin-inline: auto;
}

.hs-touchpoint--public-form .hs-location-block,
.hs-touchpoint--public-form .hs-location-search__input-group {
  gap: var(--hs-form-location-field-gap);
  margin-bottom: 0;
  border-radius: var(--hs-space-1);
}

.hs-touchpoint--public-form .hs-location-search__input-group .hs-field__label {
  font-size: var(--hs-form-location-field-label-size);
  line-height: normal;
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-location-search__field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--hs-space-2);
  min-height: var(--hs-form-location-input-height);
  padding: var(--hs-space-2) var(--hs-space-3);
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-lg);
  background: var(--hs-color-surface);
}

.hs-touchpoint--public-form .hs-location-search__field--has-selection {
  align-items: flex-start;
  border-radius: var(--hs-radius-xl);
}

.hs-touchpoint--public-form .hs-location-search__field--dropdown-open {
  border-radius: var(--hs-radius-xl);
}

.hs-touchpoint--public-form .hs-location-search__field .hs-input-search__icon {
  display: none;
}

.hs-touchpoint--public-form .hs-location-search__input {
  flex: 1 1 180px;
  min-width: 120px;
  box-sizing: border-box;
  height: auto;
  min-height: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-type-body-sm-line-height);
}

.hs-touchpoint--public-form .hs-location-search__input--compact {
  flex: 0 0 24px;
  min-width: 24px;
}

.hs-touchpoint--public-form .hs-location-search__input--compact:focus {
  flex-basis: 120px;
}

.hs-touchpoint--public-form .hs-location-selected-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hs-space-2);
  align-items: center;
  width: 100%;
}

.hs-touchpoint--public-form .hs-location-search__selected--inline {
  width: auto;
  max-width: 100%;
  flex: 0 1 auto;
}

.hs-touchpoint--public-form .hs-location-search__selected[hidden] {
  display: none;
}

.hs-touchpoint--public-form .hs-location-chip {
  box-sizing: border-box;
  min-height: var(--hs-form-location-chip-height);
  padding: var(--hs-space-0) var(--hs-space-2) var(--hs-space-0) var(--hs-space-0);
  border-color: var(--hs-color-primary);
  background: var(--hs-color-primary-soft);
  color: var(--hs-color-primary);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-button-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-location-chip.is-active,
.hs-touchpoint--public-form .hs-location-chip.is-selected,
.hs-touchpoint--public-form .hs-location-chip.has-district-selection:not(.is-selected) {
  border-color: var(--hs-color-primary);
  background: var(--hs-color-primary-soft);
  color: var(--hs-color-primary);
  box-shadow: none;
}

.hs-touchpoint--public-form .hs-location-chip__label {
  white-space: nowrap;
}

.hs-touchpoint--public-form .hs-location-chip__label:is(button) {
  min-height: var(--hs-form-location-chip-height);
  padding: var(--hs-space-0) var(--hs-space-0) var(--hs-space-0) var(--hs-space-3);
}

.hs-touchpoint--public-form .hs-location-chip__indicator,
.hs-touchpoint--public-form .hs-location-chip__remove {
  position: relative;
  width: var(--hs-form-location-chip-action-size);
  min-width: var(--hs-form-location-chip-action-size);
  height: var(--hs-form-location-chip-action-size);
  padding: var(--hs-space-0);
}

.hs-touchpoint--public-form .hs-location-chip__indicator {
  background: var(--hs-color-bg);
  color: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-location-chip__remove {
  background: transparent;
  color: inherit;
}

.hs-touchpoint--public-form .hs-location-chip__count {
  display: inline-block;
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-button-line-height);
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-location-chip__clear {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  background: transparent;
  opacity: 0;
  transform: translate(-50%, -50%);
}

.hs-touchpoint--public-form .hs-location-chip__clear::before,
.hs-touchpoint--public-form .hs-location-chip__clear::after {
  position: absolute;
  top: var(--hs-position-center);
  left: var(--hs-position-center);
  content: "";
}

.hs-touchpoint--public-form .hs-location-chip__clear::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.hs-touchpoint--public-form .hs-location-chip__clear::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.hs-touchpoint--public-form .hs-location-chip__remove .hs-location-chip__clear,
.hs-touchpoint--public-form .hs-location-chip__indicator:hover .hs-location-chip__clear,
.hs-touchpoint--public-form .hs-location-chip__indicator:focus-visible .hs-location-chip__clear {
  opacity: 1;
}

.hs-touchpoint--public-form .hs-location-chip__indicator:hover .hs-location-chip__count,
.hs-touchpoint--public-form .hs-location-chip__indicator:focus-visible .hs-location-chip__count {
  opacity: 0;
}

.hs-touchpoint--public-form .hs-district-view-toggle {
  justify-self: stretch;
  width: fit-content;
  max-width: 100%;
  min-height: var(--hs-form-location-toggle-height);
  gap: var(--hs-space-1);
}

.hs-touchpoint--public-form .hs-district-view-toggle__button {
  min-height: var(--hs-form-location-toggle-option-height);
  height: var(--hs-form-location-toggle-option-height);
  font-size: var(--hs-type-body-sm-size);
  line-height: var(--hs-form-question-description-line-height);
  font-weight: var(--hs-weight-regular);
}

.hs-touchpoint--public-form .hs-district-picker--embedded {
  gap: var(--hs-form-location-map-instruction-top);
  margin-top: 0;
  padding-top: var(--hs-space-3);
}

.hs-touchpoint--public-form .hs-city-map {
  gap: var(--hs-form-location-map-top);
}

.hs-touchpoint--public-form .hs-choice-list--district {
  display: grid;
  gap: var(--hs-space-2);
}

.hs-touchpoint--public-form .hs-location-search__suggestions {
  gap: 0;
  max-height: var(--hs-form-location-dropdown-max-height);
  border: 1px solid var(--hs-color-border);
  border-top: 0;
  border-bottom-right-radius: var(--hs-radius-lg);
  border-bottom-left-radius: var(--hs-radius-lg);
  background: var(--hs-color-surface);
  overflow: hidden;
  overflow-y: auto;
}

.hs-touchpoint--public-form .hs-location-search__suggestions[hidden] {
  display: none;
  border: 0;
}

.hs-touchpoint--public-form .hs-location-search__action-row {
  display: flex;
  align-items: stretch;
  min-height: 60px;
  padding: var(--hs-space-3);
  border-top: 1px solid var(--hs-color-border);
  background: var(--hs-color-surface);
}

.hs-touchpoint--public-form .hs-location-search__confirm-button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 480px) {
  .hs-touchpoint--public-form .hs-location-search--list-dropdown {
    position: relative;
  }

  .hs-touchpoint--public-form .hs-location-search--list-dropdown .hs-location-search__suggestions {
    position: absolute;
    top: calc(100% + var(--hs-space-4));
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    height: var(--hs-form-location-overlay-height-mobile);
    max-height: none;
    overflow-y: auto;
    z-index: 2;
  }

  .hs-touchpoint--public-form .hs-location-search--list-dropdown .hs-location-search__action-row {
    position: sticky;
    bottom: 0;
    z-index: 1;
    margin-top: auto;
  }
}

.hs-touchpoint--public-form .hs-location-search--map-view .hs-district-picker--embedded {
  gap: var(--hs-space-4);
  padding-top: 0;
  border-top: 0;
}

.hs-touchpoint--public-form .hs-location-search--map-view .hs-city-map {
  gap: var(--hs-space-4);
}

.hs-touchpoint--public-form .hs-location-search__suggestion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hs-space-3);
  min-height: 56px;
  padding: var(--hs-space-2) var(--hs-space-4);
  border: 0;
  border-top: 1px solid var(--hs-color-border);
  border-radius: 0;
}

.hs-touchpoint--public-form .hs-location-search__suggestions > .hs-location-search__suggestion:first-child {
  border-top: 0;
}

.hs-touchpoint--public-form .hs-location-search__suggestion:hover,
.hs-touchpoint--public-form .hs-location-search__suggestion:focus-visible {
  background: var(--hs-color-surface);
  border-color: var(--hs-color-border);
  outline: 3px solid var(--hs-color-primary-ring);
  outline-offset: -3px;
}

.hs-touchpoint--public-form .hs-location-search__suggestion-copy,
.hs-touchpoint--public-form .hs-location-search__context-copy {
  display: grid;
  gap: var(--hs-space-1);
  min-width: 0;
  flex: 1 1 auto;
}

.hs-touchpoint--public-form .hs-location-search__context-list {
  display: grid;
  gap: 0;
}

.hs-touchpoint--public-form .hs-location-search__context-row {
  display: flex;
  align-items: center;
  gap: var(--hs-space-3);
  min-height: 56px;
  padding: var(--hs-space-2) var(--hs-space-4);
  border-top: 1px solid var(--hs-color-border);
}

.hs-touchpoint--public-form .hs-location-search__context-list > .hs-location-search__context-row:first-child {
  border-top: 0;
}

.hs-touchpoint--public-form .hs-location-search__context-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  color: var(--hs-color-text);
}

.hs-touchpoint--public-form .hs-location-search__context-icon svg {
  width: 100%;
  height: 100%;
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district {
  gap: 0;
  border-top: 1px solid var(--hs-color-border);
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice--district {
  border: 0;
  border-top: 1px solid var(--hs-color-border);
  border-radius: 0;
  background: var(--hs-color-surface);
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice--district:first-child {
  border-top: 0;
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: var(--hs-space-3);
  row-gap: var(--hs-space-1);
  min-height: 56px;
  padding: var(--hs-space-2) var(--hs-space-4);
  border-radius: 0;
  background: transparent;
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__control {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__title,
.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__description {
  grid-column: 2;
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__title {
  font-size: var(--hs-type-body-sm-size);
  line-height: 18px;
  font-weight: var(--hs-weight-semibold-soft);
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__description {
  font-size: var(--hs-text-xs);
  line-height: 16px;
  color: var(--hs-color-muted);
}

.hs-touchpoint--public-form .hs-choice--district .hs-choice__label {
  justify-content: space-between;
  gap: var(--hs-space-3);
}

.hs-touchpoint--public-form .hs-choice-list--short-form-district .hs-choice__label {
  justify-content: initial;
}

.hs-touchpoint--public-form .hs-choice--district:has(.hs-choice__input:checked) .hs-choice__clear {
  color: var(--hs-color-primary);
}

.hs-touchpoint--public-form .hs-city-map__canvas {
  min-height: var(--hs-form-location-map-height);
}

@media (max-width: 799px) {
  .hs-space-step {
      padding: var(--hs-space-4);
  }

  .hs-space-step__choices {
      max-width: 100%;
      grid-template-columns: minmax(0, 1fr);
  }

  .hs-touchpoint--public-form .hs-form-section--email-start {
    padding: var(--hs-form-email-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--market {
    padding: var(--hs-form-market-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--people {
    padding: var(--hs-form-people-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--property {
    padding: var(--hs-form-property-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--budget-buy {
    padding: var(--hs-form-budget-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--budget-rent {
    padding: var(--hs-form-budget-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--area-layout {
    padding: var(--hs-form-area-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--success {
    padding: var(--hs-form-success-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--location {
    min-height: var(--hs-form-section-location-height-mobile);
    padding: var(--hs-form-location-section-padding-mobile);
  }

  .hs-touchpoint--public-form .hs-form-section--location:has(.hs-location-search--list-dropdown) {
    min-height: var(--hs-form-section-location-height-mobile-dropdown);
  }

  .hs-touchpoint--public-form .hs-form-section--location:has(.hs-location-search--map-view) {
    min-height: var(--hs-form-section-location-height-mobile-map);
  }

  .hs-touchpoint--public-form {
    --hs-form-location-map-height: var(--hs-form-location-map-height-mobile);
    --hs-form-location-map-top: var(--hs-form-location-map-top-mobile);
  }

  .hs-touchpoint--public-form .hs-space-step {
    padding: var(--hs-space-4);
  }

  .hs-touchpoint--public-form .hs-space-step__choices {
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .hs-touchpoint--public-form .hs-area-range__axis {
    inset-inline: 0;
  }

  .hs-touchpoint--public-form .hs-form-footer {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.hs-email-brand--logo-only {
  justify-content: flex-start;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.hs-email-details--card {
  gap: var(--hs-space-4);
}

.hs-form-validation-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hs-space-3);
  margin-bottom: var(--hs-space-3);
  padding: var(--hs-space-3);
  border: 1px solid color-mix(in srgb, var(--hs-color-danger) 24%, transparent);
  border-radius: var(--hs-radius-lg);
  background: var(--hs-color-danger-soft);
  color: var(--hs-color-danger);
}

.hs-form-validation-banner[hidden] {
  display: none !important;
}

.hs-form-validation-banner__message {
  margin: 0;
  font-size: var(--hs-text-sm);
  line-height: var(--hs-leading-normal);
}

.hs-form-validation-banner__focus {
  width: fit-content;
  min-width: 0;
}

.hs-welcome-content__intro,
.hs-welcome-content__closing {
  color: var(--hs-color-muted);
}

.hs-form-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hs-space-4);
}

.hs-form-agent-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--hs-space-3);
  min-height: var(--hs-space-12);
  padding: var(--hs-space-2) var(--hs-space-3);
  border: 1px solid var(--hs-color-border);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-surface);
}

.hs-form-agent-chip__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hs-space-8);
  height: var(--hs-space-8);
  flex: 0 0 var(--hs-space-8);
  border-radius: var(--hs-radius-pill);
  background: var(--hs-color-primary-soft);
  color: var(--hs-color-primary);
  font-size: var(--hs-text-sm);
  font-weight: var(--hs-weight-strong);
  line-height: var(--hs-leading-none);
}

.hs-form-agent-chip__body {
  display: grid;
  gap: calc(var(--hs-space-1) / 2);
  min-width: 0;
}

.hs-form-agent-chip__eyebrow {
  color: var(--hs-color-muted);
  font-size: var(--hs-text-xs);
  font-weight: var(--hs-weight-semibold-soft);
  letter-spacing: var(--hs-tracking-emphasis);
  text-transform: uppercase;
}

.hs-form-agent-chip__name {
  color: var(--hs-color-text-strong);
  font-size: var(--hs-text-sm);
  font-weight: var(--hs-weight-strong);
  line-height: var(--hs-leading-tight);
}

.hs-form-agent-chip__company {
  color: var(--hs-color-muted);
  font-size: var(--hs-text-xs);
  line-height: var(--hs-leading-normal);
}
