        body {
            background-color: #FFFFFF;
            color: #1A1A1A;
            /* 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: #FFFFFF;
        }
        #footer {
            position: -webkit-sticky;
            position: sticky;
            bottom: 0;
            z-index: 0;
            margin-bottom: 0;
        }
        html, body {
            margin-bottom: 0;
        }

        /* --- Opening curtain (Forever Homes pattern) --- */
        #hero-curtain {
            position: fixed;
            inset: 0;
            z-index: 9999;
            background: #2e1a31;
            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: "Cormorant Garamond", "Playfair Display", Georgia, serif;
            font-weight: 400;
            font-size: clamp(1.65rem, 4.4vw, 3.1rem);
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #f8f9fc;
            opacity: 0;
            will-change: transform, opacity;
        }
        .hero-curtain__brand b {
            color: #C9A24B;
            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, #C9A24B 42%, #f6e7c6 50%, #C9A24B 58%, transparent);
            box-shadow: 0 0 22px rgba(201, 162, 75, 0.45);
            will-change: transform;
        }
        :is(.wf-design-mode, .w-editor) #hero-curtain {
            display: none;
        }

        /* Hero CTAs + stats (Forever Homes pattern) */
        .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(201, 162, 75, 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;
            text-transform: none;
        }
        .hero-stat__icon {
            flex-shrink: 0;
            width: 1.05rem;
            height: 1.05rem;
            color: #C9A24B;
        }

        /* Hero content reveal — CSS-driven (see Forever Homes) */
        #hero.hero-js [data-hero-badge],
        #hero.hero-js .hero-stat,
        #hero.hero-js .hero-copy-line,
        #hero.hero-js .hero-cta-row,
        #hero.hero-js .hero-tagline--display,
        #hero.hero-js [data-hero-tagline],
        #hero.hero-js .hero-tagline__eyebrow,
        #hero.hero-js .hero-tagline__name,
        #hero.hero-js [data-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-line__inner {
            transform: translate3d(0, 100%, 0);
            transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        #hero.hero-js [data-hero-accent] {
            transform: scaleX(0);
            opacity: 0;
            transition: transform 0.5s ease, opacity 0.5s ease;
        }
        #hero.hero-js.hero-lit [data-hero-badge],
        #hero.hero-js.hero-lit .hero-stat,
        #hero.hero-js.hero-lit .hero-copy-line,
        #hero.hero-js.hero-lit .hero-cta-row,
        #hero.hero-js.hero-lit .hero-tagline--display,
        #hero.hero-js.hero-lit [data-hero-tagline],
        #hero.hero-js.hero-lit .hero-tagline__eyebrow,
        #hero.hero-js.hero-lit .hero-tagline__name,
        #hero.hero-js.hero-lit [data-hero-scroll-hint] {
            opacity: 1;
            transform: none;
        }
        #hero.hero-js.hero-lit .hero-title-line__inner {
            transform: translate3d(0, 0, 0);
        }
        #hero.hero-js.hero-lit [data-hero-accent] {
            transform: scaleX(1);
            opacity: 1;
        }
        #hero.hero-js.hero-lit .hero-title-line:nth-child(1) .hero-title-line__inner { transition-delay: 0.05s; }
        #hero.hero-js.hero-lit .hero-title-line:nth-child(2) .hero-title-line__inner { transition-delay: 0.18s; }
        #hero.hero-js.hero-lit [data-hero-badge] { transition-delay: 0.28s; }
        #hero.hero-js.hero-lit [data-hero-accent] { transition-delay: 0.42s; }
        #hero.hero-js.hero-lit .hero-stat:nth-child(1) { transition-delay: 0.48s; }
        #hero.hero-js.hero-lit .hero-stat:nth-child(2) { transition-delay: 0.54s; }
        #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.66s; }
        #hero.hero-js.hero-lit .hero-copy-line:nth-child(2) { transition-delay: 0.72s; }
        #hero.hero-js.hero-lit .hero-copy-line:nth-child(3) { transition-delay: 0.78s; }
        #hero.hero-js.hero-lit .hero-cta-row { transition-delay: 0.86s; }
        #hero.hero-js.hero-lit .hero-tagline__eyebrow { transition-delay: 0.68s; }
        #hero.hero-js.hero-lit .hero-tagline__name { transition-delay: 0.78s; }
        #hero.hero-js.hero-lit [data-hero-scroll-hint] { transition-delay: 0.94s; }
        @media (prefers-reduced-motion: reduce) {
            #hero.hero-js [data-hero-badge],
            #hero.hero-js .hero-stat,
            #hero.hero-js .hero-copy-line,
            #hero.hero-js .hero-cta-row,
            #hero.hero-js .hero-tagline--display,
            #hero.hero-js [data-hero-tagline],
            #hero.hero-js .hero-tagline__eyebrow,
            #hero.hero-js .hero-tagline__name,
            #hero.hero-js [data-hero-scroll-hint],
            #hero.hero-js .hero-title-line__inner,
            #hero.hero-js [data-hero-accent] {
                opacity: 1;
                transform: none;
                transition: none;
            }
        }

        .fw-brand-wordmark {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            font-family: var(--font-wide), Montserrat, Inter, sans-serif;
            font-weight: 800;
            line-height: 0.88;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            color: #f7f8fb;
        }
        .fw-brand-wordmark__line {
            display: block;
        }
        .fw-brand-wordmark--footer {
            color: #ffffff;
            font-size: clamp(1.75rem, 4.5vw, 2.75rem);
        }

        /* --- Animations & Utilities (Shree Buildcon pattern) --- */
        .pfl-reveal { overflow: hidden; }
        .pfl-reveal__inner { display: block; will-change: transform; }
        h2.pfl-reveal, h3.pfl-reveal { overflow: hidden; line-height: 1.12; }
        h2.pfl-reveal.pfl-reveal--done,
        h3.pfl-reveal.pfl-reveal--done { overflow: visible; }
        h2.pfl-reveal.pfl-reveal--done .pfl-reveal__inner,
        h3.pfl-reveal.pfl-reveal--done .pfl-reveal__inner {
            opacity: 1 !important;
            transform: none !important;
        }
        .pfl-reveal-accent { display: block; transform-origin: left center; }
        @media (max-width: 767px) {
            .pfl-reveal-accent { transform-origin: center center; }
        }
        body.is-site-opening { overflow: hidden; }
        /* CSS-only failsafe when GSAP never marks the curtain controlled */
        @media (prefers-reduced-motion: no-preference) {
            body.is-site-opening:not(:has(#hero-curtain.is-controlled)) {
                animation: fw-site-scroll-unlock 0s linear 4.6s forwards;
            }
            @keyframes fw-site-scroll-unlock {
                to { overflow: visible; }
            }
            body.is-site-opening:not(:has(#hero-curtain.is-controlled)) .pfl-logo,
            body.is-site-opening:not(:has(#hero-curtain.is-controlled)) .pfl-header-toggle,
            body.is-site-opening:not(:has(#hero-curtain.is-controlled)) .pfl-header-right {
                animation: fw-site-chrome-unlock 0s linear 4.6s forwards;
            }
            @keyframes fw-site-chrome-unlock {
                to { opacity: 1; visibility: visible; }
            }
        }
        .fade-up {
            opacity: 1;
            transform: none;
        }
        .fade-up.visible {
            opacity: 1;
            transform: none;
        }
        @media (prefers-reduced-motion: reduce) {
            .fade-up { opacity: 1; transform: none; }
        }
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        .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);
        }

        /* --- 3D Brochure Styles --- */
        .flipbook-container {
            width: 100%;
            min-height: 320px;
            max-height: min(85vh, 820px);
            height: auto;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            background-color: #F4F4F4; /* brand-greyLight */
            border: 1px solid #E0E0E0;
        }
        #brochure .flipbook-container ._df_book {
            width: 100%;
            min-height: 400px;
            height: 70vh;
        }
        #brochure .flipbook-container .df-container {
            background: #F4F4F4 !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/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLs1EAACH5BAUJAB4ALAAAAAAYABgAAAXwICCOZGmeBDMGCo0KhGmlMJJJ4FQTBNu0cdO0BMIsj0slUpFQJgaEYlIJFJBNRINQQDrUT8QxCSpfIAE0OnS6FAyww2gCqWCmkujhRp9MKtGGkFzHkzErTCehqyuWhPOBjCSTlZaXmJmTA52en6ChoqOkpaanqKmqq6ytrq+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+wsbK1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysuzUQAAIfkECQoAHgAsAAAAABgAGAAABesgII5kqZ54DAtVCoVVpcJKIhxtWTcNw7Zt3DQQHAIgCQyIhEIyEalkkBmDgzA5YCaZReLhcDaapM5wWHQypdQCFCtwkI8Xw0B0MR6Px0MiIplUGCDB4AUiRYQiBggKh4yNjo8gE5OUlZaXmJMJmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/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/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq9vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AOiAUbCIOCgsMDQ4PEBESExQVEBcYGRobHB0eHyAhIiM3JCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTXFFUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra7Uv7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+zsAAAA7");
            background-size: 24px 24px;
        }
        .recaptcha-checkbox.recaptcha-checked .recaptcha-checkbox-border {
            visibility: hidden;
        }
        .recaptcha-checkbox-container {
            display: inline-block;
            height: 100%;
        }

        /* Footer link underline (Shree Buildcon style) */
        .footer-link::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -2px;
            height: 1px;
            width: 100%;
            background-color: #C9A24B;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.3s ease;
        }
        .footer-link:hover::after {
            transform: scaleX(1);
        }

        /* Footer — social link magnetic slide on hover */
        .footer-soc-link {
            display: inline-block;
            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 — 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-social-row {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.85rem 1.15rem;
        }
        .footer-article--social .footer-article__label--inline {
            margin: 0;
            flex-shrink: 0;
            white-space: nowrap;
        }
        .footer-social-icons {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            gap: 0.65rem;
        }
        .footer-social-icon-btn {
            display: inline-flex;
            flex-shrink: 0;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 9999px;
            border: 1px solid rgba(201, 162, 75, 0.35);
            background: rgba(255, 255, 255, 0.06);
            color: #C9A24B;
            text-decoration: none;
            transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }
        .footer-social-icon-btn svg {
            display: block;
            width: 1.25rem;
            height: 1.25rem;
            fill: currentColor;
            flex-shrink: 0;
        }
        .footer-social-icon-btn:hover {
            transform: translateY(-2px);
            background: rgba(201, 162, 75, 0.14);
            border-color: rgba(201, 162, 75, 0.65);
            color: #ffffff;
        }

        .footer-info-stack {
            display: flex;
            flex-direction: column;
            gap: 2.5rem;
        }
        @media (min-width: 768px) {
            .footer-info-stack { gap: 2.75rem; }
        }
        @media (min-width: 1024px) {
            .footer-info-stack { gap: 2.5rem; }
        }
        @media (min-width: 1280px) {
            .footer-info-stack { gap: 2.5rem; }
        }
        .footer-article__label {
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #C9A24B;
            margin: 0 0 1.15rem;
        }
        @media (min-width: 768px) {
            .footer-article__label { font-size: 0.78rem; margin-bottom: 1.25rem; }
        }
        .footer-article__text {
            font-size: 1.05rem;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.9);
            font-weight: 300;
            margin: 0 0 1.25rem;
            max-width: 26rem;
        }
        @media (min-width: 768px) {
            .footer-article__text { font-size: 1.15rem; margin-bottom: 1.35rem; }
        }
        .footer-article__cta {
            display: inline-flex;
            align-items: baseline;
            gap: 0.5rem;
            font-size: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #ffffff;
            background: none;
            border: none;
            padding: 0;
            cursor: pointer;
            transition: color 0.3s ease;
        }
        .footer-article__cta:hover { color: #C9A24B; }
        .footer-article__cta span.relative { position: relative; }
        .footer-contact-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 0.85rem;
        }
        @media (min-width: 768px) {
            .footer-contact-list { gap: 1rem; }
        }
        .footer-contact-item a {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            font-size: 1.05rem;
            line-height: 1.45;
            color: rgba(255, 255, 255, 0.9);
            font-weight: 300;
            transition: color 0.3s ease;
        }
        @media (min-width: 768px) {
            .footer-contact-item a { font-size: 1.15rem; gap: 0.85rem; }
        }
        .footer-contact-item a:hover { color: #C9A24B; }
        .footer-contact-item__body {
            display: flex;
            flex-direction: column;
            gap: 0.2rem;
            min-width: 0;
        }
        .footer-contact-item__name {
            font-weight: 600;
            color: rgba(255, 255, 255, 0.98);
            letter-spacing: 0.02em;
        }
        .footer-contact-item__line {
            display: block;
        }

        #footer .footer-wordmark .fw-brand-wordmark {
            will-change: transform, opacity;
        }

        .footer-wordmark-col {
            container-type: inline-size;
            min-width: 0;
        }
        #footer-wordmark.footer-wordmark {
            max-width: 100%;
        }

        .amenity-text-slide__inner,
        .spec-text-header,
        .info-text-card__body,
        .layout-info-panel {
            box-sizing: border-box;
        }
        .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, #4a2a52 0%, #2e1a31 50%, #1a0f22 100%);
        }
        .amenity-text-slide__eyebrow {
            display: block;
            margin-bottom: 0.75rem;
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: #C9A24B;
        }
        .amenity-text-slide__title {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: clamp(2rem, 5vw, 3.5rem);
            color: #ffffff;
            margin: 0 0 1rem;
        }
        .amenity-text-slide__desc {
            font-size: clamp(1rem, 2vw, 1.25rem);
            color: rgba(255, 255, 255, 0.85);
            font-weight: 300;
            max-width: 36rem;
            line-height: 1.55;
            margin: 0;
        }
        .spec-text-header {
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #4a2a52 0%, #2e1a31 100%);
            position: relative;
        }
        .spec-header-main-icon {
            color: #C9A24B;
            stroke: #C9A24B;
        }
        .info-text-card {
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(145deg, #ffffff 0%, #f8f5fa 42%, #f4f4f4 100%);
            min-height: 400px;
        }
        @media (min-width: 768px) {
            .info-text-card { min-height: 550px; }
        }
        .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: #4a2a52;
            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: #4a2a52;
            margin: 0 0 0.25rem;
        }
        .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(26, 26, 26, 0.72);
            font-weight: 300;
            line-height: 1.5;
            margin: 0 auto;
            max-width: 18rem;
        }
        .layout-info-panel {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 2rem 2.5rem;
            min-height: 400px;
            background: linear-gradient(145deg, #ffffff 0%, #f8f5fa 48%, #f4f4f4 100%);
        }
        @media (min-width: 1024px) {
            .layout-info-panel { min-height: 500px; }
        }
        .layout-info-panel__badge {
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #C9A24B;
            font-weight: 600;
            margin-bottom: 0.75rem;
        }
        .layout-info-panel__title { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 0.75rem; }
        .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);
        }
        .layout-info-panel__desc { font-weight: 300; line-height: 1.55; }

        #layout .layout-info-panel {
            align-items: flex-start;
            text-align: left;
            padding: clamp(1.5rem, 4vw, 3.5rem);
            box-sizing: border-box;
        }
        #layout .layout-info-panel > .grid {
            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;
        }
        #amenity-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem;
        }
        @media (min-width: 640px) {
            #amenity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }
        @media (min-width: 768px) {
            #amenity-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        }
        @media (min-width: 1024px) {
            #amenity-grid {
                grid-template-columns: repeat(5, minmax(0, 1fr));
                gap: 1.5rem;
            }
        }
        @media (min-width: 1280px) {
            #amenity-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
        }

        /* Amenities grid tiles — foreva-project pattern */
        #amenities .amenity-grid-card {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: 0.6rem;
            aspect-ratio: 1 / 1;
            width: 100%;
            padding: 1rem 0.75rem;
            border-radius: 1rem;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: linear-gradient(160deg, rgba(74, 42, 82, 0.55), rgba(46, 26, 49, 0.72));
            box-shadow: 0 10px 30px -14px rgba(0, 0, 0, 0.55);
            cursor: pointer;
            overflow: hidden;
            appearance: none;
            -webkit-tap-highlight-color: transparent;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.4s ease, background 0.3s ease;
        }
        #amenities .amenity-grid-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 2px;
            background: #C9A24B;
            transition: width 0.35s ease;
            z-index: 2;
        }
        #amenities .amenity-grid-card:hover {
            transform: translateY(-4px);
            border-color: rgba(201, 162, 75, 0.55);
            box-shadow: 0 22px 44px -16px rgba(0, 0, 0, 0.65);
        }
        #amenities .amenity-grid-card:hover::before,
        #amenities .amenity-grid-card.is-active::before {
            width: 58%;
        }
        #amenities .amenity-grid-card:focus-visible {
            outline: 2px solid #C9A24B;
            outline-offset: 2px;
        }
        #amenities .amenity-chip {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 3rem;
            height: 3rem;
            border-radius: 9999px;
            background: rgba(201, 162, 75, 0.12);
            border: 1px solid rgba(201, 162, 75, 0.28);
            color: #C9A24B;
            flex-shrink: 0;
            transition: transform 0.35s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
        }
        #amenities .amenity-grid-card:hover .amenity-chip,
        #amenities .amenity-grid-card.is-active .amenity-chip {
            transform: scale(1.08);
            background: rgba(201, 162, 75, 0.22);
        }
        #amenities .amenity-grid-card.is-active {
            border-color: rgba(201, 162, 75, 0.85);
            background: linear-gradient(160deg, rgba(99, 46, 110, 0.7), rgba(74, 42, 82, 0.88));
            box-shadow: 0 22px 46px -14px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(201, 162, 75, 0.4);
        }
        #amenities .amenity-grid-card.is-active .amenity-chip {
            background: #C9A24B;
            color: #2e1a31;
            border-color: #C9A24B;
            transform: scale(1.08);
        }
        .amenity-grid-card__icon {
            width: 1.5rem;
            height: 1.5rem;
            flex-shrink: 0;
        }
        #amenities .amenity-name,
        #amenities .amenity-grid-card__label {
            font-size: 0.72rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.02em;
            color: #ffffff;
        }
        @media (min-width: 1024px) {
            #amenities .amenity-grid-card {
                gap: 0.7rem;
                padding: 1.1rem;
            }
            #amenities .amenity-chip {
                width: 3.4rem;
                height: 3.4rem;
            }
            .amenity-grid-card__icon {
                width: 1.75rem;
                height: 1.75rem;
            }
            #amenities .amenity-name,
            #amenities .amenity-grid-card__label {
                font-size: 0.82rem;
            }
        }
        @media (hover: none) {
            #amenities .amenity-grid-card:active {
                transform: translateY(-2px);
                border-color: rgba(201, 162, 75, 0.55);
            }
            #amenities .amenity-grid-card:active::before {
                width: 58%;
            }
            #amenities .amenity-grid-card:active .amenity-chip {
                transform: scale(1.06);
                background: rgba(201, 162, 75, 0.22);
            }
        }
        .gallery-text-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1rem;
        }
        @media (min-width: 768px) {
            .gallery-text-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (min-width: 1024px) {
            .gallery-text-grid { grid-template-columns: repeat(3, 1fr); }
        }
        .gallery-text-card {
            padding: 1.75rem 1.5rem;
            border-radius: 1rem;
            border: 1px solid rgba(255, 255, 255, 0.12);
            background: rgba(46, 26, 49, 0.55);
        }
        .gallery-text-card h4 {
            font-family: "Playfair Display", Marcellus, Georgia, serif;
            font-size: 1.35rem;
            margin-bottom: 0.5rem;
        }
        .gallery-text-card p {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.72);
            font-weight: 300;
            line-height: 1.5;
            text-align: left;
            text-align: justify;
            text-justify: inter-word;
        }

        /* --- Gallery: 3-row infinite sliders (Forever Homes pattern) --- */
        .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: default;
            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: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);
            }
        }
        .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(201, 162, 75, 0.14) 0%, rgba(46, 26, 49, 0.72) 55%, rgba(30, 16, 33, 0.88) 100%);
        }
        .info-marquee-slide__eyebrow {
            font-size: 0.65rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #C9A24B;
            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: #ffffff;
            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, 255, 255, 0.72);
            font-weight: 300;
            line-height: 1.45;
            margin: 0;
        }
        @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;
            }
        }

        /* About Forever Workspace — 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;
        }
        .about-section {
            background: linear-gradient(180deg, #ffffff 0%, #f8f5fa 38%, #ffffff 100%);
        }
        .about-section__glow {
            background:
                radial-gradient(ellipse 55% 45% at 12% 20%, rgba(74, 42, 82, 0.08), transparent 60%),
                radial-gradient(ellipse 50% 40% at 88% 75%, rgba(201, 162, 75, 0.1), transparent 55%);
        }
        .about-subheading {
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #C9A24B;
            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;
        }
        .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, #C9A24B, #4a2a52);
            opacity: 0;
            transition: opacity 0.35s ease;
        }
        .about-stat-card:hover {
            transform: translateY(-4px);
        }
        .about-stat-card:hover::before {
            opacity: 1;
        }

        /* Project overview mini-cards */
        .fw-overview-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 1.15rem 0.85rem;
            border-radius: 1rem;
            border: 1px solid #E0E0E0;
            background: linear-gradient(160deg, #ffffff 0%, #f8f5fa 100%);
            box-shadow: 0 10px 28px rgba(26, 26, 26, 0.04);
            transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
        }
        .fw-overview-card:hover {
            border-color: rgba(201, 162, 75, 0.55);
            box-shadow: 0 16px 36px rgba(74, 42, 82, 0.08);
            transform: translateY(-3px);
        }
        .fw-overview-card__icon {
            width: 2rem;
            height: 2rem;
            color: #C9A24B;
            margin-bottom: 0.65rem;
            transition: color 0.3s ease, transform 0.35s ease;
        }
        .fw-overview-card:hover .fw-overview-card__icon {
            color: #4a2a52;
            transform: scale(1.06);
        }
        .fw-overview-card__value {
            margin: 0 0 0.2rem;
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(0.95rem, 2.5vw, 1.15rem);
            line-height: 1.25;
            color: #1A1A1A;
        }
        .fw-overview-card__label {
            margin: 0;
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.62);
        }
        @media (min-width: 768px) {
            .fw-overview-card {
                padding: 1.35rem 1rem;
            }
            .fw-overview-card__icon {
                width: 2.25rem;
                height: 2.25rem;
            }
        }

        @media (max-width: 1023px) {
            #about .section-intro {
                align-items: flex-start !important;
                text-align: left;
                margin-left: 0;
                margin-right: 0;
            }
            #about .section-intro 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;
            }
            #about .about-pillars {
                justify-content: flex-start;
            }
        }
        #spec-slider {
            display: grid !important;
            grid-auto-flow: column;
            grid-auto-columns: 85%;
            grid-template-rows: 1fr;
            align-items: stretch;
            gap: 1.5rem;
            overflow-x: auto !important;
            overflow-y: hidden;
            touch-action: pan-x pan-y;
            cursor: grab;
        }
        #spec-slider.is-dragging {
            cursor: grabbing;
            scroll-snap-type: none;
        }
        #spec-slider .snap-start {
            width: 100%;
            min-width: 0;
            max-width: 100%;
            scroll-snap-align: start;
        }
        #spec-slider .spec-card {
            width: 100%;
            max-width: 100%;
        }
        #spec-slider .spec-card__body {
            min-height: 18rem;
        }
        @media (min-width: 640px) {
            #spec-slider {
                grid-auto-columns: 60%;
            }
            #spec-slider .snap-start {
                width: 100%;
                max-width: 100%;
            }
        }
        @media (min-width: 768px) {
            #spec-slider {
                grid-auto-columns: 45%;
                gap: 2rem;
            }
            #spec-slider .snap-start {
                width: 100%;
                max-width: 100%;
            }
        }
        @media (min-width: 1024px) {
            #spec-slider {
                grid-auto-columns: 38%;
            }
            #spec-slider .snap-start {
                width: 100%;
                max-width: 100%;
            }
        }
        .spec-header-main-icon {
            position: relative;
            z-index: 1;
            color: #C9A24B;
            stroke: #C9A24B;
            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(26, 26, 26, 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: #4a2a52;
            box-shadow: 0 8px 24px rgba(74, 42, 82, 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;
        }
        .spec-card__cta {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            margin-top: 1.25rem;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #4a2a52;
            transition: color 0.25s ease, gap 0.25s ease;
        }
        .group:hover .spec-card__cta {
            color: #C9A24B;
            gap: 0.55rem;
        }
        .hover-icon-wrap {
            color: #4a2a52;
            transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }
        .hover-icon-wrap svg {
            stroke: currentColor;
        }
        .group:hover .hover-icon-wrap,
        .group:focus-within .hover-icon-wrap {
            background-color: #4a2a52;
            border-color: #4a2a52;
            color: #ffffff;
        }
        /* Header + menu chrome (Forever Homes pattern — Workspace plum/gold) */
        #navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 0;
            overflow: visible;
            z-index: 500;
            pointer-events: none;
        }
        body.pfl-menu-open .page-curtain {
            z-index: 100000;
        }
        body.pfl-menu-open #hero-curtain {
            pointer-events: none !important;
        }
        body.modal-open {
            overflow: hidden;
        }
        #navbar.pfl-header--menu-open {
            z-index: 10060;
            pointer-events: none;
        }
        #navbar.pfl-header--menu-open > * {
            pointer-events: auto;
        }
        #navbar.pfl-header--menu-open .pfl-header-bg {
            background: transparent;
            box-shadow: none;
        }
        #navbar > * {
            pointer-events: auto;
        }
        .pfl-menu,
        .pfl-menu-bg {
            pointer-events: none !important;
        }
        .pfl-menu-bg.is-open {
            pointer-events: auto !important;
        }
        .pfl-menu.is-open {
            pointer-events: none;
        }
        .pfl-menu.is-open > * {
            pointer-events: auto;
        }
        .fw-shree .pfl-logo__brand,
        .fw-shree .pfl-header-link {
            text-transform: uppercase;
            letter-spacing: 0.14em;
        }
        .fw-shree #navbar.pfl-header--hero .pfl-logo__brand,
        .fw-shree #navbar.pfl-header--hero .pfl-burger,
        .fw-shree #navbar.pfl-header--hero .pfl-header-link {
            color: #ffffff;
        }
        .fw-shree #navbar.pfl-header--hero .pfl-logo__brand {
            text-shadow: 0 2px 18px rgba(30, 16, 36, 0.45);
        }
        .fw-shree #navbar.pfl-header--hero .pfl-header-link:hover {
            color: #C9A24B;
        }
        .fw-shree #navbar.pfl-header--hero .pfl-header-enquire {
            background: #C9A24B;
            color: #1A1A1A;
            border-color: #C9A24B;
        }
        .fw-shree #navbar.pfl-header--hero .pfl-header-enquire:hover {
            background: #ffffff;
            color: #2e1a31;
            border-color: #ffffff;
        }
        body.pfl-menu-open .fw-shree .pfl-burger,
        body.pfl-menu-open .fw-shree #navbar.pfl-header--hero .pfl-burger,
        body.pfl-menu-open .fw-shree .pfl-logo__brand,
        body.pfl-menu-open .fw-shree #navbar.pfl-header--hero .pfl-logo__brand {
            color: #f3ead9 !important;
            text-shadow: none;
        }
        body.pfl-menu-open {
            padding-right: 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));
            z-index: 10050;
        }
        .fw-shree .pfl-menu-bg {
            background:
                radial-gradient(ellipse 70% 50% at 82% -5%, rgba(201, 162, 75, 0.18), transparent 55%),
                radial-gradient(ellipse 65% 65% at -5% 105%, rgba(74, 42, 82, 0.55), transparent 60%),
                linear-gradient(158deg, #4a2a52 0%, #2e1a31 55%, #1a0f22 100%);
        }
        .fw-shree .pfl-menu__nav {
            margin-bottom: 2.75rem;
            font-size: clamp(1.6rem, 5.2vw, 3rem);
        }
        .fw-shree .pfl-menu__nav li {
            overflow: hidden;
            margin-bottom: 0;
            line-height: 1.06;
            padding: 0.04em 0;
        }
        .fw-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;
        }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav a {
            transform: translateY(0);
        }
        .fw-shree .pfl-menu__num { display: none; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav a:hover {
            color: #C9A24B;
            transform: translateX(0.4em);
            transition: color 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(1) a { transition-delay: 0.06s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(2) a { transition-delay: 0.10s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(3) a { transition-delay: 0.14s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(4) a { transition-delay: 0.18s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(5) a { transition-delay: 0.22s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(6) a { transition-delay: 0.26s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(7) a { transition-delay: 0.30s; }
        .fw-shree .pfl-menu.is-open .pfl-menu__nav li:nth-child(8) a { transition-delay: 0.34s; }
        .fw-shree .pfl-menu__aside article,
        .fw-shree .pfl-menu__aside aside,
        .fw-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;
        }
        .fw-shree .pfl-menu.is-open .pfl-menu__aside article,
        .fw-shree .pfl-menu.is-open .pfl-menu__aside aside,
        .fw-shree .pfl-menu.is-open .pfl-menu__copy {
            opacity: 1;
            transform: translateY(0);
        }
        @media (prefers-reduced-motion: reduce) {
            .fw-shree .pfl-menu__nav a { transform: none; transition: color 0.3s ease; }
            .fw-shree .pfl-menu__aside article,
            .fw-shree .pfl-menu__aside aside,
            .fw-shree .pfl-menu__copy { opacity: 1; transform: none; transition: none; }
        }
        .fw-shree .pfl-menu__label { color: rgba(201, 162, 75, 0.85); }
        .fw-shree .pfl-menu__text { color: #e9dccb; }
        .fw-shree .pfl-arrow-link { color: #f3ead9; }
        .fw-shree .pfl-arrow-link:hover { color: #C9A24B; }
        .fw-shree .pfl-menu__social a { color: #cdbfd0; }
        .fw-shree .pfl-menu__social a:hover { color: #C9A24B; text-decoration: none; }
        .fw-shree .pfl-menu__copy { color: rgba(243, 234, 217, 0.5); }
        .pfl-header-toggle {
            position: fixed;
            top: var(--header-top);
            right: var(--side-gap);
            width: var(--burger-w);
            height: var(--header-inner-h);
            z-index: 10070;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
        body.pfl-menu-open .pfl-header-toggle {
            right: calc(var(--side-gap) + var(--sbw, 0px));
        }
        .pfl-header-toggle .pfl-burger {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            z-index: 1;
            cursor: pointer;
        }
        body.pfl-menu-open .pfl-header-toggle .pfl-burger,
        body.pfl-menu-open .pfl-header-toggle .pfl-burger.is-open {
            color: #f3ead9 !important;
        }
        body.pfl-menu-open .pfl-header-toggle .pfl-burger__line {
            height: 1.5px;
            background: currentColor;
        }
        .fw-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(201, 162, 75, 0.15);
            opacity: 0;
            transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            pointer-events: none;
        }
        .fw-shree .pfl-burger:hover::before {
            opacity: 1;
            transform: translate(50%, -50%) scale(1);
        }
        body.pfl-menu-open .fw-shree .pfl-burger::before { opacity: 0; }
        .fw-shree .pfl-header-link--corp {
            position: relative;
        }
        .fw-shree .pfl-header-link--corp::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -4px;
            width: 100%;
            height: 1px;
            background: #C9A24B;
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .fw-shree .pfl-header-link--corp:hover::after { transform: scaleX(1); }
        body.is-site-opening .pfl-logo,
        body.is-site-opening .pfl-header-toggle,
        body.is-site-opening .pfl-header-right {
            opacity: 0;
            visibility: hidden;
        }
        .pfl-logo,
        .pfl-header-toggle,
        .pfl-header-right {
            transition: opacity 0.55s ease, visibility 0.55s ease, transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
        }
        @media (max-width: 1023px) {
            .fw-shree .section-intro p.font-light,
            .fw-shree #about .text-left.text-justify,
            .fw-shree #amenities p.font-light,
            .fw-shree #specifications p.font-light,
            .fw-shree #layout p.font-light,
            .fw-shree #brochure p.font-light,
            .fw-shree #gallery p.font-light,
            .fw-shree #location p.font-light,
            .fw-shree #contact p.text-justify {
                text-align: left !important;
                text-align: justify;
                text-justify: inter-word;
                hyphens: auto;
                -webkit-hyphens: auto;
            }
            .fw-shree .section-intro { align-items: flex-start !important; text-align: left; }
            .fw-shree .section-intro h2,
            .fw-shree .section-intro > span { text-align: left !important; }
            .fw-shree .section-intro .mx-auto { margin-left: 0; margin-right: 0; }
        }
