@font-face {
  font-family: Saonara;
  src: url("assets/fonts/saonara.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
 font-family: "Neue Montreal"; src: url("assets/fonts/PPNeueMontreal-Regular.otf") format("opentype");
 font-weight:400; font-style:normal; font-display:swap;
}
@font-face {
 font-family: "Neue Montreal Text"; src: url("assets/fonts/PPNeueMontrealText-Book.otf") format("opentype");
 font-weight:350; font-style:normal; font-display:swap;
}
:root {
  --espresso: #30231F;
  --clay: #795C4B;
  --limestone: #E8DDCB;
  --ivory: #F6F0E7;
  --sky: #B7CBD3;
  --ease-reveal: cubic-bezier(.22,.61,.36,1);
  --ease-photo: cubic-bezier(.25,.46,.45,.94);
  --line-duration: 360ms;
  --text-duration: 480ms;
  --photo-mask: 660ms;
  --photo-delay: 280ms;
  --photo-zoom: 1120ms;
  --photo-hover: 400ms;
  --panel-enter: 460ms;
  --panel-exit: 300ms;
  --overlay-duration: 260ms;
  color-scheme: only light;
  --edge: clamp(24px, 4.5vw, 88px);
}
* { box-sizing: border-box; }
html { background: var(--ivory); }
html[data-kc-starting] > body { opacity: 0; visibility: hidden; }
/* Native navigation and reading remain available if an enhancement fails. */
html.kc-navigation-ready .navigation-fallback,
html.kc-catalogue-ready .catalogue-nojs,
html.kc-magazine-ready .folio-nojs { display: none; }
html:not(.kc-catalogue-ready) .catalogue-controls,
html:not(.kc-catalogue-ready) .catalogue-meta { display: none; }
body { margin: 0; color: var(--ivory); font-family: "Neue Montreal", sans-serif; font-synthesis: none; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
button:disabled { opacity: 1; -webkit-text-fill-color: currentColor; cursor: not-allowed; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--sky); outline-offset: 7px;
}
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: 20px; padding: 14px 20px; background: var(--espresso); z-index: 10; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.hero { position: relative; isolation: isolate; min-height: 620px; height: 100vh; height: 100svh; overflow: clip; background: var(--espresso); }
.hero__media, .hero__shade, .hero__poster, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__media { z-index: -3; }
.hero__poster, .hero__video { object-fit: cover; object-position: 50% 50%; }
.hero__video { opacity: 0;  }

.hero__shade { z-index: -2; }

.header { position: absolute; z-index: 3; top: env(safe-area-inset-top, 0px); left: max(var(--edge), env(safe-area-inset-left, 0px)); right: max(var(--edge), env(safe-area-inset-right, 0px)); height: clamp(78px, 9.7vh, 112px); border-bottom: 1px solid rgb(246 240 231 / 45%); display: flex; justify-content: space-between; align-items: center; }
.monogram { font-family: Saonara, serif; font-size: clamp(36px, 2.8vw, 54px); font-weight: 400; line-height: 1; white-space: nowrap; }
.monogram span { font-size: .66em; }
.hero__identity { position: absolute; left: var(--edge); right: var(--edge); top: 30.2%; text-align: center; outline: none; }
.hero__eyebrow { margin: 0; text-transform: uppercase; font-size: clamp(14px, 1.55vw, 28px); font-weight: 400; letter-spacing: .32em; padding-left: .32em; line-height: 1.5; animation-delay: 80ms; }
.hero__title { margin: clamp(16px, 1.2vw, 24px) 0 12px; font: 400 clamp(88px, 13.2vw, 260px)/.9 Saonara, "Times New Roman", serif; letter-spacing: -.015em; white-space: nowrap; animation-delay: 160ms; }
.hero__title > span { display: inline-block; }
.hero__title-second { margin-left: .12em; }
.hero__amp { font-size: .68em; vertical-align: .05em; }
.hero__description { margin: 0; font-size: clamp(14px, 1.45vw, 25px); line-height: 1.6; font-weight: 400; letter-spacing: normal; animation-delay: 240ms; }
.hero__action { position: absolute; top: 72.5%; left: var(--edge); right: var(--edge); display: flex; justify-content: center; animation-delay: 320ms; }
.collection-link { display: inline-flex; position: relative; align-items: center; gap: 17px; padding: 12px 0 14px; border: 0; background: none; color: var(--ivory); text-transform: uppercase; font-size: clamp(12px, 1.05vw, 18px); letter-spacing: .2em; line-height: 1.5; }
.collection-link svg { width: 30px; height: 16px; stroke: currentColor; stroke-width: 1.2; fill: none; flex-shrink: 0; }
.scroll-cue { position: absolute; bottom: max(4.8%, env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); display: flex; align-items: center; flex-direction: column; gap: 12px; text-transform: uppercase; font-size: 11px; line-height: 1.5; letter-spacing: .3em; padding-left: .3em; animation-name: cue-arrive; animation-delay: 380ms; }
.scroll-cue > span:first-child { width: 1px; height: 25px; background: var(--ivory); }
@keyframes arrive { from { opacity: 0; translate: 0 5px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 767px) {
  :root { --edge: 24px; }
  .hero { min-height: 560px; }
  .header { height: 82px; }
  .monogram { font-size: 38px; }
  .hero__poster, .hero__video { object-position: 53% 50%; }
  .hero__identity { top: 27%; }
  .hero__eyebrow { font-size: 12px; letter-spacing: .22em; padding-left: .22em; }
  .hero__title { margin: 30px 0 22px; font-size: clamp(64px, min(20.7vw, calc(22svh - 58px)), 150px); line-height: 1.03; letter-spacing: -.01em; }
  .hero__title > span { display: block; }
  .hero__title-second { margin-left: 0; }
  .hero__amp { font-size: .68em; }
  .hero__description { font-size: 15px; line-height: 1.65; letter-spacing: normal; }
  .hero__action { top: 73.3%; }
  .collection-link { gap: 14px; font-size: 11px; letter-spacing: .15em; padding-block: 14px; }
  .scroll-cue { font-size: 9px; gap: 10px; bottom: max(30px, env(safe-area-inset-bottom, 0px)); }
  .scroll-cue > span:first-child { height: 23px; }

}
@media (max-height: 540px) and (orientation: landscape) {
  .hero { min-height: 340px; }
  .header { height: 62px; }
  .monogram { font-size: 32px; }
  .hero__identity { top: 27%; }
  .hero__eyebrow { font-size: 10px; letter-spacing: .3em; }
  .hero__title { font-size: min(11vw, 21vh); margin: 12px 0 8px; line-height: .95; }
  .hero__title > span { display: inline-block; }
  .hero__title-second { margin-left: .12em; }
  .hero__description { font-size: 11px; }
  .hero__action { top: 72%; }
  .collection-link { font-size: 10px; padding: 8px 0; }
  .scroll-cue { bottom: 14px; font-size: 8px; gap: 4px; }
  .scroll-cue > span:first-child { height: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}



/* V2: no text-group backdrop. One broad veil covers the complete hero. */
.hero__shade, .hero.has-video .hero__shade {
  background: linear-gradient(180deg, rgb(24 16 12 / 58%) 0%, rgb(24 16 12 / 56%) 45%, rgb(24 16 12 / 53%) 75%, rgb(24 16 12 / 48%) 100%);
}
.hero__description { letter-spacing: normal; }
@media(max-width:767px) {
  .hero__shade, .hero.has-video .hero__shade {
    background: linear-gradient(180deg, rgb(24 16 12 / 54%), rgb(24 16 12 / 55%) 50%, rgb(24 16 12 / 53%) 78%, rgb(24 16 12 / 50%));
  }
  .description-ending { display: block; }
}
@media(max-height:540px) and (orientation:landscape) {
  .description-ending { display: inline; }
  .hero__description { font-size: 13px; }
}


/* Full original sequence. Grading is display-only; the media file is untouched. */
.hero__poster,.hero__video { filter: saturate(.92) sepia(.08) contrast(.94); }
.hero__shade,.hero.has-video .hero__shade {
 background:linear-gradient(180deg,rgb(24 16 12 / 64%),rgb(24 16 12 / 62%) 48%,rgb(24 16 12 / 58%) 78%,rgb(24 16 12 / 56%));
}
.hero__description { font-family:"Neue Montreal Text",sans-serif; font-weight:350; }
.hero__eyebrow { letter-spacing:.28em; padding-left:.28em; }
.collection-link { letter-spacing:.15em; font-weight:400; }
.header { height:100px; }
.desktop-shell { display:flex; gap:32px; align-items:center; }
.desktop-nav { display:flex; align-items:center; gap:clamp(18px,1.8vw,36px); }
.desktop-nav button,.desktop-nav summary,.desktop-nav > .contact-nav,.desktop-nav > .concierge-nav,.desktop-nav > .maison-nav,.desktop-nav > .private-nav { font-family:inherit; font-size:15px; font-weight:400; color:var(--ivory); background:none; border:0; padding:15px 0; white-space:nowrap; }
.desktop-nav > .contact-nav,.desktop-nav > .concierge-nav,.desktop-nav > .maison-nav,.desktop-nav > .private-nav { color:inherit; }
.desktop-nav > .concierge-nav,.desktop-nav > .maison-nav,.desktop-nav > .private-nav { position:relative; }
summary { cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
.property-menu>summary { display:flex; align-items:center; gap:9px; }
.chevron { width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s; }
.property-menu[open] .chevron { transform:rotate(225deg); }
.header-tools { display:flex;flex-direction:column;align-items:flex-end;gap:0; }
.preferences { display:flex;gap:10px;align-items:center; }
.preferences select { font:400 12px "Neue Montreal",sans-serif; color:inherit; border:0; background:transparent; cursor:pointer; padding:9px 1px; min-height:40px; }
.preferences option { color:var(--espresso);background:var(--ivory); }
.preferences-divider { height:12px;width:1px;background:currentColor;opacity:.35; }
select:focus-visible { outline:2px solid var(--sky);outline-offset:3px; }
.property-dropdown { position:absolute;top:100%;left:0;right:0;max-block-size:calc(100dvh - 100px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;background:var(--ivory);color:var(--espresso);padding:38px 40px 20px;display:grid;grid-template-columns: .85fr 3fr;gap:30px;box-shadow:0 20px 35px rgb(0 0 0 / 12%);animation:arrive .24s ease both; }
.small-label { font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;margin:0; }
.dropdown-intro>p:last-child { font:350 23px/1.35 "Neue Montreal Text",sans-serif;margin:20px 0 0; }
.property-cards { display:grid;grid-template-columns:repeat(3,1fr); }
.desktop-nav .property-card { white-space:normal;position:relative;text-align:left;padding:30px 25px 45px;color:var(--espresso);border-left:1px solid #d4c6b5;font-size:21px;line-height:1.3; }
.property-card small { display:block;margin-top:14px;font:350 14px/1.45 "Neue Montreal Text",sans-serif; }
.card-arrow { display:block;margin-top:25px;font-size:22px;font-weight:400; }
.coming-note { grid-column:1/-1;font:350 12px/1.5 "Neue Montreal Text",sans-serif;margin:5px 0 0;color:var(--clay); }
.menu-open { display:none; }
.navigation-panel { color:var(--espresso);background:var(--ivory);border:0;padding:0;position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(520px,100%);max-width:100%;overflow-y:auto;overscroll-behavior:contain; }
.navigation-panel::backdrop { background:rgb(24 16 12 / 45%); }
.navigation-panel[open] { display:flex;flex-direction:column;animation:panel-in .3s ease both; }
@keyframes panel-in { from {transform:translateX(25px);opacity:0} to {transform:translateX(0);opacity:1} }
.panel-top { display:flex;align-items:center;justify-content:space-between;padding:24px 30px;border-bottom:1px solid #d4c6b5; }
.menu-close { display:flex;align-items:center;gap:20px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:400 13px "Neue Montreal",sans-serif;cursor:pointer; }
.menu-close>span:last-child { font-size:28px;font-weight:400; }
.panel-nav { padding:18px 30px; }
.panel-link,.mobile-properties>summary { display:flex;justify-content:space-between;width:100%;text-align:left;border:0;border-bottom:1px solid #ded3c4;background:none;color:inherit;font:400 26px/1.2 "Neue Montreal",sans-serif;padding:17px 0; }
.mobile-properties[open] .plus { transform:rotate(45deg); }
.plus { font-size:24px;transition:transform .2s; }
.mobile-property-links { padding:8px 0 10px 16px;border-bottom:1px solid #ded3c4; }
.mobile-property-links .property-card { display:block;text-align:left;color:inherit;border:0;background:none;font:400 17px/1.4 "Neue Montreal",sans-serif;padding:10px 0; }
.mobile-property-links small { margin-top:3px;font-size:12px;color:var(--clay); }
.mobile-property-links .card-arrow { display:none; }
.panel-footer { margin-top:auto;padding:20px 30px max(25px,env(safe-area-inset-bottom)); }
.panel-footer .preferences { display:inline-flex;gap:18px; }
.panel-footer select { font-size:14px;min-height:44px; }
.panel-footer .coming-note { clear:both;padding-top:20px; }
.currency-note { font-size:11px;color:var(--clay);margin:8px 0 0; }
body.menu-is-open { overflow:hidden; }
.nojs-note { font-size:12px; }
@media(max-width:1279px) {
 .desktop-shell {display:none}
 .menu-open:not([hidden]) {display:flex;align-items:center;gap:15px;min-height:44px;border:0;background:none;color:var(--ivory);padding:0;font:400 13px "Neue Montreal",sans-serif;cursor:pointer}
 .hamburger {width:24px;height:9px;border-block:1px solid currentColor}
 .header {height:82px}
}
@media(max-width:767px) {
 .hero__eyebrow {letter-spacing:.2em;padding-left:.2em}
 .hero__description {font-size:15px;line-height:1.65}
 .hero__poster,.hero__video {object-position:53% 50%}
 .hero__shade,.hero.has-video .hero__shade {background:linear-gradient(180deg,rgb(24 16 12 / 62%),rgb(24 16 12 / 62%) 48%,rgb(24 16 12 / 60%) 78%,rgb(24 16 12 / 58%))}
 .panel-top {padding:16px 24px}
 .panel-nav {padding:10px 24px}
 .panel-link,.mobile-properties>summary {font-size:25px;padding:15px 0}
 .panel-footer {padding-inline:24px}
}
@media(max-height:540px) and (orientation:landscape) {
 .header {height:62px}
 .panel-link,.mobile-properties>summary {font-size:21px;padding:12px 0}
 .hero__description {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {
 .navigation-panel[open],.property-dropdown {animation:none}
}

@font-face {
 font-family:"Neue Montreal Text";
 src:url("assets/fonts/PPNeueMontrealText-BookItalic.otf") format("opentype");
 font-weight:350;font-style:italic;font-display:swap;
}
.location-group {white-space:nowrap}
.location-group em {font-family:"Neue Montreal Text",sans-serif;font-weight:350;font-style:italic;color:var(--ivory)}
.header-tools {flex-direction:row;align-items:center}
.header-tools .preferences {align-items:center}
.header-tools select {font-size:15px;min-height:44px;padding:12px 1px;line-height:20px}
.preferences label {position:relative;display:inline-flex;align-items:center;min-height:44px}
.preferences label::after {
 content:"";position:absolute;bottom:4px;left:2px;width:18px;height:1px;
 background:var(--sky);opacity:0;pointer-events:none;
}
.preferences label:has(select:open)::after {opacity:1}
.property-menu>summary {position:relative}
.property-menu>summary::after,.desktop-nav [aria-current="page"]::after {
 content:"";position:absolute;bottom:4px;left:0;width:22px;height:1px;
 background:var(--sky);opacity:0;
}
.property-menu[open]>summary::after,.desktop-nav [aria-current="page"]::after {opacity:1}
.card-arrow {display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--sky);background:none}
.property-card[aria-disabled="true"],.collection-link[aria-disabled="true"] {cursor:not-allowed}
.mobile-properties>summary .plus {display:flex;justify-content:center;align-items:center;width:28px;height:28px;color:var(--sky);background:none;flex-shrink:0}
.panel-top .preferences {gap:16px}
.panel-top select {font-size:14px;min-height:44px;padding:12px 2px}
.hero__video {opacity:0;transition:none!important;will-change:opacity}
@media(max-width:767px){
 .description-main {display:block}
}
@media(max-height:540px) and (orientation:landscape){
 .description-main {display:inline}
 .hero__description {font-size:12px}
}
/* Final details: underline the actual prefix, never estimate the final letter width. */
:root { --text-rule-gap:14px; }
.location-underlined { position:relative;display:inline-block;text-decoration:none; }
.location-underlined::after {
 content:"";position:absolute;left:0;right:0;bottom:calc(-1 * var(--text-rule-gap));
 height:1px;background:var(--sky);pointer-events:none;
}
.collection-link>span {position:relative}
.collection-link>span::after {
 content:"";position:absolute;left:0;bottom:calc(-1 * var(--text-rule-gap));width:22px;max-width:100%;
 height:1px;background:var(--sky);transition:width var(--line-duration) var(--ease-reveal);pointer-events:none;
}
.collection-link:focus-visible>span::after {width:100%}
@media(hover:hover) and (pointer:fine) {
 .collection-link:hover>span::after {width:100%}
}
.property-card .card-arrow,.property-card:hover .card-arrow,.property-card:focus-visible .card-arrow {
 color:var(--sky);background:none;box-shadow:none;border:0;border-radius:0;
}
.mobile-properties>summary .plus,.mobile-properties[open]>summary .plus {
 color:var(--sky);background:none;box-shadow:none;border:0;border-radius:0;
}
/* Strong focus on ivory surfaces, independent of the intentionally pale accent. */
.navigation-panel :focus-visible,.property-dropdown :focus-visible {outline-color:var(--espresso)}

@media (max-width:767px), (hover:none) and (pointer:coarse) {
 .location-underlined::after {content:none}
 .collection-link>span::after {width:100%}
}

.menu-open:not([hidden]) {min-width:44px;justify-content:center}

/* Balance the location in the actual free space between the two text blocks. */
@media (max-width:767px), (hover:none) and (pointer:coarse) {
 .description-main {display:block}
 .location-group {display:block;position:relative;top:var(--mobile-location-offset,0px)}
}

/* Restrained mobile navigation motion: short travel, gentle deceleration. */
@media (prefers-reduced-motion: no-preference) {
 .navigation-panel[open] {animation: navigation-enter var(--panel-enter) var(--ease-reveal) both}
 .navigation-panel[open]::backdrop {animation: navigation-backdrop-in var(--panel-enter) ease both}
 .navigation-panel[open].is-closing {animation: navigation-leave var(--panel-exit) cubic-bezier(.4,0,.6,1) both}
 .navigation-panel[open].is-closing::backdrop {animation: navigation-backdrop-out var(--panel-exit) ease both}
 .mobile-properties .plus {transition:transform 380ms cubic-bezier(.22,.61,.36,1)}
 .mobile-properties.accordion-closing .plus {transform:rotate(0)}
}
@keyframes navigation-enter {from {opacity:0;transform:translateX(12px)} to {opacity:1;transform:translateX(0)}}
@keyframes navigation-leave {from {opacity:var(--navigation-close-opacity,1);transform:var(--navigation-close-transform,translateX(0))} to {opacity:0;transform:translateX(8px)}}
@keyframes navigation-backdrop-in {from {opacity:0} to {opacity:1}}
@keyframes navigation-backdrop-out {from {opacity:var(--navigation-backdrop-opacity,1)} to {opacity:0}}

/* Existing navigation treatment, now applied to real catalogue links. */
.all-properties-link {display:inline-flex;align-items:baseline;gap:8px;padding:30px 0 45px;color:var(--espresso);font:400 21px/1.3 "Neue Montreal",sans-serif;letter-spacing:normal;text-transform:none;white-space:normal}
.all-properties-arrow {color:var(--sky)}
.mobile-property-links>a.property-card {min-height:44px}

/* Shared motion for editorial images and native overlays. */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  :root { --photo-mask: 560ms; --photo-delay: 230ms; }
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  html[data-kc-entry="return"] { --kc-page-duration: 210ms; }
  ::view-transition-old(root), ::view-transition-new(root) {
    animation-duration: var(--kc-page-duration, 390ms);
    animation-timing-function: var(--ease-reveal);
  }

  html[data-kc-entry="first"]:not([data-kc-native-entry]) :is(.kc-entry-title, .kc-entry-copy, .hero .arrival:not(.header)):not(.kc-title-awaiting-font),
  html[data-kc-entry="first"][data-kc-native-entry] .kc-title-ready-late {
    animation: kc-page-in 390ms var(--ease-reveal) var(--kc-entry-delay, 0ms) both;
  }
  .kc-title-awaiting-font { opacity: 0; }
  .kc-entry-copy, .hero__title { --kc-entry-delay: 55ms; }
  .hero__description { --kc-entry-delay: 90ms; }
  .hero__action, .scroll-cue { --kc-entry-delay: 130ms; }
  .is-text-pending:not(:focus-within) { opacity: 0; translate: 0 5px; }

  :is(.property-viewer, .folio-dialog, .book__dialog) {
    opacity: 0;
    transition: opacity var(--overlay-duration) var(--ease-reveal);
    transition: opacity var(--overlay-duration) var(--ease-reveal),
      display var(--overlay-duration) allow-discrete, overlay var(--overlay-duration) allow-discrete;
  }
  :is(.property-viewer, .folio-dialog, .book__dialog)[open] { opacity: 1; }
  :is(.property-viewer, .folio-dialog, .book__dialog):not([open]),
  :is(.property-viewer, .folio-dialog, .book__dialog):not([open])::backdrop { pointer-events: none; }
  @starting-style {
    :is(.property-viewer, .folio-dialog, .book__dialog)[open] { opacity: 0; }
  }

  @supports selector(details::details-content) {
    .property-menu::details-content {
      opacity: 0;
      transition: opacity var(--overlay-duration) var(--ease-reveal),
        content-visibility var(--overlay-duration) allow-discrete;
    }
    .property-menu[open]::details-content { opacity: 1; }
    .property-dropdown { animation: none; }
    .property-menu:not([open]) .property-dropdown { pointer-events: none; }
  }
}


.navigation-fallback { display: none; }
@media (max-width: 1279px) {
  .navigation-fallback { display: block; }
  .navigation-fallback summary { min-height: 44px; display: grid; align-items: center; }
  .navigation-fallback nav { position: absolute; inset: 100% 0 auto; display: grid; max-height: calc(100dvh - 100px); overflow: auto; padding: 12px 20px; color: var(--espresso); background: var(--ivory); }
  .navigation-fallback a { display: grid; align-items: center; min-height: 44px; }
}

@keyframes kc-page-in { from { opacity: .42; translate: 0 5px; } to { opacity: 1; translate: none; } }

/* Currency preference and the single dated rate disclosure. */
html:not([data-kc-exchange]) .preferences :is(label:has(.currency-select), .preferences-divider) { display: none; }
.header-tools { position: relative; }
.currency-note--desktop {
  position: absolute;
  inset: calc(100% + 3px) 0 auto auto;
  margin: 0;
  width: max-content;
  max-width: min(340px, 46vw);
  color: inherit;
  text-align: end;
  line-height: 1.35;
}
.navigation-panel > .currency-note {
  margin: 8px 30px 0;
  line-height: 1.45;
}
.currency-note a { text-decoration: underline; text-decoration-color: var(--sky); text-underline-offset: .22em; white-space: nowrap; }
.price-amount, .price-period { white-space: nowrap; }
.price-unit { font: 400 .46em/1.1 "Neue Montreal", sans-serif; -webkit-text-stroke: 0; }

@media (prefers-reduced-motion: no-preference) {
  html[data-kc-title-swap="out"] .kc-entry-title { view-transition-name: kc-title-out; }
  html[data-kc-title-swap="in"] .kc-entry-title { view-transition-name: kc-title-in; }
  ::view-transition-group(kc-title-out), ::view-transition-group(kc-title-in) {
    animation-duration: var(--kc-page-duration, 390ms);
  }
  ::view-transition-old(kc-title-out) {
    animation: kc-title-exit var(--kc-page-duration, 390ms) var(--ease-reveal) both;
    mix-blend-mode: normal;
  }
  ::view-transition-new(kc-title-in) {
    animation: kc-title-enter var(--kc-page-duration, 390ms) var(--ease-reveal) both;
    mix-blend-mode: normal;
  }
}
@keyframes kc-title-exit { 0% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes kc-title-enter { 0%, 50% { opacity: 0; } 100% { opacity: 1; } }


/* Keep the chooser and the close action outside the navigation scroller. */
.navigation-panel[open] { overflow: hidden; }
.navigation-panel > .panel-top,
.navigation-panel > .currency-note { flex: 0 0 auto; }
.navigation-panel > .panel-top {
  padding-top: max(16px, env(safe-area-inset-top));
  padding-left: max(24px, env(safe-area-inset-left));
  padding-right: max(24px, env(safe-area-inset-right));
}
.navigation-panel > .panel-nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-left: max(24px, env(safe-area-inset-left));
  padding-right: max(24px, env(safe-area-inset-right));
  padding-bottom: max(18px, env(safe-area-inset-bottom));
  scroll-padding-block: 8px;
}
.navigation-panel > .panel-footer:empty { display: none; }
.navigation-panel > .currency-note { margin-inline: max(24px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-right)); }

@media (max-height: 540px) and (orientation: landscape) {
  :root { --low-header-height: 58px; }
  .header { height: var(--low-header-height); }
  .property-dropdown { max-block-size: calc(100dvh - var(--low-header-height) - env(safe-area-inset-top) - 8px); }
}
@media (max-width: 1279px) and (max-height: 540px) and (orientation: landscape) {
  :root {
    --low-header-height: 48px;
    --landscape-frame-height: 64svh;
    --edge: max(clamp(18px, 4.3vw, 42px), env(safe-area-inset-left), env(safe-area-inset-right));
  }
  .navigation-panel > .panel-top { padding-block: max(4px, env(safe-area-inset-top)) 4px; }
  .navigation-panel > .panel-nav { padding-top: 6px; }
  .navigation-panel .panel-link, .navigation-panel .mobile-properties > summary { padding-block: 9px; min-height: 44px; }
  .navigation-panel > .currency-note { margin-block: 6px 0; }
  .navigation-panel .menu-close { gap: 10px; }
  .hero { min-height: min(100svh, 340px); }
  .hero__identity { top: 25%; }
  .hero__eyebrow { font-size: 11px; }
  .hero__description { font-size: 14px; }
  .hero__action { top: 69%; }
  .collection-link { min-height: 44px; font-size: 11px; }
  .scroll-cue { bottom: max(8px, env(safe-area-inset-bottom)); }
  .hero { --text-rule-gap: 6px; }
}
@media (max-width: 1279px) and (max-height: 540px) and (orientation: landscape) {
 .hero__description .description-main, .hero__description .location-group { display: inline; position: static; }
}
@media (min-width: 1280px) and (max-height: 540px) and (orientation: landscape) {
 .currency-note--desktop { inset-block-start: calc(100% + 12px); }
}
