/* Aan de Meul / architectural edition.
   One neutral typographic system, full-width photographs, quiet editorial grids. */
:root {
  --adm-ivory: #fff;
  --adm-paper: #fff;
  --adm-black: #171714;
  --adm-ink: #171714;
  --adm-grey: #f3f3f0;
  --adm-line: #d7d7d0;
  --adm-gold: #80663b;
  --adm-gold-bright: #c4a96d;
  --adm-gold-soft: #e6dbc4;
  --adm-radius: 0;
  --adm-pad: clamp(1.5rem, 4.5vw, 5rem);
  --adm-card-pad: clamp(1.5rem, 3vw, 3rem);
  --adm-gap: clamp(2rem, 4vw, 4rem);
  --adm-section: clamp(3.5rem, 6vw, 6rem);
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --display: var(--sans);
  --serif: var(--sans);
  --muted: #595953;
  --radius: 0;
}
html, body, .inner-page { background: #fff; color: var(--adm-ink); }
body { font-weight: 400; line-height: 1.75; }
body::before, body::after { width: 1px; background: var(--adm-gold-bright); }
html::before, html::after { content: none; }
main h1, main h2, main h3, .footer-wordmark { padding: 0; font-weight: 400 !important; line-height: 1.18 !important; letter-spacing: 0 !important; }
main h1 em, main h2 em, main h3 em { color: inherit; font-style: normal; }
p, li, address { line-height: 1.65; }
.page-kicker, .eyebrow, .section-index, .footer-column h2 { color: inherit; font-size: .875rem; font-weight: 400; text-transform: none; }
.page-kicker::before, .section-index span, .scroll-progress { display: none; }
.section-index { gap: 0; }
.section-title, .split-intro h2, .split-intro > div h2, .unit-overview h2, .editorial-cta h2 { font-size: clamp(2rem, 3.7vw, 4rem); }
.section-head, .collection-heading { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--adm-gap); align-items: end; margin-bottom: clamp(2rem, 3vw, 3rem); padding-top: 0; }
.section-head > p, .collection-heading > p { color: var(--muted); font-size: 1rem; max-width: 30rem; }
.section-head .section-title, .collection-heading h2 { margin-top: .9rem; }

