/* ==========================================================
           1. TOKENS
           ========================================================== */.pdv2{
    --subnav-h: 68px;
    --navy: #0f172a;
    --gold: #bda588;          /* fills, borders, accents, text on navy */
    --gold-hover: #a38b64;
    --gold-ink: #bda588;      /* same gold color as --gold */
    --text: #334155;
    --muted: #5b6b80;
    --white: #ffffff;
    --sand: #fdfbf7;
    --sand-2: #f6f2ea;
    --line: #e2e8f0;
    --line-warm: #e8e1d4;
    --field-border: #7a8699;
    --error: #b42318;

    --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --sans: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --script: 'Great Vibes', 'Brush Script MT', cursive;

    --gutter: clamp(20px, 5vw, 56px);
    --container: 1200px;
    --header-h: 0px;
    --overlap: clamp(40px, 6vw, 72px);
    --bar-h: 72px;

    --shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 20px -12px rgba(15, 23, 42, .18);
    --shadow-md: 0 24px 48px -24px rgba(15, 23, 42, .35);
    --ease: cubic-bezier(.22, .61, .36, 1);
}
@media (min-width: 1600px) {.pdv2{
        --container: 1320px;
    }
}
/* ==========================================================
           2. BASE
           ========================================================== */.pdv2 *, .pdv2 *::before, .pdv2 *::after{ box-sizing: border-box; }
.pdv2{
            -webkit-text-size-adjust: 100%;
            scroll-padding-top: calc(var(--header-h) + var(--subnav-h) + 12px);
            scrollbar-gutter: stable;
        }
@media (prefers-reduced-motion: no-preference) {.pdv2{ scroll-behavior: smooth; }
}
.pdv2{
            margin: 0;
            font-family: var(--sans);
            font-size: 1rem;
            line-height: 1.7;
            color: var(--text);
            background: var(--white);
            -webkit-font-smoothing: antialiased;
            overflow-x: clip;
        }
.pdv2 html:has(dialog[open]){ overflow: hidden; }
.pdv2 img{ display: block; max-width: 100%; height: auto; }
.pdv2 h1, .pdv2 h2, .pdv2 h3, .pdv2 h4{ margin: 0; font-family: var(--serif); font-weight: 600; line-height: 1.15; color: var(--navy); text-wrap: balance; }
.pdv2 p{ margin: 0; }
.pdv2 ul, .pdv2 ol{ margin: 0; padding: 0; list-style: none; }
.pdv2 dl, .pdv2 dd{ margin: 0; }
.pdv2 a{ color: inherit; }
.pdv2 button{ font: inherit; color: inherit; }
.pdv2 :focus-visible{ outline: 3px solid var(--gold-ink); outline-offset: 3px; }
.pdv2 .hero :focus-visible, .pdv2 .section--dark :focus-visible, .pdv2 .lightbox :focus-visible{ outline-color: var(--gold); }
.pdv2 .visually-hidden{
            position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
            overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
        }
.pdv2 .skip-link{
            position: absolute; left: 16px; top: -120px; z-index: 2000;
            background: var(--navy); color: #fff; padding: 12px 20px; font-weight: 600; text-decoration: none;
        }
