@media (min-width: 64ch) {
  body:has(.property-detail) {
    overflow-x: hidden;
  }

  body:has(.property-detail) .app-shell {
    grid-template-columns:
      calc(var(--space-9) + var(--space-9) + var(--space-9) + var(--space-9))
      minmax(0, 1fr);
  }

  body:has(.property-detail) header {
    background: var(--color-ink);
    border-inline-end: thin solid var(--color-line-on-dark);
    color: var(--color-ink-on-dark);
    --header-nav-active-color: var(--color-ink-on-dark);
  }

  body:has(.property-detail) header .header__bar {
    justify-content: center;
    padding: var(--space-7) var(--space-4) var(--space-6);
  }

  body:has(.property-detail) header .header__wordmark {
    display: none;
  }

  body:has(.property-detail) header .header__brand {
    color: var(--color-ink-on-dark);
  }

  body:has(.property-detail) header .header__nav a {
    color: var(--color-ink-muted-on-dark);
  }

  body:has(.property-detail) header .header__nav {
    gap: var(--space-2);
    padding-inline: var(--space-4);
  }

  body:has(.property-detail) .property-detail {
    gap: 0;
    padding: 0;
  }

  body:has(.property-detail) .property-detail__desktop-shell {
    display: grid;
    gap: var(--space-6);
    padding: var(--space-6) var(--space-7) var(--space-9);
  }

  body:has(.property-detail) .property-detail__mobile-hero,
  body:has(.property-detail) .property-detail__mobile-gallery,
  body:has(.property-detail) .property-detail__mobile-section,
  body:has(.property-detail) .property-detail__mobile-agent,
  body:has(.property-detail) .property-detail__mobile-actions,
  body:has(.property-detail) .property-detail__mobile-cta,
  body:has(.property-detail) .property-detail__mobile-price,
  body:has(.property-detail) .property-detail__desktop-header,
  body:has(.property-detail) .property-detail__layout {
    display: none;
  }

  body:has(.property-detail) .property-detail__desktop-topbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-inline: auto;
    max-inline-size: calc(var(--measure-site) + var(--measure-page));
    inline-size: 100%;
  }

  body:has(.property-detail) .property-detail__desktop-topbar a,
  body:has(.property-detail) .property-detail__desktop-topbar button {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--color-ink-muted);
    cursor: pointer;
    font: inherit;
    font-size: var(--step--1);
    font-weight: 700;
    letter-spacing: var(--tracking-wider);
    padding: 0;
    text-decoration: none;
    text-transform: uppercase;
  }

  body:has(.property-detail) .property-detail__desktop-layout {
    display: grid;
    gap: var(--space-5);
    grid-template-areas:
      'intro media rail'
      'editorial editorial rail'
      'assessment price rail';
    grid-template-columns:
      minmax(calc(var(--space-9) * 4), 0.62fr)
      minmax(0, 1.45fr)
      minmax(calc(var(--space-9) * 4 + var(--space-5)), 0.55fr);
    margin-inline: auto;
    max-inline-size: calc(var(--measure-site) + var(--measure-page));
    inline-size: 100%;
  }

  body:has(.property-detail) .property-detail__desktop-intro {
    align-content: start;
    display: grid;
    gap: var(--space-5);
    grid-area: intro;
    padding-block-start: var(--space-6);
  }

  body:has(.property-detail) .property-detail__desktop-eyebrow,
  body:has(.property-detail) .property-detail__desktop-location,
  body:has(.property-detail) .property-detail__desktop-state,
  body:has(.property-detail) .property-detail__desktop-keyfacts dt,
  body:has(.property-detail) .property-detail__desktop-figure figcaption,
  body:has(.property-detail) .property-detail__desktop-actions h2,
  body:has(.property-detail) .property-detail__desktop-agent-call,
  body:has(.property-detail) .property-detail__desktop-search-cta a {
    font-size: var(--step--1);
    font-weight: 700;
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
  }

  body:has(.property-detail) .property-detail__desktop-eyebrow {
    color: var(--color-ink);
    display: flex;
    gap: var(--space-2);
  }

  body:has(.property-detail) .property-detail__desktop-eyebrow span:first-child,
  body:has(.property-detail) .property-detail__desktop-state,
  body:has(.property-detail) .property-detail__desktop-keyfacts dd:last-child,
  body:has(.property-detail) .property-detail__desktop-editorial > div > span,
  body:has(.property-detail) .property-detail__desktop-assessment > span,
  body:has(.property-detail) .property-detail__desktop-price p {
    color: var(--color-accent);
  }

  body:has(.property-detail) .property-detail__desktop-intro h1 {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: clamp(var(--step-4), 4vw, var(--step-6));
    font-weight: 400;
    line-height: 0.95;
    max-inline-size: 9.5ch;
  }

  body:has(.property-detail) .property-detail__desktop-location {
    align-items: center;
    color: var(--color-ink-muted);
    display: flex;
    gap: var(--space-2);
  }

  body:has(.property-detail) .property-detail__desktop-state {
    align-items: center;
    display: flex;
    gap: var(--space-2);
  }

  body:has(.property-detail) .property-detail__desktop-state span {
    background: currentColor;
    border-radius: var(--radius-circle);
    block-size: var(--space-2);
    inline-size: var(--space-2);
  }

  body:has(.property-detail) .property-detail__desktop-state[data-state='RESERVED'] {
    color: var(--color-caution);
  }

  body:has(.property-detail) .property-detail__desktop-state[data-state='SOLD'],
  body:has(.property-detail) .property-detail__desktop-state[data-state='WITHDRAWN'] {
    color: var(--color-negative);
  }

  body:has(.property-detail) .property-detail__desktop-state-message {
    color: var(--color-ink-muted);
    line-height: var(--leading-normal);
    max-inline-size: 28ch;
  }

  body:has(.property-detail) .property-detail__desktop-keyfacts {
    border-block-start: thin solid color-mix(in srgb, var(--color-line) 22%, transparent);
    display: grid;
    gap: var(--space-4);
    padding-block-start: var(--space-5);
  }

  body:has(.property-detail) .property-detail__desktop-keyfacts div {
    display: grid;
    gap: var(--space-1);
  }

  body:has(.property-detail) .property-detail__desktop-keyfacts dt {
    color: var(--color-ink-muted);
  }

  body:has(.property-detail) .property-detail__desktop-keyfacts dd {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--step-2);
    line-height: 1;
  }

  body:has(.property-detail) .property-detail__desktop-media {
    display: grid;
    gap: var(--space-4);
    grid-area: media;
    min-inline-size: 0;
  }

  body:has(.property-detail) .property-detail__desktop-figure {
    aspect-ratio: 16 / 9;
    background: var(--color-surface-raised);
    margin: 0;
    min-block-size: calc(var(--space-9) * 6);
    overflow: hidden;
    position: relative;
  }

  body:has(.property-detail) .property-detail__desktop-figure img,
  body:has(.property-detail) .property-detail__desktop-empty-media {
    block-size: 100%;
    display: block;
    inline-size: 100%;
    object-fit: cover;
  }

  body:has(.property-detail) .property-detail__desktop-figure figcaption {
    background: color-mix(in srgb, var(--color-ink) 82%, transparent);
    color: var(--color-ink-on-dark);
    inset: var(--space-5) auto auto var(--space-5);
    padding: var(--space-2) var(--space-3);
    position: absolute;
  }

  body:has(.property-detail) .property-detail__desktop-gallery-controls {
    display: flex;
    gap: var(--space-3);
    inset: auto var(--space-5) var(--space-5) auto;
    position: absolute;
  }

  body:has(.property-detail) .property-detail__desktop-gallery-controls button {
    align-items: center;
    aspect-ratio: 1;
    background: color-mix(in srgb, var(--color-ink) 42%, transparent);
    border: thin solid color-mix(in srgb, var(--color-accent) 72%, transparent);
    border-radius: var(--radius-circle);
    color: var(--color-ink-on-dark);
    cursor: pointer;
    display: inline-grid;
    font: inherit;
    inline-size: var(--space-8);
    justify-items: center;
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails button {
    appearance: none;
    aspect-ratio: 4 / 3;
    background: var(--color-surface-raised);
    border: thin solid color-mix(in srgb, var(--color-line) 22%, transparent);
    cursor: pointer;
    min-inline-size: 0;
    overflow: hidden;
    padding: var(--space-1);
    position: relative;
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails button[aria-current='true'] {
    border-color: var(--color-accent);
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails img {
    block-size: 100%;
    display: block;
    inline-size: 100%;
    object-fit: cover;
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails span {
    align-items: center;
    background: color-mix(in srgb, var(--color-ink) 70%, transparent);
    color: var(--color-ink-on-dark);
    display: grid;
    font-weight: 700;
    inset: var(--space-1);
    justify-items: center;
    position: absolute;
  }

  body:has(.property-detail) .property-detail__desktop-rail {
    align-self: start;
    display: grid;
    gap: var(--space-4);
    grid-area: rail;
    position: sticky;
    top: var(--space-5);
  }

  body:has(.property-detail) .property-detail__desktop-agent,
  body:has(.property-detail) .property-detail__desktop-actions,
  body:has(.property-detail) .property-detail__desktop-search-cta,
  body:has(.property-detail) .property-detail__desktop-price {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
  }

  body:has(.property-detail) .property-detail__desktop-agent,
  body:has(.property-detail) .property-detail__desktop-search-cta {
    background: var(--color-ink);
    color: var(--color-ink-muted-on-dark);
  }

  body:has(.property-detail) .property-detail__desktop-agent h2,
  body:has(.property-detail) .property-detail__desktop-agent h3,
  body:has(.property-detail) .property-detail__desktop-search-cta h2,
  body:has(.property-detail) .property-detail__desktop-search-cta em {
    color: var(--color-ink-on-dark);
  }

  body:has(.property-detail) .property-detail__desktop-agent > span {
    background: var(--color-accent);
    block-size: thin;
    inline-size: var(--space-7);
  }

  body:has(.property-detail) .property-detail__desktop-agent h2,
  body:has(.property-detail) .property-detail__desktop-search-cta h2 {
    font-family: var(--font-display);
    font-size: var(--step-2);
    font-weight: 400;
    line-height: 1;
  }

  body:has(.property-detail) .property-detail__desktop-agent-person {
    align-items: center;
    display: flex;
    gap: var(--space-4);
  }

  body:has(.property-detail) .property-detail__desktop-agent-person img,
  body:has(.property-detail) .property-detail__desktop-agent-fallback {
    aspect-ratio: 1;
    background: var(--color-surface-dark-raised);
    border: thin solid var(--color-line-on-dark);
    border-radius: var(--radius-circle);
    color: var(--color-accent);
    display: grid;
    inline-size: var(--space-9);
    justify-items: center;
    object-fit: cover;
    place-items: center;
  }

  body:has(.property-detail) .property-detail__desktop-agent-person div {
    display: grid;
    gap: var(--space-2);
    min-inline-size: 0;
  }

  body:has(.property-detail) .property-detail__desktop-agent-person h3 {
    font-family: var(--font-display);
    font-size: var(--step-1);
    font-weight: 400;
  }

  body:has(.property-detail) .property-detail__desktop-agent-person a,
  body:has(.property-detail) .property-detail__desktop-agent-person p {
    color: var(--color-ink-muted-on-dark);
    font-size: var(--step--1);
    line-height: var(--leading-normal);
    overflow-wrap: anywhere;
    text-decoration: none;
  }

  body:has(.property-detail) .property-detail__desktop-agent-call {
    border: thin solid color-mix(in srgb, var(--color-accent) 68%, transparent);
    color: var(--color-ink-on-dark);
    padding: var(--space-4);
    text-align: center;
    text-decoration: none;
  }

  body:has(.property-detail) .property-detail__desktop-actions {
    background: var(--color-surface-raised);
    border: thin solid color-mix(in srgb, var(--color-line) 20%, transparent);
  }

  body:has(.property-detail) .property-detail__desktop-actions h2 {
    color: var(--color-accent);
  }

  body:has(.property-detail) .property-detail__desktop-actions a,
  body:has(.property-detail) .property-detail__desktop-actions button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-block-start: thin solid color-mix(in srgb, var(--color-line) 18%, transparent);
    color: var(--color-ink);
    cursor: pointer;
    display: flex;
    font: inherit;
    justify-content: space-between;
    padding: var(--space-4) 0 0;
    text-align: start;
    text-decoration: none;
  }

  body:has(.property-detail) .property-detail__desktop-actions span {
    color: var(--color-accent);
  }

  body:has(.property-detail) .property-detail__desktop-search-cta em,
  body:has(.property-detail) .property-detail__desktop-price p {
    color: var(--color-accent);
    font-style: italic;
  }

  body:has(.property-detail) .property-detail__desktop-search-cta p {
    color: var(--color-ink-muted-on-dark);
    line-height: var(--leading-normal);
    overflow-wrap: anywhere;
  }

  body:has(.property-detail) .property-detail__desktop-search-cta a {
    background: var(--color-accent);
    color: var(--color-accent-ink);
    padding: var(--space-4);
    text-align: center;
    text-decoration: none;
  }

  body:has(.property-detail) .property-detail__desktop-editorial {
    background: var(--color-surface-raised);
    border: thin solid color-mix(in srgb, var(--color-line) 18%, transparent);
    display: grid;
    gap: var(--space-7);
    grid-area: editorial;
    grid-template-columns: 0.8fr 1.2fr;
    padding: var(--space-7);
  }

  body:has(.property-detail) .property-detail__desktop-editorial > div,
  body:has(.property-detail) .property-detail__desktop-assessment,
  body:has(.property-detail) .property-detail__desktop-price {
    align-content: start;
    display: grid;
    gap: var(--space-4);
  }

  body:has(.property-detail) .property-detail__desktop-editorial h2,
  body:has(.property-detail) .property-detail__desktop-assessment h2,
  body:has(.property-detail) .property-detail__desktop-price h2 {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--step-3);
    font-weight: 400;
    line-height: 1;
  }

  body:has(.property-detail) .property-detail__desktop-editorial > div > span,
  body:has(.property-detail) .property-detail__desktop-assessment > span {
    background: currentColor;
    block-size: thin;
    inline-size: var(--space-7);
  }

  body:has(.property-detail) .property-detail__desktop-editorial p,
  body:has(.property-detail) .property-detail__desktop-assessment p,
  body:has(.property-detail) .property-detail__desktop-assessment li {
    color: var(--color-ink-muted);
    line-height: var(--leading-loose);
  }

  body:has(.property-detail) .property-detail__desktop-editorial button {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--color-accent);
    cursor: pointer;
    font: inherit;
    font-size: var(--step--1);
    font-weight: 700;
    justify-self: start;
    letter-spacing: var(--tracking-wider);
    padding: 0;
    text-transform: uppercase;
  }

  body:has(.property-detail) .property-detail__desktop-facts {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:has(.property-detail) .property-detail__desktop-facts dl {
    display: grid;
    gap: 0;
  }

  body:has(.property-detail) .property-detail__desktop-facts div {
    border-block-end: thin solid color-mix(in srgb, var(--color-line) 20%, transparent);
    display: grid;
    gap: var(--space-2);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding-block: var(--space-3);
  }

  body:has(.property-detail) .property-detail__desktop-facts dt {
    color: var(--color-ink-muted);
    font-size: var(--step--1);
  }

  body:has(.property-detail) .property-detail__desktop-facts dd {
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
    text-align: end;
  }

  body:has(.property-detail) .property-detail__desktop-assessment {
    border-block-start: thin solid color-mix(in srgb, var(--color-line) 18%, transparent);
    grid-area: assessment;
    padding-block-start: var(--space-6);
  }

  body:has(.property-detail) .property-detail__desktop-assessment > div {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:has(.property-detail) .property-detail__desktop-assessment section {
    display: grid;
    gap: var(--space-3);
  }

  body:has(.property-detail) .property-detail__desktop-assessment h3 {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--step-1);
    font-weight: 400;
  }

  body:has(.property-detail) .property-detail__desktop-assessment ul {
    display: grid;
    gap: var(--space-2);
    list-style: none;
    padding: 0;
  }

  body:has(.property-detail) .property-detail__desktop-assessment li::before {
    color: var(--color-accent);
    content: '— ';
  }

  body:has(.property-detail) .property-detail__desktop-price {
    align-self: start;
    background: var(--color-surface-raised);
    border: thin solid color-mix(in srgb, var(--color-line) 18%, transparent);
    grid-area: price;
  }

  body:has(.property-detail) .property-detail__desktop-price p {
    font-family: var(--font-display);
    font-size: clamp(var(--step-3), 3.2vw, var(--step-5));
    line-height: 0.95;
  }

  body:has(.property-detail) .property-detail__desktop-price span {
    color: var(--color-ink-muted);
  }
}

@media (min-width: 64ch) and (max-width: 84rem) {
  body:has(.property-detail) .property-detail__desktop-shell {
    padding-inline: var(--space-5);
  }

  body:has(.property-detail) .property-detail__desktop-layout {
    grid-template-areas:
      'intro media'
      'editorial editorial'
      'assessment price'
      'rail rail';
    grid-template-columns: minmax(calc(var(--space-9) * 3), 0.55fr) minmax(0, 1fr);
  }

  body:has(.property-detail) .property-detail__desktop-rail {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--space-9) * 4)), 1fr));
    position: static;
  }

  body:has(.property-detail) .property-detail__desktop-thumbnails {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 64ch) and (max-width: 74rem) {
  body:has(.property-detail) .property-detail__desktop-layout {
    grid-template-areas:
      'intro'
      'media'
      'editorial'
      'assessment'
      'price'
      'rail';
    grid-template-columns: minmax(0, 1fr);
  }

  body:has(.property-detail) .property-detail__desktop-intro h1 {
    max-inline-size: 13ch;
  }

  body:has(.property-detail) .property-detail__desktop-editorial {
    grid-template-columns: 1fr;
  }

  body:has(.property-detail) .property-detail__desktop-assessment > div,
  body:has(.property-detail) .property-detail__desktop-rail {
    grid-template-columns: 1fr;
  }
}
