/* Start custom CSS for shortcode, class: .elementor-element-735c43c */.elementor-515 .elementor-element.elementor-element-735c43c, .elementor-515 .elementor-element.elementor-element-735c43c > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-0d9963d */.elementor-515 .elementor-element.elementor-element-0d9963d, .elementor-515 .elementor-element.elementor-element-0d9963d > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e64a6e6 */.elementor-515 .elementor-element.elementor-element-e64a6e6, .elementor-515 .elementor-element.elementor-element-e64a6e6 > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8ffc16d */.elementor-515 .elementor-element.elementor-element-8ffc16d, .elementor-515 .elementor-element.elementor-element-8ffc16d > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-33e5019 */.elementor-515 .elementor-element.elementor-element-33e5019, .elementor-515 .elementor-element.elementor-element-33e5019 > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8a7f974 */.elementor-515 .elementor-element.elementor-element-8a7f974{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-48cdcf4 */.elementor-515 .elementor-element.elementor-element-48cdcf4, .elementor-515 .elementor-element.elementor-element-48cdcf4 > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-136d17e */.elementor-515 .elementor-element.elementor-element-136d17e, .elementor-515 .elementor-element.elementor-element-136d17e > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-42d36ab */.elementor-515 .elementor-element.elementor-element-42d36ab, .elementor-515 .elementor-element.elementor-element-42d36ab > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-41918f4 */.elementor-515 .elementor-element.elementor-element-41918f4, .elementor-515 .elementor-element.elementor-element-41918f4 > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7c44d5e */.elementor-515 .elementor-element.elementor-element-7c44d5e, .elementor-515 .elementor-element.elementor-element-7c44d5e > div{
    display: contents;
}/* End custom CSS */
/* Start custom CSS */@scope (.mrkt-model-hero) {
  /* Reset Elementor Defaults */
  :scope .e-div-block-base,
  .elementor :scope {
    padding: 0;
    min-width: 0;
    min-height: 0;
  }

  .elementor :scope {
    --_hero-gap: var(--mrkt-space-S);

    /* Layout */
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 100svh;
    padding-block-start: var(--mrkt-header-height, var(--mrkt-header-inert-height));

    /* Style */
    background: var(--mrkt-color-background);
    color: var(--mrkt-color-text);
  }

  :scope[data-subnav-sibling] {
    /* Layout */
    min-height: calc(100svh - var(--mrkt-model-subnav-height));
  }

/* --------------------------------------------------------------------------
   Gallery — left half. Chamfered stage, overlay controls, thumb strip.
   -------------------------------------------------------------------------- */

  :scope .gallery {
    /* Layout */
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: var(--_hero-gap);
    min-width: 0;
    min-height: 0;
    padding-block-end: var(--_hero-gap);
    padding-inline-start: var(--_hero-gap);
    overflow: hidden;
  }

  :scope .stage {
    /* Positioning */
    position: relative;

    /* Layout */
    min-width: 0;
    min-height: 0;

    /* Style */
    --mrkt-chamfer-size: var(--mrkt-angle-cut-L);
    --mrkt-chamfer-border-color: var(--mrkt-color-border-strong);
    --mrkt-chamfer-surface: var(--mrkt-color-surface);
  }

  :scope .stage-frame {
    /* Positioning */
    position: absolute;
    inset: var(--_chamfer-border-width);

    /* Layout */
    overflow: hidden;

    /* Style */
    clip-path: var(--_chamfer-face);
  }

  :scope .stage-frame > :not(:has(img)) {
    /* Layout */
    display: none;
  }

  :scope .stage-frame img {
    /* Positioning */
    position: absolute;
    inset: 0;

    /* Layout */
    display: block;
    width: 100%;
    height: 100%;

    /* Style */
    object-fit: cover;
    opacity: 0;
    user-select: none;

    /* Transitions */
    transition: opacity var(--mrkt-transition-slow) ease;
  }

  :scope .stage-frame img.is-active {
    /* Style */
    opacity: 1;
  }

  /* Floorplans and other document-style media sit inside the frame instead
     of being cropped by it. */
  :scope .stage-frame img[data-fit="contain"] {
    /* Layout */
    padding: var(--_hero-gap);

    /* Style */
    object-fit: contain;
    background: var(--mrkt-color-white);
  }

  :scope .stage-count {
    /* Positioning */
    position: absolute;
    inset-block-end: var(--_hero-gap);
    inset-inline-start: var(--_hero-gap);
    z-index: 2;

    /* Layout */
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.375rem 0.75rem;
    max-width: calc(100% - 2 * var(--_hero-gap));

    /* Font */
    font-family: var(--mrkt-typo-meta-family);
    font-size: var(--mrkt-typo-meta-size);
    letter-spacing: var(--mrkt-typo-meta-letter-spacing);
    text-transform: uppercase;

    /* Style */
    background: var(--mrkt-color-black-a60);
    color: var(--mrkt-color-text-light);
    pointer-events: none;
  }

  :scope .stage-count [data-gallery-label] {
    /* Layout */
    min-width: 0;
    overflow: hidden;

    /* Style */
    color: var(--mrkt-color-primary-300);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  :scope .stage-nav {
    /* Positioning */
    position: absolute;
    top: 50%;
    inset-inline-end: var(--_hero-gap);
    z-index: 2;

    /* Layout */
    display: grid;
    gap: var(--mrkt-space-XS);
    transform: translateY(-50%);
  }

  :scope .stage-nav button {
    /* Layout */
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;

    /* Style */
    appearance: none;
    background: var(--mrkt-color-black-a60);
    border: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border-strong);
    color: var(--mrkt-color-text-light);
    cursor: pointer;

    /* Transitions */
    transition:
      background-color var(--mrkt-transition-fast) ease,
      border-color var(--mrkt-transition-fast) ease,
      color var(--mrkt-transition-fast) ease;
  }

  :scope .stage-nav button::before {
    content: "";

    /* Layout */
    width: 1rem;
    height: 1rem;

    /* Style */
    background-color: currentColor;
    -webkit-mask: var(--mrkt-icon-arrow) center / contain no-repeat;
    mask: var(--mrkt-icon-arrow) center / contain no-repeat;
  }

  :scope .stage-nav [data-gallery-prev]::before {
    /* Style */
    transform: rotate(180deg);
  }

  :scope .stage-nav button:is(:hover, :focus-visible) {
    /* Style */
    background: var(--mrkt-color-primary);
    border-color: var(--mrkt-color-primary);
    color: var(--mrkt-color-on-primary);
  }

  :scope .stage-nav button:focus-visible {
    /* Style */
    outline: 2px solid var(--mrkt-color-focus);
    outline-offset: 2px;
  }

  :scope .thumbs {
    /* Layout */
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: var(--_hero-gap);
    min-width: 0;
    overflow: hidden;
  }

  :scope .thumb {
    /* Positioning */
    position: relative;

    /* Layout */
    height: clamp(4rem, 11svh, 7.5rem);
    min-width: 0;
    padding: 0;

    /* Style */
    appearance: none;
    border: 0;
    background: none;
    cursor: pointer;
    --mrkt-chamfer-size: var(--mrkt-angle-cut-S);
    --mrkt-chamfer-border-color: var(--mrkt-color-border);

    /* Transitions */
    transition: none;
  }

  :scope .thumb:not(:has(img)) {
    /* Layout */
    display: none;
  }

  :scope .thumb img {
    /* Positioning */
    position: absolute;
    inset: var(--_chamfer-border-width);

    /* Layout */
    width: calc(100% - 2 * var(--_chamfer-border-width));
    height: calc(100% - 2 * var(--_chamfer-border-width));

    /* Style */
    object-fit: cover;
    clip-path: var(--_chamfer-face);
    filter: none;
    opacity: 0.62;

    /* Transitions */
    transition: opacity var(--mrkt-transition-base) ease;
  }

  :scope .thumb[data-fit="contain"] img {
    /* Style */
    object-fit: contain;
    padding: var(--mrkt-space-XXS);
    background: var(--mrkt-color-white);
  }

  :scope .thumb:is(:hover, :focus-visible) img {
    /* Style */
    filter: none;
    opacity: 0.85;
  }

  :scope .thumb[aria-selected="true"] {
    /* Style */
    --mrkt-chamfer-border-color: var(--mrkt-color-primary);
  }

  :scope .thumb[aria-selected="true"] img {
    /* Style */
    filter: none;
    opacity: 1;
  }

  :scope .thumb:focus-visible {
    /* Style */
    outline: 2px solid var(--mrkt-color-focus);
    outline-offset: 2px;
  }

/* --------------------------------------------------------------------------
   Content — centered model details with the offer anchored below.
   -------------------------------------------------------------------------- */

  :scope .content {
    /* Layout */
    display: grid;
    grid-template-rows: minmax(min-content, 1fr) auto;
    gap: var(--_hero-gap);
    min-width: 0;
    min-height: 0;
    padding: var(--_hero-gap);
    padding-block-start: 0;
  }

  :scope .content-main {
    /* Layout */
    display: grid;
    align-self: center;
    gap: var(--_hero-gap);
    min-width: 0;
    min-height: 0;
  }

  :scope .intro {
    /* Layout */
    display: grid;
    gap: var(--_hero-gap);
  }

  :scope .intro h1 {
    /* Font */
    font-family: var(--mrkt-typo-h1-family);
    font-size: var(--mrkt-typo-h1-size);
    font-weight: var(--mrkt-typo-h1-weight);
    line-height: var(--mrkt-typo-h1-line-height);
    letter-spacing: var(--mrkt-typo-h1-letter-spacing);

    /* Style */
    color: var(--mrkt-color-text);
  }

  :scope .intro .lead {
    /* Layout */
    max-width: 48ch;

    /* Font */
    font-family: var(--mrkt-typo-body-family);
    font-size: var(--mrkt-typo-body-size);
    font-weight: var(--mrkt-typo-body-weight);
    line-height: var(--mrkt-typo-body-line-height);
    letter-spacing: var(--mrkt-typo-body-letter-spacing);

    /* Style */
    color: var(--mrkt-color-neutral-200);
  }

  :scope .bento {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: max-content;
    align-items: stretch;
    gap: var(--mrkt-space-XS);
    min-height: 0;
  }

  :scope .cell {
    /* Layout */
    display: grid;
    grid-column: span 4;
    align-self: stretch;
    gap: 0;
    align-content: start;
    min-width: 0;
    padding: var(--mrkt-space-S);

    /* Style */
    --mrkt-chamfer-size: var(--mrkt-angle-cut-base);
    --mrkt-chamfer-surface: color-mix(in oklch, var(--mrkt-color-neutral-900) 92%, var(--mrkt-color-secondary-900));
  }

  :scope .cell--roof {
    /* Layout */
    grid-column: span 4;
    align-self: stretch;
    align-content: start;
    gap: 0;
  }

  :scope .cell .label {
    /* Font */
    font-family: var(--mrkt-typo-button-family);
    font-size: var(--mrkt-typo-button-size);
    font-weight: var(--mrkt-typo-button-weight);
    line-height: var(--mrkt-typo-button-line-height);
    letter-spacing: var(--mrkt-typo-button-letter-spacing);

    /* Style */
    color: var(--mrkt-color-primary-300);
  }

  :scope .cell .value {
    /* Layout */
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2em;

    /* Font */
    font-family: var(--mrkt-typo-body-large-family);
    font-size: var(--mrkt-typo-body-large-size);
    font-weight: var(--mrkt-typo-body-large-weight);
    line-height: var(--mrkt-typo-body-large-line-height);
    letter-spacing: var(--mrkt-typo-body-large-letter-spacing);
    font-variant-numeric: tabular-nums;

    /* Style */
    color: var(--mrkt-color-text);
  }

  :scope .cell .value .unit {
    /* Font */
    font-size: var(--mrkt-typo-body-small-size);

    /* Style */
    color: var(--mrkt-color-primary-300);
  }

  :scope .cell-hint {
    /* Font */
    font-family: var(--mrkt-typo-body-small-family);
    font-size: var(--mrkt-typo-body-small-size);
    font-weight: var(--mrkt-typo-body-small-weight);
    line-height: var(--mrkt-typo-body-small-line-height);
    letter-spacing: var(--mrkt-typo-body-small-letter-spacing);

    /* Style */
    color: var(--mrkt-color-text-subtle);
  }

  /* Hubdach — closed → open states side by side. Rendered only when the
     has_popup_roof field is true; otherwise the cell shows a single height. */
  :scope .roof-states {
    /* Layout */
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    align-items: center;
    gap: var(--mrkt-space-XS);
    padding-block-start: var(--mrkt-space-XXS);

    /* Style */
    border-block-start: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border-soft);
  }

  :scope .roof-state {
    /* Layout */
    display: grid;
    gap: 0;
    width: fit-content;
    min-width: 0;
  }

  :scope .roof-state:has(.value > .value:empty),
  :scope .roof-arrow:has(+ .roof-state .value > .value:empty) {
    /* Layout */
    display: none;
  }

  :scope .roof-states:not(:has(.roof-state ~ .roof-state)),
  :scope .roof-states:has(.roof-state ~ .roof-state .value > .value:empty) {
    /* Layout */
    padding-block-start: 0;

    /* Style */
    border-block-start: 0;
  }

  :scope .roof-states:not(:has(.roof-state ~ .roof-state)) .roof-state-label,
  :scope .roof-states:has(.roof-state ~ .roof-state .value > .value:empty) .roof-state:first-child .roof-state-label {
    /* Layout */
    display: none;
  }

  :scope .roof-state-label {
    /* Font */
    font-family: var(--mrkt-typo-meta-family);
    font-size: var(--mrkt-typo-meta-size);
    line-height: var(--mrkt-typo-meta-line-height);
    letter-spacing: var(--mrkt-typo-meta-letter-spacing);
    text-transform: uppercase;

    /* Style */
    color: var(--mrkt-color-primary-300);
  }

  :scope .roof-note {
    /* Layout */
    display: none;
  }

  :scope .roof-arrow {
    /* Layout */
    justify-self: center;
    width: 1.25rem;
    height: 1.25rem;
    flex: none;

    /* Style */
    background-color: var(--mrkt-color-primary-300);
    -webkit-mask: var(--mrkt-icon-arrow) center / contain no-repeat;
    mask: var(--mrkt-icon-arrow) center / contain no-repeat;
  }

  :scope .offer-row {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: end;
    align-items: end;
    gap: var(--mrkt-space-XS);
    min-width: 0;
    padding-block-start: var(--mrkt-space-XS);

    /* Style */
    border-block-start: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border-soft);
  }

  :scope .price-summary {
    /* Layout */
    display: grid;
    align-content: end;
    gap: var(--mrkt-space-XXS);
    min-width: 0;
    padding-inline-start: var(--mrkt-space-S);

    /* Style */
    border-inline-start: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border-soft);
  }

  :scope .price-label {
    /* Font */
    font-family: var(--mrkt-typo-meta-family);
    font-size: var(--mrkt-typo-meta-size);
    font-weight: var(--mrkt-typo-meta-weight);
    line-height: var(--mrkt-typo-meta-line-height);
    letter-spacing: var(--mrkt-typo-meta-letter-spacing);
    text-transform: uppercase;

    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  :scope .price-value {
    /* Font */
    font-family: var(--mrkt-typo-meta-family);
    font-size: var(--mrkt-typo-h3-size);
    font-weight: 700;
    line-height: var(--mrkt-typo-h3-line-height);
    letter-spacing: var(--mrkt-typo-h3-letter-spacing);
    font-variant-numeric: tabular-nums;

    /* Style */
    color: var(--mrkt-color-primary-400);
  }

  :scope .price-tax {
    /* Font */
    font-family: var(--mrkt-typo-body-small-family);
    font-size: var(--mrkt-typo-body-small-size);
    font-weight: var(--mrkt-typo-body-small-weight);
    line-height: var(--mrkt-typo-body-small-line-height);
    letter-spacing: var(--mrkt-typo-body-small-letter-spacing);

    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  :scope .actions {
    /* Layout */
    display: grid;
    align-content: end;
    justify-self: stretch;
    gap: var(--mrkt-space-XS);
    width: 100%;
    min-width: 0;
  }

  :scope .actions > .mrkt-btn {
    /* Layout */
    justify-self: stretch;
    min-width: 0;
  }

  :scope .meta-line {
    /* Layout */
    display: flex;
    flex-wrap: wrap;
    gap: var(--mrkt-space-XS);

    /* Font */
    font-family: var(--mrkt-typo-meta-family);
    font-size: var(--mrkt-typo-meta-size);
    letter-spacing: var(--mrkt-typo-meta-letter-spacing);
    text-transform: uppercase;

    /* Style */
    color: var(--mrkt-color-text-subtle);
  }

/* --------------------------------------------------------------------------
   Stacked — gallery on top, content below.
   -------------------------------------------------------------------------- */

  @media (min-width: 60.0625rem) and (max-width: 80rem) {
    :scope .cell,
    :scope .cell--roof {
      /* Layout */
      grid-column: span 6;
    }

    :scope .offer-row {
      /* Layout */
      grid-template-columns: minmax(0, 1fr);
    }

    :scope .actions {
      /* Layout */
      grid-column: auto;
      justify-self: stretch;
      width: 100%;
    }
  }

  @media (max-width: 60rem) {
    :scope {
      /* Layout */
      grid-template-columns: minmax(0, 1fr);
      height: auto;
      max-height: none;
      min-height: 100svh;
      overflow: visible;
    }

    :scope .gallery {
      /* Layout */
      grid-template-rows: auto auto;
    }

    :scope .stage {
      /* Layout */
      aspect-ratio: 16 / 10;
    }

    :scope .content {
      /* Layout */
      padding: var(--_hero-gap);
      padding-block-start: 0;
    }

  }

  @media (max-width: 47.5rem) {
    :scope .cell,
    :scope .cell--roof {
      /* Layout */
      grid-column: span 6;
    }

    :scope .offer-row {
      /* Layout */
      grid-template-columns: minmax(0, 1fr);
    }

    :scope .actions {
      /* Layout */
      grid-column: auto;
      justify-self: stretch;
      width: 100%;
    }
  }

  @media (max-width: 30rem) {
    :scope .cell,
    :scope .cell--roof {
      /* Layout */
      grid-column: 1 / -1;
    }

    :scope .roof-states {
      /* Layout */
      grid-template-columns: minmax(0, 1fr);
    }

    :scope .roof-arrow {
      /* Style */
      transform: rotate(90deg);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    :scope .stage-frame img,
    :scope .thumb img {
      /* Transitions */
      transition-duration: 1ms;
    }
  }
}/* End custom CSS */