.pdv2 .skip-link:focus{ top: 12px; }
.pdv2 .i{ width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
/* ==========================================================
           3. LAYOUT
           ========================================================== */.pdv2 .container{ width: min(100% - var(--gutter) * 2, var(--container)); margin-inline: auto; }
.pdv2 .section{ padding-block: clamp(56px, 8vw, 104px); }
.pdv2 .section--sand{ background: var(--sand); }
.pdv2 .section--dark{ background: var(--navy); color: #cbd5e1; }
.pdv2 .section--dark h2{ color: #fff; }
.pdv2 .section-head{ max-width: 760px; margin: 0 auto clamp(32px, 5vw, 56px); text-align: center; }
.pdv2 .section-head h2{ font-size: clamp(1.75rem, 1.1rem + 2.2vw, 2.75rem); }
.pdv2 .section-head .lede{ margin-top: 16px; font-size: 1.02rem; color: var(--muted); text-wrap: pretty; }
.pdv2 .section--dark .section-head .lede{ color: #cbd5e1; }
.pdv2 .lede--long{ text-align: left; }
@media (min-width: 768px) {.pdv2 .lede--long{ text-align: center; }
}
.pdv2 .eyebrow{
            margin-bottom: 12px; font-size: .72rem; font-weight: 600; letter-spacing: .2em;
            text-transform: uppercase; color: var(--gold-ink);
        }
.pdv2 .section--dark .eyebrow{ color: var(--gold); }
/* ==========================================================
           4. BUTTONS
           ========================================================== */.pdv2 .btn{
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            min-height: 48px; padding: 14px 32px;
            font: 600 .78rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-align: center; text-decoration: none;
            border: 1px solid transparent; border-radius: 0; cursor: pointer;
            transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
            -webkit-tap-highlight-color: transparent;
        }
.pdv2 .btn:active{ transform: translateY(1px); }
.pdv2 .btn--navy{ background: var(--navy); border-color: var(--navy); color: #fff; }
.pdv2 .btn--gold{ background: var(--gold); border-color: var(--gold); color: var(--navy); }
/* navy on gold = 7.6:1 (white on gold was 2.4:1) */.pdv2 .btn--outline{ background: transparent; border-color: var(--navy); color: var(--navy); }
.pdv2 .btn--outline-light{ background: transparent; border-color: rgba(255, 255, 255, .75); color: #fff; }
.pdv2 .btn--sm{ min-height: 44px; padding: 10px 22px; font-size: .72rem; }
.pdv2 .btn--block{ width: 100%; }
.pdv2 .icon-btn{
            display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0;
            border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer;
            transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), opacity .25s;
            -webkit-tap-highlight-color: transparent;
        }
.pdv2 .icon-btn[aria-disabled="true"]{ opacity: .35; cursor: default; }
.pdv2 .icon-btn--dark{ border-color: var(--line); background: #fff; color: var(--navy); }
/* ==========================================================
           6. QUICK ACTIONS (desktop rail + mobile bar)
           ========================================================== */.pdv2 .rail{ display: none; }
.pdv2 .action-bar{
            position: fixed; inset: auto 0 0 0; z-index: 900; display: flex; gap: 10px;
            padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
            background: #fff; box-shadow: 0 -1px 0 var(--line), 0 -12px 28px -18px rgba(15, 23, 42, .35);
            transition: transform .35s var(--ease), visibility .35s;
        }
.pdv2 .action-bar .btn{ flex: 1 1 0; min-width: 0; padding-inline: 12px; }
.pdv2 .action-bar.is-away{ transform: translateY(105%); visibility: hidden; }
.pdv2 #enquiry{ padding-bottom: calc(clamp(40px, 6vw, 72px) + var(--bar-h) + env(safe-area-inset-bottom)); }
@media (min-width: 1024px) {.pdv2 #enquiry{ padding-bottom: 36px; }
.pdv2 .action-bar{ display: none; }
.pdv2 .rail{
                position: fixed; right: 0; top: 50%; z-index: 900; display: flex; flex-direction: column; gap: 1px;
                transform: translateY(-50%); border-radius: 8px 0 0 8px; overflow: hidden; box-shadow: -8px 12px 30px -14px rgba(15, 23, 42, .45);
                transition: transform .35s var(--ease), opacity .35s, visibility .35s;
            }
.pdv2 .rail.is-away{ opacity: 0; visibility: hidden; transform: translate(24px, -50%); }
.pdv2 .rail__btn{
                display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
                width: 84px; height: 80px; background: var(--navy); color: #fff; text-decoration: none;
                font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
                transition: background-color .25s var(--ease), color .25s var(--ease);
            }
.pdv2 .rail__btn .i{ width: 22px; height: 22px; color: var(--gold); transition: color .25s; }
}
/* ==========================================================
           7. HERO
           ========================================================== */.pdv2 .hero{
            position: relative; isolation: isolate; display: flex; align-items: flex-end;
            min-height: 500px; min-height: clamp(500px, 70svh, 640px);
            padding: calc(var(--header-h) + 40px) 0 calc(var(--overlap) + 36px);
            color: #fff; background: var(--navy); overflow: hidden;
        }
.pdv2 .hero__img{ position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
/* desktop/mobile hero media: both are rendered, CSS shows the right one for the viewport */
.pdv2 .hero-media-mobile{ display: none; }
@media (max-width: 767px){
  /* mobile hero: size the section to the mobile media's own aspect ratio instead of a fixed
     viewport height, and show the full frame (object-fit:contain) so the image is never
     cropped, cut off, or stretched — it just scales to fit the phone screen. */
  .pdv2 .hero{ min-height: 0; height: auto; padding: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #000; }
  .pdv2 .hero-media-desktop{ display: none; }
  .pdv2 .hero-media-mobile{ display: block; position: static; inset: auto; z-index: auto; width: 100%; height: auto; max-height: 85svh; object-fit: contain; background: #000; }
}
/* desktop keeps the natural DOM order (Why then Exterior Parallax) since display:contents has
   no layout effect of its own; mobile only, Exterior Parallax is shown first, then Why. */
.pdv2-mobile-reorder{ display: contents; }
@media (max-width: 767px){
  .pdv2-mobile-reorder{ display: flex; flex-direction: column; }
  .pdv2-mobile-reorder .pxs{ order: -1; }
  .pdv2-mobile-reorder .pdwhy{ order: 0; }
}
/* hero overlay gradient removed — media is shown clean, unobstructed */
.pdv2 .hero__content > *{ animation: rise .9s var(--ease) both; animation-delay: calc(var(--d, 0) * 90ms + 120ms); }
@keyframes rise { from { opacity: 0; transform: translateY(16px); }
 }
.pdv2 .hero__campaign{ display: flex; flex-direction: column; gap: 4px; }
.pdv2 .hero__campaign .script{ font: 400 clamp(2rem, 4vw, 2.9rem)/1 var(--script); text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
.pdv2 .hero__bonanza{ font: 700 clamp(1.3rem, 3vw, 2.2rem)/1.1 var(--serif); letter-spacing: .22em; }
.pdv2 .hero__title{ display: flex; flex-direction: column; margin-top: 8px; color: #fff; }
.pdv2 .hero__breez{ font: 700 clamp(2.4rem, 6.2vw, 5.2rem)/1.08 var(--sans); letter-spacing: -.01em; text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.pdv2 .hero__by{ margin-top: 12px; font: 300 clamp(.85rem, 1.4vw, 1.1rem)/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; color: #cbd5e1; }
.pdv2 .hero__badges{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pdv2 .hero__badges li{
            flex: 1 1 0; min-width: 0; padding: 12px 14px; text-align: center; border-radius: 10px;
            background: rgba(255, 255, 255, .96); color: var(--navy); box-shadow: 0 14px 26px -12px rgba(0, 0, 0, .45);
        }
.pdv2 .hero__badges strong{ display: block; font: 600 1.5rem/1.1 var(--serif); }
.pdv2 .hero__badges span{ display: block; margin-top: 3px; font-size: .64rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pdv2 .hero__cta{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.pdv2 .hero__cta .btn{ flex: 1 1 100%; }
.pdv2 .hero__cta .btn--outline-light{ display: none; }
@media (min-width: 640px) {.pdv2 .hero__badges li{ flex: 0 0 auto; min-width: 156px; padding-inline: 26px; }
.pdv2 .hero__cta .btn{ flex: 0 0 auto; }
.pdv2 .hero__cta .btn--outline-light{ display: inline-flex; }
}
@media (min-width: 768px) {.pdv2 .hero{ align-items: center; min-height: 600px; min-height: clamp(600px, 88svh, 860px); padding-bottom: calc(var(--overlap) + 48px); }
}
/* ==========================================================
           8. KEY FACTS (overlaps hero)
           ========================================================== */.pdv2 .facts{ position: relative; z-index: 2; margin-top: calc(var(--overlap) * -1); }
.pdv2 .facts__card{
            display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden;
            background: var(--line); border-radius: 8px; box-shadow: var(--shadow-md);
        }
.pdv2 .fact{ display: flex; align-items: flex-start; gap: 14px; padding: 20px 18px; background: #fff; }
.pdv2 .fact--wide{ grid-column: 1 / -1; }
.pdv2 .fact__icon{ width: 28px; height: 28px; margin-top: 2px; object-fit: contain; flex: none; }
.pdv2 .fact__label{ margin-bottom: 4px; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.pdv2 .fact__value{ font: 600 1.15rem/1.3 var(--serif); color: var(--navy); }
.pdv2 .fact > div{ min-width: 0; }
.pdv2 .fact__value{ overflow-wrap: anywhere; }
.pdv2 .fact--price .fact__value{ font-size: clamp(1.4rem, 1.1rem + 1.4vw, 1.85rem); color: var(--gold-ink); }
@media (min-width: 768px) {.pdv2 .fact{ padding: 26px 28px; gap: 16px; }
.pdv2 .fact__value{ font-size: 1.3rem; }
}
@media (min-width: 1280px) {.pdv2 .facts__card{ grid-template-columns: 1.3fr .8fr 1.1fr 1.5fr; }
.pdv2 .fact--wide{ grid-column: auto; }
.pdv2 .fact{ padding: 28px 26px; }
.pdv2 .fact__value{ font-size: 1.2rem; }
.pdv2 .fact--price .fact__value{ font-size: 1.6rem; }
}
/* ==========================================================
           8b. SECTION SUB-NAV (page anchors)
           ========================================================== */.pdv2 .subnav{ position: sticky; top: var(--header-h); z-index: 850; margin-top: clamp(28px, 4vw, 48px); padding-block: 10px; background: rgba(255, 255, 255, .97); border-bottom: 1px solid transparent; transition: box-shadow .3s var(--ease), border-color .3s var(--ease); }
.pdv2 .subnav.is-stuck{ border-bottom-color: var(--line); box-shadow: 0 14px 28px -22px rgba(15, 23, 42, .45); }
.pdv2 .subnav__scroll{ position: relative; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; padding-inline: var(--gutter); }
.pdv2 .subnav__scroll::-webkit-scrollbar{ display: none; }
.pdv2 .subnav ul{ display: flex; gap: 4px; width: max-content; margin-inline: auto; padding: 4px; background: var(--sand-2); border: 1px solid var(--line-warm); border-radius: 999px; }
.pdv2 .subnav a{
            display: flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 999px; white-space: nowrap; text-decoration: none;
            font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
            transition: background-color .25s var(--ease), color .25s var(--ease);
        }
.pdv2 .subnav a[aria-current="true"]{ background: var(--navy); color: #fff; }
.pdv2 .subnav a:focus-visible{ outline-offset: 2px; }
@media (min-width: 768px) {.pdv2 .subnav a{ padding: 0 22px; }
}
/* ==========================================================
           9. INTRO
           ========================================================== */.pdv2 .intro{ padding-top: clamp(48px, 7vw, 96px); }
.pdv2 .split{ display: grid; gap: 32px; align-items: center; }
.pdv2 .split h2{ font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); margin-bottom: 20px; }
.pdv2 .split p + p{ margin-top: 16px; }
.pdv2 .split p{ text-wrap: pretty; }
.pdv2 .split__media{ position: relative; aspect-ratio: 5 / 4; overflow: hidden; border-radius: 8px; box-shadow: var(--shadow-sm); background: var(--sand-2); }
.pdv2 .split__media img{ width: 100%; height: 100%; object-fit: cover; }
.pdv2 .actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pdv2 .actions .btn{ flex: 1 1 200px; }
@media (min-width: 640px) {.pdv2 .actions .btn{ flex: 0 0 auto; }
}
@media (min-width: 1024px) {.pdv2 .split{ grid-template-columns: 1fr 1fr; gap: clamp(48px, 6vw, 88px); align-items: stretch; }
.pdv2 .split__media{ aspect-ratio: auto; max-height: none; height: 100%; }
}
/* ==========================================================
           10. RESIDENCES
           ========================================================== */.pdv2 .res-card{ display: grid; background: #fff; border: 1px solid var(--line-warm); border-radius: 8px; box-shadow: var(--shadow-sm); overflow: hidden; }
.pdv2 .res-card__stat, .pdv2 .res-card__types{ padding: clamp(24px, 4vw, 44px); }
.pdv2 .res-card__stat{ border-bottom: 1px solid var(--line-warm); }
.pdv2 .res-label{ display: flex; align-items: center; gap: 12px; font: 600 .72rem/1.2 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.pdv2 .res-label img{ width: 28px; height: 28px; object-fit: contain; }
.pdv2 .res-figure{ margin-top: 14px; font: 600 clamp(3.25rem, 2.2rem + 4vw, 5rem)/1 var(--serif); color: #bda588; }
.pdv2 .chips{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.pdv2 .chips li{ padding: 10px 18px; border: 1px solid var(--line-warm); border-radius: 9px; background: var(--sand); font-size: .9rem; font-weight: 500; color: var(--navy); }
.pdv2 .res-actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: clamp(28px, 4vw, 40px); }
.pdv2 .res-actions .btn{ flex: 1 1 100%; }
@media (min-width: 768px) {.pdv2 .res-card{ grid-template-columns: minmax(240px, 1fr) 2fr; }
.pdv2 .res-card__stat{ border-bottom: 0; border-right: 1px solid var(--line-warm); }
}
@media (min-width: 640px) {.pdv2 .res-actions .btn{ flex: 0 0 auto; }
}
/* ==========================================================
           11. LOCATION: proximity grid + map
           ========================================================== */.pdv2 .prox{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; background: var(--line-warm); border: 1px solid var(--line-warm); border-radius: 8px; }
.pdv2 .prox li{ display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 14px; text-align: center; background: #fff; }
.pdv2 .prox img{ width: 36px; height: 36px; margin-bottom: 8px; object-fit: contain; }
.pdv2 .prox__time{ display: flex; align-items: baseline; gap: 6px; color: #bda588; }
.pdv2 .prox__n{ font: 600 clamp(2rem, 1.5rem + 2vw, 2.75rem)/1 var(--serif); }
.pdv2 .prox__u{ font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.pdv2 .prox__place{ max-width: 20ch; font-size: .82rem; font-weight: 500; line-height: 1.45; color: var(--navy); text-wrap: balance; }
@media (min-width: 768px) {.pdv2 .prox{ grid-template-columns: repeat(3, 1fr); }
.pdv2 .prox li{ padding: 36px 20px; }
.pdv2 .prox__place{ font-size: .88rem; }
}
.pdv2 .loc{ display: grid; gap: 32px; }
.pdv2 .loc__copy h3{ font-size: 1.4rem; margin-bottom: 14px; }
.pdv2 .loc__copy p{ text-wrap: pretty; }
.pdv2 .drive{ margin-top: 24px; border-top: 1px solid var(--line-warm); }
.pdv2 .drive li{ display: flex; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line-warm); font-size: .95rem; font-weight: 500; color: var(--navy); }
.pdv2 .drive__min{ flex: 0 0 52px; text-align: right; font: 600 1.7rem/1 var(--serif); color: var(--gold-ink); }
@media (min-width: 640px) {.pdv2 .drive{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(16px, 3vw, 32px); }
}
.pdv2 .map{ position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 8px; box-shadow: var(--shadow-sm); background: var(--sand-2); }
.pdv2 .map__frame{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }
.pdv2 .map.is-active .map__frame{ pointer-events: auto; }
/* Map only captures scroll/touch after a tap or click, so it never traps page scrolling on phones */.pdv2 .map__hint{ position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: center; padding: 0 16px 16px; background: none; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pdv2 .map__hint span{ padding: 10px 18px; background: var(--navy); color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; box-shadow: var(--shadow-sm); }
.pdv2 .map.is-active .map__hint{ display: none; }
@media (min-width: 1024px) {.pdv2 .loc{ grid-template-columns: 5fr 7fr; gap: clamp(40px, 5vw, 72px); align-items: stretch; }
.pdv2 .map{ aspect-ratio: auto; height: 100%; min-height: 340px; }
}
/* ==========================================================
           12. GALLERY — see the separate "Image Gallery" block appended below (exact client-supplied design)
           ========================================================== */

/* ==========================================================
           13. AMENITIES
           ========================================================== */.pdv2 .amn__vh{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Parallax stack: each image is a full-screen sticky panel; the next one slides up over it */.pdv2 .pxs{ position: relative; }
.pdv2 .pxs__panel{ position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: var(--navy); }
.pdv2 .pxs__frame{ position: absolute; inset: 0; overflow: hidden; }
.pdv2 .pxs__frame picture{ display: contents; }
.pdv2 .pxs__frame img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pdv2 .pxs__tag{ position: absolute; z-index: 2; top: clamp(72px, 10vh, 104px); left: var(--gutter); margin: 0; padding: 9px 18px; background: rgba(15, 23, 42, .6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font: 600 .72rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.pdv2 .amn{ background: #fff; }
.pdv2 .amn__head{ padding: 0 var(--gutter); text-align: center; background: #fff; }
.pdv2 .amn__head h2{ margin: 0; padding-block: 1.05em; font: 400 clamp(2rem, 4.6vw, 3.6rem)/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); }
.pdv2 .amn__stage{ position: relative; height: clamp(440px, 78vh, 820px); overflow: hidden; background: var(--navy); color: #fff; touch-action: pan-y; }
.pdv2 .amn__slide{ position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1s var(--ease); }
.pdv2 .amn__slide.is-on{ opacity: 1; }
.pdv2 .amn__slide img{ width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 6s ease-out; }
.pdv2 .amn__slide.is-on img{ transform: scale(1); }
.pdv2 .amn__bar{ position: absolute; inset: auto 0 0 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px var(--gutter); background: linear-gradient(90deg, rgba(15, 23, 42, .88), rgba(15, 23, 42, .68)); }
.pdv2 .amn__name{ margin: 0; font: 600 clamp(.9rem, 1.5vw, 1.1rem)/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.pdv2 .amn__arrows{ display: flex; gap: 4px; }
.pdv2 .amn__arrow{ display: grid; place-items: center; width: 48px; height: 48px; border: 0; background: none; color: #fff; cursor: pointer; transition: color .3s; }
.pdv2 .amn__arrow:hover{ color: var(--gold); }
.pdv2 .amn__stage :focus-visible{ outline-color: var(--gold); outline-offset: -3px; }
.pdv2 .amn__dots{ display: flex; justify-content: center; padding: 20px 0 28px; }
.pdv2 .amn__dots button{ position: relative; width: 24px; height: 32px; border: 0; padding: 0; background: none; cursor: pointer; }
.pdv2 .amn__dots button::after{ content: ""; position: absolute; left: 9px; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: rgba(15, 23, 42, .3); transition: transform .3s, background .3s; }
.pdv2 .amn__dots button[aria-current="true"]::after{ background: var(--gold); transform: scale(1.5); }
.pdv2 .amn__actions{ display: flex; justify-content: center; }
.pdv2 section#location{ border-top: 1px solid var(--line-warm); }
@media (max-width: 767px) {.pdv2 .amn__stage{ height: auto; aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: reduce) {.pdv2 .amn__slide img{ transform: none; transition: none; }
}
.pdv2 .sheet{ display: none; }
.pdv2 .sheet[open]{ display: flex; flex-direction: column; animation: sheet-in .28s var(--ease); }
.pdv2 .sheet{
            width: min(960px, calc(100% - 32px)); max-width: none; max-height: min(88dvh, 820px); margin: auto; padding: 0;
            border: 0; border-radius: 10px; background: #fff; color: var(--text); overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
        }
@keyframes sheet-in { from { opacity: 0; transform: translateY(14px); }
 }
.pdv2 .sheet::backdrop, .pdv2 .lightbox::backdrop{ background: rgba(7, 11, 24, .78); }
.pdv2 .sheet__head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px 16px 24px; background: var(--sand); border-bottom: 1px solid var(--line-warm); }
.pdv2 .sheet__head h2{ font-size: clamp(1.2rem, 1rem + 1vw, 1.6rem); }
.pdv2 .sheet__body{ flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: clamp(16px, 3vw, 32px); }
.pdv2 .sheet__foot{ display: flex; justify-content: center; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line-warm); background: #fff; }
.pdv2 .amenity-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; text-align: center; }
.pdv2 .amenity-grid li{ display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; padding: 16px 6px; border-radius: 8px; font-size: .78rem; font-weight: 600; line-height: 1.35; color: var(--navy); }
.pdv2 .amenity-grid img{ width: 36px; height: 36px; object-fit: contain; }
@media (min-width: 640px) {.pdv2 .amenity-grid{ grid-template-columns: repeat(4, 1fr); }
.pdv2 .amenity-grid li{ font-size: .82rem; }
}
@media (min-width: 900px) {.pdv2 .amenity-grid{ grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 639px) {.pdv2 .sheet{ width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
.pdv2 .sheet__head{ padding-top: calc(16px + env(safe-area-inset-top)); }
}
/* ==========================================================
           14. FAQ
           ========================================================== */.pdv2 .faq-sub{ margin: clamp(32px, 5vw, 48px) auto 24px; text-align: center; font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); color: var(--gold-ink); }
.pdv2 .acc{ max-width: 900px; margin-inline: auto; }
.pdv2 .acc__item{ margin-bottom: 12px; background: var(--sand); border: 1px solid var(--line); transition: border-color .3s var(--ease), background-color .3s var(--ease); }
.pdv2 .acc__item.is-open{ border-color: var(--gold); background: #fff; }
.pdv2 .acc__q{ font: inherit; }
.pdv2 .acc__btn{
            display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 64px; padding: 16px 22px;
            background: none; border: 0; text-align: left; cursor: pointer; font: 500 1rem/1.4 var(--sans); color: var(--navy); -webkit-tap-highlight-color: transparent;
        }
.pdv2 .acc__icon{ position: relative; flex: none; width: 14px; height: 14px; }
.pdv2 .acc__icon::before, .pdv2 .acc__icon::after{ content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; margin-top: -1px; background: var(--gold-ink); transition: transform .3s var(--ease); }
.pdv2 .acc__icon::after{ transform: rotate(90deg); }
.pdv2 .is-open .acc__icon::after{ transform: rotate(0); }
.pdv2 .acc__panel{ display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }
.pdv2 .acc__inner{ overflow: hidden; visibility: hidden; transition: visibility 0s .35s; }
.pdv2 .is-open .acc__panel{ grid-template-rows: 1fr; }
.pdv2 .is-open .acc__inner{ visibility: visible; transition-delay: 0s; }
.pdv2 .acc__inner p{ padding: 0 22px 22px; font-size: .96rem; line-height: 1.75; color: #475569; max-width: 75ch; text-wrap: pretty; }
.pdv2 html:not(.js) .acc__panel{ grid-template-rows: 1fr; }
.pdv2 html:not(.js) .acc__inner{ visibility: visible; }
/* ==========================================================
           15. LET'S CONNECT + ENQUIRY FORM + FORM MODAL
           ========================================================== */.pdv2{ --crimson: #b5122f; }
.pdv2 .connect{ position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(40px, 6vw, 72px); background: var(--navy); color: #fff; }
.pdv2 .connect__bg{ position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pdv2 .connect::after{ content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(15, 23, 42, .84), rgba(15, 23, 42, .62)); }
.pdv2 .connect__inner{ display: grid; gap: 28px; align-items: center; }
.pdv2 .connect__intro h2{ color: #fff; font-size: clamp(2.6rem, 1.7rem + 4.4vw, 4.75rem); line-height: 1.05; }
.pdv2 .connect__rule{ display: block; width: 56px; height: 2px; margin-top: 20px; background: var(--gold); }
.pdv2 .connect__intro p{ max-width: 34ch; margin-top: 20px; font-size: 1.05rem; color: #e2e8f0; text-wrap: pretty; }
.pdv2 .connect__card{ padding: 18px 16px; background: #fff; color: var(--text); border-radius: 12px; border-top: 3px solid var(--gold); box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .6); width: 100%; }
@media (min-width: 768px) {.pdv2 .connect__card{ max-width: 430px; padding: 22px 22px; }
}
@media (min-width: 1024px) {.pdv2 .connect{ display: grid; align-items: center; min-height: 626px; padding-block: 36px; }
.pdv2 .connect::after{ background: linear-gradient(to right, rgba(15, 23, 42, .84) 0%, rgba(15, 23, 42, .5) 55%, rgba(15, 23, 42, .2) 100%); }
.pdv2 .connect__inner{ grid-template-columns: 1fr minmax(320px, 400px); gap: clamp(40px, 6vw, 96px); }
.pdv2 .connect__card{ justify-self: end; max-width: none; }
}
/* --- the enquiry form (used in the modal and in Let's Connect) --- */.pdv2 .qtitle{ font: 600 1.25rem/1.2 var(--sans); letter-spacing: -.01em; color: #161b26; }
.pdv2 .qsub{ margin-top: 4px; font-size: .85rem; line-height: 1.45; color: #4b5563; }
.pdv2 .qform{ margin-top: 14px; }
.pdv2 .qform > * + *{ margin-top: 10px; }
.pdv2 .qform > .turnstile-slot{ margin-top: 0; }
.pdv2 .qform > .turnstile-slot.is-shown{ margin-top: 10px; }
.pdv2 .qform__field label{ display: block; margin: 0 0 4px 2px; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #374151; }
.pdv2 .qform__input{
            display: block; width: 100%; min-height: 44px; padding: 9px 12px; font: 400 1rem/1.4 var(--sans); color: var(--navy);
            background: #f6f7f9; border: 1px solid var(--field-border); border-radius: 10px; appearance: none; transition: border-color .2s, box-shadow .2s, background-color .2s;
        }
.pdv2 textarea.qform__input{ min-height: 60px; resize: vertical; }
.pdv2 .qform ::placeholder{ color: #616d7e; opacity: 1; }
.pdv2 .qform__input:focus, .pdv2 .phone:focus-within{ outline: 0; border-color: var(--crimson); box-shadow: 0 0 0 4px rgba(181, 18, 47, .16); }
.pdv2 .qform__input:focus{ background: #fff; }
.pdv2 .qform [aria-invalid="true"], .pdv2 .qform .phone.is-invalid{ border-color: var(--error); }
.pdv2 .phone{ position: relative; display: flex; align-items: stretch; min-height: 44px; background: #fff; border: 1px solid var(--field-border); border-radius: 999px; transition: border-color .2s, box-shadow .2s; }
.pdv2 .cc{ position: relative; flex: none; }
.pdv2 .cc__btn{ display: flex; align-items: center; gap: 6px; height: 100%; padding: 0 8px 0 14px; background: none; border: 0; border-radius: 999px 0 0 999px; cursor: pointer; font: 500 1rem var(--sans); color: #1f2937; -webkit-tap-highlight-color: transparent; }
.pdv2 .cc__flag{ display: block; flex: none; width: 20px; height: 14px; overflow: hidden; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .14); }
.pdv2 .cc__flag svg{ display: block; width: 100%; height: 100%; }
.pdv2 .cc__caret{ width: 9px; height: 6px; margin-left: 2px; fill: #6b7280; }
.pdv2 .phone__input{ flex: 1 1 auto; min-width: 0; padding: 0 14px 0 6px; background: none; border: 0; border-radius: 0 999px 999px 0; outline: 0; font: 400 1rem/1.4 var(--sans); color: var(--navy); }
.pdv2 .cc__list{ position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; width: min(300px, calc(100vw - 56px)); max-height: 208px; overflow-y: auto; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-md); }
.pdv2 .cc__list[hidden]{ display: none; }
.pdv2 .cc__list li{ display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 8px; font-size: .92rem; color: var(--navy); cursor: pointer; }
.pdv2 .cc__list li[aria-selected="true"]{ background: var(--sand); font-weight: 600; }
.pdv2 .cc__list li:focus-visible{ outline: 2px solid var(--crimson); outline-offset: -2px; }
.pdv2 .cc__name{ flex: 1 1 auto; }
.pdv2 .cc__num{ color: #5b6470; font-variant-numeric: tabular-nums; }
.pdv2 .qform__submit{
            width: 100%; min-height: 46px; border: 0; border-radius: 10px; cursor: pointer;
            background: linear-gradient(135deg, #c1162f, #ff395a); color: #fff; font: 700 .85rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
            box-shadow: 0 10px 20px -12px rgba(141, 11, 33, .7); transition: filter .25s, transform .2s, box-shadow .25s; -webkit-tap-highlight-color: transparent;
        }
.pdv2 .qform__submit:active{ transform: translateY(1px); }
.pdv2 .qform__submit[disabled]{ opacity: .65; cursor: progress; }
.pdv2 .qform :focus-visible{ outline-color: var(--crimson); }
.pdv2 .field__error{ margin: 4px 0 0 2px; font-size: .8rem; font-weight: 500; color: var(--error); }
.pdv2 .field__error[hidden]{ display: none; }
.pdv2 .form-status{ padding: 9px 12px; border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0; background: var(--sand); color: var(--navy); font-size: .85rem; font-weight: 500; }
.pdv2 .form-status:empty{ display: none; }
.pdv2 .form-status.is-error{ border-left-color: var(--error); background: #fef3f2; color: var(--error); }
.pdv2 .form-status a{ font-weight: 700; color: var(--crimson); }
.pdv2 .form-note{ font-size: .68rem; line-height: 1.4; color: var(--muted); text-align: center; }
/* --- modal: mobile version by default, desktop version from 900px --- */.pdv2 .formmodal{ display: none; }
.pdv2 .formmodal[open]{ display: block; animation: sheet-in .28s var(--ease); }
.pdv2 .formmodal{
            width: min(430px, calc(100% - 24px)); height: fit-content; max-width: none; max-height: 90dvh; margin: auto; padding: 0; border: 0; border-radius: 14px;
            overflow-y: auto; overscroll-behavior: contain; background: #fff; color: var(--text);
        }
.pdv2 .formmodal::backdrop{ background: rgba(15, 23, 42, .68); }
.pdv2 .formmodal__art img{ display: block; width: 100%; height: auto; aspect-ratio: 827 / 431; }
.pdv2 .formmodal__panel{ position: relative; padding: 16px 16px calc(18px + env(safe-area-inset-bottom)); }
.pdv2 .formmodal .qtitle{ padding-right: 44px; }
.pdv2 .formmodal__close{ position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; background: none; border: 0; border-radius: 50%; color: #1f2937; cursor: pointer; transition: background-color .2s; -webkit-tap-highlight-color: transparent; }
.pdv2 .formmodal__close .i{ width: 20px; height: 20px; }
@media (min-width: 600px) {.pdv2 .formmodal{ width: min(460px, calc(100% - 32px)); max-height: 90dvh; border-radius: 14px; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .65); }
.pdv2 .formmodal__panel{ padding: 20px 22px 22px; }
}
@media (min-width: 900px) {.pdv2 .formmodal[open]{ display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); overflow: hidden; width: min(860px, calc(100% - 48px)); max-height: min(90dvh, 560px); }
.pdv2 .formmodal__art{ position: relative; min-height: 300px; background: #0d7a7f; }
.pdv2 .formmodal__art picture{ position: absolute; inset: 0; }
.pdv2 .formmodal__art img{ width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 8% 50%; }
.pdv2 .formmodal__panel{ overflow-y: auto; padding: 20px 22px 18px 24px; align-self: center; max-height: inherit; }
.pdv2 .formmodal .qtitle{ font-size: 1.2rem; }
.pdv2 .formmodal .qsub{ font-size: .85rem; }
.pdv2 .formmodal .qform{ margin-top: 12px; }
.pdv2 .formmodal .qform > * + *{ margin-top: 10px; }
.pdv2 .formmodal textarea.qform__input{ min-height: 54px; }
.pdv2 .formmodal .form-note{ line-height: 1.35; }
.pdv2 .formmodal__close{ top: 10px; right: 10px; }
}
/* ==========================================================
           16. MOTION
           ========================================================== */.pdv2 .js .reveal{ opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: calc(var(--i, 0) * 70ms); }
.pdv2 .js .reveal.is-in{ opacity: 1; transform: none; }
@media (hover: hover) {.pdv2 .btn--navy:hover{ background: var(--gold); border-color: var(--gold); color: var(--navy); }
.pdv2 .btn--gold:hover{ background: var(--gold-hover); border-color: var(--gold-hover); }
.pdv2 .btn--outline:hover{ background: var(--navy); color: #fff; }
.pdv2 .btn--outline-light:hover{ background: #fff; border-color: #fff; color: var(--navy); }
.pdv2 .subnav a:not([aria-current="true"]):hover{ background: #fff; color: var(--navy); }
.pdv2 .qform__submit:not([disabled]):hover{ filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 14px 24px -12px rgba(141, 11, 33, .65); }
.pdv2 .cc__list li:hover{ background: var(--sand); }
.pdv2 .formmodal__close:hover{ background: var(--sand-2); }
.pdv2 .icon-btn:not([aria-disabled="true"]):hover{ background: var(--gold); border-color: var(--gold); color: var(--navy); }
.pdv2 .rail__btn:hover{ background: var(--gold); color: var(--navy); }
.pdv2 .rail__btn:hover .i{ color: var(--navy); }
.pdv2 .gallery__btn:hover img, .pdv2 .slide:hover img{ transform: scale(1.045); }
.pdv2 .amenity-grid li:hover{ background: var(--sand); }
.pdv2 .acc__item:not(.is-open):hover{ border-color: var(--gold); }
}
@media (prefers-reduced-motion: reduce) {.pdv2 *, .pdv2 *::before, .pdv2 *::after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
.pdv2 .js .reveal{ opacity: 1; transform: none; }
}
.pdv2 .mprog{position:fixed;inset:0 0 auto 0;height:3px;z-index:2000;background:linear-gradient(90deg,var(--gold),#e6d3b3);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.pdv2 .btn{transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .3s,color .3s,border-color .3s}
.pdv2 .btn:hover{transform:translateY(-3px);box-shadow:0 18px 32px -16px rgba(15,23,42,.55)}
.pdv2 .btn:active{transform:translateY(0)}
.pdv2 .res-card, .pdv2 .prox li, .pdv2 .facts__card{transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.pdv2 .res-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(15,23,42,.35)}
.pdv2 .gallery__cell{overflow:hidden;border-radius:10px}
.pdv2 .gallery__btn img{transition:transform 1.4s var(--ease),filter .6s}
.pdv2 .gallery__btn:hover img{transform:scale(1.08)}
.pdv2 .gallery__cell{position:relative}
.pdv2 .gallery__cell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,23,42,.35),transparent 45%);opacity:0;transition:opacity .5s;pointer-events:none}
.pdv2 .gallery__cell:hover::after{opacity:1}
.pdv2 .mr{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.pdv2 .mr.mr-in{opacity:1;transform:none}
.pdv2 .mr-clip .gallery__btn{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.77,0,.18,1);transition-delay:calc(var(--i,0) * 110ms)}
.pdv2 .mr-clip.mr-in .gallery__btn{clip-path:inset(0)}
.pdv2 .amn__bar::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:0 50%}
.pdv2 .amn__bar.is-run::before{animation:amnrun 5.5s linear forwards}
@keyframes amnrun{to{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){.pdv2 .mr{opacity:1;transform:none;transition:none}
.pdv2 .mr-clip .gallery__btn{clip-path:none;transition:none}
.pdv2 .amn__bar::before{display:none}
}
/* Marble-inspired, light palette shared by Residences and Why Dubai Maritime City */.pdv2 .rs__card, .pdv2 .prox{--a:112deg;--b:64deg;max-width:760px;margin-inline:auto;overflow:hidden;background:var(--line-warm);border:1px solid var(--line-warm);border-radius:8px;box-shadow:0 28px 60px -40px rgba(120,108,92,.4)}
.pdv2 .rs__top, .pdv2 .rs__facts, .pdv2 .prox li{background:
 radial-gradient(130% 95% at 15% 0%,#fff 0%,#f7f5f1 58%,#f0ede7 100%)}
.pdv2 .rs__card{display:flex;flex-direction:column;gap:1px}
.pdv2 .rs__top{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:clamp(14px,2vw,18px) 16px}
.pdv2 .rs .res-figure{margin:0;font:400 clamp(1.5rem,1.2rem + 1.2vw,2rem)/1 var(--serif);color:var(--gold-ink)}
.pdv2 .rs__lab{margin:0;font:600 .62rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pdv2 .rs__ico{margin-bottom:6px;color:var(--gold-ink);width:22px;height:22px}
.pdv2 .rs__tok{margin:0;font:500 clamp(.95rem,.85rem + .5vw,1.25rem)/1.1 var(--serif);color:var(--gold-ink)}
.pdv2 .rs__facts li:hover, .pdv2 .prox li:hover{box-shadow:inset 0 -2px 0 var(--gold)}
.pdv2 .rs__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(24px,3.5vw,36px)}
@media(max-width:480px){.pdv2 .rs__actions .btn{width:100%;justify-content:center;text-align:center}
}
/* Why Dubai Maritime City: same compact, centred card */.pdv2 .prox li{padding:22px 12px}
@media(min-width:768px){.pdv2 .prox li{padding:28px 16px}
}
.pdv2 .prox img{width:32px;height:32px;margin-bottom:6px}
.pdv2 .prox__n{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.25rem)}
.pdv2 .prox__place{color:var(--navy)}
/* tighter, balanced rhythm between the two white sections */.pdv2 .rs{padding-bottom:clamp(56px,7vw,96px)}
.pdv2 #residences + div > .section{padding-top:0}
/* ===== One design system: tokens ===== */.pdv2{--r:8px;--r-btn:4px;--gold-deep:#8a6f47;--shadow-card:0 28px 60px -40px rgba(120,108,92,.4)}
/* ===== Section headers: eyebrow, serif heading, short gold rule ===== */.pdv2 .section h2, .pdv2 .section-head h2{font-weight:500;letter-spacing:-.005em}
.pdv2 .section h3{font-weight:500}
.pdv2 .eyebrow{color:var(--gold-deep)}
.pdv2 .section-head::after{content:"";display:block;width:48px;height:1px;margin:20px auto 0;background:var(--gold)}
/* ===== Buttons: gold primary, outlined secondary, one radius ===== */.pdv2 .btn{border-radius:var(--r-btn)}
.pdv2 .btn--navy{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.pdv2 .btn--navy:hover{filter:brightness(.95)}
/* ===== Cards and media: one radius, one shadow, one marble fill ===== */.pdv2 .facts__card, .pdv2 .split__media, .pdv2 .map, .pdv2 .gallery__cell, .pdv2 .acc__item{border-radius:var(--r)}
.pdv2 .facts__card, .pdv2 .split__media{box-shadow:var(--shadow-card)}
.pdv2 .fact, .pdv2 .drive li{background:
 radial-gradient(130% 95% at 15% 0%,#fff 0%,#f7f5f1 58%,#f0ede7 100%)}
.pdv2 .acc__item{background:#fff;border-color:var(--line-warm)}
.pdv2 .acc__item.is-open{border-color:var(--gold)}
/* legible deep gold for gold text; brighter gold stays for fills and lines */.pdv2 .rs .res-figure, .pdv2 .rs__tok, .pdv2 .rs__ico, .pdv2 .prox__n, .pdv2 .prox__u, .pdv2 .drive__min{color:var(--gold-deep)}
.pdv2 .faq-sub{color:var(--gold-deep);font-weight:500}
.pdv2 .prox, .pdv2 .rs__card{box-shadow:var(--shadow-card)}
/* ===== Location: same compact marble card language ===== */.pdv2 .loc{max-width:1000px;margin-inline:auto;display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,40px)}
.pdv2 .loc__copy{text-align:center}
.pdv2 .loc__copy h3{margin:0 0 14px;font:500 clamp(1.5rem,1.2rem + 1vw,1.9rem)/1.2 var(--serif)}
.pdv2 .loc__copy h3::after{content:"";display:block;width:40px;height:1px;margin:14px auto 0;background:var(--gold)}
.pdv2 .loc__copy p{max-width:52ch;margin-inline:auto}
.pdv2 .map{border:1px solid var(--line-warm);box-shadow:var(--shadow-card)}
.pdv2 .map__hint span{background:rgba(255,255,255,.92);color:var(--navy);border:1px solid var(--line-warm);border-radius:var(--r-btn);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pdv2 #location .drive{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;overflow:hidden;background:var(--line-warm);border:1px solid var(--line-warm);border-radius:var(--r);box-shadow:var(--shadow-card)}
.pdv2 #location .drive li{flex-direction:column;justify-content:center;gap:6px;padding:22px 12px;border:0;text-align:center;font-size:.86rem;line-height:1.45;transition:box-shadow .4s var(--ease)}
.pdv2 #location .drive li:hover{box-shadow:inset 0 -2px 0 var(--gold)}
.pdv2 #location .drive__min{flex:none;width:auto;text-align:center;font:500 clamp(1.8rem,1.4rem + 1.4vw,2.4rem)/1 var(--serif)}
@media(min-width:768px){.pdv2 .loc{grid-template-columns:5fr 7fr;align-items:stretch}
.pdv2 .loc__copy{align-self:center;text-align:left}
.pdv2 .loc__copy h3::after{margin-inline:0}
.pdv2 .loc__copy p{margin-inline:0}
.pdv2 .map{aspect-ratio:auto;height:100%;min-height:320px}
.pdv2 #location .drive{grid-template-columns:repeat(3,minmax(0,1fr))}
.pdv2 #location .drive li{padding:28px 16px}
}
/* ===== Enquiry: gold accents instead of crimson ===== */.pdv2 .connect .qform__submit{background:var(--gold);border-color:var(--gold);color:var(--navy);box-shadow:none;border-radius:var(--r-btn)}
.pdv2 .qform__input, .pdv2 .phone{border-radius:var(--r-btn)}
.pdv2 .qform__input:focus, .pdv2 .phone:focus-within{border-color:var(--gold-deep);box-shadow:0 0 0 4px rgba(189,165,136,.28)}
.pdv2 .qform :focus-visible, .pdv2 .cc__list li:focus-visible{outline-color:var(--gold-deep)}
.pdv2 .rs__facts{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.pdv2 .rs__facts li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 12px;text-align:center;border-top:1px solid var(--line-warm);transition:box-shadow .4s var(--ease);min-width:120px}
.pdv2 .rs__facts li:first-child{border-top:0}
@media(min-width:768px){.pdv2 .rs__facts{flex-direction:row;flex-wrap:wrap}
.pdv2 .rs__facts li{flex:1 1 140px;min-width:130px;padding:18px 16px;border-top:0;border-left:1px solid var(--line-warm)}
.pdv2 .rs__facts li:first-child{border-left:0}
}

/* ---------- Section 5 requirement: project name white, "By Danube" bold red ---------- */
.pdv2 .hero__breez{ color: #fff; }

/* ---------- "Why this project?" icon boxes (backend-managed) ---------- */
.pdv2 .why__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pdv2 .why__box{ background:#fff; border:1px solid var(--line-warm); border-radius:8px; padding:28px 22px; text-align:center; box-shadow:var(--shadow-card); }
.pdv2 .why__icon{ width:44px; height:44px; object-fit:contain; margin-bottom:14px; }
.pdv2 .why__title{ margin:0 0 8px; font:600 1.05rem/1.3 var(--serif); color:var(--navy); }
.pdv2 .why__desc{ margin:0; font-size:.88rem; line-height:1.6; color:var(--muted); }
@media (max-width:900px){ .pdv2 .why__grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:560px){ .pdv2 .why__grid{ grid-template-columns:1fr; } }

/* ---------- video: robust against common mobile iframe-tap issues ---------- */
.pdv2 .video-frame-16x9{ position:relative; z-index:1; -webkit-transform:translateZ(0); transform:translateZ(0); }
.pdv2 .video-frame-16x9 iframe{ pointer-events:auto; touch-action:manipulation; -webkit-tap-highlight-color:transparent; border-radius:inherit; }
.pdv2 .hero__by{ color: var(--crimson, #b5122f); font-weight: 800; letter-spacing: .32em; }

/* ---------- small additions to make the ported design work with server-rendered <picture>/<video>/<iframe> and our own lead buttons ---------- */
.pdv2 .video-frame-16x9{ position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:var(--r,8px); overflow:hidden; max-width:1100px; margin:0 auto; }
.pdv2 .video-frame-16x9 video, .pdv2 .video-frame-16x9 iframe{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; }
.pdv2 .empty-note{ text-align:center; color:var(--muted); padding:24px; }
.pdv2 button.btn{ cursor:pointer; }
.pdv2 .prox img.prox__icon{ width:36px; height:36px; object-fit:contain; }
.pdv2 dialog.sheet{ border:0; border-radius:var(--r,8px); padding:0; max-width:min(92vw,1200px); margin:auto; }
.pdv2 dialog.sheet::backdrop{ background:rgba(15,23,42,.82); }

/* ===================================================================
   RESIDENCES SECTION — exact client-supplied design (scoped .pdres)
   =================================================================== */
.pdres * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
.pdres {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #ffffff;
            color: #333333;
            padding: 20px;
        }
.pdres .pdres-container {
            max-width: 1000px;
            width: 100%;
            text-align: center;
            padding: 40px 20px;
            margin: 0 auto;
        }
.pdres .pdres-title {
            font-size: 38px;
            letter-spacing: 3px;
            color: #bda588;
            text-transform: uppercase;
            margin-bottom: 50px;
            font-weight: 500;
        }
/* Desktop Grid Container */
.pdres .pdres-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, auto);
            position: relative;
            max-width: 900px;
            margin: 0 auto;
        }
/* Desktop Extending Vertical Lines */
.pdres .pdres-grid::before, .pdres .pdres-grid::after {
            content: '';
            position: absolute;
            top: -16px;
            bottom: -20px;
            width: 1px;
            background-color: #d1c7bd;
            z-index: 1;
        }
.pdres .pdres-grid::before {
            left: 33.333%;
        }
.pdres .pdres-grid::after {
            left: 66.666%;
        }
/* Desktop Extending Horizontal Line - Adjusted position for height */
.pdres .pdres-row-divider {
            position: absolute;
            top: 52%;
            left: -30px;
            right: -30px;
            height: 1px;
            background-color: #d1c7bd;
            z-index: 1;
        }
.pdres .pdres-item {
            padding: 40px 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;
            z-index: 2;
        }
/* Move top three items slightly downward on desktop only */
.pdres .pdres-item:nth-child(-n+3) {
            padding-top: 55px;
            padding-bottom: 25px;
        }
/* Keep bottom three items balanced */
.pdres .pdres-item:nth-last-child(-n+3) {
            padding-top: 35px;
            padding-bottom: 45px;
        }
.pdres .pdres-icon {
            width: 50px;
            height: 50px;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
.pdres .pdres-icon img {
            width: 45px;
            height: 45px;
            object-fit: contain;
        }
.pdres .pdres-label {
            font-size: 11px;
            letter-spacing: 2px;
            color: #777777;
            text-transform: uppercase;
            font-weight: 600;
            margin-bottom: 8px;
        }
.pdres .pdres-value {
            font-size: 15px;
            letter-spacing: 1px;
            color: #bda588;
            text-transform: uppercase;
            font-weight: 600;
            line-height: 1.4;
            max-width: 240px;
            text-align: center;
        }
/* Bottom Action Buttons */
.pdres .pdres-actions {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-top: 50px;
            flex-wrap: wrap;
        }
.pdres .pdres-btn-pdf {
            background-color: #bda588;
            color: #ffffff;
            border: none;
            padding: 14px 28px;
            font-size: 11px;
            letter-spacing: 2px;
            text-transform: uppercase;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.3s ease;
        }
.pdres .pdres-btn-pdf:hover {
            background-color: #a89173;
        }
.pdres .pdres-btn-plans {
            background-color: transparent;
            color: #1a1a1a;
            border: 1px solid #1a1a1a;
            padding: 14px 28px;
            font-size: 11px;
            letter-spacing: 2px;
            text-transform: uppercase;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }
.pdres .pdres-btn-plans:hover {
            background-color: #1a1a1a;
            color: #ffffff;
        }
/* Responsive Design for Mobile */
@media screen and (max-width: 768px) {
.pdres .pdres-container {
                padding: 20px 10px;
            }
.pdres .pdres-title {
                font-size: 28px;
                margin-bottom: 35px;
            }
.pdres .pdres-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(3, auto);
                max-width: 450px;
                padding: 10px;
            }
.pdres .pdres-row-divider {
                display: none;
            }
.pdres .pdres-grid::before {
                left: 50%;
                top: -10px;
                bottom: -10px;
            }
.pdres .pdres-grid::after {
                display: none;
            }
.pdres .pdres-item, .pdres .pdres-item:nth-child(-n+3), .pdres .pdres-item:nth-last-child(-n+3) {
                padding: 25px 10px;
                border-bottom: 1px solid #d1c7bd;
            }
.pdres .pdres-item:nth-last-child(-n+2) {
                border-bottom: none;
            }
.pdres .pdres-actions {
                flex-direction: column;
                align-items: stretch;
                padding: 0 20px;
            }
}

/* ===================================================================
   WHY [LOCATION] SECTION — exact client-supplied design (scoped .pdwhy)
   =================================================================== */
.pdwhy * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
.pdwhy {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #ffffff;
            color: #333333;
            padding: 20px;
        }
.pdwhy .pdwhy-container {
            max-width: 950px;
            width: 100%;
            text-align: center;
            padding: 40px 20px;
            margin: 0 auto;
        }
.pdwhy .pdwhy-subtitle {
            font-size: 14px;
            letter-spacing: 3px;
            color: #bda588;
            text-transform: uppercase;
            margin-bottom: 8px;
            font-weight: 600;
        }
.pdwhy .pdwhy-title {
            font-size: 36px;
            letter-spacing: 4px;
            color: #bda588;
            text-transform: uppercase;
            margin-bottom: 60px;
            font-weight: 600;
        }
/* Desktop Grid Container */
.pdwhy .pdwhy-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, auto);
            position: relative;
            max-width: 850px;
            margin: 0 auto;
        }
/* Desktop Extending Vertical Lines */
.pdwhy .pdwhy-grid::before, .pdwhy .pdwhy-grid::after {
            content: '';
            position: absolute;
            top: -20px;
            bottom: -20px;
            width: 1px;
            background-color: #d1c7bd;
            z-index: 1;
        }
.pdwhy .pdwhy-grid::before {
            left: 33.333%;
        }
.pdwhy .pdwhy-grid::after {
            left: 66.666%;
        }
/* Desktop Extending Horizontal Line */
.pdwhy .pdwhy-row-divider {
            position: absolute;
            top: 50%;
            left: -30px;
            right: -30px;
            height: 1px;
            background-color: #d1c7bd;
            z-index: 1;
        }
.pdwhy .pdwhy-item {
            padding: 40px 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;
            z-index: 2; /* Ensures content stays cleanly above the lines */
        }
.pdwhy .pdwhy-icon {
            width: 60px;
            height: 60px;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
.pdwhy .pdwhy-icon img {
            width: 60px;
            height: 60px;
            object-fit: contain;
        }
.pdwhy .pdwhy-text {
            font-size: 12px;
            letter-spacing: 1.5px;
            color: #555555;
            text-transform: uppercase;
            font-weight: 500;
            line-height: 1.5;
            max-width: 180px;
            text-align: center;
        }
/* Mobile View - Untouched and kept exactly as perfect */
@media screen and (max-width: 768px) {
.pdwhy .pdwhy-container {
                padding: 20px 10px;
            }
.pdwhy .pdwhy-title {
                font-size: 26px;
                margin-bottom: 40px;
            }
.pdwhy .pdwhy-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(3, auto);
                max-width: 450px;
                padding: 20px;
            }
.pdwhy .pdwhy-row-divider {
                display: none;
            }
/* Mobile specific line handling */
.pdwhy .pdwhy-grid::before {
                left: 50%;
                top: -15px;
                bottom: -15px;
            }
.pdwhy .pdwhy-grid::after {
                display: none;
            }
.pdwhy .pdwhy-item {
                padding: 25px 10px;
                border-bottom: 1px solid #d1c7bd;
            }
/* Remove bottom border for last row items on mobile */
.pdwhy .pdwhy-item:nth-last-child(-n+2) {
                border-bottom: none;
            }
}

/* make the two action buttons behave as real buttons (they're <button> now, not <a>/plain divs) */
.pdres-btn-pdf, .pdres-btn-plans { font-family: inherit; }

/* ---------- Amenities: simple native horizontal scroll (mouse/trackpad/touch), no auto-animation ---------- */
.pdv2 .amn--simple .amn__track{ display:flex; gap:16px; overflow-x:auto; overflow-y:hidden; padding:4px 5vw 16px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.pdv2 .amn--simple .amn__track:focus{ outline:2px solid var(--gold); outline-offset:2px; }
.pdv2 .amn--simple .amn__card{ flex:0 0 auto; width:min(78vw,320px); scroll-snap-align:start; border-radius:8px; overflow:hidden; background:var(--sand-2); box-shadow:var(--shadow-card); }
.pdv2 .amn--simple .amn__card picture, .pdv2 .amn--simple .amn__card img{ display:block; width:100%; height:220px; object-fit:cover; }
.pdv2 .amn--simple .amn__caption{ padding:10px 14px; font:600 .88rem/1.3 var(--sans); color:var(--navy); background:#fff; }

/* ---------- Location section v2: description + nearby points (left) / map (right) ---------- */
.pdv2 .loc--v2{ display:grid; gap:32px; }
.pdv2 .loc__left h3{ font:600 1.4rem/1.3 var(--serif); color:var(--navy); margin-bottom:14px; }
.pdv2 .loc__left p{ color:var(--text); line-height:1.75; }
.pdv2 .loc__near-title{ margin-top:22px; margin-bottom:10px; font:600 .78rem/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--gold-ink); }
.pdv2 .loc__near-list{ list-style:none; margin:0; padding:0; }
.pdv2 .loc__near-list li{ position:relative; padding:8px 0 8px 20px; border-bottom:1px solid var(--line-warm); font-size:.94rem; color:var(--navy); }
.pdv2 .loc__near-list li::before{ content:''; position:absolute; left:0; top:16px; width:7px; height:7px; border-radius:50%; background:var(--gold-ink); }
.pdv2 .loc__right{ margin:0; }
@media (min-width:768px){ .pdv2 .loc--v2{ grid-template-columns:5fr 7fr; align-items:start; } }

/* ===================================================================
   AMENITIES SLIDER — exact client-supplied design (scoped .amnx-section)
   =================================================================== */
/* Reset & Base Styles */
.amnx-section * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
.amnx-section {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            background-color: #f8f9fa;
            color: #333;
            -webkit-font-smoothing: antialiased;
        }
/* Section Header */
.amnx-section .amnx-header {
            padding: 50px 24px 20px;
            background-color: #fff;
            text-align: center;
        }
.amnx-section .amnx-title {
            font-family: 'Playfair Display', serif;
            color: #bda588; /* Luxury Gold */
            font-weight: 600;
            font-size: 2rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            display: inline-block;
            border-bottom: 1px solid #bda588;
            padding-bottom: 10px;
        }
/* Amenities Slider Section */
.amnx-section .amnx-slider {
            position: relative;
            width: 100%;
            height: 72vh; 
            overflow: hidden;
            background-color: #0a0a0a; /* Rich dark base */
            cursor: grab;
            user-select: none;
            touch-action: pan-y; 
        }
.amnx-section .amnx-slider:active {
            cursor: grabbing;
        }
.amnx-section .amnx-wrapper {
            display: flex;
            height: 100%;
            /* Cinematic, silky smooth luxury transition */
            transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
            will-change: transform;
        }
.amnx-section .amnx-slide {
            flex: 0 0 100%;
            height: 100%;
            position: relative;
        }
.amnx-section .amnx-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            pointer-events: none;
            /* Slight darkening allows white text to pop effortlessly */
            filter: brightness(0.9);
        }
/* Text Content Styling - Base (Desktop) */
.amnx-section .amnx-content {
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: 2;
            width: 100%;
            max-width: 100%;
            padding: 30px 60px;
            /* Applied the same blurred/transparent gradient overlay as mobile */
            background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.6) 60%, transparent 100%);
            pointer-events: none;
        }
/* Removed the solid box styling to match mobile's transparent effect */
.amnx-section .amnx-content-inner {
            background: transparent;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border: none;
            box-shadow: none;
            padding: 0;
            display: block;
            width: 100%;
            max-width: 600px; /* Constrains text width on desktop */
        }
.amnx-section .amnx-content h2 {
            font-family: 'Playfair Display', serif;
            font-size: 1.4rem; 
            font-weight: 600;
            letter-spacing: 1.5px;
            margin-bottom: 8px;
            text-transform: uppercase;
            color: #ffffff;
        }
.amnx-section .amnx-content p {
            font-family: 'Inter', sans-serif;
            font-size: 0.9rem;
            line-height: 1.6;
            font-weight: 300;
            letter-spacing: 0.3px;
            color: rgba(255, 255, 255, 0.85);
            max-width: 100%; 
        }
/* Navigation Arrows - Only the icons, larger and more prominent */
.amnx-section .amnx-nav {
            position: absolute;
            bottom: 30px;
            right: 30px;
            background: transparent;
            border: none;
            cursor: pointer;
            z-index: 10;
            opacity: 0.8;
            transition: all 0.3s ease;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }
.amnx-section .amnx-nav:hover, .amnx-section .amnx-nav:focus-visible {
            opacity: 1;
            transform: scale(1.15); /* Makes them more prominent */
            outline: none;
        }
.amnx-section .amnx-nav svg {
            width: 48px; /* Increased size */
            height: 48px;
            fill: #ffffff;
            /* Adds a subtle shadow so they stand out against any image */
            filter: drop-shadow(0 2px 6px rgba(0,0,0,0.6)); 
        }
.amnx-section .amnx-nav.prev {
            right: 100px; /* Adjusted spacing for larger arrows */
        }
/* ==========================================================
           DESKTOP STYLES
           ========================================================== */
@media (min-width: 768px) {
.amnx-section .amnx-header {
                padding: 80px 60px 30px;
            }
.amnx-section .amnx-title {
                font-size: 2.5rem;
            }
.amnx-section .amnx-slider {
                height: 76.5vh; 
                max-height: 810px;
            }
.amnx-section .amnx-content {
                padding: 40px 60px; /* Adjusted padding for desktop gradient */
            }
.amnx-section .amnx-content h2 {
                font-size: 1.8rem; 
            }
.amnx-section .amnx-content p {
                font-size: 1rem;
            }
.amnx-section .amnx-nav {
                bottom: 40px;
                right: 40px;
            }
.amnx-section .amnx-nav.prev {
                right: 110px;
            }
}
/* ==========================================================
           MOBILE STYLES (Full-width bottom overlay with clear arrows)
           ========================================================== */
@media (max-width: 767px) {
.amnx-section .amnx-content {
                padding: 20px 140px 24px 24px; 
                /* Dark gradient blending up from the bottom edge */
                background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 70%, transparent 100%);
            }
.amnx-section .amnx-content h2 {
                font-size: 1.15rem;
                margin-bottom: 6px;
                letter-spacing: 1px;
            }
.amnx-section .amnx-content p {
                font-size: 0.8rem;
                line-height: 1.4;
            }
.amnx-section .amnx-nav {
                bottom: 24px; 
                right: 20px;
            }
.amnx-section .amnx-nav.prev {
                right: 75px; 
            }
.amnx-section .amnx-nav svg {
                width: 36px; /* Slightly smaller than desktop but still prominent */
                height: 36px;
            }
}

/* ===================================================================
   IMAGE GALLERY — exact client-supplied design (scoped .imgx-section)
   =================================================================== */
:root {--imgx-bg:#f8f9fb;--imgx-ink:#2b2f36;--imgx-gold:#b89d78;--imgx-line:#d9dbdf;--imgx-card:#fff}
.imgx-section * {box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.imgx-section {margin:0;background:var(--imgx-bg);color:var(--imgx-ink);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
.imgx-section section {padding:64px 0 48px}
.imgx-section .imgx-eyebrow {text-align:center;letter-spacing:.3em;font-size:14px;font-weight:500}
.imgx-section h2 {font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;text-align:center;color:var(--imgx-gold);
 letter-spacing:.14em;font-size:clamp(30px,6vw,56px);margin:10px 0 0}
.imgx-section .imgx-head {position:relative;max-width:1400px;margin:0 auto;padding:0 24px}
.imgx-section .imgx-arrows {position:absolute;right:24px;top:50%;transform:translateY(-50%);display:flex;gap:20px}
.imgx-section .imgx-arrow {width:44px;height:44px;border-radius:50%;border:1px solid var(--imgx-line);background:var(--imgx-card);color:var(--imgx-ink);
 cursor:pointer;display:grid;place-items:center;transition:.25s}
.imgx-section .imgx-arrow:hover {border-color:var(--imgx-gold);color:var(--imgx-gold);transform:scale(1.06)}
.imgx-section .imgx-arrow:disabled {opacity:.35;cursor:default;transform:none}
.imgx-section .imgx-arrow svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.imgx-section .imgx-viewport {margin-top:56px;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none}
.imgx-section .imgx-viewport.drag {cursor:grabbing}
.imgx-section .imgx-track {display:flex;gap:24px;padding:0 24px;will-change:transform;transition:transform .55s cubic-bezier(.22,.8,.24,1)}
.imgx-section .imgx-track.nodrag {transition:none}
.imgx-section .imgx-slide {flex:0 0 calc((100% - 48px - 48px)/3 );aspect-ratio:16/11;border-radius:4px;overflow:hidden;position:relative;
 background:linear-gradient(135deg,#e4d6c2,#c9a77c);cursor:zoom-in;transition:transform .4s,opacity .4s;opacity:.85}
.imgx-section .imgx-slide.active {opacity:1}
.imgx-section .imgx-slide img {width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none;transition:transform .7s}
.imgx-section .imgx-slide:hover img {transform:scale(1.05)}
.imgx-section .imgx-slide .imgx-cap {position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;color:#fff;font-size:13px;letter-spacing:.08em;
 background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:.3s}
.imgx-section .imgx-slide:hover .imgx-cap {opacity:1}
.imgx-section .imgx-dots {display:flex;justify-content:center;gap:14px;margin-top:40px}
.imgx-section .imgx-dot {width:40px;height:16px;border:0;background:none;padding:0;cursor:pointer;position:relative}
.imgx-section .imgx-dot::after {content:"";position:absolute;left:0;right:0;top:7px;height:3px;background:var(--imgx-line);transition:.3s}
.imgx-section .imgx-dot.on::after {background:var(--imgx-gold)}
@media(max-width:900px){
.imgx-section .imgx-slide {flex-basis:calc((100% - 48px - 24px)/2)}
}
@media(max-width:600px){
.imgx-section section {padding:44px 0 32px}
.imgx-section .imgx-head {padding:0 16px}
.imgx-section .imgx-arrows {position:static;transform:none;justify-content:center;margin-top:20px}
.imgx-section .imgx-viewport {margin-top:28px}
.imgx-section .imgx-track {padding:0 16px;gap:12px}
.imgx-section .imgx-slide {flex-basis:calc(100% - 48px)}
.imgx-section .imgx-dot {width:26px}
}
/* Lightbox */
.imgx-section .imgx-lb {position:fixed;inset:0;z-index:950;background:rgba(10,10,12,.94);display:flex;align-items:center;justify-content:center;
 opacity:0;visibility:hidden;transition:.35s;touch-action:none}
.imgx-section .imgx-lb.open {opacity:1;visibility:visible}
.imgx-section .imgx-lb-stage {position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
@media (min-width:601px){
.imgx-section .imgx-lb-stage {width:908px;height:530px;max-width:92vw;max-height:80vh}
.imgx-section .imgx-lb img {width:100%;height:100%;max-width:100%;max-height:100%}
}
.imgx-section .imgx-lb img {max-width:92vw;max-height:80vh;object-fit:contain;border-radius:3px;transform:scale(.94);transition:transform .4s cubic-bezier(.22,.8,.24,1),opacity .25s;
 box-shadow:0 20px 80px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none}
.imgx-section .imgx-lb.open img {transform:scale(1)}
.imgx-section .imgx-lb img.swap {opacity:0}
.imgx-section .imgx-lb-btn {position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);
 color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:.25s;z-index:2}
.imgx-section .imgx-lb-btn:hover {background:rgba(255,255,255,.2)}
.imgx-section .imgx-lb-btn svg {width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.6}
.imgx-section .imgx-lb-close {top:calc(16px + env(safe-area-inset-top,0px));right:16px}
.imgx-section .imgx-lb-info {position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#ddd;font-size:14px;letter-spacing:.08em}
.imgx-section .imgx-lb-info small {display:block;margin-top:4px;color:#999;letter-spacing:.2em}
/* Nav arrows: Amenities-style (no circle), bottom-right of the zoomed image, clear of the sticky Brochure/Price rail */
.imgx-section .imgx-lb-nav-group{ position:absolute; right:calc(16px + env(safe-area-inset-right,0px)); bottom:calc(60px + env(safe-area-inset-bottom,0px)); z-index:3; display:flex; gap:14px; }
.imgx-section .imgx-lb-nav-btn{ position:static; background:none; border:0; padding:0; cursor:pointer; line-height:0; }
.imgx-section .imgx-lb-nav-btn svg{ width:34px; height:34px; fill:#fff; filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)); transition:transform .2s ease; }
.imgx-section .imgx-lb-nav-btn:hover svg{ transform:scale(1.12); }
.imgx-section .imgx-lb-nav-btn:focus-visible{ outline:2px solid #fff; outline-offset:4px; }
@media(max-width:600px){
.imgx-section .imgx-lb img {max-width:100vw;max-height:75vh;border-radius:0}
.imgx-section .imgx-lb-nav-group{ bottom:calc(44px + env(safe-area-inset-bottom,0px)); right:16px; }
.imgx-section .imgx-lb-nav-btn svg{ width:30px; height:30px; }
}

/* ---------- Discover More Projects (compact cards, matches the supplied reference image) ---------- */
.pdv2 .discover__wrap{ position:relative; }
.pdv2 .discover__track{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; padding-bottom:4px; }
.pdv2 .discover__card{ flex:0 0 auto; width:min(240px,22vw); min-width:200px; scroll-snap-align:start; text-decoration:none; color:inherit; display:block; }
.pdv2 .discover__img{ position:relative; width:100%; aspect-ratio:600/760; border-radius:6px; overflow:hidden; background:var(--sand-2); }
.pdv2 .discover__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.pdv2 .discover__card:hover .discover__img img{ transform:scale(1.04); }
.pdv2 .discover__price{ position:absolute; left:10px; bottom:10px; background:rgba(15,23,42,.72); color:#fff; font-size:.72rem; line-height:1.4; font-weight:600; padding:7px 11px; border-radius:4px; }
.pdv2 .discover__body{ text-align:center; padding:14px 6px 0; }
.pdv2 .discover__body h3{ margin:0 0 4px; font:600 .95rem/1.3 var(--sans); color:var(--navy); }
.pdv2 .discover__body p{ margin:0; font-size:.8rem; color:var(--muted); }
.pdv2 .discover__arrow{ position:absolute; top:calc(50% - 18px); z-index:2; width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--line-warm); box-shadow:var(--shadow-card); display:flex; align-items:center; justify-content:center; color:var(--navy); cursor:pointer; }
.pdv2 .discover__arrow:hover{ background:var(--gold-ink); color:#fff; }
.pdv2 .discover__arrow.prev{ left:-18px; } .pdv2 .discover__arrow.next{ right:-18px; }
@media(max-width:900px){ .pdv2 .discover__arrow{ display:none; } .pdv2 .discover__card{ width:min(220px,62vw); } }


/* ================= Key facts, buyer guide, explore links (SEO content blocks) ================= */
.pdv2 .pd-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:22px 0 6px; padding:0; }
.pdv2 .pd-facts > div{ border:1px solid rgba(189,165,136,.45); border-radius:10px; padding:10px 14px; background:#fff; }
.pdv2 .pd-facts dt{ font-size:.68rem; letter-spacing:.06em; white-space:nowrap; text-transform:uppercase; color:var(--gold-ink); margin:0 0 2px; }
.pdv2 .pd-facts dd{ margin:0; font-weight:600; color:var(--navy); font-size:.98rem; line-height:1.3; }
.pdv2 .pd-updated{ font-size:.82rem; color:var(--muted); margin:6px 0 0; }
.pdv2 .pd-guide__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.pdv2 .pd-guide__card{ border:1px solid rgba(189,165,136,.45); border-radius:14px; padding:24px; background:#fff; }
.pdv2 .pd-guide__card h3{ font-size:1.25rem; margin-bottom:14px; }
.pdv2 .pd-guide__card p{ margin:0 0 10px; line-height:1.65; }
.pdv2 .pd-timeline{ list-style:none; margin:0; padding:0 0 0 18px; border-left:2px solid var(--gold); }
.pdv2 .pd-timeline li{ position:relative; padding:0 0 14px 6px; display:flex; flex-direction:column; gap:2px; line-height:1.45; }
.pdv2 .pd-timeline li::before{ content:""; position:absolute; left:-25px; top:5px; width:10px; height:10px; border-radius:50%; background:var(--gold); }
.pdv2 .pd-timeline__when{ font-weight:600; color:var(--navy); font-size:.9rem; }
.pdv2 .pd-suits{ margin:0; padding-left:18px; line-height:1.6; list-style:disc; }
.pdv2 .pd-suits li::marker{ color:var(--gold); }
.pdv2 .pd-suits li{ margin-bottom:6px; }
.pdv2 .pd-note{ font-size:.8rem; color:var(--muted); }
.pdv2 .pd-explore{ padding:8px 0 40px; }
.pdv2 .pd-explore__links{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:16px; }
.pdv2 .pd-explore__links a{ border:1px solid var(--gold); border-radius:999px; padding:8px 16px; color:var(--navy); text-decoration:none; font-size:.9rem; }
.pdv2 .pd-explore__links a:hover{ background:var(--gold); }
.pdv2 .pd-sources{ text-align:center; font-size:.8rem; color:var(--muted); max-width:820px; margin:0 auto; line-height:1.6; }