/* Full primary navigation and a complete, scrollable menu on every route. */
.site-header, .site-header.glass-nav { background: rgba(255,255,255,.97); border-color: var(--adm-line); backdrop-filter: blur(12px); }
.nav-shell { min-height: 5rem; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 1.5rem; padding: 1rem var(--adm-pad); }
.brand { grid-column: 1; grid-row: 1; justify-self: start; width: 10rem; max-width: 100%; }
.nav-primary { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem 1.5rem; }
.nav-primary a { padding: .6rem 0; font-size: .875rem; line-height: 1.5; white-space: nowrap; }
.nav-primary a:hover, .nav-primary a[aria-current="page"] { color: var(--adm-gold); text-decoration: underline; text-underline-offset: .5rem; }
.nav-right { grid-column: 3; grid-row: 1; display: flex; gap: 0; }
.nav-book.direct-book-control { min-height: 2.9rem; padding: .75rem 1rem; border: 1px solid var(--adm-black); border-radius: 4px; background: var(--adm-black); color: #fff; box-shadow: none; font-size: .875rem; font-weight: 400; white-space: nowrap; }
.nav-book::after { content: none; }
.menu-toggle { display: flex; grid-column: 4; grid-row: 1; justify-self: end; align-items: center; justify-content: center; min-width: 3.25rem; width: auto; height: auto; min-height: 2.9rem; margin: 0; padding: .6rem 0; border: 0; border-radius: 0; background: transparent; color: var(--adm-ink); cursor: pointer; }
.menu-toggle > span.menu-label, .menu-toggle[aria-expanded="true"] > span.menu-label { display: block; width: auto; height: auto; background: none; font-size: .875rem; transform: none; }
#mobile-menu, #mobile-menu[aria-hidden="false"] { position: absolute; inset: 100% 0 auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); align-content: start; align-items: start; gap: 3rem; width: 100%; height: calc(100dvh - var(--nav-height, 5rem)); padding: 2.5rem var(--adm-pad) max(3rem, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: #fff; color: var(--adm-ink); transform: none; transition: opacity .3s, visibility .3s; }
#mobile-menu[aria-hidden="true"] { visibility: hidden; opacity: 0; pointer-events: none; }
#mobile-menu[aria-hidden="false"] { visibility: visible; opacity: 1; pointer-events: auto; }
.menu-section { min-width: 0; }
.menu-section h2 { margin: 0 0 1.25rem; color: var(--muted); font-family: var(--sans); font-size: .875rem; font-weight: 400; line-height: 1.5; }
#mobile-menu a { display: block; width: 100%; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--adm-line); font-family: var(--sans); font-size: clamp(1.25rem, 1.8vw, 1.75rem); font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
#mobile-menu a:hover, #mobile-menu a:focus-visible, #mobile-menu a[aria-current="page"] { color: var(--adm-gold); }
.menu-unit-links { margin-top: 1.5rem; }
#mobile-menu .menu-unit-links a, #mobile-menu .menu-contact a { font-size: 1rem; line-height: 1.6; }
#mobile-menu a.direct-book-control { width: fit-content; min-height: 2.9rem; margin-top: 2rem; padding: .85rem 1.25rem; border-radius: 4px; background: var(--adm-black); color: #fff; font-size: 1rem; }
.menu-open .sticky-book, .menu-open .stay-assistant { visibility: hidden; pointer-events: none; }
@media (max-width: 1279px) {
  .nav-shell { grid-template-columns: minmax(0,1fr) auto auto; }
  .nav-primary { display: none; }
  .nav-right { grid-column: 2; }
  .menu-toggle { grid-column: 3; }
}
@media (max-width: 980px) {
  #mobile-menu, #mobile-menu[aria-hidden="false"] { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem; }
  .menu-contact { grid-column: 1 / -1; }
}

/* Flat controls; glass is reserved for the persistent booking path. */
.button, .direct-book-control, .card-link, .text-link { font-size: .875rem; font-weight: 400; text-transform: none; letter-spacing: 0; }
.button { justify-content: center; min-height: 2.9rem; gap: .6rem; padding: .8rem 1.1rem; border-radius: 4px; line-height: 1.3; transition: background .4s, color .4s, border-color .4s; }
.button-solid, .button-gold, .button.button-solid.direct-book-control, .button.button-gold.direct-book-control { border: 1px solid var(--adm-black); background: var(--adm-black); color: #fff; box-shadow: none; }
.button-outline { border-color: var(--adm-line); background: transparent; color: var(--adm-ink); }
.button:hover, .button:focus-visible, .button-solid:hover, .button-gold:hover, .button.button-solid.direct-book-control:hover, .button.button-gold.direct-book-control:hover { transform: none; background: var(--adm-gold); border-color: var(--adm-gold); color: #fff; }
.button-light { background: #fff; border-color: #fff; color: var(--adm-ink); }
.card-link, .text-link, .card-body > a { padding: .3rem 0; border-radius: 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: inherit; }
.card-link:hover, .text-link:hover { transform: none; background: none; color: var(--adm-gold); }
:focus-visible { outline: 2px solid var(--adm-gold); outline-offset: 5px; }
.anamorphic-media::before, .anamorphic-media::after, .booking-glass::after, .direct-book-control::before { content: none; }
.anamorphic-media, .anamorphic-media:hover, .anamorphic-media:focus-within { transform: none; box-shadow: none; filter: none; }

/* Campaign: real apartment imagery, prominent identity and manual fade navigation. */
.campaign { position: relative; isolation: isolate; width: 100%; margin: 0; background: var(--adm-black); color: #fff; }
main .campaign-wordmark { position: absolute; z-index: 4; top: clamp(.5rem, 1.6vw, 1.75rem); left: var(--adm-pad); right: var(--adm-pad); margin: 0; font-size: clamp(3rem, 14.8vw, 18rem); font-weight: 400 !important; line-height: 1.08 !important; white-space: nowrap; text-align: center; color: #fff; pointer-events: none; text-shadow: 0 1px 15px rgba(0,0,0,.1); }
.campaign .campaign-stage { position: relative; display: grid; width: 100%; height: auto; min-height: max(38rem, calc(100svh - 4.25rem)); aspect-ratio: auto; margin: 0; border: 0; border-radius: 0; background: var(--adm-black); touch-action: pan-y; overflow: visible; }
.campaign .campaign-slide { position: relative; grid-area: 1 / 1; display: grid; align-items: end; width: 100%; min-width: 0; min-height: inherit; height: auto; margin: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .65s ease, visibility .65s; }
.campaign .campaign-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.campaign-slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.campaign-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.32), transparent 40%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.8)); pointer-events: none; }
.campaign-caption { position: relative; z-index: 2; max-width: 48rem; padding: max(20vw, 11rem) var(--adm-pad) 8.5rem; }
.campaign-caption > p { margin-bottom: 1.25rem; font-size: 1rem; }
.campaign-caption h2 { color: #fff; font-size: clamp(1.8rem, 2.65vw, 3rem); line-height: 1.13 !important; }
.campaign-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; }
.campaign-link { padding-block: .75rem; border-bottom: 1px solid rgba(255,255,255,.75); color: #fff; font-size: .875rem; transition: color .4s, border-color .4s; }
.campaign-link:hover { color: var(--adm-gold-soft); border-color: var(--adm-gold-soft); }
.campaign-pagination { position: absolute; z-index: 5; bottom: 1.5rem; left: var(--adm-pad); display: flex; align-items: center; gap: 1.5rem; font-size: .875rem; }
.campaign-pagination > div { display: flex; gap: .2rem; }
.campaign-pagination button { min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.4); border-radius: 0; background: transparent; color: #fff; font-size: .875rem; cursor: pointer; transition: background .4s, border-color .4s; }
.campaign-pagination button[aria-pressed="true"], .campaign-pagination button:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.campaign :focus-visible { outline-color: #fff; }
.no-js .campaign-pagination { display: none; }

/* Home editorial rhythm: introduction, collection, services and address. */
.introduction { grid-template-columns: minmax(0,1fr) minmax(0,3fr); gap: clamp(2rem, 4vw, 4rem); }
.intro-copy { max-width: none; margin: 0; }
.introduction h2 { margin: 0; max-width: 29ch; font-size: clamp(2rem, 3.7vw, 4.25rem); }
.intro-notes { max-width: 52rem; margin: 2rem 0 0; gap: var(--adm-gap); color: var(--muted); font-size: 1rem; }
.collection { padding-top: 0; }
.collection-heading h2 { font-size: clamp(2.5rem, 4.5vw, 5rem); }
.apartment-grid { gap: var(--adm-gap); border: 0; background: transparent; }
.apartment-card:nth-child(n) { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.card-media, .apartment-card:nth-child(n) .card-media { aspect-ratio: auto; height: auto; border: 0; }
.card-media img { filter: none; transition: opacity .4s; }
.card-body { min-height: 0; padding: 1.5rem 0 .5rem; gap: 1rem; }
.card-body > p { color: var(--muted); font-size: .875rem; }
.card-body h3 { font-size: clamp(1.5rem, 2.1vw, 2.3rem); }
.card-body > a { margin-top: .25rem; font-weight: 400; }
.card-count, .card-count.adm-glass { position: static; display: block; padding: .6rem 0 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; color: var(--muted); font-size: .8rem; }
.booking-path { grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: var(--adm-gap); margin: 0; padding: clamp(2.5rem, 5vw, 4.5rem) var(--adm-pad); background: var(--adm-grey); color: var(--adm-ink); border: 0; border-radius: 0; box-shadow: none; }
.booking-path h2 { font-size: clamp(1.7rem, 2.5vw, 2.75rem); }
.booking-path h2 em { color: inherit; }
.booking-path .page-kicker { color: var(--adm-ink); }
.booking-path ol { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.booking-path li { display: block; padding: 0; border: 0; }
.booking-path li > span { display: block; margin-bottom: 1rem; color: var(--adm-gold); }
.booking-path li > strong { font-family: var(--sans); font-size: 1rem; font-weight: 400; }
.booking-path li > p { margin-top: .75rem; color: var(--muted); font-size: 1rem; }
.booking-path > .button { grid-column: 2; justify-self: start; margin: 0; }
.details { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.details-image { height: auto; min-height: 0; border: 0; border-radius: 0; }
.details-image img, .details-image .parallax-slow { height: auto; object-fit: contain; transform: none; filter: none; }
.details-image > p { position: static; padding: .75rem 0 0; border: 0; background: none; color: var(--muted); box-shadow: none; font-size: .875rem; line-height: 1.5; backdrop-filter: none; }
.details-copy h2 { margin-top: 1rem; font-size: clamp(2rem, 3.7vw, 4rem); }
.details-lead { margin-top: 1.5rem; font-size: 1rem; }
.accordion { margin-top: 2rem; }
.accordion summary { min-height: 3.7rem; font-size: 1rem; }
.accordion details p { font-size: .95rem; }
.location { background: var(--adm-grey); color: var(--adm-ink); }
.location-top { grid-template-columns: minmax(0,1fr) minmax(0,3fr); }
.location .eyebrow, .location h2 em, .section-index.light { color: inherit; }
.location h2 { margin-top: .85rem; font-size: clamp(2.5rem, 5vw, 5.5rem); }
.location-facts { margin-top: 3rem; border: 0; border-top: 1px solid var(--adm-line); }
.location-facts article { min-height: 0; gap: 1rem; padding: 1.5rem 1rem 0 0; border: 0; }
.location-facts strong { font-size: clamp(2.5rem, 4vw, 4.5rem); }
.location-facts p { color: var(--muted); font-size: .9rem; }
.location-actions { margin-top: 2.5rem; }
.location-actions > p { max-width: 28rem; font-size: 1.3rem; }
.booking, .editorial-cta { display: block; min-height: 0; padding: var(--adm-section) var(--adm-pad); border: 0; background: #fff; text-align: left; }
.booking-copy { max-width: 65rem; }
.booking h2 { max-width: 19ch; font-size: clamp(2.5rem, 5.5vw, 6rem); }
.booking-copy > p:not(.eyebrow) { margin: 1.5rem 0; }
.editorial-cta > div { max-width: none; }
.editorial-cta h2 { max-width: 28ch; margin: 1.25rem 0 0; }
.editorial-cta .page-kicker { justify-content: start; }
.editorial-cta p:not(.page-kicker) { max-width: 38rem; margin: 1.5rem 0; color: var(--muted); }
.editorial-cta .button { margin-top: 0; }

/* Interior pages introduce their subject above a wide, uncropped photograph. */
.page-hero { display: block; min-height: 0; height: auto; background: #fff; color: var(--adm-ink); }
.page-hero-content { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); align-items: start; gap: clamp(2.5rem, 5vw, 5rem); min-height: 0; padding: clamp(3rem, 5vw, 5rem) var(--adm-pad) clamp(2.5rem, 4vw, 4rem); background: #fff; color: var(--adm-ink); }
.page-hero-heading { align-self: start; }
.page-title { max-width: 22ch; margin-top: 1rem; font-size: clamp(2.5rem, 5vw, 5.5rem); color: var(--adm-ink); }
.page-title em, .page-hero h1 em { color: inherit; }
.page-hero-bottom { grid-template-columns: minmax(0,1fr); gap: 2rem; }
.page-hero .page-lead { max-width: 34rem; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.page-hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--adm-line); }
.page-hero-facts > * { display: flex; align-items: start; flex-direction: column; justify-content: start; gap: .5rem; min-width: 0; padding: 1.25rem 1rem 0 0; border: 0; color: var(--muted); font-size: .875rem; }
.page-hero-facts strong { color: var(--adm-ink); font-size: 1.5rem; }
.page-hero-media { position: relative; height: auto; min-height: 0; margin: 0; border: 0; overflow: visible; background: var(--adm-grey); }
.page-hero-media img, .page-hero-media picture, .page-hero-media picture img, .is-ready .page-hero-media img { display: block; position: relative; inset: auto; width: 100%; height: auto; max-height: none; object-fit: contain; filter: none; transform: none; }
.page-hero-shade { display: none; }
.page-hero-media .media-label.adm-glass { position: static; display: flex; justify-content: space-between; width: 100%; max-width: none; padding: .85rem var(--adm-pad); background: #fff; color: var(--muted); border: 0; border-bottom: 1px solid var(--adm-line); border-radius: 0; backdrop-filter: none; box-shadow: none; font-size: .8rem; }
.page-hero-media .media-label strong { color: inherit; font-size: inherit; font-weight: 400; }
.split-intro { grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 3rem; }
.split-intro-copy > p { max-width: 46rem; color: var(--muted); font-size: 1.05rem; }
.unit-grid, .related-grid { gap: 3rem var(--adm-gap); }
.unit-card { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.unit-card:hover, .unit-card:focus-within { transform: none; background: #fff; box-shadow: none; }
.unit-card-media, .unit-grid > .unit-card:nth-child(n) .unit-card-media, .related-grid > .unit-card:nth-child(n) .unit-card-media { border: 0; height: auto; min-height: 0; aspect-ratio: auto; overflow: visible; }
.unit-card-media img { filter: none; transition: opacity .4s; }
.unit-card-media .media-label.adm-glass { position: static; display: flex; justify-content: space-between; width: 100%; padding: .7rem 0 0; border: 0; border-radius: 0; background: none; color: var(--muted); backdrop-filter: none; box-shadow: none; font-size: .8rem; }
.unit-card-media .media-label strong { color: inherit; font-size: inherit; font-weight: 400; }
.unit-card-media:hover .media-label.adm-glass, .unit-card-media:focus-within .media-label.adm-glass { background: none; color: var(--muted); }
.unit-card-copy { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem 0 0; }
.unit-card-copy h3, .related-grid .unit-card-copy h3 { font-size: clamp(1.5rem, 2.3vw, 2.5rem); }
.unit-card-copy > div { border: 0; margin-top: 0; padding-top: .5rem; gap: 1.5rem; }
.unit-card-copy > div > span, .unit-card-copy > p { color: var(--muted); }
.unit-grid > .unit-card:only-child { gap: var(--adm-gap); }
.unit-grid > .unit-card:only-child .unit-card-copy { padding: 1.5rem 0; }
.unit-position { display: none; }
.unit-numbers ul { gap: .75rem 1.5rem; }
.unit-numbers li { border: 0; border-bottom: 1px solid var(--adm-gold-bright); padding: .35rem 0; background: none; font-size: .95rem; }
.unit-overview { gap: var(--adm-gap); }
.unit-overview .page-lead { color: var(--muted); }
.unit-specs.adm-glass { border-radius: 0; box-shadow: none; background: var(--adm-grey); border: 0; }
.gallery-stage { height: auto; min-height: 0; aspect-ratio: 1600 / 1067; background: var(--adm-grey); border: 0; overflow: hidden; }
.gallery-slide { border: 0; box-shadow: none; border-radius: 0; transition: opacity .6s ease; }
.gallery-slide.is-previous, .gallery-slide.is-next { opacity: 0; transform: none; }
.gallery-slide.is-active, .gallery-slide[aria-hidden="false"] { opacity: 1; transform: none; }
.gallery-slide img { filter: none; object-fit: contain; border-radius: 0; }
.gallery-controls.adm-glass { padding: 0; border: 0; border-radius: 0; background: none; color: var(--adm-ink); box-shadow: none; backdrop-filter: none; }
.gallery-controls.adm-glass button { min-width: 5.5rem; min-height: 2.75rem; border: 1px solid var(--adm-line); border-radius: 4px; background: #fff; color: var(--adm-ink); }
.gallery-controls.adm-glass p { color: var(--adm-ink); }
.gallery-thumbs button { border: 0; border-bottom: 1px solid var(--adm-line); border-radius: 0; background: #fff; color: var(--adm-ink); font-weight: 400; }
.gallery-thumbs button.is-active, .gallery-thumbs button[aria-pressed="true"] { border-color: var(--adm-black); background: var(--adm-grey); color: var(--adm-ink); }
.direct-book-strip { gap: var(--adm-gap); background: var(--adm-grey); color: var(--adm-ink); }
.direct-book-strip h2 { font-size: clamp(2rem, 3.5vw, 3.75rem); color: var(--adm-ink); }
.direct-book-actions .text-link { color: var(--adm-ink); }
.direct-book-strip h2 em, .direct-book-strip .page-kicker { color: inherit; }
.direct-book-strip > div:first-child > p:not(.page-kicker) { color: var(--muted); }
.details-list summary, .unit-feature-list li { font-size: 1rem; }
.details-list details { border-color: var(--adm-line); }

/* Films remain small invitations; playback opens the existing full-screen player. */
.film-section.content-shell { grid-template-columns: minmax(0,2fr) minmax(0,1fr); align-items: center; gap: 2rem; border-top: 1px solid var(--adm-line); }
.film-section .section-head { display: block; margin: 0; }
.film-section .section-title { max-width: 26ch; margin-top: .8rem; font-size: clamp(2rem, 3.5vw, 3.75rem); }
.film-section .section-head > p { margin-top: 1.25rem; color: var(--muted); }
.film-section .section-title em { color: inherit; }
.film-frame { border: 0; min-height: 0; aspect-ratio: auto; width: 100%; }
.video-launch { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 8rem; height: auto; padding: 1.5rem; border: 1px solid var(--adm-line); border-radius: 4px; background: var(--adm-grey); color: var(--adm-ink); }
.video-launch::before, .video-launch::after { content: none; }
.video-launch > .film-visual { position: static; display: block; padding: 0; text-align: left; }
.film-visual > span { display: none; }
.film-visual > small { position: static; color: var(--adm-ink); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.video-launch > .video-launch-label { position: static; display: flex; flex-direction: column; align-items: end; justify-content: center; gap: .4rem; min-width: 0; width: auto; padding: 0; border: 0; border-radius: 0; background: none; color: var(--adm-ink); letter-spacing: 0; }
.video-launch-label > span { color: var(--adm-ink); font-size: 1.3rem; text-decoration: underline; text-underline-offset: .3em; }
.video-launch-label > strong { color: var(--muted); font-size: .8rem; font-weight: 400; }
.video-launch:hover { background: #e8e8e2; }
.film-modal-heading h2 { font-family: var(--sans); font-size: clamp(1.5rem, 3vw, 3rem); }

/* Supporting pages share the same grid, readable surfaces and natural image ratios. */
.activity-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem var(--adm-gap); }
.activity-card:nth-child(n) { grid-column: auto; min-height: 0; margin: 0; border: 0; background: none; box-shadow: none; }
.activity-card:nth-child(n) > .anamorphic-media { min-height: 0; height: auto; aspect-ratio: auto; }
.activity-card > .anamorphic-media img { height: auto; object-fit: contain; filter: none; transform: none; }
.activity-card-copy, .activity-card > div:last-child:not(.anamorphic-media) { padding: 1.5rem 0 0; }
.activity-card-copy h2, .activity-card > div:last-child:not(.anamorphic-media) h2 { font-size: clamp(1.5rem, 2.2vw, 2.5rem); }
.activity-card-copy p, .activity-card > div:last-child:not(.anamorphic-media) p { color: var(--muted); }
.guide-break > .adm-glass { border-radius: 0; background: rgba(255,255,255,.95); color: var(--adm-ink); box-shadow: none; }
.guide-break h2, .guide-break h2 em, .guide-break .page-kicker { color: var(--adm-ink); }
.guide-break > .adm-glass h2 em { color: inherit; }
.guide-break > .adm-glass .button { background: var(--adm-black); color: #fff; border-color: var(--adm-black); }
.location-map > .adm-glass { border: 0; border-radius: 0; background: var(--adm-grey); color: var(--adm-ink); box-shadow: none; }
.location-map > .adm-glass h2 { font-size: clamp(2rem, 3.5vw, 3.75rem); }
.location-map > .adm-glass h2 em { color: inherit; }
.location-map > .adm-glass > p:not(.page-kicker), .location-map > .adm-glass address { color: var(--muted); }
.fact, .fact:first-child, .fact:last-child { border: 0; border-top: 1px solid var(--adm-line); border-radius: 0; background: none; }
.fact strong { font-family: var(--sans); font-size: clamp(2rem, 4vw, 4rem); }
.offer-grid { gap: var(--adm-gap); }
.offer-card { padding: var(--adm-card-pad); border: 0; border-radius: 0; background: var(--adm-grey); color: var(--adm-ink); box-shadow: none; }
.offer-card:nth-child(2), .offer-card:hover, .offer-card:focus-within { background: var(--adm-grey); color: var(--adm-ink); }
.offer-card h2, .offer-card h3 { font-size: clamp(1.75rem, 3vw, 3rem); }
.offer-card h2 em, .offer-card h3 em, .offer-card .page-kicker { color: inherit; }
.offer-card > p { color: var(--muted); }
.offer-card:hover > p, .offer-card:focus-within > p { color: var(--muted); }
.offer-card:hover .page-kicker, .offer-card:focus-within .page-kicker { color: inherit; }
.offer-featured, .offer-featured:hover, .offer-featured:focus-within { background: var(--adm-black); color: #fff; }
.offer-featured > div:first-child > strong { color: var(--adm-gold-soft); font-family: var(--sans); font-weight: 400; }
.offer-featured .button.button-solid.direct-book-control { background: #fff; color: var(--adm-ink); border-color: #fff; }
.offer-featured .button.button-solid.direct-book-control:hover { background: var(--adm-gold-soft); border-color: var(--adm-gold-soft); }
.offer-featured > div:last-child > span { color: #deded8; }
.benefits-grid { gap: 1.5rem; border: 0; }
.benefits-grid > article, .benefits-grid > article:first-child { border: 0; border-top: 1px solid var(--adm-line); padding: 1.5rem 0; background: none; }
.benefits-grid h3 { font-size: clamp(1.5rem, 2vw, 2.1rem); }
.faq-section .section-title, .contact-details h2 { font-size: clamp(2rem, 3.5vw, 3.75rem); }
.contact-card.adm-glass { border: 0; border-bottom: 1px solid var(--adm-line); border-radius: 0; padding: 1.5rem 0; gap: .75rem; background: none; box-shadow: none; }
.enquiry-form.adm-glass { border: 0; border-radius: 0; background: var(--adm-grey); box-shadow: none; }
.contact-card.adm-glass > span { color: var(--muted); }
.contact-card.adm-glass > strong { color: var(--adm-ink); }
.contact-card.adm-glass:hover, .contact-card.adm-glass:focus-visible { background: var(--adm-grey); color: var(--adm-ink); transform: none; }
.form-field input, .form-field select, .form-field textarea { border-radius: 3px; background: #fff; border-color: var(--adm-line); font-family: var(--sans); }

/* Consistent text stacks and safe wrapping across every content grid. */
.content-shell { width: 100%; max-width: none; padding-inline: var(--adm-pad); }
main section > *, .section-head > *, .collection-heading > *, .unit-card > *, .page-hero-content > *, .field-grid > *, .site-footer > * { min-width: 0; }
main h1, main h2, main h3 { overflow-wrap: break-word; text-wrap: pretty; }
.page-kicker + h2, .eyebrow + h2 { margin-top: 1.25rem; }
.unit-card-copy h3, .related-grid .unit-card-copy h3 { margin: 0; max-width: 100%; }
.split-intro-copy > p, .unit-overview-copy > .page-lead, .activity-card-copy > p { margin-top: 1.5rem; }
.split-intro-copy > .button, .unit-actions { margin-top: 2rem; }
.unit-actions, .direct-book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; }
.unit-specs.adm-glass { padding: var(--adm-card-pad); }
.unit-specs > div { gap: 1rem 2rem; padding-block: 1.25rem; }
.unit-specs > div:first-child { padding-top: 0; }
.unit-specs > div:last-child { padding-bottom: 0; }
.accordion summary, .details-list summary { padding-block: 1.25rem; gap: 1.5rem; line-height: 1.5; }
.accordion details p, .details-list details p { padding: .25rem 0 1.5rem; margin: 0; line-height: 1.65; font-size: 1rem; }
.film-section.content-shell { gap: var(--adm-gap); }
.offer-card { min-height: 0; gap: 0; }
.offer-card h2, .offer-card h3 { margin-top: 1.5rem; }
.offer-card > p:not(.page-kicker) { margin: 1.5rem 0 2rem; }
.offer-card .button { align-self: start; }
.offer-featured { gap: 2.5rem; }
.offer-featured > div:first-child > p:not(.page-kicker) { margin-top: 1.5rem; }
.offer-featured > div:last-child { gap: 1.5rem; flex-wrap: wrap; }
.contact-grid { gap: clamp(2.5rem, 6vw, 6rem); }
.contact-card.adm-glass > strong, .footer-column a { overflow-wrap: anywhere; }
.enquiry-form.adm-glass { padding: var(--adm-card-pad); }
.enquiry-form > .page-kicker { margin-bottom: 2rem; }
.field-grid { gap: 1.5rem; }
.form-field { min-width: 0; gap: .75rem; }
.form-field input, .form-field select, .form-field textarea { min-width: 0; width: 100%; font-size: 1rem; padding: .875rem 1rem; }
.enquiry-form > .button { margin-top: 2rem; }
.form-note { margin-top: 1.25rem; line-height: 1.6; }

/* Header films retain a sharp photograph until playback actually starts. */
.header-film { position: relative; isolation: isolate; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--adm-black); }
.header-film > img, .page-hero-media .header-film > img, .is-ready .page-hero-media .header-film > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.header-film > video, .header-film > iframe { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; border: 0; object-fit: cover; opacity: 0; transition: opacity .6s; pointer-events: none; }
.header-film.has-played > video, .header-film.has-played > iframe { opacity: 1; }
.header-film-control { position: absolute; z-index: 6; right: var(--adm-pad); bottom: 1.5rem; min-height: 2.75rem; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.65); border-radius: 4px; color: #fff; background: rgba(0,0,0,.65); font: inherit; font-size: .875rem; line-height: 1.4; cursor: pointer; }
.header-film-control:hover, .header-film-control:focus-visible { background: #171714; }
.header-film-control:focus-visible { outline-color: #fff; }
.header-film-control[hidden] { display: none; }
.campaign-slide > .header-film { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; overflow: visible; }
.campaign-slide > .header-film > video { object-position: center; }
.campaign-slide:has(.header-film) { isolation: isolate; }
.campaign-slide:has(.header-film)::after { z-index: 1; }
.campaign-slide > .header-film > img, .campaign-slide > .header-film > video { z-index: 0; }
.campaign-slide > .header-film { isolation: auto; }
.campaign .header-film-control { bottom: 1.5rem; }
.no-js .header-film-control { display: none; }

/* Small fixed booking controls, with room for the footer and mobile safe areas. */
.site-footer { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr); gap: 2.5rem; padding: 3.5rem var(--adm-pad) 6rem; border-top: 1px solid var(--adm-line); background: var(--adm-grey); color: var(--adm-ink); }
.footer-wordmark { color: var(--adm-ink); font-family: var(--sans) !important; font-size: clamp(2rem, 3vw, 3.5rem); }
.footer-brand p { margin-top: .75rem; font-size: .9rem; color: var(--muted); }
.footer-column a { padding-block: .45rem; font-size: .875rem; line-height: 1.6; color: var(--adm-ink); }
.footer-column h2 { color: var(--muted); margin-bottom: 1rem; }
.footer-meta { padding-top: 1.25rem; font-size: .8rem; letter-spacing: 0; text-transform: none; color: var(--muted); border-color: var(--adm-line); }
.mobile-book.sticky-book { right: var(--adm-pad); bottom: 1rem; left: auto; width: auto; min-width: 12.5rem; min-height: 3.4rem; padding: .75rem 1.15rem; border: 1px solid rgba(128,102,59,.55); border-radius: 5px; background: rgba(255,255,255,.88); color: var(--adm-ink); backdrop-filter: blur(18px) saturate(120%); box-shadow: 0 4px 24px rgba(0,0,0,.1); }
.sticky-book strong { color: var(--adm-ink); font-size: .9rem; font-weight: 400; }
.sticky-book > span { color: #55554e; font-size: .75rem; }
.sticky-book:hover { background: #fff; color: var(--adm-ink); transform: none; }
.assistant-launcher { left: var(--adm-pad); right: auto; bottom: 1rem; min-height: 3.4rem; border: 1px solid var(--adm-line); border-radius: 5px; background: rgba(255,255,255,.92); color: var(--adm-ink); box-shadow: 0 4px 24px rgba(0,0,0,.08); }
.assistant-launcher > span { display: none; }
.assistant-launcher strong { color: inherit; font-size: .9rem; font-weight: 400; }
.assistant-launcher:hover, .assistant-launcher:focus-visible, .assistant-launcher[aria-expanded="true"] { background: var(--adm-grey); color: var(--adm-ink); }
.assistant-panel { border-radius: 5px; background: rgba(23,23,20,.98); color: #fff; border-color: var(--adm-line); }
.assistant-panel > header strong { font-family: var(--sans); }

/* All copy is visible before scripts; movement never controls layout height. */
.js .reveal, .js .text-reveal, .js .image-reveal { opacity: 1; transform: none; clip-path: none; filter: none; }
.js [data-emerge] .emerge-word { display: inline-block; max-width: 100%; padding: 0; margin: 0; opacity: 1; transform: none; overflow-wrap: anywhere; }
.js [data-emerge].is-visible .emerge-word { animation: quadro-word .65s ease both; animation-delay: calc(min(var(--word-index), 10) * 25ms); }
@keyframes quadro-word { from { opacity: .65; transform: translateY(.12em); } to { opacity: 1; transform: none; } }
@media (hover: hover) {
  .card-media:hover img, .unit-card-media:hover img { opacity: .9; }
}
@media (max-width: 980px) {
  .page-hero-content { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .page-hero-bottom { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: start; }
  .page-title { max-width: 100%; font-size: clamp(2.5rem, 6vw, 4.5rem); }
  .page-hero-facts { margin: 0; }
  .apartment-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .apartment-card:nth-child(n) { display: flex; gap: 0; }
  .introduction, .location-top { grid-template-columns: minmax(0,1fr) minmax(0,3fr); gap: 2rem; }
  .booking-path { grid-template-columns: minmax(0,1fr); }
  .booking-path > .button { grid-column: 1; }
  .details { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; }
  .details-image { height: auto; min-height: 0; }
  .activity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .film-section.content-shell { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
  .site-footer { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .nav-shell { gap: .75rem; }
  .brand { width: 8.25rem; }
  .nav-book.direct-book-control { min-height: 2.75rem; max-width: 8rem; padding: .55rem .7rem; font-size: .875rem; white-space: normal; text-align: center; }
  #mobile-menu, #mobile-menu[aria-hidden="false"] { grid-template-columns: minmax(0,1fr); gap: 2.5rem; padding-top: 1.5rem; }
  #mobile-menu a { font-size: 1.375rem; padding-block: .85rem; }
  #mobile-menu a.direct-book-control { margin-top: 1rem; }
  .campaign .campaign-stage { min-height: max(34rem, calc(88svh - var(--nav-height, 5rem))); }
  main .campaign-wordmark { font-size: 14vw; top: 1rem; }
  .campaign-caption { padding-top: 9rem; padding-bottom: 10rem; }
  .campaign-caption h2 { font-size: clamp(1.75rem, 5.8vw, 2.5rem); }
  .campaign-actions { gap: 1rem 1.5rem; }
  .campaign-actions .button, .campaign-link { font-size: .875rem; }
  .campaign-pagination { bottom: 5rem; }
  .campaign .header-film-control { right: auto; left: var(--adm-pad); }
  .introduction, .location-top, .details, .split-intro, .section-head, .collection-heading, .film-section.content-shell { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .introduction { display: grid; }
  .introduction h2 { font-size: clamp(1.9rem, 6vw, 2.8rem); }
  .intro-notes { grid-template-columns: minmax(0,1fr); gap: 1.5rem; margin-top: 2rem; }
  .apartment-grid { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .card-body h3 { font-size: 1.75rem; }
  .booking-path ol { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .booking-path li { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .4rem .75rem; padding-top: 1.25rem; border-top: 1px solid var(--adm-line); }
  .booking-path li > span { margin: 0; }
  .booking-path li > p { grid-column: 2; margin: 0; }
  .location h2 { font-size: clamp(2rem, 7vw, 3.5rem); }
  .location-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
  .location-facts article { padding-right: 0; }
  .location-actions { align-items: start; flex-direction: column; gap: 1.5rem; }
  .booking h2 { font-size: clamp(2.25rem, 7vw, 3.5rem); }
  .page-hero-content { padding-block: 2.5rem; gap: 2rem; }
  .page-hero-bottom { grid-template-columns: minmax(0,1fr); }
  .page-title { font-size: clamp(2.25rem, 7vw, 3.5rem); }
  .page-hero-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .page-hero-facts > * { display: flex; flex-direction: column; align-items: start; justify-content: start; border: 0; }
  .page-hero-media .media-label.adm-glass { flex-wrap: wrap; gap: .35rem 1rem; }
  .unit-grid > .unit-card:only-child { grid-template-columns: minmax(0,1fr); gap: 0; }
  .header-film-control { bottom: 1rem; right: 1rem; }
  .header-film { aspect-ratio: 16 / 9; }
  .page-hero-facts { gap: .75rem; }
  .page-hero-facts > * { padding-right: 0; }
  .page-hero-facts strong { font-size: 1.25rem; }
  .field-grid { grid-template-columns: minmax(0,1fr); }
  .form-field-wide { grid-column: 1; }
  .unit-overview { grid-template-columns: minmax(0,1fr); }
  .gallery-stack { grid-template-columns: minmax(0,1fr); }
  .gallery-stage { min-height: 0; }
  .gallery-controls.adm-glass { grid-column: 1; grid-row: 2; width: 100%; justify-content: space-between; }
  .gallery-thumbs { grid-column: 1; grid-row: 3; justify-content: start; }
  .direct-book-strip { grid-template-columns: minmax(0,1fr); }
  .video-launch { min-height: 7rem; }
  .activity-grid { grid-template-columns: minmax(0,1fr); }
  .guide-break > .adm-glass { position: relative; inset: auto; width: 100%; }
  .site-footer { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 1.75rem; padding-bottom: calc(9rem + env(safe-area-inset-bottom)); }
  .footer-column:last-of-type { grid-column: 1 / -1; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-meta { gap: 1rem; align-items: start; flex-direction: column; }
  .mobile-book.sticky-book { left: var(--adm-pad); right: var(--adm-pad); bottom: calc(.75rem + env(safe-area-inset-bottom)); min-width: 0; min-height: 3.5rem; }
  .sticky-book > span { display: block; }
  .assistant-launcher { left: auto; right: var(--adm-pad); bottom: calc(5rem + env(safe-area-inset-bottom)); min-height: 2.75rem; }
  .assistant-panel { left: var(--adm-pad); right: var(--adm-pad); bottom: calc(5rem + env(safe-area-inset-bottom)); width: auto; }
}
@media (max-width: 480px) {
  .nav-shell { grid-template-columns: minmax(0,1fr) auto; }
  .nav-right { display: none; }
  .menu-toggle { grid-column: 2; }
}
@media (max-width: 370px) {
  .nav-shell { gap: .65rem; }
  .brand { width: 6rem; }
  .nav-book.direct-book-control { max-width: 7.5rem; padding-inline: .5rem; font-size: .875rem; }
  .menu-toggle { min-width: 2.6rem; }
  .menu-toggle > span.menu-label { font-size: .8rem; }
  .campaign-caption > p { font-size: .8rem; }
  .site-footer { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .campaign .campaign-slide { transition: none; }
  .js [data-emerge].is-visible .emerge-word { animation: none; }
}

/* A shared spacing rhythm for every page, including the narrowest layouts. */
main { text-align: left; }
main p, main li, main address { font-size: 1rem; line-height: 1.75; }
.page-kicker, .eyebrow, main .page-kicker, main .eyebrow { font-size: .875rem; line-height: 1.6; letter-spacing: .025em; }
main h1, main h2, main h3, main h1 em, main h2 em, main h3 em { max-width: 100%; overflow: visible; }
.section-head, .collection-heading { align-items: start; column-gap: var(--adm-gap); row-gap: 1.75rem; }
.section-head > p, .collection-heading > p { padding-top: 0; }
.section-head h2, .collection-heading h2, .page-hero-heading h1 { margin-top: 1.25rem; }
.page-hero-bottom { align-self: start; padding-top: .2rem; }
.page-hero-facts > * { padding: 1.5rem .75rem 0 0; gap: .75rem; line-height: 1.6; }
.page-hero-facts strong { line-height: 1.4; overflow-wrap: normal; }
.section-pad, .collection-block, .gallery-section, .details-section, .related-section,
.film-section.content-shell, .offer-grid, .benefits-section, .faq-section,
.contact-grid, .split-intro, .location-map { padding-block: var(--adm-section); }
.introduction + .collection, .collection-block + .collection-block,
.unit-overview + .gallery-section,
.contact-grid + .split-intro, .offer-grid + .benefits-section,
.benefits-section + .faq-section, .split-intro + .content-shell { padding-top: 0; }
.unit-grid, .related-grid, .apartment-grid, .activity-grid { row-gap: clamp(2.5rem, 4vw, 4rem); column-gap: var(--adm-gap); }
.unit-card-copy { flex: 1; gap: 1.25rem; padding-top: 1.75rem; }
.unit-card-copy > div { display: flex; flex: 1; flex-direction: column; align-items: start; gap: 1.5rem; }
.unit-card-copy > div > .card-link { margin-top: auto; }
.unit-card-text { border-top: 1px solid var(--adm-line); padding-top: .5rem; }
.unit-grid > .unit-card-text:only-child { display: block; }
.unit-card-text .unit-position { display: block; color: var(--adm-gold); font-size: .875rem; }
.unit-card-text .unit-card-copy { padding-bottom: 1rem; }
.location-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.card-body { gap: 1.25rem; padding-top: 1.75rem; }
.card-body > a { margin-top: auto; }
.unit-overview { padding-block: var(--adm-section); align-items: start; }
.unit-overview h2 { margin-top: 1.25rem; }
.unit-overview-copy > .page-lead { margin-top: 1.75rem; }
.unit-specs > div { align-items: start; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); column-gap: 1.5rem; }
.unit-specs.adm-glass strong { color: var(--adm-ink); line-height: 1.6; }
.unit-feature-list { gap: 0 2rem; }
.unit-feature-list li { padding: 1.5rem 1rem 1.5rem 0; }
.unit-numbers { margin-bottom: 2.5rem; }
.unit-numbers > p { margin-bottom: 1rem; }
.gallery-stack { overflow: visible; gap: 1.5rem 2rem; }
.gallery-controls.adm-glass { display: flex; flex-wrap: wrap; gap: 1rem; }
.gallery-thumbs { display: flex; flex-wrap: wrap; gap: .75rem; }
.gallery-thumbs button { min-width: 2.75rem; min-height: 2.75rem; }
.gallery-controls.adm-glass p { font-size: .875rem; }
.direct-book-strip { padding: var(--adm-card-pad); margin-inline: var(--adm-pad); margin-block: 0; }
.direct-book-strip > div:first-child > p:not(.page-kicker) { margin-top: 1.5rem; }
.direct-book-strip h2 { margin-top: 1.25rem; }
.film-section .page-kicker, .film-section .section-title, .film-section .section-title em { color: var(--adm-ink); }
.film-section .section-head > p { color: var(--muted); margin-top: 1.5rem; }
.video-launch { gap: 2rem; padding: 1.75rem; overflow: visible; }
.activity-card-copy, .activity-card > div:last-child:not(.anamorphic-media) { padding-top: 1.75rem; }
.activity-card-copy > p { margin-top: 1.5rem; }
.location-map { gap: var(--adm-gap); align-items: stretch; }
.location-map > .adm-glass { padding: var(--adm-card-pad); }
.location-map-copy > p:not(.page-kicker), .location-map-copy > address { margin-top: 1.75rem; }
.location-map-copy > h2 { margin-top: 1.25rem; }
.location-map-copy > .button { margin-top: 2rem; }
.activities-page .guide-break { min-height: 0; height: auto; background: var(--adm-grey); }
.activities-page .guide-break > .adm-glass { position: static; inset: auto; width: 100%; max-width: none; padding: var(--adm-section) var(--adm-pad); border: 0; background: var(--adm-grey); }
.activities-page .guide-break h2 { margin-block: 1.25rem 2rem; font-size: clamp(2rem, 4vw, 4rem); }
.offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; border: 0; background: #fff; }
.offer-grid > .offer-card, .offer-grid > .offer-card:last-child:nth-child(odd) { grid-column: auto; }
.offer-grid > .offer-featured { grid-column: 1 / -1; }
.offer-featured > div:first-child > strong { line-height: 1.15; margin-top: 1.5rem; letter-spacing: 0; }
.offer-featured > div:first-child > p:not(.page-kicker) { color: #e3e3de; }
.offer-featured > div:last-child { padding-top: 1.75rem; margin-top: .5rem; }
.offer-featured > div:last-child > span { font-size: .875rem; line-height: 1.6; letter-spacing: 0; text-transform: none; }
.offer-card > p:not(.page-kicker) { margin-block: 1.5rem 2rem; }
.offer-card .button { margin-top: auto; }
.benefits-grid { gap: 1.5rem; }
.benefits-grid article h3 { margin-top: 0; }
.benefits-grid article p { margin-top: 1.5rem; }
.faq-section { align-items: start; gap: var(--adm-gap); }
.contact-cards { margin-top: 2.5rem; gap: 0; }
.contact-card.adm-glass { padding: 1.75rem 0; gap: .75rem; }
.contact-card.adm-glass > strong { font-size: 1.125rem; line-height: 1.65; }
.field-grid { gap: 1.75rem; }
.form-field > span { font-size: .875rem; line-height: 1.6; }
.form-field input, .form-field select { min-height: 3.25rem; }
.enquiry-form > .page-kicker { margin-bottom: 2rem; }
.form-note { max-width: 50ch; font-size: .875rem; }
.editorial-cta h2 { margin-inline: 0; }
.editorial-cta .button, .booking-copy > .button { margin-top: .75rem; }
.booking, .editorial-cta { padding-block: clamp(3.5rem, 6vw, 6rem); }
.footer-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: .5rem; padding-top: 1.5rem; }
@media (max-width: 760px) {
  .page-hero-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
  .page-hero-facts > * { padding-right: 0; }
  .page-hero-facts strong { font-size: 1.125rem; }
  .unit-specs > div { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); }
  .gallery-controls.adm-glass { justify-content: space-between; gap: .75rem; }
  .gallery-controls.adm-glass button { min-width: 4.5rem; }
  .offer-grid { grid-template-columns: minmax(0,1fr); }
  .offer-grid > .offer-card, .offer-grid > .offer-featured { grid-column: 1; }
  .video-launch { gap: 1rem; padding: 1.5rem; }
  .direct-book-strip { margin-inline: var(--adm-pad); }
}
@media (max-width: 420px) {
  .location-facts { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .page-hero-facts { grid-template-columns: minmax(0,1fr); gap: 0; }
  .page-hero-facts > * { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--adm-line); }
  .page-hero-facts strong { max-width: 60%; }
  .unit-specs > div { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .site-footer { grid-template-columns: minmax(0,1fr); }
  .footer-brand, .footer-column:last-of-type { grid-column: 1; }
}

/* White and gold / luminous glass, lighter type, a closer spacing rhythm. */
:root {
  --sans: "Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --display: var(--sans);
  --serif: var(--sans);
  --adm-ink: #292820;
  --adm-black: #292820;
  --adm-gold: #79602e;
  --adm-gold-bright: #c5aa70;
  --adm-gold-soft: #eee2c8;
  --adm-grey: #f6f3eb;
  --adm-line: rgba(142,112,54,.24);
  --muted: #625d52;
  --adm-pad: clamp(1.25rem, 3vw, 3.5rem);
  --adm-gap: clamp(1.25rem, 2.5vw, 2.5rem);
  --adm-card-pad: clamp(1.25rem, 2.2vw, 2.25rem);
  --adm-section: clamp(2.5rem, 4vw, 4rem);
  --glass-surface: linear-gradient(125deg, rgba(255,255,255,.96), rgba(255,255,255,.75) 55%, rgba(236,218,175,.55));
  --glass-shadow: inset 0 1px 0 #fff, 0 8px 28px rgba(92,72,30,.055);
}
html, body, .inner-page { background: #fff; }
body { background: linear-gradient(90deg, #f3e6c9 0, #fff 7%, #fff 93%, #f3e6c9 100%); font-weight: 400; }
body::before, body::after { width: 2px; opacity: .65; }
main h1, main h2, main h3, main .campaign-wordmark, .footer-wordmark { font-weight: 300 !important; line-height: 1.16 !important; }
main h1 em, main h2 em, main h3 em { font-weight: inherit; }
main p, main li, main address { line-height: 1.6; }
.page-kicker, .eyebrow, main .page-kicker, main .eyebrow { font-weight: 400; letter-spacing: 0; }
.section-title, .split-intro h2, .unit-overview h2 { font-size: clamp(2rem, 3.25vw, 3.5rem); }
.section-head, .collection-heading { margin-bottom: 1.5rem; row-gap: 1rem; }
.section-head h2, .collection-heading h2, .page-hero-heading h1 { margin-top: .75rem; }
.page-hero-content { padding-block: clamp(2rem, 3.5vw, 3.5rem); gap: var(--adm-gap); background: linear-gradient(110deg, #fff 50%, #f5eddd); }
.page-title { font-size: clamp(2.4rem, 4.4vw, 4.75rem); }
.page-hero-bottom { gap: 1rem; }
.page-hero-facts > * { padding-top: 1rem; gap: .35rem; }
.page-hero-facts strong, .location-facts strong, .fact strong { font-weight: 300; }
.introduction h2 { font-size: clamp(1.9rem, 3.35vw, 3.65rem); }
.intro-notes { margin-top: 1.5rem; gap: var(--adm-gap); }
.unit-grid, .related-grid, .apartment-grid, .activity-grid { gap: 1.75rem var(--adm-gap); }
.card-body, .unit-card-copy { gap: .85rem; padding-top: 1.25rem; }
.unit-card-copy > div { gap: 1rem; }
.unit-card-copy > div > .card-actions { margin-top: auto; }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.card-actions .card-link, .card-actions .compare-link { min-height: 2.75rem; display: inline-flex; align-items: center; font-size: .95rem; }
.compare-link, .compare-detail { color: var(--adm-gold); text-decoration: underline; text-underline-offset: .3em; }
.compare-link:hover, .compare-detail:hover { color: var(--adm-ink); }
.unit-card, .apartment-card:nth-child(n) { background: rgba(255,255,255,.65); }
.unit-card-copy, .card-body { padding: 1.25rem; border: 1px solid var(--adm-line); border-top: 0; background: var(--glass-surface); }
.unit-card-text .unit-card-copy { border-top: 1px solid var(--adm-line); }
.unit-grid > .unit-card:only-child .unit-card-copy { padding: var(--adm-card-pad); border: 1px solid var(--adm-line); }
.unit-card-media .media-label.adm-glass, .card-count.adm-glass { padding: .65rem 1.25rem; border: 1px solid var(--adm-line); border-block: 0; background: rgba(244,237,220,.75); color: var(--adm-ink); }
.unit-card-media:hover .media-label.adm-glass, .unit-card-media:focus-within .media-label.adm-glass { background: rgba(244,237,220,.9); color: var(--adm-ink); }

/* Glass reveals the photography and champagne edges without blurring the copy. */
.site-header.glass-nav { background: linear-gradient(110deg, rgba(255,255,255,.92), rgba(249,244,232,.84)); -webkit-backdrop-filter: blur(20px) saturate(115%); backdrop-filter: blur(20px) saturate(115%); box-shadow: 0 1px 14px rgba(82,65,30,.05); }
.nav-shell { gap: 1.25rem; padding-block: .65rem; min-height: 4.75rem; }
.nav-primary { gap: 1.4rem; flex-wrap: nowrap; }
.nav-primary > a, .nav-dropdown > summary { font-size: .95rem; font-weight: 400; }
.nav-dropdown { position: relative; }
.nav-dropdown > summary, #mobile-menu .mobile-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-height: 2.75rem; padding-block: .6rem; cursor: pointer; list-style: none; }
.nav-dropdown summary::-webkit-details-marker, .mobile-dropdown summary::-webkit-details-marker { display: none; }
.dropdown-indicator { font-size: 1rem; line-height: 1; font-weight: 300; transition: transform .2s; }
[data-nav-dropdown][open] > summary .dropdown-indicator { transform: rotate(45deg); }
.nav-dropdown[open] > summary, .nav-dropdown > summary:hover { color: var(--adm-gold); }
.nav-dropdown > .dropdown-links { position: absolute; top: calc(100% + .4rem); left: -.9rem; z-index: 510; width: 18rem; max-width: calc(100vw - 2 * var(--adm-pad)); padding: .65rem; border: 1px solid var(--adm-line); border-radius: .45rem; background: rgba(255,253,247,.97); box-shadow: 0 15px 45px rgba(66,51,20,.12); -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); }
.nav-primary .dropdown-links a { display: block; padding: .75rem; white-space: normal; line-height: 1.5; border-radius: .2rem; text-decoration: none; }
.nav-primary .dropdown-links a:hover, .nav-primary .dropdown-links a:focus-visible { background: #eee2c8; color: var(--adm-ink); }
#mobile-menu, #mobile-menu[aria-hidden="false"] { background: linear-gradient(110deg, rgba(255,255,255,.97), rgba(248,241,224,.97)); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); gap: 2rem; padding-block: 2rem; }
#mobile-menu .mobile-dropdown { border-bottom: 1px solid var(--adm-line); }
#mobile-menu .mobile-dropdown > summary { font-size: clamp(1.2rem, 1.65vw, 1.5rem); font-weight: 300; padding-block: 1rem; line-height: 1.4; }
#mobile-menu .mobile-dropdown .dropdown-links { padding: 0 .75rem .7rem; }
#mobile-menu .mobile-dropdown .dropdown-links a { border: 0; padding: .65rem 0; font-size: 1rem; }
#mobile-menu .menu-contact { grid-column: auto; }
#mobile-menu .menu-section h2 { color: var(--adm-gold); margin-bottom: .5rem; }
#mobile-menu a { font-weight: 300; }
#mobile-menu .menu-contact a { font-weight: 400; }
.campaign-caption { margin-left: var(--adm-pad); margin-bottom: 7rem; width: min(43rem, calc(100% - 2 * var(--adm-pad))); max-width: none; padding: var(--adm-card-pad); border: 1px solid rgba(232,215,177,.5); border-radius: .5rem; background: linear-gradient(115deg, rgba(40,36,27,.72), rgba(48,41,26,.48)); -webkit-backdrop-filter: blur(18px) saturate(105%); backdrop-filter: blur(18px) saturate(105%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.campaign .campaign-slide { padding-top: max(21vw, 11rem); }
.campaign-caption > p { margin-bottom: .75rem; color: #f5ead4; }
.campaign-caption h2 { font-size: clamp(1.9rem, 2.7vw, 3rem); }
.campaign-actions { gap: .5rem 1.25rem; margin-top: 1.25rem; }
.campaign-actions .button { min-height: 2.9rem; }
.button-light { background: rgba(255,255,255,.94); border-color: #e9d6ac; }
.page-hero-media .media-label.adm-glass { padding-block: .65rem; border-bottom-color: var(--adm-line); background: linear-gradient(90deg, #fff, #efe3c9); }
.booking-path, .direct-book-strip, .unit-specs.adm-glass, .enquiry-form.adm-glass,
.location-map > .adm-glass, .offer-card:not(.offer-featured), .comparison .compare-controls {
  background: var(--glass-surface); border: 1px solid var(--adm-line); border-radius: .5rem; box-shadow: var(--glass-shadow); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); color: var(--adm-ink);
}
.booking-path { width: auto; margin-inline: var(--adm-pad); padding: var(--adm-card-pad); gap: 1.5rem; }
.direct-book-strip { width: auto; max-width: none; padding: var(--adm-card-pad); }
.booking-path h2, .direct-book-strip h2 { font-size: clamp(1.8rem, 2.7vw, 3rem); }
.booking-path li > span { margin-bottom: .6rem; }
.unit-specs.adm-glass { padding: var(--adm-card-pad); }
.unit-specs > div { padding-block: .75rem; }
.unit-feature-list li { padding-block: 1rem; }
.unit-numbers { margin-bottom: 1.5rem; }
.gallery-stack { gap: 1rem; }
.gallery-controls.adm-glass { padding: .4rem; border: 1px solid var(--adm-line); border-radius: .4rem; background: var(--glass-surface); }
.gallery-slide .media-label.adm-glass { background: rgba(255,253,247,.9); color: var(--adm-ink); border-color: var(--adm-line); backdrop-filter: blur(16px); box-shadow: var(--glass-shadow); }
.gallery-slide .media-label strong { color: var(--adm-ink); font-weight: 400; }
.location { background: linear-gradient(100deg, #fff 0, #f7efdc 100%); }
.location-facts { margin-top: 2rem; }
.location-actions { margin-top: 2rem; }
.contact-cards { margin-top: 1.5rem; gap: .75rem; }
.contact-card.adm-glass { padding: 1.1rem 1.25rem; gap: .4rem; background: var(--glass-surface); border: 1px solid var(--adm-line); border-radius: .4rem; box-shadow: var(--glass-shadow); }
.contact-card.adm-glass:hover, .contact-card.adm-glass:focus-visible { background: #f5ecda; }
.field-grid { gap: 1.25rem; }
.enquiry-form > .page-kicker { margin-bottom: 1.5rem; }
.form-field input, .form-field select, .form-field textarea { padding-inline: .75rem; border: 1px solid var(--adm-line); }
.activities-page .guide-break > .adm-glass { padding: var(--adm-card-pad) var(--adm-pad); background: linear-gradient(100deg, #fff, #f0e4c9); }
.activities-page .guide-break h2 { margin-block: .75rem 1.25rem; }
.offer-card:not(.offer-featured):hover, .offer-card:not(.offer-featured):focus-within { background: #f7efdf; color: var(--adm-ink); }
.offer-featured, .offer-featured:hover, .offer-featured:focus-within { background: linear-gradient(110deg, #463b25, #292820); border: 1px solid #b19864; border-radius: .5rem; }
.offer-card > p:not(.page-kicker) { margin-block: 1rem 1.25rem; }
.benefits-grid article p { margin-top: 1rem; }
.benefits-grid > article { padding-block: 1.25rem; }
.booking, .editorial-cta { padding-block: var(--adm-section); background: linear-gradient(90deg, rgba(245,235,213,.65), #fff 70%); }
.booking h2 { font-size: clamp(2.25rem, 4.6vw, 5rem); }
.button-solid, .button-gold, .button.button-solid.direct-book-control, .button.button-gold.direct-book-control,
.nav-book.direct-book-control, #mobile-menu a.direct-book-control { background: linear-gradient(115deg, #8a713e, #6d5528); border-color: #806433; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 4px 12px rgba(90,65,20,.1); }
.button-solid:hover, .button-gold:hover, .button.button-solid.direct-book-control:hover, .nav-book.direct-book-control:hover { background: #5d491f; color: #fff; }
.offer-featured .button.button-solid.direct-book-control:hover,
.offer-featured .button.button-solid.direct-book-control:focus-visible { background: var(--adm-gold-soft); border-color: var(--adm-gold-soft); color: var(--adm-ink); }
.mobile-book.sticky-book { background: linear-gradient(110deg, rgba(255,255,255,.92), rgba(237,221,185,.9)); border-color: #c1a66c; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: inset 0 1px 0 #fff, 0 6px 26px rgba(90,69,27,.14); }
.assistant-launcher { background: rgba(255,253,247,.9); border-color: var(--adm-line); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.site-footer { padding-top: 2.5rem; background: linear-gradient(100deg, #fff 0, #f0e4c9 100%); gap: 1.75rem; }
.footer-column a { padding-block: .25rem; font-size: .95rem; }
.footer-column h2 { margin-bottom: .6rem; }
.footer-wordmark { font-size: clamp(2rem, 3vw, 3.5rem); }
.footer-meta { margin-top: 0; padding-top: 1rem; }

/* Room comparison: useful information first, bounded scrolling on small screens. */
.compare-invitation { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.1rem var(--adm-pad); border-bottom: 1px solid var(--adm-line); background: linear-gradient(90deg, #f5ead4, #fff); }
.comparison { padding: var(--adm-section) var(--adm-pad); }
.compare-heading { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: var(--adm-gap); align-items: end; margin-bottom: 1.5rem; }
.compare-heading h1 { margin-top: .6rem; font-size: clamp(2.5rem, 4.8vw, 5rem); }
.compare-heading > p { max-width: 36rem; color: var(--muted); }
.comparison .compare-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; padding: 1.25rem; }
.compare-controls label { min-width: 0; display: grid; gap: .6rem; }
.compare-controls label > span { font-size: .875rem; color: var(--adm-gold); }
.compare-controls select { min-width: 0; width: 100%; min-height: 3rem; padding: .65rem .5rem; border: 1px solid var(--adm-line); border-radius: .25rem; background: rgba(255,255,255,.9); color: var(--adm-ink); font: inherit; font-size: 1rem; }
.compare-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin: 1rem 0; }
.compare-meta p { font-size: .875rem; color: var(--muted); }
.compare-scroll-hint { display: none; }
.compare-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--adm-line); border-radius: .45rem; background: rgba(255,255,255,.82); scrollbar-color: #b69a5b #f4eedf; }
.compare-table-wrap[hidden], .compare-empty[hidden] { display: none; }
.compare-table { width: 100%; min-width: calc(8rem + var(--compare-count,2) * 13rem); table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 1rem; }
.compare-table th, .compare-table td { padding: 1rem 1.25rem; vertical-align: top; text-align: left; border-bottom: 1px solid var(--adm-line); border-right: 1px solid var(--adm-line); font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.compare-table th:first-child { width: 8rem; position: sticky; left: 0; z-index: 1; background: #f5eddd; font-size: .875rem; color: #665330; }
.compare-table tr > :last-child { border-right: 0; }
.compare-table thead th { padding-block: 1.5rem; background: linear-gradient(125deg, #fff, #f2e8d3); font-size: 1.5rem; font-weight: 300; line-height: 1.3; }
.compare-table thead a { font-weight: 300; }
.compare-apartment { display: block; color: var(--adm-ink); text-decoration: none; }
.compare-photo { display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 2; margin-bottom: 1rem; background: #ebe7dd; border-radius: .2rem; }
.compare-photo img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; transform: none; }
.compare-name { display: block; }
.compare-apartment:hover .compare-name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.compare-apartment:focus-visible { outline: 2px solid #8b7139; outline-offset: 5px; }
.compare-category { display: block; margin-bottom: .6rem; color: var(--adm-gold); font-size: .875rem; font-weight: 400; }
.compare-table tbody tr:nth-child(even) td { background: rgba(246,239,221,.38); }
.compare-table tfoot th, .compare-table tfoot td { border-bottom: 0; }
.compare-table tfoot .compare-detail { display: block; margin-bottom: 1rem; font-size: .95rem; }
.compare-table tfoot .button { max-width: 100%; }
.compare-booking-note { margin-top: 1rem; color: var(--muted); font-size: .875rem; }
.compare-empty { padding: 2rem; border: 1px solid var(--adm-line); background: var(--glass-surface); }
.compare-empty h2 { margin-bottom: .75rem; font-size: 2rem; }
.no-js .compare-controls { display: none; }
@media (min-width: 1280px) {
  .nav-shell { grid-template-columns: auto minmax(0,1fr) auto auto; }
  .nav-primary { display: flex; }
  .nav-right { grid-column: 3; }
  .menu-toggle { grid-column: 4; }
}
@media (max-width: 1279px) {
  .nav-primary { display: none; }
  #mobile-menu, #mobile-menu[aria-hidden="false"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #mobile-menu .menu-contact { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  :root { --adm-section: 2.5rem; --adm-gap: 1.25rem; }
  #mobile-menu, #mobile-menu[aria-hidden="false"] { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  #mobile-menu .menu-contact { grid-column: 1; }
  .campaign .campaign-slide { padding-top: 7rem; }
  .campaign-caption { margin-bottom: 10rem; padding: 1.25rem; }
  .campaign-caption h2 { font-size: clamp(1.8rem, 6vw, 2.5rem); }
  .campaign-actions { gap: .35rem 1rem; }
  .campaign-caption > p { font-size: .95rem; }
  .page-hero-content { padding-block: 2rem; }
  .page-title { font-size: clamp(2.25rem, 7vw, 3.5rem); }
  .section-head, .collection-heading { gap: 1rem; }
  .card-body, .unit-card-copy { padding: 1.1rem; }
  .unit-grid > .unit-card:only-child .unit-card-copy { border-top: 0; }
  .unit-actions { flex-wrap: wrap; gap: 1rem 1.25rem; }
  .comparison .compare-controls { grid-template-columns: minmax(0,1fr); gap: .9rem; }
  .compare-controls label { gap: .35rem; }
  .compare-heading { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .compare-heading h1 { font-size: clamp(2.25rem, 7vw, 3.5rem); }
  .compare-table { min-width: calc(7rem + var(--compare-count,2) * 11rem); }
  .compare-table th:first-child { width: 7rem; }
  .compare-table th, .compare-table td { padding: .9rem; }
  .compare-scroll-hint { display: block; }
  .site-footer { padding-bottom: calc(9rem + env(safe-area-inset-bottom)); }
}
@supports not (backdrop-filter: blur(1px)) {
  .site-header.glass-nav { background: #fffdf7; }
  .campaign-caption { background: rgba(40,36,27,.94); }
  .mobile-book.sticky-book { background: #f6edda; }
}
@media (prefers-reduced-motion: reduce) {
  .dropdown-indicator { transition: none; }
}

/* Film-first arrival. The caption carries the page title; the image stays open. */
.campaign .campaign-slide { padding-top: 2rem; }
.campaign-caption h1, .campaign-caption h2 { margin: 0; color: #fff; font-size: clamp(1.9rem, 2.7vw, 3rem); line-height: 1.16 !important; }
.campaign .campaign-stage { min-height: max(35rem, calc(100svh - var(--nav-height, 5rem))); }
.campaign [data-eager-film].has-played > img { opacity: 0; transition: opacity .7s ease; }
.no-js .campaign [data-eager-film] > video { opacity: 1; pointer-events: auto; }

/* Finite motion: readable defaults, no clipping, no layout shifts or scroll hijack. */
.js .motion-enter, .js .motion-image { opacity: 1; }
@keyframes adm-content-arrive {
  from { opacity: .5; translate: 0 .8rem; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes adm-photo-arrive {
  from { opacity: .6; filter: brightness(.92); }
  to { opacity: 1; filter: brightness(1); }
}
@keyframes adm-text-arrive {
  from { opacity: .35; translate: 0 .22em; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes adm-panel-arrive {
  from { opacity: .65; translate: 0 .45rem; }
  to { opacity: 1; translate: 0 0; }
}
.js .motion-enter.is-visible { animation: adm-content-arrive .8s cubic-bezier(.2,.7,.25,1) both; animation-delay: var(--motion-delay,0ms); }
.js .motion-image.is-visible { animation: adm-photo-arrive 1.1s ease both; }
.js [data-emerge].is-visible .emerge-word { animation: adm-text-arrive .8s cubic-bezier(.2,.7,.25,1) both; animation-delay: calc(min(var(--word-index),12) * 35ms); }
.js .text-reveal.is-visible { animation: adm-panel-arrive .65s ease both; }
.campaign-slide.is-active .campaign-caption { animation: adm-panel-arrive .8s ease both; }
.nav-dropdown[open] > .dropdown-links, .mobile-dropdown[open] > .dropdown-links { animation: adm-panel-arrive .28s ease both; }
.accordion details[open] > p, .details-list details[open] > p { animation: adm-panel-arrive .4s ease both; }
.apartment-card, .unit-card, .activity-card, .offer-card, .contact-card.adm-glass { transition: box-shadow .4s, border-color .4s, background .4s; }
.button, .nav-book.direct-book-control, .sticky-book { transition: background .3s, color .3s, box-shadow .3s, border-color .3s, scale .18s; }
.button:active, .nav-book.direct-book-control:active { scale: .98; }
.nav-primary a, .card-actions a, .footer-column a, .compare-detail { text-decoration-thickness: 1px; text-underline-offset: .3em; transition: color .25s, text-decoration-color .25s; }
@media (hover: hover) {
  .apartment-card:hover, .unit-card:hover, .offer-card:hover, .contact-card.adm-glass:hover { box-shadow: 0 8px 28px rgba(103,77,25,.09); }
  .button:hover, .nav-book.direct-book-control:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 5px 20px rgba(88,64,20,.17); }
}
@media (max-width: 760px) {
  .campaign .campaign-slide { padding-top: 2rem; }
  .campaign-caption h1, .campaign-caption h2 { font-size: clamp(1.8rem, 6vw, 2.5rem); }
  .campaign .campaign-stage { min-height: max(34rem, calc(92svh - var(--nav-height, 5rem))); }
}
@media (prefers-reduced-motion: reduce) {
  .js .motion-enter.is-visible, .js .motion-image.is-visible,
  .js [data-emerge].is-visible .emerge-word, .js .text-reveal.is-visible,
  .campaign-slide.is-active .campaign-caption, [data-nav-dropdown][open] > .dropdown-links,
  .accordion details[open] > p, .details-list details[open] > p { animation: none; translate: none; }
  .button:active, .nav-book.direct-book-control:active { scale: 1; }
}
html[data-site-motion="paused"] .motion-enter,
html[data-site-motion="paused"] .motion-image,
html[data-site-motion="paused"] [data-emerge] .emerge-word,
html[data-site-motion="paused"] .text-reveal,
html[data-site-motion="paused"] .campaign-caption { animation: none; translate: none; }

/* Keep the complete header visible and give each menu label its natural width. */
.site-header.glass-nav, .site-header.glass-nav.is-hidden { height: auto; overflow: visible; transform: none; }
.nav-shell { width: 100%; min-width: 0; height: auto; min-height: 5.25rem; padding-block: .8rem; column-gap: clamp(.75rem, 1.5vw, 1.25rem); overflow: visible; }
.nav-shell > * { min-width: 0; }
.nav-primary { grid-column: 2; grid-row: 1; gap: clamp(.75rem, 1.35vw, 1.25rem); overflow: visible; }
.nav-primary > a, .nav-primary > .nav-dropdown { flex: 0 0 auto; }
.nav-primary > a, .nav-dropdown > summary { min-height: 3rem; height: auto; padding: .7rem .15rem; font-size: .95rem; line-height: 1.5; white-space: nowrap; overflow: visible; }
.nav-primary > a { display: inline-flex; align-items: center; }
.nav-dropdown { overflow: visible; }
.dropdown-indicator { flex: 0 0 auto; min-width: .8em; line-height: 1.5; text-align: center; }
.nav-book.direct-book-control { height: auto; line-height: 1.5; padding-block: .7rem; }
.menu-toggle { width: auto; height: auto; min-width: 3.5rem; min-height: 3rem; padding: .65rem .4rem; line-height: 1.5; overflow: visible; }
.menu-toggle > span.menu-label, .menu-toggle[aria-expanded="true"] > span.menu-label { width: auto; height: auto; font-size: .95rem; line-height: 1.5; white-space: nowrap; transform: none; }
.nav-dropdown > .dropdown-links { max-height: calc(100dvh - var(--nav-height, 5.25rem) - 1.5rem); overflow-y: auto; overscroll-behavior: contain; }
.nav-primary .dropdown-links a { overflow-wrap: anywhere; }
.no-js .nav-primary { flex-wrap: wrap; row-gap: .25rem; }
.nav-shell.is-compact { grid-template-columns: minmax(0,1fr) auto auto; }
.nav-shell.is-compact > .nav-primary { display: none; }
.nav-shell.is-compact > .nav-right { grid-column: 2; }
.nav-shell.is-compact > .menu-toggle { grid-column: 3; }
#mobile-menu .mobile-dropdown > summary { height: auto; min-height: 3rem; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .nav-shell { column-gap: .75rem; padding-block: .7rem; }
}
@media (max-width: 480px) {
  .nav-shell, .nav-shell.is-compact { grid-template-columns: minmax(0,1fr) auto; column-gap: .65rem; }
  .nav-shell > .nav-right { display: none; }
  .nav-shell > .menu-toggle, .nav-shell.is-compact > .menu-toggle { grid-column: 2; }
}

/* Keep verified photo captions legible alongside their source credits. */
.page-hero-media .media-label.adm-glass { flex-wrap: wrap; gap: .5rem 1.5rem; }
.photo-credit { font-size: .875rem; line-height: 1.6; }
.photo-credit a { text-decoration: underline; text-underline-offset: .2em; }
.gallery-slide .media-label.adm-glass { max-width: min(36rem, calc(100% - 2rem)); white-space: normal; overflow-wrap: break-word; line-height: 1.5; }

/* Apartment pages: photographs lead; the complete specification stays together. */
.stay-page { width: 100%; padding: 1.5rem var(--adm-pad) 2rem; }
.stay-heading { margin: 0 0 1.5rem; }
.stay-heading > a { display: inline-block; margin-bottom: .75rem; }
.stay-heading h1 { max-width: 34ch; margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); overflow-wrap: break-word; }
.stay-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(20rem, 1fr); align-items: start; gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.stay-layout > *, .stay-page figure { min-width: 0; margin: 0; }
.stay-gallery.gallery-stack { display: block; width: 100%; padding: 0; overflow: visible; }
.stay-gallery .gallery-stage { width: 100%; height: auto; min-height: 0; margin: 0; padding: 0; aspect-ratio: auto; perspective: none; background: transparent; overflow: hidden; }
.stay-gallery .gallery-slide { display: none; position: relative; inset: auto; width: 100%; height: auto; min-height: 0; margin: 0; border: 0; background: transparent; transform: none; box-shadow: none; overflow: visible; }
.stay-gallery .gallery-slide.is-active, .stay-gallery .gallery-slide[aria-hidden="false"] { display: block; }
.stay-gallery .gallery-slide img, .stay-more-photos img { display: block; width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: auto; object-fit: contain; transform: none; }
.stay-gallery figcaption, .stay-more-photos figcaption { position: static; padding: .65rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.stay-gallery-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .65rem; }
.stay-gallery .gallery-thumbs { display: flex; flex-wrap: wrap; gap: .4rem; width: auto; margin: 0; padding: 0; overflow: visible; }
.stay-gallery .gallery-thumbs button { flex: 0 0 auto; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; padding: .5rem; color: var(--adm-ink); font: inherit; font-size: .875rem; }
.stay-gallery .gallery-thumbs button.is-active { border-color: var(--adm-gold); background: #eee8dc; }
.stay-film { min-height: 2.75rem; padding: .5rem 0; border: 0; border-bottom: 1px solid var(--adm-gold); border-radius: 0; background: transparent; color: var(--adm-ink); font: inherit; font-size: .875rem; line-height: 1.5; cursor: pointer; }
.stay-film:hover { color: var(--adm-gold); }
.stay-essentials { padding: clamp(1.1rem, 2vw, 1.75rem); border: 1px solid #ded8cd; border-top: 2px solid var(--adm-gold); background: #f8f6f1; }
.stay-essentials h2 { margin: 0 0 1rem; font-size: 1.3rem; }
.stay-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0 0 1rem; border-bottom: 1px solid #ded8cd; }
.stay-facts dt { color: var(--muted); font-size: .875rem; }
.stay-facts dd { margin: .25rem 0 0; color: var(--adm-ink); font-size: 1.2rem; line-height: 1.4; }
.stay-details { display: grid; gap: .75rem; margin: 1rem 0; }
.stay-details > div { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: .75rem; }
.stay-details dt { color: var(--muted); font-size: .875rem; line-height: 1.5; }
.stay-details dd { margin: 0; color: var(--adm-ink); font-size: 1rem; line-height: 1.5; }
.stay-inclusions { padding-top: 1rem; border-top: 1px solid #ded8cd; }
.stay-inclusions h3 { margin: 0 0 .6rem; font-size: 1rem; }
.stay-inclusions ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem .85rem; margin: 0; padding: 0; list-style: none; }
.stay-inclusions li { padding: 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.stay-inclusions li:last-child { grid-column: 1 / -1; }
.stay-booking { margin-top: 1.25rem; }
.stay-booking > .button { width: 100%; min-height: 3rem; font-size: 1rem; }
.stay-secondary-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: .65rem; }
.stay-secondary-actions > a { display: inline-flex; align-items: center; min-height: 2.75rem; text-align: center; line-height: 1.5; }
.stay-more-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(1rem, 2.5vw, 2.5rem); margin-top: 1.5rem; padding: 0; }
.stay-related { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--adm-line); }
.stay-related h2 { margin: 0; font-size: 1.1rem; }
.stay-related > div { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 1rem 2rem; }
.stay-related a { display: block; font-size: 1rem; line-height: 1.5; }
.stay-related a:hover { color: var(--adm-gold); }
.stay-related a span { display: block; margin-top: .3rem; color: var(--muted); font-size: .875rem; }
.no-js .stay-gallery-toolbar .gallery-thumbs { display: none; }
@media (min-width: 901px) and (max-width: 1250px) {
  .stay-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .stay-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .stay-page { padding-top: 1.25rem; }
  .stay-essentials { padding: 1.25rem; }
  .stay-related { grid-template-columns: minmax(0, 1fr); }
  .stay-related > div { justify-content: flex-start; }
}
@media (max-width: 520px) {
  .stay-more-photos { grid-template-columns: minmax(0, 1fr); }
  .stay-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stay-details > div { grid-template-columns: 4.6rem minmax(0, 1fr); gap: .65rem; }
}

/* Quiet surfaces and a distinct end to every page. */
:root { --glass-surface: rgba(255,255,255,.94); --glass-shadow: none; }
html, body, .inner-page, main { background: #fff; }
body::before, body::after, .editorial-cta::before { content: none; }
.site-header.glass-nav { background: rgba(255,255,255,.95); }
#mobile-menu, #mobile-menu[aria-hidden="false"] { background: rgba(255,255,255,.98); }
.page-hero-content, .page-hero-media .media-label.adm-glass,
.location, .booking, .editorial-cta, .compare-invitation,
.activities-page .guide-break, .activities-page .guide-break > .adm-glass { background: #fff; }
.unit-card, .unit-card:hover, .unit-card:focus-within,
.apartment-card:nth-child(n), .unit-card-copy, .card-body,
.contact-card.adm-glass, .contact-card.adm-glass:hover, .contact-card.adm-glass:focus-visible,
.offer-card:not(.offer-featured), .offer-card:not(.offer-featured):hover,
.offer-card:not(.offer-featured):focus-within { background: #fff; box-shadow: none; }
.unit-card-media .media-label.adm-glass, .unit-card-media:hover .media-label.adm-glass,
.unit-card-media:focus-within .media-label.adm-glass, .card-count.adm-glass { background: #fff; }
.compare-table thead th { background: #f8f6f1; }
.booking, .editorial-cta { padding-block: clamp(2rem, 3vw, 3rem); }
main > :last-child { margin-bottom: 0; }
main > .related-section:last-child, main > .collection-block:last-child { padding-bottom: clamp(2rem, 3vw, 3rem); }
.site-footer { margin-top: 0; padding-top: clamp(2rem, 3vw, 3rem); padding-bottom: calc(5rem + env(safe-area-inset-bottom)); border-top: 2px solid #c5aa70; background: #242420; color: #f7f6f2; }
.site-footer .footer-wordmark, .site-footer .footer-column a { color: #f7f6f2; }
.site-footer .footer-column h2 { color: #c5aa70; }
.site-footer .footer-brand p, .site-footer .footer-meta { color: #cbc7be; }
.site-footer .footer-meta { margin-top: 0; border-top-color: rgba(255,255,255,.2); }
.site-footer .footer-content a:hover, .site-footer .footer-content a:focus-visible { color: #c5aa70; text-decoration: underline; text-underline-offset: .25em; }
.site-footer .footer-content a:focus-visible { outline: 2px solid #c5aa70; outline-offset: 4px; }
