        :root {
            --pfl-ink: #0e2404;
            --pfl-green: #1b5300;
            --pfl-forest: #0f2414;
            --pfl-accent: #e4d4a8;
            --pfl-cream: #fffae7;
            --pfl-base: #fffaf7;
            --pfl-surface: #f6f1de;
            --pfl-muted: #1A1A1A;
            --pfl-label: #8ca673;
            --pfl-border: #e8e4d4;
        }
        body {
            background-color: var(--pfl-base);
            color: var(--pfl-ink);
            /* overflow-x: clip lets us hide horizontal overflow WITHOUT creating
               a scroll container that would break position: sticky on the footer. */
            overflow-x: clip;
        }

        /* Curtain-reveal footer pattern:
           The page content wrapper sits ABOVE the sticky-bottom footer in the
           stacking order with a solid background, so the content scrolls UP
           and reveals the footer from beneath. */
        .page-curtain {
            position: relative;
            z-index: 10;
            background-color: var(--pfl-base);
        }
        #footer {
            position: -webkit-sticky;
            position: sticky;
            bottom: 0;
            z-index: 0;
        }

        /* --- Animations & Utilities --- */
        /* Section scroll sequence — title → copy → content → cards (Shree Buildcon pattern) */
        .pfl-reveal {
            overflow: hidden;
        }
        .pfl-reveal__inner {
            display: block;
            will-change: transform;
        }
        h2.pfl-reveal,
        h3.pfl-reveal {
            overflow: hidden;
        }
        .fade-up {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .fade-up.visible {
            opacity: 1;
            transform: translateY(0);
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::marker { content: ""; }
        .faq-item summary { outline: none; }
        .pfl-section-head,
        .pfl-section-content,
        .pfl-section-cards {
            opacity: 1;
            transform: none;
            transition: none;
        }
        .pfl-reveal-accent {
            display: block;
            transform-origin: left center;
        }
        @media (max-width: 767px) {
            .pfl-reveal-accent {
                transform-origin: center center;
            }
        }
        /* Opening greeting curtain (Forever Homes pattern — PFL palette) */
        #hero-curtain {
            position: fixed;
            inset: 0;
            z-index: 9999;
            background: var(--pfl-forest);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 1.35rem;
            pointer-events: none;
            will-change: transform;
            backface-visibility: hidden;
            transform: translateZ(0);
            animation: hero-curtain-fallback 0.8s ease 3.4s forwards;
        }
        #hero-curtain.is-controlled {
            animation: none;
        }
        #hero-curtain.is-lifted {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        @keyframes hero-curtain-fallback {
            to {
                transform: translateY(-100%);
                visibility: hidden;
                pointer-events: none;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            #hero-curtain {
                animation: hero-curtain-fallback 0.01s linear 0.2s forwards;
            }
        }
        .hero-curtain__brand {
            font-family: Montserrat, system-ui, sans-serif;
            font-weight: 600;
            font-size: clamp(1.65rem, 4.4vw, 3.1rem);
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--pfl-cream);
            opacity: 0;
            will-change: transform, opacity;
        }
        .hero-curtain__brand b {
            color: var(--pfl-accent);
            font-weight: 600;
        }
        .hero-curtain__line {
            width: min(260px, 56vw);
            height: 1px;
            transform: scaleX(0);
            transform-origin: 50% 50%;
            background: linear-gradient(to right, transparent, var(--pfl-accent) 42%, #fffae7 50%, var(--pfl-accent) 58%, transparent);
            box-shadow: 0 0 22px rgba(228, 212, 168, 0.45);
            will-change: transform;
        }

        /* Hero: gradient background + cinematic grade (no photography) */
        .hero-bg-stack {
            transform-origin: center center;
            background-color: #0a1a08;
            background-image: linear-gradient(155deg, #0e2404 0%, #1b5300 38%, #0f2414 100%);
        }
        .hero-overlay {
            background:
                linear-gradient(to top, rgba(6, 16, 4, 0.92) 0%, rgba(8, 20, 6, 0.35) 28%, transparent 52%),
                linear-gradient(to right, rgba(10, 24, 6, 0.92) 0%, rgba(14, 36, 4, 0.45) 45%, rgba(27, 83, 0, 0.22) 100%),
                radial-gradient(ellipse 100% 70% at 75% 0%, rgba(228, 212, 168, 0.14), transparent 52%);
        }
        .hero-vignette {
            background:
                radial-gradient(ellipse 95% 75% at 72% 8%, rgba(228, 212, 168, 0.16), transparent 50%),
                radial-gradient(ellipse 80% 55% at 10% 90%, rgba(14, 36, 4, 0.38), transparent 55%);
        }
        .hero-grain {
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: 0.045;
            mix-blend-mode: overlay;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }
        @media (prefers-reduced-motion: reduce) {
            .hero-grain { opacity: 0.03; }
        }
        #hero .hero-title-mask {
            display: block;
            overflow: hidden;
            padding-bottom: 0.12em;
        }
        #hero .hero-title-shift {
            display: inline-block;
            transform-origin: 50% 100%;
            will-change: transform;
        }
        .hero-cta-primary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            border-radius: 9999px;
            padding: 0.85rem 1.35rem;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s ease, background-color 0.25s ease, color 0.25s ease;
        }
        .hero-cta-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25);
        }
        .hero-cta-ghost {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            border-radius: 9999px;
            padding: 0.85rem 1.35rem;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            border: 1px solid rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(10px);
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease;
        }
        .hero-cta-ghost:hover {
            transform: translateY(-2px);
            border-color: rgba(228, 212, 168, 0.85);
            background: rgba(255, 255, 255, 0.14);
        }
        .hero-stats {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .hero-stat {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            color: rgba(255, 255, 255, 0.92);
            font-size: 0.875rem;
            font-weight: 400;
            letter-spacing: 0.02em;
            line-height: 1.35;
        }
        .hero-stat__icon {
            flex-shrink: 0;
            width: 1.05rem;
            height: 1.05rem;
            color: var(--pfl-accent);
        }
        @media (min-width: 768px) {
            .hero-stat { font-size: 0.9375rem; gap: 0.65rem; }
            .hero-stat__icon { width: 1.15rem; height: 1.15rem; }
        }
        .hero-scroll-hint {
            will-change: transform, opacity;
        }
        @keyframes hero-scroll-nudge {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(6px); }
        }
        .hero-scroll-hint__icon {
            animation: hero-scroll-nudge 2.2s ease-in-out infinite;
        }
        @media (prefers-reduced-motion: reduce) {
            .hero-scroll-hint__icon { animation: none; }
        }
        /* Hero creative layer: aurora, embers */
        #hero-aurora {
            position: absolute;
            inset: -12%;
            z-index: 0;
            pointer-events: none;
            overflow: hidden;
            filter: blur(40px);
            opacity: 0.8;
            will-change: transform;
            transform: translateZ(0);
        }
        .hero-aurora__blob {
            position: absolute;
            border-radius: 50%;
            mix-blend-mode: screen;
            will-change: transform;
            transform: translateZ(0);
            backface-visibility: hidden;
        }
        .hero-aurora__blob--accent {
            width: 46vw; height: 46vw;
            top: -10%; right: 0%;
            background: radial-gradient(circle at 50% 50%, rgba(228, 212, 168, 0.5), rgba(228, 212, 168, 0.06) 58%, transparent 70%);
        }
        .hero-aurora__blob--forest {
            width: 54vw; height: 54vw;
            bottom: -18%; left: -8%;
            background: radial-gradient(circle at 50% 50%, rgba(27, 83, 0, 0.55), rgba(14, 36, 4, 0.08) 58%, transparent 70%);
        }
        .hero-aurora__blob--sage {
            width: 32vw; height: 32vw;
            top: 32%; left: 42%;
            background: radial-gradient(circle at 50% 50%, rgba(140, 166, 115, 0.4), transparent 66%);
        }
        #hero-particles {
            position: absolute;
            inset: 0;
            z-index: 2;
            pointer-events: none;
            overflow: hidden;
        }
        .hero-particle {
            position: absolute;
            bottom: 0;
            width: 3px; height: 3px;
            border-radius: 50%;
            background: rgba(228, 212, 168, 0.9);
            box-shadow: 0 0 6px rgba(228, 212, 168, 0.85);
            opacity: 0;
            will-change: transform, opacity;
        }
        /* Hero content reveal — CSS-driven (hero-js / hero-lit) */
        #hero.hero-js .hero-kicker,
        #hero.hero-js .hero-stat,
        #hero.hero-js .hero-copy-line,
        #hero.hero-js .hero-tagline,
        #hero.hero-js .hero-scroll-hint {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
        }
        #hero.hero-js .hero-title-shift {
            transform: translateY(120%);
            transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        #hero.hero-js .hero-cta-row a,
        #hero.hero-js .hero-cta-row button {
            opacity: 0;
            transition: opacity 0.8s ease;
        }
        #hero.hero-js.hero-lit .hero-kicker,
        #hero.hero-js.hero-lit .hero-stat,
        #hero.hero-js.hero-lit .hero-copy-line,
        #hero.hero-js.hero-lit .hero-tagline,
        #hero.hero-js.hero-lit .hero-scroll-hint {
            opacity: 1;
            transform: none;
        }
        #hero.hero-js.hero-lit .hero-title-shift {
            transform: translateY(0);
        }
        #hero.hero-js.hero-lit .hero-cta-row a,
        #hero.hero-js.hero-lit .hero-cta-row button {
            opacity: 1;
        }
        #hero.hero-js.hero-lit .hero-title-shift { transition-delay: 0.05s; }
        #hero.hero-js.hero-lit .hero-tagline { transition-delay: 0.45s; }
        #hero.hero-js.hero-lit .hero-kicker { transition-delay: 0.34s; }
        #hero.hero-js.hero-lit .hero-stat:nth-child(1) { transition-delay: 0.46s; }
        #hero.hero-js.hero-lit .hero-stat:nth-child(2) { transition-delay: 0.53s; }
        #hero.hero-js.hero-lit .hero-stat:nth-child(3) { transition-delay: 0.60s; }
        #hero.hero-js.hero-lit .hero-copy-line:nth-child(1) { transition-delay: 0.60s; }
        #hero.hero-js.hero-lit .hero-copy-line:nth-child(2) { transition-delay: 0.67s; }
        #hero.hero-js.hero-lit .hero-copy-line:nth-child(3) { transition-delay: 0.74s; }
        #hero.hero-js.hero-lit .hero-cta-row a,
        #hero.hero-js.hero-lit .hero-cta-row button { transition-delay: 0.82s; }
        #hero.hero-js.hero-lit .hero-scroll-hint { transition-delay: 0.95s; }
        @media (prefers-reduced-motion: reduce) {
            #hero.hero-js .hero-kicker,
            #hero.hero-js .hero-stat,
            #hero.hero-js .hero-copy-line,
            #hero.hero-js .hero-tagline,
            #hero.hero-js .hero-scroll-hint,
            #hero.hero-js .hero-cta-row a,
            #hero.hero-js .hero-cta-row button,
            #hero.hero-js .hero-title-shift {
                opacity: 1;
                transform: none;
                transition: none;
            }
        }
        #hero .hero-tagline {
            white-space: nowrap;
            line-height: 1.15;
        }
        @media (min-width: 768px) {
            #hero .hero-tagline {
                font-size: clamp(1.5rem, 2.65vw, 2.25rem);
                max-width: none;
            }
        }
        /* Legacy hero hooks — kept for external CSS compatibility */
        .section_hero_video {
            position: relative;
            min-height: 100vh;
            min-height: 100dvh;
            width: 100%;
            overflow: hidden;
            background: var(--pfl-base);
        }
        .pfl-shree .section_hero_video {
            background: var(--pfl-base);
        }
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        #footer .footer-wordmark p {
            will-change: transform, opacity;
        }
        @supports ((-webkit-background-clip: text) or (background-clip: text)) {
            #footer .footer-wordmark__text {
                background-image: linear-gradient(100deg,
                    rgba(255, 250, 231, 0.95) 0%,
                    rgba(255, 250, 231, 0.95) 44%,
                    #f0e4c4 49%,
                    #e4d4a8 52%,
                    #c9b87a 55%,
                    rgba(255, 250, 231, 0.95) 60%,
                    rgba(255, 250, 231, 0.95) 100%);
                background-size: 300% 100%;
                background-position: 100% 0;
                background-repeat: no-repeat;
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
            }
        }
        #footer .footer-wordmark__text.is-shimmered {
            animation: footer-wordmark-sheen 1.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        }
        @keyframes footer-wordmark-sheen {
            0% { background-position: 100% 0; }
            100% { background-position: 0% 0; }
        }
        @media (prefers-reduced-motion: reduce) {
            #footer .footer-wordmark__text.is-shimmered { animation: none; }
        }
        #footer .footer-wordmark__text--stack {
            flex-direction: column;
            align-items: flex-start;
            gap: 0;
        }
        #footer .footer-wordmark__line {
            display: block;
            line-height: 0.9;
        }
        #footer .footer-wordmark__line--life {
            margin-top: 0.04em;
        }
        .gallery-item img {
            transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        .gallery-item:hover img {
            transform: scale(1.1);
        }

        /* --- Gallery: 3-row infinite sliders --- */
        .gallery-sliders-bleed {
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
        }
        .gallery-marquee {
            overflow: hidden;
            width: 100%;
            -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
            mask-image: linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
        }
        .gallery-marquee:hover .gallery-marquee__track {
            animation-play-state: paused;
        }
        .gallery-marquee__track {
            display: flex;
            width: max-content;
            gap: 1.25rem;
            animation: gallery-marquee-scroll linear infinite;
        }
        .gallery-marquee--reverse .gallery-marquee__track {
            animation-direction: reverse;
        }
        .gallery-marquee__set {
            display: flex;
            gap: 1.25rem;
        }
        @keyframes gallery-marquee-scroll {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }
        .gallery-marquee-slide {
            position: relative;
            flex-shrink: 0;
            width: clamp(300px, 52vw, 640px);
            height: clamp(200px, 32vw, 360px);
            border-radius: 1.125rem;
            overflow: hidden;
            cursor: pointer;
            border: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }
        .gallery-marquee-slide:focus-visible {
            outline: 2px solid #e4d4a8;
            outline-offset: 4px;
        }
        .gallery-marquee-slide:hover {
            transform: scale(1.03);
            box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
        }
        @media (min-width: 1024px) {
            .gallery-marquee-slide {
                width: clamp(380px, 42vw, 720px);
                height: clamp(240px, 26vw, 400px);
            }
        }
        /* Text-only panels (pre-RERA: no project imagery) */
        .info-marquee-slide,
        .info-text-card__body,
        .amenity-text-slide__inner,
        .spec-text-header,
        .layout-info-panel,
        .brochure-info-panel {
            box-sizing: border-box;
        }
        .info-marquee-slide {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            padding: clamp(1.25rem, 3vw, 2rem);
            background: linear-gradient(135deg, rgba(255, 250, 231, 0.08) 0%, rgba(14, 36, 4, 0.35) 100%);
            cursor: default;
        }
        .info-marquee-slide__eyebrow {
            font-size: 0.65rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #e4d4a8;
            font-weight: 600;
            margin-bottom: 0.5rem;
        }
        .info-marquee-slide__title {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: clamp(1.35rem, 2.2vw, 2rem);
            color: #fffae7;
            line-height: 1.15;
            margin: 0 0 0.35rem;
        }
        .info-marquee-slide__desc {
            font-size: clamp(0.8rem, 1.1vw, 0.95rem);
            color: rgba(255, 250, 231, 0.72);
            font-weight: 300;
            line-height: 1.45;
            margin: 0;
        }
        .info-text-card {
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(145deg, #fffae7 0%, #fffaf7 45%, #e8e4d4 100%);
        }
        .info-text-card__body {
            text-align: center;
            padding: 2rem;
            width: 100%;
        }
        .info-text-card__eyebrow {
            display: block;
            font-size: 0.65rem;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            color: #1b5300;
            font-weight: 600;
            margin-bottom: 1rem;
        }
        .info-text-card__stat {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: clamp(3.5rem, 12vw, 6.5rem);
            line-height: 1;
            color: #1b5300;
            margin: 0 0 0.25rem;
            animation: info-text-pulse 3s ease-in-out infinite;
        }
        .info-text-card__headline {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: clamp(1.25rem, 3vw, 1.85rem);
            color: #1A1A1A;
            margin: 0 0 0.75rem;
        }
        .info-text-card__line {
            font-size: clamp(0.85rem, 1.5vw, 1rem);
            color: rgba(64, 65, 87, 0.72);
            font-weight: 300;
            line-height: 1.5;
            margin: 0;
            max-width: 18rem;
            margin-left: auto;
            margin-right: auto;
        }
        @keyframes info-text-pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.88; transform: scale(1.02); }
        }
        .amenity-text-slide__inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100%;
            padding: 3rem 2rem;
            text-align: center;
            background: linear-gradient(160deg, #0e2404 0%, #1b5300 50%, #0f2414 100%);
        }
        .amenity-text-slide__title {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: clamp(2rem, 5vw, 3.5rem);
            color: #fffae7;
            margin: 0 0 1rem;
            animation: info-text-shimmer 4s ease-in-out infinite;
        }
        .amenity-text-slide__desc {
            font-size: clamp(1rem, 2vw, 1.25rem);
            color: rgba(255, 250, 231, 0.85);
            font-weight: 300;
            max-width: 36rem;
            line-height: 1.55;
            margin: 0;
        }
        @keyframes info-text-shimmer {
            0%, 100% { letter-spacing: 0.02em; opacity: 1; }
            50% { letter-spacing: 0.06em; opacity: 0.92; }
        }
        .spec-text-header {
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #0e2404 0%, #1b5300 100%);
        }
        .spec-header-main-icon {
            position: relative;
            z-index: 1;
            color: #e4d4a8;
            stroke: #e4d4a8;
            transition: transform 0.55s ease, opacity 0.35s ease;
        }
        .group:hover .spec-header-main-icon,
        .group:focus-within .spec-header-main-icon {
            transform: scale(1.06);
            opacity: 0.35;
        }
        .spec-header-hover {
            position: absolute;
            inset: 0;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(14, 36, 4, 0.42);
            opacity: 0;
            transition: opacity 0.35s ease;
            pointer-events: none;
        }
        .group:hover .spec-header-hover,
        .group:focus-within .spec-header-hover {
            opacity: 1;
        }
        .spec-header-hover__btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 3.5rem;
            height: 3.5rem;
            border-radius: 9999px;
            background: rgba(255, 255, 255, 0.95);
            color: #1b5300;
            box-shadow: 0 8px 24px rgba(14, 36, 4, 0.25);
            transform: translateY(0.5rem);
            transition: transform 0.35s ease, background-color 0.3s ease, color 0.3s ease;
        }
        .group:hover .spec-header-hover__btn,
        .group:focus-within .spec-header-hover__btn {
            transform: translateY(0);
        }
        .spec-header-hover__btn svg {
            width: 1.5rem;
            height: 1.5rem;
            stroke: currentColor;
        }
        .hover-icon-wrap {
            color: #1b5300;
            transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
        }
        .hover-icon-wrap svg {
            stroke: currentColor;
        }
        .group:hover .hover-icon-wrap,
        .group:focus-within .hover-icon-wrap {
            background-color: #1b5300;
            border-color: #1b5300;
            color: #ffffff;
            transform: translateY(-2px);
        }
        .group:hover .hover-icon-wrap svg,
        .group:focus-within .hover-icon-wrap svg {
            stroke: #ffffff;
        }
        .location-feature__icon.hover-icon-wrap {
            background-color: rgba(27, 83, 0, 0.1);
            border: none;
        }
        .group:hover .location-feature__icon.hover-icon-wrap,
        .group:focus-within .location-feature__icon.hover-icon-wrap {
            background-color: #1b5300;
        }
        @media (prefers-reduced-motion: reduce) {
            .spec-header-hover {
                opacity: 1;
                background: rgba(14, 36, 4, 0.28);
            }
            .spec-header-main-icon {
                opacity: 0.5;
            }
            .spec-header-hover__btn {
                transform: none;
            }
        }
        #layout .layout-info-panel {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            text-align: left;
            padding: clamp(1.5rem, 4vw, 3.5rem);
            background: linear-gradient(180deg, #ffffff 0%, #f4faf0 100%);
            box-sizing: border-box;
            min-height: min(240px, 42vh);
        }
        #layout .layout-info-panel > .grid,
        #brochure .layout-info-panel > .grid {
            width: 100%;
        }
        .brochure-info-panel {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: clamp(1.5rem, 4vw, 3.5rem);
            background: linear-gradient(180deg, #fffaf7 0%, #fffae7 100%);
            box-sizing: border-box;
        }
        @media (min-width: 640px) {
            #layout .layout-info-panel,
            #brochure .layout-info-panel {
                min-height: 280px;
            }
        }
        @media (min-width: 768px) {
            #layout .layout-info-panel,
            #brochure .layout-info-panel {
                min-height: 340px;
            }
        }
        @media (min-width: 1024px) {
            #layout .layout-info-panel,
            #brochure .layout-info-panel {
                min-height: 480px;
            }
        }
        .brochure-info-panel {
            min-height: min(400px, 50vh);
        }
        .layout-info-panel__title {
            font-size: clamp(1.65rem, 4vw, 2.25rem);
            line-height: 1.15;
            margin: 0 0 0.75rem;
            max-width: 100%;
        }
        .layout-info-panel__tagline {
            font-size: clamp(1rem, 2.2vw, 1.2rem);
            font-weight: 300;
            line-height: 1.55;
            color: rgba(26, 26, 26, 0.82);
            max-width: 42rem;
            margin: 0;
        }
        #layout .pfl-layout-head p strong.text-brand-primary {
            font-weight: 600;
        }
        .layout-info-panel__desc {
            font-size: clamp(0.875rem, 2vw, 1.05rem);
            line-height: 1.55;
            margin: 0;
            max-width: 100%;
        }
        .layout-plans-shell .layout-content.hidden {
            display: none;
        }
        .layout-features-col__title {
            font-size: clamp(1.5rem, 3.5vw, 1.875rem);
            line-height: 1.2;
        }
        .layout-features-col__desc {
            font-size: clamp(0.9rem, 2vw, 1.05rem);
            line-height: 1.6;
        }
        .layout-features-list__item {
            font-size: clamp(0.875rem, 1.8vw, 1rem);
            line-height: 1.45;
        }
        .layout-info-panel__badge,
        .brochure-info-panel__badge {
            display: inline-block;
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #1b5300;
            font-weight: 700;
            padding: 0.35rem 0.85rem;
            border: 1px solid rgba(14, 36, 4, 0.25);
            border-radius: 9999px;
            margin-bottom: 1.25rem;
            animation: info-text-pulse 2.5s ease-in-out infinite;
        }
        @media (max-width: 1023px) {
            #layout .layout-intro {
                align-items: flex-start !important;
                text-align: left;
                margin-left: 0;
                margin-right: 0;
                max-width: none;
            }
            #layout .layout-intro h2,
            #layout .layout-intro > span.block,
            #layout .layout-intro p {
                text-align: left !important;
            }
            #layout .layout-intro p.font-light {
                text-align: justify !important;
                text-justify: inter-word;
            }
            #layout .layout-plans-shell,
            #brochure .layout-plans-shell {
                min-height: 0;
            }
            #layout .layout-info-panel,
            #brochure .layout-info-panel {
                min-height: min(220px, 38vh) !important;
                height: auto !important;
                padding: 1.35rem 1.15rem !important;
            }
            #layout .layout-features-col,
            #brochure .layout-features-col {
                width: 100%;
                padding: 0.25rem 0.15rem 0.5rem !important;
            }
        }
        @media (max-width: 767px) {
            #layout .layout-tabs {
                flex-wrap: nowrap;
                justify-content: flex-start;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                overscroll-behavior-x: contain;
                scroll-snap-type: x proximity;
                max-width: 100%;
                padding-bottom: 0.35rem;
                scrollbar-width: none;
            }
            #layout .layout-tabs::-webkit-scrollbar {
                display: none;
            }
            #layout .layout-tab-btn {
                flex-shrink: 0;
                scroll-snap-align: start;
                min-height: 44px;
            }
            #layout .layout-plans-shell,
            #brochure .layout-plans-shell {
                padding: 1rem !important;
                border-radius: 1.25rem;
            }
            #layout .layout-info-panel,
            #brochure .layout-info-panel {
                min-height: min(200px, 36vh) !important;
                padding: 1.15rem 1rem !important;
            }
            #layout .layout-features-col,
            #brochure .layout-features-col {
                text-align: center;
                display: flex;
                flex-direction: column;
                align-items: center;
            }
            #layout .layout-features-col__title,
            #layout .layout-features-col__desc {
                text-align: center;
                width: 100%;
                max-width: 22rem;
            }
            #layout .layout-features-list {
                width: 100%;
                max-width: 20rem;
                text-align: left;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .gallery-marquee__track {
                animation: none;
                transform: none;
                flex-wrap: wrap;
                width: 100%;
                max-width: 100%;
            }
            .gallery-marquee__set:last-of-type {
                display: none;
            }
        }

        /* --- 3D Brochure Styles (DearFlip) â€” large viewer for PDF readability --- */
        .flipbook-container {
            width: 100%;
            min-height: min(52vh, 440px);
            max-height: min(94vh, 1080px);
            height: auto;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            background-color: #fffaf7;
            border: 1px solid #e8e4d4;
        }
        #brochure .flipbook-container ._df_book {
            width: 100%;
            min-height: min(50vh, 480px);
            height: min(82vh, 920px);
        }
        @media (min-width: 1024px) {
            .flipbook-container {
                min-height: 520px;
                max-height: min(94vh, 1120px);
            }
            #brochure .flipbook-container ._df_book {
                min-height: 640px;
                height: min(88vh, 1000px);
            }
        }
        @media (min-width: 1536px) {
            #brochure .flipbook-container ._df_book {
                min-height: 720px;
                height: min(90vh, 1080px);
            }
        }
        #brochure .flipbook-container .df-container {
            background: #fffae7 !important;
        }
        /* DearFlip injected stage: let the book use full container width */
        #brochure .brochure-info-panel {
            min-height: min(52vh, 440px);
            border-radius: 16px;
            box-shadow: 0 25px 50px -12px rgba(14, 36, 4, 0.12);
        }
        @media (min-width: 1024px) {
            #brochure .brochure-info-panel {
                min-height: 520px;
            }
        }
        @media (max-width: 1023px) {
            #brochure .brochure-intro {
                text-align: left;
                margin-left: 0;
                margin-right: 0;
                max-width: none;
            }
            #brochure .brochure-intro h3,
            #brochure .brochure-intro > span.block {
                text-align: left !important;
            }
            #brochure .brochure-intro p.font-light {
                text-align: left !important;
                text-align: justify;
                text-justify: inter-word;
                hyphens: auto;
                -webkit-hyphens: auto;
            }
            #brochure .brochure-info-panel {
                min-height: min(48vh, 380px);
                padding: 1.5rem 1.25rem !important;
            }
        }
        /* Gallery — mobile & tablet: left-aligned intro copy */
        @media (max-width: 1023px) {
            #gallery .gallery-intro {
                text-align: left;
                margin-left: 0;
                margin-right: 0;
                max-width: none;
            }
            #gallery .gallery-intro h2,
            #gallery .gallery-intro > span.block {
                text-align: left !important;
            }
            #gallery .gallery-intro p.font-light {
                text-align: left !important;
                text-align: justify;
                text-justify: inter-word;
                hyphens: auto;
                -webkit-hyphens: auto;
                padding-left: 0;
                padding-right: 0;
            }
        }
        /* Location — mobile & tablet: left-aligned intro copy */
        @media (max-width: 1023px) {
            #location .location-intro {
                text-align: left;
                margin-left: 0;
                margin-right: 0;
                max-width: none;
            }
            #location .location-intro h2,
            #location .location-intro > span.block {
                text-align: left !important;
            }
            #location .location-intro p.font-light {
                text-align: left !important;
                text-align: justify;
                text-justify: inter-word;
                hyphens: auto;
                -webkit-hyphens: auto;
            }
        }
        /* Contact — left content / right form */
        .contact-layout {
            width: 100%;
        }
        @media (min-width: 1024px) {
            .contact-layout {
                grid-template-columns: minmax(0, 1fr) minmax(320px, 1.05fr);
            }
            .contact-form-card {
                position: sticky;
                top: calc(var(--header-height, 5.5rem) + 1.25rem);
                align-self: start;
            }
        }
        .contact-form-card {
            box-shadow: 0 20px 50px rgba(27, 83, 0, 0.08);
            overflow: hidden;
            min-height: 32rem;
        }
        .contact-form-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            border-radius: inherit;
            background: linear-gradient(90deg, #1b5300, #e4d4a8);
            pointer-events: none;
        }
        .contact-form input[type="text"],
        .contact-form input[type="tel"],
        .contact-form input[type="email"] {
            border-radius: 9999px;
        }
        .contact-form textarea {
            border-radius: 1.25rem;
        }
        .contact-form button[type="submit"],
        #modal-panel button[type="submit"],
        #download-form button[type="submit"],
        .inq-submit-btn {
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            touch-action: manipulation;
            user-select: none;
            color: #ffffff !important;
            -webkit-text-fill-color: #ffffff;
            transition:
                transform 0.18s cubic-bezier(0.34, 1.4, 0.64, 1),
                box-shadow 0.18s ease,
                background-color 0.2s ease,
                opacity 0.2s ease;
        }
        .contact-form button[type="submit"]:hover:not(:disabled),
        #modal-panel button[type="submit"]:hover:not(:disabled),
        #download-form button[type="submit"]:hover:not(:disabled),
        .inq-submit-btn:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(27, 83, 0, 0.28);
            color: #ffffff !important;
            -webkit-text-fill-color: #ffffff;
        }
        .contact-form button[type="submit"]:active:not(:disabled),
        #modal-panel button[type="submit"]:active:not(:disabled),
        #download-form button[type="submit"]:active:not(:disabled),
        .inq-submit-btn:active:not(:disabled) {
            transform: translateY(1px) scale(0.97);
            box-shadow: 0 4px 10px rgba(27, 83, 0, 0.22);
            transition-duration: 0.06s;
            color: #ffffff !important;
        }
        .contact-form button[type="submit"]:disabled,
        #modal-panel button[type="submit"]:disabled,
        #download-form button[type="submit"]:disabled,
        .inq-submit-btn:disabled {
            opacity: 0.72;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
            color: #ffffff !important;
            -webkit-text-fill-color: #ffffff;
        }
        .inq-submit-btn.inq-submit-btn--loading {
            opacity: 0.88;
            pointer-events: none;
        }
        .contact-form-success {
            background: linear-gradient(165deg, #ffffff 0%, #f6faf4 55%, #eef6ea 100%);
            border-radius: inherit;
            animation: contactFormSuccessIn 0.5s cubic-bezier(0.34, 1.35, 0.64, 1) both;
        }
        .contact-form-success__icon {
            box-shadow: 0 12px 32px rgba(27, 83, 0, 0.12);
        }
        .contact-form-success__reset {
            cursor: pointer;
            transition: transform 0.18s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
        }
        .pfl-shree .contact-form-success__reset,
        .pfl-shree .modal-enquiry-success__close {
            color: #1b5300 !important;
            background-color: #ffffff !important;
            border: 2px solid rgba(27, 83, 0, 0.25) !important;
            -webkit-text-fill-color: currentColor !important;
            transition: transform 0.18s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, -webkit-text-fill-color 0.2s ease;
        }
        .pfl-shree .contact-form-success__reset:hover,
        .pfl-shree .modal-enquiry-success__close:hover {
            color: #ffffff !important;
            background-color: #1b5300 !important;
            border-color: #1b5300 !important;
            -webkit-text-fill-color: #ffffff !important;
            transform: translateY(-1px);
        }
        .pfl-shree .contact-form-success__reset:active,
        .pfl-shree .modal-enquiry-success__close:active {
            transform: translateY(0) scale(0.98);
        }
        .pfl-shree .contact-form-success__reset:focus-visible,
        .pfl-shree .modal-enquiry-success__close:focus-visible {
            outline: 2px solid #e4d4a8;
            outline-offset: 2px;
        }
        .pfl-shree .modal-panel__close {
            color: rgba(45, 45, 45, 0.55);
            background-color: transparent;
        }
        .pfl-shree .modal-panel__close:hover {
            color: #2d2d2d !important;
            background-color: rgba(214, 214, 215, 0.65) !important;
        }
        .pfl-shree #modal-panel.is-success .modal-panel__close {
            color: rgba(27, 83, 0, 0.55);
            background-color: rgba(255, 255, 255, 0.55);
        }
        .pfl-shree #modal-panel.is-success .modal-panel__close:hover {
            color: #1b5300 !important;
            background-color: #ffffff !important;
        }
        .contact-form-success__reset:hover {
            transform: translateY(-1px);
        }
        .contact-form-success__reset:active {
            transform: translateY(0) scale(0.98);
        }
        .pfl-shree .modal-enquiry-success {
            background: linear-gradient(165deg, #ffffff 0%, #f6faf4 55%, #eef6ea 100%);
            border-radius: inherit;
            animation: contactFormSuccessIn 0.5s cubic-bezier(0.34, 1.35, 0.64, 1) both;
            z-index: 25;
        }
        .pfl-shree .modal-enquiry-success__icon {
            box-shadow: 0 12px 32px rgba(27, 83, 0, 0.12);
        }
        .pfl-shree #modal-panel {
            position: relative;
        }
        @keyframes contactFormSuccessIn {
            from {
                opacity: 0;
                transform: scale(0.94);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }
        #brochure .flipbook-container .df-book-stage,
        #brochure .flipbook-container .df-container {
            max-width: 100% !important;
        }

        /* --- reCAPTCHA Custom Styles --- */
        .recaptcha-checkbox {
            border: none;
            font-size: 1px;
            height: 28px;
            margin: 4px;
            width: 28px;
            overflow: visible;
            outline: 0;
            vertical-align: text-bottom;
            cursor: pointer;
            position: relative;
            display: inline-block;
        }
        .recaptcha-checkbox-border {
            border-radius: 2px;
            background-color: #fff;
            border: 2px solid #c1c1c1;
            font-size: 1px;
            height: 24px;
            position: absolute;
            width: 24px;
            z-index: 1;
            transition: all 0.2s ease;
        }
        .recaptcha-checkbox:hover .recaptcha-checkbox-border {
            border-color: #b2b2b2;
            box-shadow: inset 0 1px 1px rgba(0,0,0,.1);
        }
        .recaptcha-checkbox-checkmark {
            background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAATCAMAAADQov9jAAAAaVBMVEUAAAD///////////////////////////////////////////////////////////8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAACx7+mbAAAAInRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIv8lLwAAAP9JREFUeNrt1dsNgyAURuFDLwWxrSBF8f6rbI21aYhAsvN3gngSkZFf5QDG3uuPmRvONxD94e0P3B/uL5C65+4PxH+/nCl03f4B1K4PAIReOwD47r4BIuvQF6jSFgQAS1oUAM1OAfB2GgC0c9oDoFN4CVABGhQAgLvJAG+7QBsBHhQCQDpcARquA+0E2DZ5DMPFnxvQn4lO0Q4j0a0nVPPuD4F/6P5XoY/uX4HoAvcryAcoo/gCig6VGhQZUFho+f/B4sz+dZBky7I0j2SGhRlZOaFA4SEhFl7/d/XfxctEeER4VPd/8vY2b7tXpvLh5e9REqFhIiGi/rmSnBm/AT/4AAAAAElFTkSuQmCC");
            background-repeat: no-repeat;
            border: none;
            height: 30px;
            left: -5px;
            outline: 0;
            position: absolute;
            width: 38px;
            display: none;
            z-index: 2;
            top: -3px;
        }
        .recaptcha-checkbox.recaptcha-checked .recaptcha-checkbox-checkmark {
            display: block;
            background-position: 0 -600px;
        }
        .recaptcha-checkbox.recaptcha-checked .recaptcha-checkbox-border {
            background-color: #f9f9f9;
        }
        .recaptcha-checkbox-spinner-gif {
            border-radius: 2px;
            background-color: #fff;
            background-size: 24px 24px;
            border: 2px solid #c1c1c1;
            height: 24px;
            left: 0;
            position: absolute;
            top: 0;
            width: 24px;
            display: none;
            z-index: 3;
        }
        .recaptcha-checkbox.recaptcha-loading .recaptcha-checkbox-spinner-gif {
            display: block;
            background-image: url("data:image/gif;base64,R0lGODlhGAAYAPUAAP///wAAAKCgoO/v7/b29s/Pz6CgoPT09MDAwOjo6NnZ2fDw8Orq6ru7u66urrS0tNTU1OPj48PDw9/f39vb2+Dg4OTk5Ly8vLm5uejo6M3Nzerq6r+/v7m5ufHx8eLi4tTU1P///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAeACwAAAAAGAAYAAAF8CAgjmRpnnmC6gwI3QqEaWutE8ZJrTkQBNu0cbt0LEFQFAUEisPhgEAwHIxIp/AQqVQukcVCMrkQR00ns+lYPB+KyPQCfTCbzcbRIJhwOJ16ux+LeDwiiQTjcWIyMDBCJBgZGRqLGRgZGokcGxwdHR2MHAQBABsgISEiI6MjIiMkJQAAHQUAHicoKSorLC0uLzAxMjMZGhscOjs8PT4/QEFCQ0RFRhYAR0hJSktMTU5PUFELUVJTVFVWV1hZLlpbXF1eX2BhYmNkZWZnaCBpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKiw0LjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys2lqtba3uLm6u7y9vr+PwcLDxMXGx8jJystBzc7P0NHS09TV1tfYMtna29zd3t/g4eLj5OXm5+jp6uvs7Q3u7/Dx8vP09fb3+Bz6+/z9/v/g+4KDP4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysuzzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGC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");
            background-size: 24px 24px;
        }
        .recaptcha-checkbox.recaptcha-checked .recaptcha-checkbox-border {
            visibility: hidden;
        }
        .recaptcha-checkbox-container {
            display: inline-block;
            height: 100%;
        }

        /* Footer top nav â€” animated underline on hover / focus */
        .footer-nav-item .footer-link {
            padding-bottom: 3px;
        }
        .footer-nav-item .footer-link::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            height: 1px;
            width: 100%;
            background-color: #e4d4a8;
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .footer-nav-item .footer-link:hover::after,
        .footer-nav-item .footer-link:focus-visible::after {
            transform: scaleX(1);
        }

        /* Footer nav: momentum horizontal scroll on phones / tablets only */
        @media (max-width: 1023px) {
            .footer-nav-scroll {
                -webkit-overflow-scrolling: touch;
                overscroll-behavior-x: contain;
                touch-action: pan-x;
            }
        }

        /* Footer mobile — Project By / Developed by + inline nav rows */
        .footer-credit-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.6rem 1rem;
        }
        .footer-credit-label {
            font-size: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 250, 231, 0.6);
            flex-shrink: 0;
        }
        .footer-credit-brand {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            text-decoration: none;
            color: #fffae7;
        }
        .footer-credit-brand--text-only .footer-credit-name,
        .footer-credit-brand--rk .footer-credit-name {
            display: inline;
        }
        .footer-credit-logo {
            display: block;
            height: 2.35rem;
            width: auto;
            max-width: min(12rem, 50vw);
            object-fit: contain;
            object-position: left center;
        }
        .footer-credit-name {
            display: none;
            font-family: Montserrat, system-ui, sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #fffae7;
        }
        .footer-credit-name.footer-credit-name--show,
        .footer-credit-brand--text-only .footer-credit-name {
            display: inline;
        }
        .footer-credit-brand--text-only .footer-credit-logo,
        .footer-credit-brand:has(.footer-credit-name--show) .footer-credit-logo {
            display: none;
        }
        .footer-credit-brand--rk .footer-credit-name {
            display: inline;
            color: #e4d4a8;
        }
        .footer-nav-inline {
            margin: 0;
            font-size: clamp(0.52rem, 2.45vw, 0.65rem);
            line-height: 1.45;
            letter-spacing: 0.08em;
            text-align: left;
            text-transform: uppercase;
        }
        .footer-nav-inline .footer-link {
            display: inline;
            padding-bottom: 0;
        }
        .footer-nav-sep {
            color: rgba(140, 166, 115, 0.85);
            font-weight: 400;
            user-select: none;
        }
        .footer-brand-col {
            display: flex;
            flex-direction: column;
        }
        .footer-nav-after-wordmark {
            width: 100%;
        }
        .footer-nav-stack {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: 100%;
        }
        .footer-credits-block {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            padding-top: 0;
            border-top: none;
        }
        .footer-nav-top__list {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        @media (min-width: 1024px) {
            .footer-credit-label {
                font-size: 0.88rem;
            }
            .footer-credit-logo {
                height: 2.85rem;
                max-width: 13.5rem;
            }
            .footer-credit-name,
            .footer-credit-brand--text-only .footer-credit-name,
            .footer-credit-brand--rk .footer-credit-name {
                font-size: 1.05rem;
            }
            .footer-credits-block {
                flex-direction: row;
                flex-wrap: wrap;
                align-items: center;
                gap: 1.25rem 3rem;
            }
            .footer-credit-row {
                gap: 0.75rem 1.15rem;
            }
        }

        /* Footer — social link magnetic slide on hover */
        .footer-soc-link {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            transform: translateX(0);
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
        }
        .footer-soc-link:hover {
            transform: translateX(6px);
        }
        .footer-soc-link .footer-icon {
            display: inline-block;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .footer-soc-link:hover .footer-icon {
            transform: scale(1.12) rotate(-6deg);
        }
        .footer-social-icons {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.875rem;
        }
        .footer-social-icon-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 9999px;
            border: 1px solid rgba(228, 212, 168, 0.35);
            background: rgba(255, 255, 255, 0.06);
            color: #e4d4a8;
            transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }
        .footer-social-icon-btn svg {
            width: 1.25rem;
            height: 1.25rem;
            fill: currentColor;
        }
        .footer-social-icon-btn:hover {
            transform: translateY(-2px);
            background: rgba(228, 212, 168, 0.14);
            border-color: rgba(228, 212, 168, 0.65);
            color: #fffae7;
        }

        /* Footer — contact icon hover scale + tilt */
        .footer-contact-link .footer-icon {
            display: inline-block;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .footer-contact-link:hover .footer-icon {
            transform: scale(1.12) rotate(-6deg);
        }

        /* Footer wordmark â€” each letter sets up for GSAP cascade */
        .footer-letter {
            display: inline-block;
            will-change: transform, opacity;
        }

        /* About section â€” deck-style cycling cards */
        .about-visual-frame {
            position: relative;
            overflow: hidden;
            perspective: 1200px;
        }
        .about-visual-hover {
            position: absolute;
            inset: 0;
            overflow: hidden;
            transform-style: preserve-3d;
        }
        .about-card {
            position: absolute;
            inset: 0;
            border-radius: inherit;
            overflow: hidden;
            transform-style: preserve-3d;
            backface-visibility: hidden;
            will-change: transform, opacity;
        }
        .about-card.info-text-card {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .info-text-card__body {
            pointer-events: none;
        }

        /* —— About Pin for Life (Forever Homes pattern — green palette) —— */
        .about-section {
            background: linear-gradient(180deg, #ffffff 0%, #f4faf0 38%, #ffffff 100%);
        }
        .about-section__glow {
            background:
                radial-gradient(ellipse 55% 45% at 12% 20%, rgba(27, 83, 0, 0.06), transparent 60%),
                radial-gradient(ellipse 50% 40% at 88% 75%, rgba(228, 212, 168, 0.10), transparent 55%);
        }
        .about-pillar {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            padding: 0.65rem 1rem 0.65rem 0.85rem;
            border-radius: 9999px;
            border: 1px solid rgba(27, 83, 0, 0.12);
            background: rgba(255, 255, 255, 0.85);
            box-shadow: 0 8px 30px rgba(26, 26, 26, 0.04);
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #1a1a1a;
            transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.6s ease-out;
        }
        .about-pillar.fade-up:not(.visible) {
            transform: translateY(22px);
        }
        .about-pillar:hover {
            border-color: rgba(228, 212, 168, 0.65);
            box-shadow: 0 12px 36px rgba(27, 83, 0, 0.08);
            transform: translateY(-2px);
        }
        .about-pillar i {
            width: 1.1rem;
            height: 1.1rem;
            color: #1b5300;
            flex-shrink: 0;
        }
        .about-pillar:hover i {
            color: #c9b07a;
        }
        .about-pullquote {
            position: relative;
            margin: 1.5rem 0 2rem;
            padding: 1.25rem 1.25rem 1.25rem 1.5rem;
            border-left: 3px solid #e4d4a8;
            background: linear-gradient(90deg, rgba(228, 212, 168, 0.12), transparent);
            border-radius: 0 0.75rem 0.75rem 0;
        }
        .about-pullquote p {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(1.15rem, 2.2vw, 1.45rem);
            line-height: 1.45;
            color: #1b5300;
            font-style: italic;
            font-weight: 400;
        }
        .about-pullquote .about-pullquote__mark {
            position: absolute;
            top: 0.5rem;
            right: 0.75rem;
            opacity: 0.2;
            color: #1b5300;
        }
        .about-pullquote .about-pullquote__mark i {
            width: 2rem;
            height: 2rem;
        }
        .about-stat-card {
            position: relative;
            overflow: hidden;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s ease, border-color 0.3s ease;
        }
        .about-stat-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, #e4d4a8, #1b5300);
            opacity: 0;
            transition: opacity 0.35s ease;
        }
        .about-stat-card:hover {
            transform: translateY(-4px);
        }
        .about-stat-card:hover::before {
            opacity: 1;
        }
        .about-subheading {
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #8f7a4a;
            margin-bottom: 0.5rem;
        }
        .about-copy-title {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(1.75rem, 3.5vw, 2.35rem);
            line-height: 1.2;
            color: #1a1a1a;
            margin-bottom: 1.25rem;
        }
        @media (max-width: 1023px) {
            #about .fade-up.text-center {
                align-items: flex-start !important;
                text-align: left;
                margin-left: 0;
                margin-right: 0;
            }
            #about .fade-up.text-center > span.inline-flex {
                justify-content: flex-start;
            }
            #about .fade-up.text-center h2,
            #about .about-copy-title,
            #about .about-subheading {
                text-align: left !important;
            }
            #about p.leading-relaxed,
            #about .about-pullquote p {
                text-align: left !important;
                text-align: justify;
                text-justify: inter-word;
                hyphens: auto;
                -webkit-hyphens: auto;
            }
            #about .flex-wrap.justify-center {
                justify-content: flex-start;
            }
        }

        /* —— Amenities grid (Forever Homes pattern — PFL green) —— */
        #amenity-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: stretch;
            gap: 1rem;
        }
        @media (min-width: 1024px) {
            #amenity-grid {
                gap: 1.5rem;
            }
        }
        #amenities .amenity-grid-card {
            flex: 0 1 calc(50% - 0.5rem);
            width: calc(50% - 0.5rem);
            max-width: calc(50% - 0.5rem);
            aspect-ratio: 1;
            align-items: center !important;
            justify-content: center !important;
            text-align: center !important;
        }
        #amenities .amenity-grid-card i,
        #amenities .amenity-grid-card .amenity-grid-card__icon {
            margin-left: auto;
            margin-right: auto;
        }
        #amenities .amenity-grid-card .amenity-grid-card__icon svg {
            display: block;
            width: 100%;
            height: 100%;
        }
        #amenities .amenity-grid-card .amenity-grid-card__label {
            display: block;
            width: 100%;
            text-align: center !important;
        }
        @media (min-width: 640px) {
            #amenities .amenity-grid-card {
                flex: 0 1 calc(33.333% - 0.667rem);
                width: calc(33.333% - 0.667rem);
                max-width: calc(33.333% - 0.667rem);
            }
        }
        @media (min-width: 768px) {
            #amenities .amenity-grid-card {
                flex: 0 1 calc(25% - 0.75rem);
                width: calc(25% - 0.75rem);
                max-width: calc(25% - 0.75rem);
            }
        }
        @media (min-width: 1024px) {
            #amenities .amenity-grid-card {
                flex: 0 1 calc(20% - 1.2rem);
                width: calc(20% - 1.2rem);
                max-width: calc(20% - 1.2rem);
            }
        }
        @media (min-width: 1280px) {
            #amenities .amenity-grid-card {
                flex: 0 1 calc(16.666% - 1.25rem);
                width: calc(16.666% - 1.25rem);
                max-width: calc(16.666% - 1.25rem);
            }
        }
        #amenities .amenity-grid-card {
            transition: opacity 0.6s ease-out, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease, background-color 0.3s ease;
            will-change: transform, opacity;
        }
        #amenities .amenity-grid-card.fade-up:not(.visible) {
            opacity: 0;
            transform: translateY(26px) scale(0.97);
        }
        #amenities .amenity-grid-card:hover,
        #amenities .amenity-grid-card.is-active {
            transform: translateY(-5px);
            background-color: #226a08;
            border-color: rgba(184, 151, 104, 0.55);
        }

        #navbar {
            position: fixed;
            inset: 0 0 auto 0;
            z-index: 500;
            pointer-events: none;
        }
        #navbar > * {
            pointer-events: auto;
        }
        .pfl-menu,
        .pfl-menu-bg {
            pointer-events: none;
        }
        .pfl-menu.is-open,
        .pfl-menu-bg.is-open {
            pointer-events: auto;
        }

        /* Dark hero: light header chrome (PFL palette) */
        .pfl-shree .pfl-logo__brand,
        .pfl-shree .pfl-header-link {
            text-transform: uppercase;
            letter-spacing: 0.14em;
        }
        .pfl-shree #navbar.pfl-header--hero .pfl-logo__brand,
        .pfl-shree #navbar.pfl-header--hero .pfl-burger,
        .pfl-shree #navbar.pfl-header--hero .pfl-header-link {
            color: #fffae7;
        }
        .pfl-shree #navbar.pfl-header--hero .pfl-logo__brand {
            text-shadow: 0 2px 18px rgba(14, 36, 4, 0.45);
        }
        .pfl-shree #navbar.pfl-header--hero .pfl-header-link:hover {
            color: var(--pfl-accent);
        }
        body.pfl-menu-open .pfl-shree .pfl-burger,
        body.pfl-menu-open .pfl-shree #navbar.pfl-header--hero .pfl-burger,
        body.pfl-menu-open .pfl-shree .pfl-logo__brand,
        body.pfl-menu-open .pfl-shree #navbar.pfl-header--hero .pfl-logo__brand {
            color: #fffae7 !important;
            text-shadow: none;
        }

        /* Premium dark menu (Forever Homes pattern — forest green) */
        body.pfl-menu-open {
            padding-right: var(--sbw, 0px);
        }
        body.pfl-menu-open .pfl-burger {
            right: calc(var(--side-gap) + var(--sbw, 0px));
        }
        body.pfl-menu-open .pfl-header-right {
            right: calc(var(--side-gap) + var(--burger-w) + var(--gutter) + var(--sbw, 0px));
        }
        body.pfl-menu-open .btn-whatsapp-pulse,
        body.pfl-menu-open .btn-call {
            right: calc(24px + var(--sbw, 0px));
        }
        .pfl-shree .pfl-menu-bg {
            background:
                radial-gradient(ellipse 70% 50% at 82% -5%, rgba(228, 212, 168, 0.18), transparent 55%),
                radial-gradient(ellipse 65% 65% at -5% 105%, rgba(27, 83, 0, 0.45), transparent 60%),
                linear-gradient(158deg, #1b5300 0%, #0e2404 55%, #0a1a08 100%);
        }
        .pfl-shree .pfl-menu__nav {
            margin-bottom: 2.75rem;
            font-size: clamp(1.6rem, 5.2vw, 3rem);
        }
        .pfl-shree .pfl-menu__nav li {
            overflow: hidden;
            margin-bottom: 0;
            line-height: 1.06;
            padding: 0.04em 0;
        }
        .pfl-shree .pfl-menu__nav a {
            display: inline-flex;
            align-items: baseline;
            gap: 0.5em;
            color: #f3ead9;
            position: relative;
            transform: translateY(120%);
            transition: color 0.3s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
            will-change: transform;
        }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav a {
            transform: translateY(0);
        }
        .pfl-shree .pfl-menu__num { display: none; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav a:hover {
            color: var(--pfl-accent);
            transform: translateX(0.4em);
            transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .pfl-shree .pfl-menu__nav a:hover .pfl-menu__num { color: #f6e7c6; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(1) a { transition-delay: 0.06s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(2) a { transition-delay: 0.10s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(3) a { transition-delay: 0.14s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(4) a { transition-delay: 0.18s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(5) a { transition-delay: 0.22s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(6) a { transition-delay: 0.26s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(7) a { transition-delay: 0.30s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(8) a { transition-delay: 0.34s; }
        .pfl-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(9) a { transition-delay: 0.38s; }
        .pfl-shree .pfl-menu__aside article,
        .pfl-shree .pfl-menu__aside aside,
        .pfl-shree .pfl-menu__copy {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            transition-delay: 0.4s;
        }
        .pfl-shree .pfl-menu.is-open .pfl-menu__aside article,
        .pfl-shree .pfl-menu.is-open .pfl-menu__aside aside,
        .pfl-shree .pfl-menu.is-open .pfl-menu__copy {
            opacity: 1;
            transform: translateY(0);
        }
        @media (prefers-reduced-motion: reduce) {
            .pfl-shree .pfl-menu__nav a { transform: none; transition: color 0.3s ease; }
            .pfl-shree .pfl-menu__aside article,
            .pfl-shree .pfl-menu__aside aside,
            .pfl-shree .pfl-menu__copy { opacity: 1; transform: none; transition: none; }
        }
        .pfl-shree .pfl-menu__label { color: rgba(228, 212, 168, 0.85); }
        .pfl-shree .pfl-menu__text { color: #e9dccb; }
        .pfl-shree .pfl-arrow-link { color: #f3ead9; }
        .pfl-shree .pfl-arrow-link:hover { color: var(--pfl-accent); }
        .pfl-shree .pfl-menu__social a { color: #cdbfd0; }
        .pfl-shree .pfl-menu__social a:hover { color: var(--pfl-accent); text-decoration: none; }
        .pfl-shree .pfl-menu__copy { color: rgba(243, 234, 217, 0.5); }
        .pfl-shree .pfl-burger::before {
            content: "";
            position: absolute;
            top: 50%;
            right: 50%;
            width: 46px;
            height: 46px;
            transform: translate(50%, -50%) scale(0.55);
            border-radius: 9999px;
            background: rgba(228, 212, 168, 0.15);
            opacity: 0;
            transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            pointer-events: none;
        }
        .pfl-shree .pfl-burger:hover::before {
            opacity: 1;
            transform: translate(50%, -50%) scale(1);
        }
        body.pfl-menu-open .pfl-shree .pfl-burger::before { opacity: 0; }
        .pfl-shree .pfl-header-link--corp {
            position: relative;
        }
        .pfl-shree .pfl-header-link--corp::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -4px;
            width: 100%;
            height: 1px;
            background: var(--pfl-accent);
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .pfl-shree .pfl-header-link--corp:hover::after { transform: scaleX(1); }
