    /* ── TOKENS ── */
    :root {
        --navy: #073B3A;
        --gold: #C9A84C;
        --cream: #F8F6F1;
        --muted: #6B7280;
        --border: #E5E7EB;
        --white: #ffffff;
        --radius: 14px;
        --shadow: 0 4px 24px rgba(7, 59, 58, .08);
        --shadow-lg: 0 12px 48px rgba(7, 59, 58, .14);
        --transition: .3s cubic-bezier(.4, 0, .2, 1);
    }

    /* ── HERO ── */


    .pd-hero-eyebrow {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }


    /* ── HERO ── */
    .pd-hero {
        position: relative;
        overflow: hidden;
        min-height: 620px;
        display: flex;
        align-items: flex-end;

        padding: 180px 0px 80px;
    }

    .pd-hero-bg {
        position: absolute;
        inset: 0;
        z-index: 0;
    }

    .pd-hero-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .pd-hero-overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
        background:
            linear-gradient(180deg, rgba(5, 30, 30, .55) 0%, rgba(5, 30, 30, .45) 35%, rgba(5, 30, 30, .88) 100%),
            linear-gradient(90deg, rgba(5, 30, 30, .92) 0%, rgba(7, 59, 58, .55) 55%, rgba(7, 59, 58, .15) 100%);
    }

    .pd-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A84C' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        pointer-events: none;
    }

    .pd-hero-content {
        position: relative;
        z-index: 2;
        max-width: 780px;
        padding: 100px 0 56px;
    }

    
    .pd-hero-eyebrow {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    
    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
        .pd-hero {
            min-height: 540px;
        }

        .pd-hero-content {
            padding: 80px 0 44px;
            max-width: 100%;
        }
    }

    @media (max-width: 768px) {
        .pd-hero {
            min-height: 480px;
            align-items: flex-end;
        }

        .pd-hero-content {
            padding: 60px 0 32px;
        }

        .pd-stats-row {
            flex-direction: column;
        }

        .pd-stat {
            border-right: none;
            border-bottom: 1px solid rgba(255, 255, 255, .08);
        }

        .pd-stat:last-child {
            border-bottom: none;
        }
    }

    @media (max-width: 480px) {
        .pd-hero {
            min-height: 420px;
        }

        .pd-hero-btns {
            flex-direction: column;
        }

        .pd-btn-primary,
        .pd-btn-outline {
            justify-content: center;
            width: 100%;
        }
    }

    .pd-badge {
        display: inline-flex;
        align-items: center;
        padding: 5px 14px;
        border-radius: 30px;
        font-size: .75rem;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .pd-badge-gold {
        background: rgba(201, 168, 76, .18);
        color: #C9A84C;
        border: 1px solid rgba(201, 168, 76, .35);
    }

    .pd-badge-green {
        background: rgba(34, 197, 94, .12);
        color: #22c55e;
        border: 1px solid rgba(34, 197, 94, .3);
    }

    .pd-badge-glass {
        background: rgba(255, 255, 255, .07);
        color: rgba(255, 255, 255, .75);
        border: 1px solid rgba(255, 255, 255, .15);
    }

    .pd-hero-title {
        font-size: clamp(2rem, 4vw, 3.2rem);
        font-weight: 800;
        color: #fff;
        line-height: 1.15;
        margin-bottom: 10px;
    }

    .pd-hero-title .accent {
        color: var(--gold);
    }

    .pd-hero-subtitle {
        font-size: 1rem;
        color: rgba(255, 255, 255, .5);
        font-weight: 400;
        margin-bottom: 20px;
    }

    .pd-hero-addr {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: rgba(255, 255, 255, .65);
        font-size: .9rem;
        margin-bottom: 28px;
    }

    .pd-hero-addr svg {
        width: 16px;
        height: 16px;
        color: var(--gold);
        flex-shrink: 0;
    }

    .pd-stats-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        background: rgba(255, 255, 255, .05);
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 32px;
        width: max-content;
    }

    .pd-stat {
        flex: 1;
        min-width: 100px;
        padding: 16px 20px;
        border-right: 1px solid rgba(255, 255, 255, .08);
    }

    .pd-stat:last-child {
        border-right: none;
    }

    .pd-stat-val {
        font-size: 1.15rem;
        font-weight: 700;
        color: #fff;
        white-space: nowrap;
    }

    .pd-stat-lbl {
        font-size: .7rem;
        color: rgba(255, 255, 255, .4);
        text-transform: uppercase;
        letter-spacing: .06em;
        margin-top: 3px;
    }

    .pd-hero-btns {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .pd-btn-primary {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: var(--gold);
        color: var(--navy);
        padding: 12px 24px;
        border-radius: 8px;
        font-weight: 700;
        font-size: .9rem;
        text-decoration: none;
        border: none;
        cursor: pointer;
        transition: var(--transition);
    }

    .pd-btn-primary:hover {
        background: #b8962e;
        color: var(--navy);
        transform: translateY(-1px);
    }

    .pd-btn-outline {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, .08);
        color: rgba(255, 255, 255, .8);
        padding: 12px 24px;
        border-radius: 8px;
        font-weight: 600;
        font-size: .9rem;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .2);
        transition: var(--transition);
    }

    .pd-btn-outline:hover {
        background: rgba(255, 255, 255, .14);
        color: #fff;
    }

    /* Hero image panel */
    .pd-hero-img-panel {
        position: relative;
        border-radius: 20px 20px 0 0;
        overflow: hidden;
        height: 380px;
        box-shadow: var(--shadow-lg);
    }

    .pd-hero-img-panel img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .pd-hero-img-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(7, 59, 58, .5) 0%, transparent 60%);
    }

    /* ── BREADCRUMB ── */
    .pd-bcbar {
        background: var(--navy);
        border-bottom: 1px solid rgba(201, 168, 76, .2);
        padding: 12px 0;
    }

    .pd-bcbar a {
        color: rgba(255, 255, 255, .55);
        font-size: .8rem;
        text-decoration: none;
    }

    .pd-bcbar a:hover {
        color: var(--gold);
    }

    .pd-bcbar .sep {
        color: rgba(255, 255, 255, .25);
        margin: 0 6px;
    }

    .pd-bcbar .current {
        color: rgba(255, 255, 255, .85);
    }

    /* ── LAYOUT ── */
    .pd-layout {
        display: grid;
        grid-template-columns: 1fr 380px;
        gap: 40px;
        padding: 56px 0;
        align-items: start;
    }

    .pd-main {
        min-width: 0;
    }

    /* ── SECTION HEADS ── */
    .pd-sec {
        margin-bottom: 48px;
    }

    .pd-sec-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 8px;
    }

    .pd-sec-eyebrow::before {
        content: '';
        display: inline-block;
        width: 24px;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
    }

    .pd-sec-title {
        font-size: clamp(1.35rem, 2.5vw, 1.9rem);
        font-weight: 800;
        color: var(--navy);
        line-height: 1.25;
        margin-bottom: 20px;
    }

    /* ── GALLERY SWIPER ── */
    .pd-gallery-wrap {
        border-radius: var(--radius);
        overflow: hidden;
        position: relative;
        box-shadow: var(--shadow);
    }

    .pd-gallery-wrap .swiper-slide {
        height: 420px;
        position: relative;
    }

    .pd-gallery-wrap .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .pd-gallery-caption {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 28px 24px 20px;
        background: linear-gradient(to top, rgba(5, 30, 30, .92), transparent);
        color: #fff;
        font-size: 1rem;
        font-weight: 600;
    }

    .pd-gallery-wrap .swiper-button-next,
    .pd-gallery-wrap .swiper-button-prev {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: rgba(7, 59, 58, .8);
        backdrop-filter: blur(8px);
        border: 1px solid rgba(201, 168, 76, .3);
    }

    .pd-gallery-wrap .swiper-button-next::after,
    .pd-gallery-wrap .swiper-button-prev::after {
        font-size: 16px;
        color: var(--gold);
        font-weight: 700;
    }

    .pd-gallery-wrap .swiper-pagination-bullet {
        background: rgba(255, 255, 255, .5);
    }

    .pd-gallery-wrap .swiper-pagination-bullet-active {
        background: var(--gold);
        opacity: 1;
    }

    /* ── SPEC TABLE ── */
    .pd-spec-table {
        width: 100%;
        border-collapse: collapse;
        background: var(--cream);
        border-radius: var(--radius);
        overflow: hidden;
        border: 1px solid var(--border);
    }

    .pd-spec-table tr:nth-child(even) {
        background: rgba(7, 59, 58, .03);
    }

    .pd-spec-table td {
        padding: 13px 18px;
        font-size: .88rem;
        border-bottom: 1px solid var(--border);
    }

    .pd-spec-table td:first-child {
        font-weight: 700;
        color: var(--navy);
        width: 44%;
    }

    .pd-spec-table td:last-child {
        color: #374151;
    }

    .pd-spec-table tr:last-child td {
        border-bottom: none;
    }

    /* ── AMENITIES ── */
    .pd-amen-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
        gap: 14px;
    }

    .pd-amen-card {
        display: flex;
        align-items: center;
        gap: 12px;
        background: var(--cream);
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 14px 16px;
        transition: var(--transition);
    }

    .pd-amen-card:hover {
        border-color: var(--gold);
        box-shadow: 0 4px 16px rgba(201, 168, 76, .15);
        transform: translateY(-2px);
    }

    .pd-amen-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        background: rgba(7, 59, 58, .07);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--navy);
        font-size: 1.15rem;
        flex-shrink: 0;
    }

    .pd-amen-label {
        font-size: .83rem;
        font-weight: 600;
        color: var(--navy);
        line-height: 1.3;
    }

    /* ── FLOOR CARDS ── */
    .pd-floor-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 16px;
    }

    .pd-floor-card {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 20px;
        box-shadow: var(--shadow);
        transition: var(--transition);
        position: relative;
        overflow: hidden;
    }

    .pd-floor-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, var(--gold), #e6c15a);
    }

    .pd-floor-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow-lg);
    }

    .pd-floor-name {
        font-size: .75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .07em;
        color: var(--muted);
        margin-bottom: 8px;
    }

    .pd-floor-size {
        font-size: 1.2rem;
        font-weight: 800;
        color: var(--navy);
        margin-bottom: 6px;
    }

    .pd-floor-price {
        font-size: .82rem;
        color: var(--muted);
        margin-bottom: 12px;
    }

    .pd-floor-status {
        display: inline-block;
        padding: 3px 12px;
        border-radius: 20px;
        font-size: .72rem;
        font-weight: 700;
        background: rgba(34, 197, 94, .1);
        color: #16a34a;
        border: 1px solid rgba(34, 197, 94, .25);
    }

    /* ── VIDEO ── */
    .pd-video-wrap {
        position: relative;
        border-radius: var(--radius);
        overflow: hidden;
        aspect-ratio: 16/9;
        cursor: pointer;
        box-shadow: var(--shadow);
    }

    .pd-video-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .pd-video-overlay {
        position: absolute;
        inset: 0;
        background: rgba(7, 59, 58, .45);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .pd-video-btn {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        background: rgba(201, 168, 76, .9);
        display: flex;
        align-items: center;
        justify-content: center;
        border: 3px solid rgba(255, 255, 255, .4);
        transition: var(--transition);
    }

    .pd-video-btn svg {
        width: 28px;
        height: 28px;
        color: #fff;
        margin-left: 4px;
        fill: currentColor;
    }

    .pd-video-wrap:hover .pd-video-btn {
        transform: scale(1.1);
        background: var(--gold);
    }

    /* ── NEARBY / METRO ── */
    .pd-metro-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        margin-bottom: 28px;
    }

    .pd-metro-card {
        background: var(--cream);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 20px;
    }

    .pd-metro-head {
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
        color: var(--navy);
        margin-bottom: 14px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .pd-metro-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 9px 0;
        border-bottom: 1px solid var(--border);
        font-size: .83rem;
    }

    .pd-metro-row:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .pd-metro-name {
        font-weight: 600;
        color: var(--navy);
    }

    .pd-metro-dist {
        background: rgba(7, 59, 58, .07);
        color: var(--navy);
        padding: 2px 10px;
        border-radius: 20px;
        font-size: .72rem;
        font-weight: 700;
    }

    /* Nearby tabs */
    .pd-nb-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    .pd-nbt {
        padding: 7px 18px;
        border-radius: 25px;
        border: 1px solid var(--border);
        background: #fff;
        font-size: .8rem;
        font-weight: 600;
        color: var(--muted);
        cursor: pointer;
        transition: var(--transition);
    }

    .pd-nbt.active,
    .pd-nbt:hover {
        background: var(--navy);
        color: #fff;
        border-color: var(--navy);
    }

    .pd-nb-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 12px;
    }

    .pd-nb-item {
        display: flex;
        align-items: center;
        gap: 12px;
        background: var(--cream);
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 12px 14px;
        transition: var(--transition);
    }

    .pd-nb-item:hover {
        border-color: var(--gold);
        box-shadow: 0 2px 12px rgba(201, 168, 76, .12);
    }

    .pd-nb-emoji {
        font-size: 1.3rem;
        flex-shrink: 0;
    }

    .pd-nb-name {
        font-size: .83rem;
        font-weight: 600;
        color: var(--navy);
    }

    .pd-nb-dist {
        font-size: .75rem;
        color: var(--muted);
    }

    /* ── SIMILAR PROP CARDS ── */
    .pd-props-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .pd-prop-card {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: var(--radius);
        overflow: hidden;
        box-shadow: var(--shadow);
        transition: var(--transition);
    }

    .pd-prop-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-lg);
    }

    .pd-prop-img {
        position: relative;
        height: 180px;
        overflow: hidden;
    }

    .pd-prop-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .5s;
    }

    .pd-prop-card:hover .pd-prop-img img {
        transform: scale(1.05);
    }

    .pd-prop-tags {
        position: absolute;
        top: 12px;
        left: 12px;
        display: flex;
        gap: 6px;
    }

    .pd-prop-tag {
        padding: 3px 10px;
        border-radius: 20px;
        font-size: .7rem;
        font-weight: 700;
        background: rgba(7, 59, 58, .8);
        color: #fff;
        backdrop-filter: blur(4px);
    }

    .pd-prop-tag-gold {
        background: rgba(201, 168, 76, .9);
        color: var(--navy);
    }

    .pd-prop-body {
        padding: 18px;
    }

    .pd-prop-title {
        font-size: 1rem;
        font-weight: 700;
        color: var(--navy);
        margin-bottom: 6px;
        line-height: 1.3;
    }

    .pd-prop-loc {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: .78rem;
        color: var(--muted);
        margin-bottom: 14px;
    }

    .pd-prop-loc svg {
        width: 12px;
        height: 12px;
        flex-shrink: 0;
    }

    .pd-prop-stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        margin-bottom: 16px;
        padding: 12px;
        background: var(--cream);
        border-radius: 8px;
    }

    .pd-prop-stat-lbl {
        font-size: .68rem;
        color: var(--muted);
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .pd-prop-stat-val {
        font-size: .88rem;
        font-weight: 700;
        color: var(--navy);
    }

    .pd-prop-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid var(--border);
        padding-top: 14px;
    }

    .pd-prop-price-lbl {
        font-size: .7rem;
        color: var(--muted);
    }

    .pd-prop-price {
        font-size: 1rem;
        font-weight: 800;
        color: var(--navy);
    }

    .pd-prop-cta {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: var(--navy);
        color: #fff;
        padding: 7px 16px;
        border-radius: 6px;
        font-size: .8rem;
        font-weight: 700;
        text-decoration: none;
        transition: var(--transition);
    }

    .pd-prop-cta:hover {
        background: var(--gold);
        color: var(--navy);
    }

    /* ── FAQ ── */
    .pd-faq-item {
        border: 1px solid var(--border);
        border-radius: 10px;
        margin-bottom: 10px;
        overflow: hidden;
        transition: var(--transition);
    }

    .pd-faq-item:hover {
        border-color: rgba(201, 168, 76, .4);
    }

    .pd-faq-btn {
        width: 100%;
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 20px;
        text-align: left;
        gap: 16px;
    }

    .pd-faq-q {
        font-size: .92rem;
        font-weight: 700;
        color: var(--navy);
        line-height: 1.4;
    }

    .pd-faq-icon {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        flex-shrink: 0;
        background: var(--cream);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
    }

    .pd-faq-icon svg {
        width: 14px;
        height: 14px;
        stroke: var(--navy);
        transition: var(--transition);
    }

    .pd-faq-btn[aria-expanded="true"] .pd-faq-icon {
        background: var(--gold);
    }

    .pd-faq-btn[aria-expanded="true"] .pd-faq-icon svg {
        stroke: var(--navy);
        transform: rotate(180deg);
    }

    .pd-faq-ans {
        padding: 0 20px;
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s ease, padding .35s ease;
    }

    .pd-faq-ans.open {
        max-height: 400px;
        padding-bottom: 18px;
    }

    .pd-faq-ans p {
        font-size: .88rem;
        color: #4B5563;
        line-height: 1.7;
        margin: 0;
    }

    /* ── MAP ── */
    .pd-map-wrap {
        border-radius: var(--radius);
        overflow: hidden;
        border: 1px solid var(--border);
        box-shadow: var(--shadow);
    }

    .pd-map-wrap iframe {
        display: block;
        width: 100%;
        height: 300px;
        border: none;
    }

    .pd-map-info {
        background: var(--cream);
        padding: 16px 18px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .pd-map-info-item {
        font-size: .83rem;
    }

    .pd-map-info-lbl {
        font-weight: 700;
        color: var(--navy);
        margin-bottom: 2px;
    }

    .pd-map-info-val {
        color: var(--muted);
    }

    /* ── DOWNLOAD BOX ── */
    .pd-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .pd-download-item {
        display: flex;
        align-items: center;
        gap: 12px;
        background: var(--cream);
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 14px 16px;
        text-decoration: none;
        transition: var(--transition);
        color: var(--navy);
    }

    .pd-download-item:hover {
        border-color: var(--gold);
        box-shadow: 0 4px 16px rgba(201, 168, 76, .15);
        color: var(--navy);
        transform: translateY(-2px);
    }

    .pd-dl-icon {
        width: 40px;
        height: 40px;
        border-radius: 8px;
        background: rgba(7, 59, 58, .08);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .pd-dl-icon img {
        width: 22px;
        height: 22px;
    }

    .pd-dl-name {
        font-size: .83rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .pd-dl-ext {
        font-size: .72rem;
        color: var(--muted);
    }

    .pd-dl-arrow {
        margin-left: auto;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: rgba(7, 59, 58, .07);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .pd-dl-arrow svg {
        width: 14px;
        height: 14px;
        fill: var(--navy);
    }

    /* ── 360 VIEW ── */
    .pd-360-wrap {
        position: relative;
        border-radius: var(--radius);
        overflow: hidden;
        box-shadow: var(--shadow);
        cursor: pointer;
    }

    .pd-360-wrap img {
        width: 100%;
        display: block;
        border-radius: var(--radius);
    }

    .pd-360-badge {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(7, 59, 58, .85);
        backdrop-filter: blur(8px);
        border: 2px solid rgba(201, 168, 76, .5);
        border-radius: 50%;
        width: 90px;
        height: 90px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .pd-360-badge img {
        width: 28px;
        height: 28px;
    }

    .pd-360-badge span {
        color: #fff;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .05em;
    }

    /* ── FLOOR ACCORDION ── */
    .pd-accordion {
        border-radius: var(--radius);
        overflow: hidden;
        border: 1px solid var(--border);
    }

    .pd-acc-item {
        border-bottom: 1px solid var(--border);
    }

    .pd-acc-item:last-child {
        border-bottom: none;
    }

    .pd-acc-btn {
        width: 100%;
        background: #fff;
        border: none;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 20px;
        gap: 16px;
        transition: background var(--transition);
    }

    .pd-acc-btn:hover {
        background: var(--cream);
    }

    .pd-acc-btn.open {
        background: rgba(7, 59, 58, .03);
    }

    .pd-acc-label {
        font-size: .95rem;
        font-weight: 700;
        color: var(--navy);
    }

    .pd-acc-meta {
        display: flex;
        align-items: center;
        gap: 14px;
        font-size: .78rem;
        color: var(--muted);
        flex-wrap: wrap;
    }

    .pd-acc-meta span {
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .pd-acc-meta img {
        width: 14px;
        height: 14px;
        opacity: .6;
    }

    .pd-acc-chevron {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        flex-shrink: 0;
        background: var(--cream);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
    }

    .pd-acc-chevron svg {
        width: 14px;
        height: 14px;
        stroke: var(--navy);
        transition: transform var(--transition);
    }

    .pd-acc-btn.open .pd-acc-chevron {
        background: var(--gold);
    }

    .pd-acc-btn.open .pd-acc-chevron svg {
        transform: rotate(180deg);
    }

    .pd-acc-body {
        max-height: 0;
        overflow: hidden;
        transition: max-height .4s ease;
        background: var(--cream);
    }

    .pd-acc-body.open {
        max-height: 600px;
    }

    .pd-acc-body-inner {
        padding: 20px;
    }

    .pd-acc-body-inner img {
        width: 100%;
        border-radius: 8px;
    }

    .pd-acc-floor-info {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        padding: 4px 0 12px;
    }

    .pd-acc-fi-lbl {
        font-size: .7rem;
        color: var(--muted);
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .pd-acc-fi-val {
        font-size: .95rem;
        font-weight: 700;
        color: var(--navy);
    }

    /* ── SIDEBAR ── */
    .pd-sidebar {
        position: sticky;
        top: 90px;
    }

    .pd-sidebar-form {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 18px;
        overflow: hidden;
        box-shadow: var(--shadow-lg);
        margin-bottom: 20px;
    }

    .pd-form-top {
        background: linear-gradient(135deg, var(--navy) 0%, #0e4a48 100%);
        padding: 24px;
    }

    .pd-form-top h3 {
        color: #fff;
        font-size: 1.15rem;
        font-weight: 800;
        margin-bottom: 4px;
    }

    .pd-form-top p {
        color: rgba(255, 255, 255, .55);
        font-size: .82rem;
        margin: 0;
    }

    .pd-form-body {
        padding: 24px;
    }

    .pd-fi {
        width: 100%;
        padding: 11px 14px;
        margin-bottom: 12px;
        line-height: 20px;
        border: 1.5px solid var(--border);
        border-radius: 8px;
        font-size: .88rem;
        color: #111;
        background: #fff;
        transition: border-color var(--transition);
        outline: none;
        box-sizing: border-box;
    }

    .pd-fi:focus {
        border-color: var(--navy);
    }

    .pd-fi::placeholder {
        color: #9CA3AF;
    }

    .pd-submit-btn {
        width: 100%;
        padding: 13px;
        background: linear-gradient(135deg, var(--gold) 0%, #b8962e 100%);
        color: var(--navy);
        font-size: .95rem;
        font-weight: 800;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: var(--transition);
        letter-spacing: .02em;
    }

    .pd-submit-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 20px rgba(201, 168, 76, .35);
    }

    .pd-form-note {
        text-align: center;
        font-size: .78rem;
        color: var(--muted);
        margin-top: 12px;
    }

    .pd-form-note a {
        color: var(--navy);
        font-weight: 600;
    }

    .pd-wa-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: #25D366;
        color: #fff;
        padding: 14px;
        border-radius: 12px;
        font-weight: 700;
        font-size: .9rem;
        text-decoration: none;
        box-shadow: 0 4px 16px rgba(37, 211, 102, .25);
        transition: var(--transition);
        margin-bottom: 16px;
    }

    .pd-wa-btn:hover {
        background: #22be5c;
        color: #fff;
        transform: translateY(-1px);
    }

    .pd-wa-btn svg {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
    }

    .pd-sidebar-info {
        background: var(--cream);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 20px;
    }

    .pd-sidebar-info-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 9px 0;
        border-bottom: 1px solid var(--border);
        font-size: .83rem;
    }

    .pd-sidebar-info-row:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .pd-sidebar-info-row .lbl {
        color: var(--muted);
    }

    .pd-sidebar-info-row .val {
        font-weight: 700;
        color: var(--navy);
    }

    /* ── LATEST PROPERTIES SLIDER SECTION ── */
    .pd-latest-section {
        background: var(--cream);
        padding: 60px 0;
        border-top: 1px solid var(--border);
    }

    .pd-latest-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 36px;
    }

    .pd-latest-head-text .eyebrow {
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--gold);
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 6px;
    }

    .pd-latest-head-text .eyebrow::before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
    }

    .pd-latest-head-text h2 {
        font-size: clamp(1.5rem, 3vw, 2rem);
        font-weight: 800;
        color: var(--navy);
        margin: 0;
    }

    .pd-see-all {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: var(--navy);
        color: #fff;
        padding: 11px 22px;
        border-radius: 8px;
        font-size: .85rem;
        font-weight: 700;
        text-decoration: none;
        transition: var(--transition);
        white-space: nowrap;
    }

    .pd-see-all:hover {
        background: var(--gold);
        color: var(--navy);
    }

    /* ── SINGLE PROP CARD (slider) ── */
    .pd-sl-card {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: var(--radius);
        overflow: hidden;
        box-shadow: var(--shadow);
        transition: var(--transition);
        margin: 4px;
    }

    .pd-sl-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-lg);
    }

    .pd-sl-img {
        position: relative;
        height: 200px;
        overflow: hidden;
    }

    .pd-sl-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .5s;
    }

    .pd-sl-card:hover .pd-sl-img img {
        transform: scale(1.06);
    }

    .pd-sl-tags {
        position: absolute;
        top: 12px;
        left: 12px;
        display: flex;
        gap: 6px;
    }

    .pd-sl-tag {
        padding: 3px 10px;
        border-radius: 20px;
        font-size: .7rem;
        font-weight: 700;
        background: rgba(7, 59, 58, .85);
        color: #fff;
        backdrop-filter: blur(4px);
    }

    .pd-sl-tag-gold {
        background: rgba(201, 168, 76, .9);
        color: var(--navy);
    }

    .pd-sl-heart {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .9);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border: none;
        transition: var(--transition);
    }

    .pd-sl-heart:hover {
        background: #fff;
    }

    .pd-sl-heart img {
        width: 16px;
        height: 16px;
    }

    .pd-sl-heart .h2 {
        display: none;
    }

    .pd-sl-heart:hover .h1 {
        display: none;
    }

    .pd-sl-heart:hover .h2 {
        display: block;
    }

    .pd-sl-body {
        padding: 16px;
    }

    .pd-sl-title {
        font-size: .95rem;
        font-weight: 700;
        color: var(--navy);
        margin-bottom: 5px;
        line-height: 1.3;
    }

    .pd-sl-loc {
        font-size: .78rem;
        color: var(--muted);
        display: flex;
        align-items: center;
        gap: 4px;
        margin-bottom: 12px;
    }

    .pd-sl-loc svg {
        width: 11px;
        height: 11px;
    }

    .pd-sl-stats {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-bottom: 14px;
    }

    .pd-sl-stat {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: .78rem;
        color: var(--muted);
    }

    .pd-sl-stat img {
        width: 14px;
        height: 14px;
        opacity: .65;
    }

    .pd-sl-foot {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 12px;
        border-top: 1px solid var(--border);
    }

    .pd-sl-price {
        font-size: .95rem;
        font-weight: 800;
        color: var(--navy);
    }

    .pd-sl-cta {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: var(--navy);
        color: #fff;
        padding: 6px 14px;
        border-radius: 6px;
        font-size: .77rem;
        font-weight: 700;
        text-decoration: none;
        transition: var(--transition);
    }

    .pd-sl-cta:hover {
        background: var(--gold);
        color: var(--navy);
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
        .pd-hero-grid {
            grid-template-columns: 1fr;
        }

        .pd-hero-img-panel {
            height: 260px;
            border-radius: 16px;
        }

        .pd-layout {
            grid-template-columns: 1fr;
        }

        .pd-sidebar {
            position: static;
        }
    }

    @media (max-width: 768px) {
        .pd-gallery-wrap .swiper-slide {
            height: 260px;
        }

        .pd-metro-grid {
            grid-template-columns: 1fr;
        }

        .pd-props-grid {
            grid-template-columns: 1fr;
        }

        .pd-download-grid {
            grid-template-columns: 1fr;
        }

        .pd-floor-grid {
            grid-template-columns: 1fr;
        }

        .pd-acc-meta {
            display: none;
        }

        .pd-hero-grid {
            gap: 28px;
        }

        .pd-latest-head {
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
        }
    }