        .page-green-meadows {
            --gm-ink: #12382d;
            --gm-deep: #0a2c23;
            --gm-forest: #0f4a3a;
            --gm-accent: #c9a55a;
            --gm-line: rgba(18, 56, 45, 0.12);
            --gm-shadow: 0 28px 70px rgba(7, 29, 22, 0.12);
            background:
                radial-gradient(circle at top left, rgba(201, 165, 90, 0.14), transparent 24%),
                linear-gradient(180deg, #fbf7ef 0%, #f3ecdf 100%);
            color: var(--gm-ink);
        }

        .page-green-meadows .wrapper {
            overflow: clip;
        }

        .green-meadows-shell {
            position: relative;
        }

        .green-meadows-section {
            position: relative;
            padding: 50px 0 2.75rem;
        }

        .green-meadows-section[id] {
            scroll-margin-top: 168px;
        }

        .green-meadows-section.compact {
            padding: 50px 0 2.25rem;
        }

        .gm-hero {
            position: relative;
            min-height: 620px;
            color: #fff;
            overflow: clip;
        }

        .gm-hero-slider,
        .gm-hero-slider .swiper-wrapper,
        .gm-hero-slide {
            min-height: 620px;
        }

        .gm-hero-slide {
            position: relative;
            display: flex;
            align-items: flex-end;
            background-position: center center;
            background-size: cover;
            background-repeat: no-repeat;
        }

        /* First slide only: sized variants (breakpoints match the preload tags in green-meadows-project.php). */
        .gm-hero-slide--first {
            background-image: url("../images/banner/project/green-meadows/hero/green-meadows-road-main-hero.webp");
        }

        @media (max-width: 991px) {
            .gm-hero-slide--first {
                background-image: url("../images/banner/project/green-meadows/hero/green-meadows-road-main-hero-tablet.webp");
            }
        }

        @media (max-width: 480px) {
            .gm-hero-slide--first {
                background-image: url("../images/banner/project/green-meadows/hero/green-meadows-road-main-hero-mobile.webp");
            }
        }

        .gm-hero-slide::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(8, 24, 19, 0.88) 0%, rgba(8, 24, 19, 0.64) 38%, rgba(8, 24, 19, 0.18) 100%),
                linear-gradient(0deg, rgba(8, 24, 19, 0.38), rgba(8, 24, 19, 0.12));
        }

        .gm-hero-inner {
            position: relative;
            z-index: 1;
            width: 100%;
            padding: 0 0 3.2rem;
        }

        .gm-hero-copy {
            width: min(100%, 42rem);
        }

        .gm-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.1rem;
            color: rgba(255, 255, 255, 0.76);
            font-size: 0.78rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
        }

        .gm-eyebrow::before {
            content: "";
            width: 42px;
            height: 1px;
            background: currentColor;
        }

        .gm-hero-copy h1 {
            margin: 0;
        }

        /* The frosted white panel that used to sit behind this has been removed:
           the artwork carries its own stroke, so it reads directly on the hero. */
        .gm-hero-logo {
            display: block;
            width: min(100%, 34rem);
            height: auto;
            margin: 0;
            padding: 0;
            object-fit: contain;
        }

        .gm-hero-copy p {
            max-width: 34rem;
            margin: 1.4rem 0 0;
            font-size: clamp(1rem, 1vw + 0.45rem, 1rem);
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.82);
        }

        .gm-hero-trust {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, max-content));
            gap: 0.6rem 1.2rem;
            margin: 1.35rem 0 0;
            padding: 0;
            list-style: none;
            color: #dcb563;
            font-size: 0.96rem;
            font-weight: 600;
            line-height: 1.4;
        }

        /* Same translucent pill as the mobile pass: the hero photo behind it
           varies per slide, so the points need their own ground to sit on. */
        .gm-hero-trust li {
            position: relative;
            min-height: 40px;
            display: flex;
            align-items: center;
            padding: 0.5rem 0.95rem 0.5rem 2rem;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 11px;
            background: rgba(5, 16, 13, 0.46);
            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
            backdrop-filter: blur(3px);
        }

        /* A row of its own: the approval number is one long token, so it needs
           the full width and a step down from the other trust points. Block, not
           flex, so the label and the number stay one text flow. */
        .gm-hero-trust li.gm-hero-trust-approval {
            display: block;
            grid-column: 1 / -1;
            font-size: 0.86rem;
        }

        .gm-approval-no {
            display: inline-block;
            overflow-wrap: anywhere;
        }

        .gm-hero-trust li::before {
            content: "";
            position: absolute;
            left: 0.95rem;
            top: 50%;
            width: 0.42em;
            height: 0.78em;
            border: solid currentColor;
            border-width: 0 0.14em 0.14em 0;
            transform: translateY(-58%) rotate(45deg);
        }

        .gm-hero-actions,
        .gm-final-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.9rem;
            margin-top: 2rem;
        }

        .gm-hero-actions {
            align-items: center;
        }

        .gm-hero-mobile-note {
            display: none;
            margin-top: 1.15rem;
            color: rgba(255, 255, 255, 0.88);
            font-size: 0.95rem;
            font-weight: 600;
            line-height: 1.45;
            text-wrap: balance;
        }

        .gm-pill,
        .gm-pill:hover {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 52px;
            padding: 0.9rem 1.5rem;
            border-radius: 999px;
            text-decoration: none;
            transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
        }

        .gm-pill:hover {
            transform: translateY(-2px);
        }

        .gm-pill.primary {
            background: var(--gm-accent);
            color: #15241d;
            border: 1px solid rgba(140, 140, 140, 0.9);
        }

        .gm-pill.secondary {
            border: 1px solid rgba(140, 140, 140, 0.9);
            background: rgba(255, 255, 255, 0.08);
            color: #fff;
        }

        .gm-pill.whatsapp {
            border: 1px solid rgba(117, 196, 138, 0.75);
            background: rgba(14, 47, 39, 0.38);
            color: #fff;
        }

        .gm-pill span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.55rem;
            white-space: nowrap;
        }

        .gm-pill svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }

        .gm-hero-pagination {
            position: absolute;
            left: 0 !important;
            right: 0 !important;
            bottom: 22px !important;
            z-index: 2;
            display: flex;
            justify-content: center;
            gap: 0.5rem;
        }

        .gm-hero-pagination .swiper-pagination-bullet {
            width: 10px;
            height: 10px;
            margin: 0 !important;
            background: rgba(255, 255, 255, 0.42);
            opacity: 1;
        }

        .gm-hero-pagination .swiper-pagination-bullet-active {
            background: var(--gm-accent);
        }

        .gm-hero-controls {
            position: absolute;
            right: 24px;
            bottom: 26px;
            z-index: 2;
            display: flex;
            gap: 0.8rem;
        }

        .gm-hero-nav {
            width: 46px;
            height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.16);
            background: rgba(255, 255, 255, 0.08);
            color: #fff;
            cursor: pointer;
        }

        .gm-hero-nav svg {
            width: 18px;
            height: 18px;
        }

        .gm-subnav {
            position: sticky;
            top: 76px;
            z-index: 20;
            backdrop-filter: blur(14px);
            background: rgba(251, 247, 239, 0.82);
            border-bottom: 1px solid rgba(18, 56, 45, 0.08);
            transition: top 0.28s ease;
        }

        .gm-subnav-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            min-height: 70px;
        }

        .gm-subnav-brand {
            display: grid;
            gap: 0.2rem;
        }

        .gm-subnav-brand span {
            font-size: 0.78rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(18, 56, 45, 0.58);
        }

        .gm-subnav-brand strong {
            font-size: 1rem;
            color: var(--gm-deep);
        }

        .gm-subnav-links {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 1.1rem;
        }

        .gm-subnav-links a {
            color: rgba(18, 56, 45, 0.72);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.92rem;
        }

        .gm-subnav-mobile {
            display: none;
            position: sticky;
            top: 71px;
            z-index: 20;
            padding: 5px 0;
            backdrop-filter: blur(14px);
            background: rgba(251, 247, 239, 0.88);
            border-bottom: 1px solid rgba(18, 56, 45, 0.08);
            transition: top 0.28s ease;
        }

        body.header-hidden-mobile .gm-subnav,
        body.header-hidden-mobile .gm-subnav-mobile {
            top: 0;
        }

        .gm-subnav-mobile-inner {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            overflow-x: auto;
            scrollbar-width: none;
            -ms-overflow-style: none;
            padding-bottom: 0.1rem;
        }

        .gm-subnav-mobile-inner::-webkit-scrollbar {
            display: none;
        }

        .gm-subnav-mobile a {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 36px;
            padding: 0.58rem 0.95rem;
            border-radius: 999px;
            border: 1px solid rgba(18, 56, 45, 0.1);
            background: rgba(255, 255, 255, 0.72);
            color: var(--gm-deep);
            font-size: 0.82rem;
            font-weight: 600;
            line-height: 1;
            text-decoration: none;
            white-space: nowrap;
            box-shadow: 0 8px 18px rgba(7, 29, 22, 0.06);
        }

        .gm-heading {
            display: grid;
            gap: 0.75rem;
            margin-bottom: 2rem;
        }

        .gm-heading h2 {
            max-width: 12ch;
            margin: 0;
            font-size: clamp(2.2rem, 3.0vw, 4rem);
            line-height: 0.96;
            color: #009650;
        }

        .gm-heading p {
            max-width: 38rem;
            margin: 0;
            line-height: 1.8;
            color: rgba(18, 56, 45, 0.76);
        }

        .gm-overview-grid {
            display: grid;
            grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
            gap: clamp(1.5rem, 2vw, 2.5rem);
            align-items: stretch;
        }

        .gm-overview-copy,
        .gm-gallery-shell,
        .gm-final-shell {
            border-radius: 30px;
            overflow: hidden;
            box-shadow: var(--gm-shadow);
        }

        .gm-overview-copy,
        .gm-gallery-shell,
        .gm-final-shell {
            padding: 2rem;
            background: rgba(255, 255, 255, 0.82);
            border: 1px solid rgba(255, 255, 255, 0.5);
            backdrop-filter: blur(14px);
        }

        .gm-overview-copy,
        .gm-final-shell {
            height: 100%;
        }

        .gm-overview-copy p,
        .gm-final-shell p {
            margin: 0;
            line-height: 1.8;
            color: rgba(18, 56, 45, 0.76);
        }

        .gm-highlight-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.75rem;
            margin-top: 1.6rem;
        }

        .gm-highlight-card {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
            align-items: center;
            gap: 0.85rem;
            padding: 0.95rem 1.05rem;
            border-radius: 16px;
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(18, 56, 45, 0.08);
            box-shadow: 0 10px 26px rgba(7, 29, 22, 0.05);
            transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
        }

        .gm-highlight-card:hover {
            transform: translateY(-2px);
            border-color: rgba(201, 165, 90, 0.42);
            box-shadow: 0 16px 34px rgba(7, 29, 22, 0.09);
        }

        /* The tile carries the colour; the SVG inherits it through currentColor. */
        .gm-highlight-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 42px;
            height: 42px;
            border-radius: 12px;
            background: rgba(201, 165, 90, 0.14);
            border: 1px solid rgba(201, 165, 90, 0.3);
            color: #a67c1a;
        }

        .gm-highlight-icon {
            display: block;
            width: 19px;
            height: 19px;
        }

        .gm-highlight-card h3 {
            margin: 0;
            font-size: 0.98rem;
            line-height: 1.3;
            color: var(--gm-deep);
        }

        .gm-location-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            /* stretch, not start: at 16/9 the map came out ~278px beside a 608px
               column of points, leaving the right half mostly empty. */
            align-items: stretch;
            gap: 1.6rem;
            margin-top: 1.6rem;
        }

        .gm-location-grid .gm-location-media {
            aspect-ratio: auto;
            min-height: 320px;
        }

        /* Single column inside the left half, so each point gets full width. */
        .gm-location-points {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 0.6rem;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .gm-location-points li {
            display: grid;
            gap: 0.2rem;
            padding: 0.75rem 0.9rem;
            border-left: 3px solid rgba(201, 165, 90, 0.55);
            border-radius: 0 12px 12px 0;
            background: rgba(255, 255, 255, 0.7);
        }

        .gm-location-points strong {
            color: var(--gm-deep);
            font-size: 0.95rem;
            line-height: 1.3;
        }

        .gm-location-points span {
            color: rgba(18, 56, 45, 0.72);
            font-size: 0.88rem;
            line-height: 1.5;
        }

        .gm-location-media {
            position: relative;
            margin-top: 0;
            border-radius: 24px;
            overflow: hidden;
            border: 1px solid rgba(18, 56, 45, 0.1);
            box-shadow: 0 18px 40px rgba(7, 29, 22, 0.1);
            /* Ratio rather than a fixed height so the map scales with the column. */
            aspect-ratio: 16 / 9;
        }

        .gm-location-media iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
            display: block;
        }

        .gm-location-actions {
            display: flex;
            justify-content: flex-start;
            margin-top: 1.1rem;
        }

        .gm-facts {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1px;
            margin-top: 1.6rem;
            overflow: hidden;
            border-radius: 24px;
            background: rgba(18, 56, 45, 0.08);
        }

        .gm-fact {
            padding: 1.3rem 1.4rem;
            background: rgba(255, 255, 255, 0.82);
        }

        .gm-fact strong {
            display: block;
            margin-bottom: 0.25rem;
            color: #a47e2e;
            font-size: 1.04rem;
        }

        .gm-fact span {
            color: rgba(18, 56, 45, 0.74);
            line-height: 1.6;
        }

        .gm-project-facts {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.75rem;
            margin-top: 1.6rem;
        }

        .gm-project-fact {
            display: grid;
            grid-template-columns: 44px minmax(0, 1fr);
            align-items: center;
            gap: 0.85rem;
            min-height: 108px;
            padding: 1rem;
            border: 1px solid rgba(18, 56, 45, 0.11);
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.9);
            box-shadow: 0 10px 24px rgba(7, 29, 22, 0.045);
            transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
        }

        .gm-project-fact:last-child:nth-child(odd) {
            grid-column: 1 / -1;
            min-height: 92px;
        }

        .gm-project-fact:hover {
            transform: translateY(-2px);
            border-color: rgba(164, 126, 46, 0.38);
            box-shadow: 0 15px 30px rgba(7, 29, 22, 0.075);
        }

        .gm-project-fact-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border-radius: 8px;
            color: var(--gm-forest);
            background: rgba(201, 165, 90, 0.16);
        }

        .gm-project-fact-icon {
            width: 23px;
            height: 23px;
        }

        .gm-project-fact-copy strong {
            display: block;
            margin-bottom: 0.28rem;
            color: #a47e2e;
            font-size: 0.9rem;
            font-weight: 700;
            line-height: 1.3;
        }

        .gm-project-fact-copy span {
            display: block;
            color: rgba(18, 56, 45, 0.76);
            font-size: 0.98rem;
            line-height: 1.45;
        }

        .gm-project-fact-copy span.gm-fact-approval {
            font-size: 0.82rem;
            line-height: 1.4;
        }

        .gm-overview-media {
            min-height: 100%;
            height: 100%;
            aspect-ratio: 5 / 4;
            border-radius: 34px;
            width: calc(100% - 20px);
            justify-self: start;
            background:
                linear-gradient(180deg, rgba(20, 54, 43, 0.06), rgba(20, 54, 43, 0.28)),
                url("../images/banner/project/green-meadows/gallery/green-meadows-drone-entry.webp") center center / cover no-repeat;
            box-shadow: 0 30px 70px rgba(11, 46, 36, 0.16);
        }

        .gm-gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: clamp(1.1rem, 2vw, 1.6rem);
            align-items: stretch;
            max-width: 1160px;
            margin: 0 auto;
            width: min(100%, 1160px);
            padding: 0.2rem;
            box-sizing: border-box;
            justify-content: center;
        }

        .gm-gallery-video {
            margin-top: 2.4rem;
            padding-top: 2.2rem;
            border-top: 1px solid rgba(18, 56, 45, 0.1);
        }

        .gm-gallery-video-heading {
            max-width: 34rem;
            margin: 0 auto 1.4rem;
            text-align: center;
        }

        .gm-gallery-video-heading h3 {
            margin: 0;
            color: #009650;
            font-size: clamp(1.45rem, 2.4vw, 2rem);
            font-weight: 700;
            line-height: 1.2;
        }

        .gm-gallery-video-heading p {
            margin: 0.55rem auto 0;
            color: rgba(18, 56, 45, 0.72);
            font-size: 0.96rem;
            line-height: 1.6;
        }

        .gm-gallery-video-frame {
            width: min(100%, 360px);
            aspect-ratio: 9 / 16;
            margin: 0 auto;
            overflow: hidden;
            border: 1px solid rgba(18, 56, 45, 0.12);
            border-radius: 8px;
            background: #071b15;
            box-shadow: 0 22px 48px rgba(7, 29, 22, 0.14);
            transition: transform 0.24s ease, box-shadow 0.24s ease;
        }

        .gm-gallery-video-frame:hover,
        .gm-gallery-video-frame:focus-within {
            transform: translateY(-2px);
            box-shadow: 0 28px 58px rgba(7, 29, 22, 0.18);
        }

        .gm-gallery-video-frame iframe {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }

        .gm-gallery-shell .gm-heading {
            justify-items: center;
            text-align: center;
        }

        .gm-gallery-shell .gm-heading h2,
        .gm-gallery-shell .gm-heading p {
            max-width: 55rem;
        }

        .gm-gallery-item {
            position: relative;
            display: block;
            width: 100%;
            box-sizing: border-box;
            min-height: 240px;
            aspect-ratio: 4 / 3;
            overflow: hidden;
            padding: 0;
            border: 6px solid rgba(255, 255, 255, 0.96);
            border-radius: 24px;
            background: #e9e2d3;
            cursor: pointer;
            box-shadow: 0 18px 40px rgba(11, 46, 36, 0.08);
            transition: transform 0.28s ease, box-shadow 0.28s ease;
            appearance: none;
        }

        .gm-gallery-item::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(10, 42, 34, 0.02), rgba(10, 42, 34, 0.16));
            opacity: 0;
            transition: opacity 0.28s ease;
        }

        .gm-gallery-item:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 48px rgba(11, 46, 36, 0.12);
        }

        .gm-gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.35s ease;
        }

        .gm-gallery-item:hover img {
            transform: scale(1.04);
        }

        .gm-gallery-item:hover::after {
            opacity: 1;
        }

        .gm-final-shell h2 {
            max-width: 18ch;
            margin: 0 0 1rem;
            font-size: clamp(1.55rem, 3.4vw, 3.75rem);
            line-height: 0.98;
            color: #009650;
            text-align: center;
            white-space: normal;
            text-wrap: balance;
        }

        .gm-final-shell p {
            max-width: 60rem;
            margin: 0 auto;
            text-align: center;
        }

        .gm-final-shell {
            display: grid;
            justify-items: center;
            text-align: center;
        }

        .gm-final-actions {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.9rem;
            width: min(100%, 680px);
            justify-content: center;
            align-items: stretch;
        }

        .gm-final-actions .gm-pill,
        .gm-final-actions .gm-pill:hover {
            width: 100%;
            min-width: 0;
            padding: 0.9rem 1.1rem;
        }

        .gm-final-actions .gm-pill.secondary {
            color: var(--gm-deep);
            background: rgba(255, 255, 255, 0.82);
            border-color: rgba(140, 140, 140, 0.82);
            text-transform: none;
            letter-spacing: 0;
        }

        .gm-final-actions .gm-pill span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.55rem;
            white-space: nowrap;
        }

        .gm-final-actions .gm-pill svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }

        .gm-final-actions .gm-pill.whatsapp {
            color: #ffffff;
            background: #3f6e5b;
            border: 1.5px solid var(--gm-accent);
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        .gm-faq-list {
            display: grid;
            gap: 1rem;
        }

        .gm-faq-item {
            padding: 1.2rem 1.3rem;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.82);
            border: 1px solid rgba(18, 56, 45, 0.08);
        }

        .gm-faq-item summary {
            cursor: pointer;
            list-style: none;
            font-weight: 700;
            color: var(--gm-deep);
        }

        .gm-faq-item summary::-webkit-details-marker {
            display: none;
        }

        .gm-faq-item p {
            margin: 0.8rem 0 0;
            line-height: 1.75;
            color: rgba(18, 56, 45, 0.74);
        }

        .gm-lightbox {
            position: fixed;
            inset: 0;
            z-index: 99999;
            display: none;
            align-items: center;
            justify-content: center;
            padding: clamp(1rem, 2vw, 1.5rem);
            background: rgba(7, 22, 17, 0.86);
            backdrop-filter: blur(12px);
        }

        .gm-lightbox.is-open {
            display: flex;
        }

        .gm-lightbox__backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            background: transparent;
            cursor: pointer;
        }

        .gm-lightbox__dialog {
            position: relative;
            z-index: 1;
            width: min(100%, 1180px);
            display: grid;
            gap: 1rem;
            justify-items: center;
        }

        .gm-lightbox__frame {
            position: relative;
            width: 100%;
            padding: 1rem;
            border-radius: 28px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
        }

        .gm-lightbox__image {
            display: block;
            width: 100%;
            max-height: min(78svh, 820px);
            object-fit: contain;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.04);
        }

        .gm-lightbox__controls {
            position: absolute;
            inset: 50% 1rem auto;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            pointer-events: none;
        }

        .gm-lightbox__nav,
        .gm-lightbox__close {
            width: 48px;
            height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.16);
            background: rgba(7, 22, 17, 0.72);
            color: #fff;
            cursor: pointer;
            transition: background-color 0.25s ease, transform 0.25s ease;
        }

        .gm-lightbox__nav {
            pointer-events: auto;
        }

        .gm-lightbox__close {
            position: absolute;
            top: 1.1rem;
            right: 1.1rem;
            z-index: 2;
        }

        .gm-lightbox__nav:hover,
        .gm-lightbox__close:hover {
            background: rgba(201, 165, 90, 0.88);
            color: #13211b;
            transform: translateY(-1px);
        }

        .gm-lightbox__caption {
            color: rgba(255, 255, 255, 0.84);
            font-size: 0.96rem;
            text-align: center;
            letter-spacing: 0.02em;
        }

        @media (max-width: 1152px) {
            .green-meadows-section {
                padding: 4.75rem 0;
            }

            .gm-hero,
            .gm-hero-slider,
            .gm-hero-slider .swiper-wrapper,
            .gm-hero-slide {
                min-height: auto;
            }

            .gm-hero-slide {
                min-height: 620px;
            }
        }

        @media (min-width: 992px) {

            .green-meadows-section>.container,
            .gm-hero-inner.container {
                padding-left: 100px;
                padding-right: 100px;
                padding-top: 50px;
            }

        }

        @media (max-width: 991px) {
            .gm-hero,
            .gm-hero-slider,
            .gm-hero-slider .swiper-wrapper,
            .gm-hero-slide {
                min-height: 620px;
            }

            .gm-subnav {
                display: none;
            }

            .gm-subnav-mobile {
                display: block;
                padding: 0.3rem 0;
            }

            .gm-subnav-mobile-inner {
                gap: 0.38rem;
            }

            /* This page had no mobile tier for the strip, so it was rendering at the
               desktop size. font-size needs !important to beat `body a` in the
               site-wide mobile pass. */
            .gm-subnav-mobile a {
                min-height: 29px;
                padding: 0.34rem 0.68rem;
                font-size: 0.7rem !important;
                line-height: 1 !important;
            }

            .green-meadows-section[id] {
                scroll-margin-top: 118px;
            }

            .green-meadows-section>.container,
            .gm-hero-inner.container {
                padding-left: 10px;
                padding-right: 10px;
            }

            .gm-hero-controls {
                display: none;
            }

            .gm-overview-grid {
                grid-template-columns: 1fr;
            }

            .gm-hero-copy h1,
            .gm-heading h2,
            .gm-final-shell h2 {
                max-width: none;
            }

            .gm-overview-media {
                min-height: 420px;
                aspect-ratio: auto;
                width: 100%;
                background-position: center center;
            }

            .gm-gallery-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                max-width: 760px;
                width: min(100%, 760px);
                gap: 1.2rem;
                padding: 0.15rem;
            }

            .gm-final-actions {
                display: none;
            }

        }

        @media (max-width: 767px) {

            .green-meadows-section {
                padding: 2.45rem 0;
            }

            .green-meadows-section.compact {
                padding: 2.2rem 0;
            }

            .green-meadows-section>.container,
            .gm-hero-inner.container {
                padding-left: 14px;
                padding-right: 14px;
            }

            .gm-hero-slide {
                min-height: 620px;
                align-items: flex-end;
                background-position: 60% center;
            }

            .gm-hero-inner {
                padding-bottom: 3.8rem;
            }

            .gm-hero-copy {
                width: min(100%, 100%);
                padding: 0 4px;
            }

            .gm-hero-logo {
                width: min(100%, 21.5rem);
                padding: 0;
            }

            .gm-eyebrow {
                margin-bottom: 0.75rem;
                font-size: 0.62rem;
                letter-spacing: 0.14em;
            }

            .gm-eyebrow::before {
                width: 28px;
            }

            .gm-hero-copy p {
                max-width: 22rem;
                margin-top: 0.85rem;
                font-size: 0.86rem !important;
                line-height: 1.5 !important;
            }

            .gm-heading {
                gap: 0.55rem;
                margin-bottom: 1.35rem;
            }

            .page-green-meadows .gm-heading h2 {
                font-size: clamp(1.3rem, 5.6vw, 1.45rem) !important;
                line-height: 1.18 !important;
                font-weight: 700;
                text-wrap: balance;
            }

            .gm-heading p,
            .gm-overview-copy p,
            .gm-final-shell p {
                font-size: 0.88rem !important;
                line-height: 1.6 !important;
            }

            .page-green-meadows .gm-final-shell h2 {
                max-width: 15ch;
                font-size: clamp(1.25rem, 5.2vw, 1.4rem) !important;
            }

            .gm-hero-actions {
                display: none;
            }

            .gm-hero-trust {
                grid-template-columns: 1fr 1fr;
                gap: 0.45rem;
                margin-top: 0.9rem;
                font-size: 0.74rem;
                line-height: 1.25;
            }

            /* Not flex here: the label and the number would become separate
               flex items and each wrap on its own. As a block the number keeps
               its inline-block behaviour and drops to line two intact. */
            .gm-hero-trust li.gm-hero-trust-approval {
                display: block;
                padding-top: 0.5rem;
                padding-bottom: 0.5rem;
                font-size: 0.72rem !important;
                line-height: 1.4 !important;
            }

            .gm-hero-mobile-note {
                display: block;
                max-width: 18rem;
                margin-top: 0.85rem;
                font-size: 0.84rem !important;
                line-height: 1.4 !important;
            }

            /* The size for these lives on .gm-hero-trust; `body li` in the global
                mobile pass was overriding the inherited value and forcing every
                pill onto three lines. */
            .gm-hero-trust li {
                font-size: inherit !important;
                line-height: inherit !important;
                min-height: 34px;
                display: flex;
                align-items: center;
                padding: 0.46rem 0.52rem 0.46rem 1.62rem;
                border: 1px solid rgba(255, 255, 255, 0.12);
                border-radius: 10px;
                background: rgba(5, 16, 13, 0.46);
                box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
                backdrop-filter: blur(3px);
            }

            .gm-hero-trust li::before {
                left: 0.58rem;
                top: 50%;
                width: 0.36rem;
                height: 0.66rem;
                border-width: 0 0.12rem 0.12rem 0;
                transform: translateY(-58%) rotate(45deg);
            }

            .gm-pill span {
                gap: 0.36rem;
                white-space: normal;
            }

            .gm-pill svg {
                width: 15px;
                height: 15px;
            }

            .gm-final-actions {
                width: min(100%, 360px);
                gap: 0.75rem;
            }

            .gm-hero-pagination {
                bottom: 18px !important;
            }

            .gm-overview-copy,
            .gm-gallery-shell,
            .gm-final-shell {
                padding: 1.25rem;
                border-radius: 22px;
            }

            /* 16/9 leaves a very short strip once the column is ~290px wide. */
            .gm-highlight-grid {
                grid-template-columns: 1fr;
                gap: 0.55rem;
                margin-top: 1.15rem;
            }

            .gm-highlight-card {
                gap: 0.7rem;
                padding: 0.72rem 0.85rem;
                border-radius: 13px;
            }

            .gm-highlight-mark {
                width: 34px;
                height: 34px;
                border-radius: 10px;
            }

            .gm-highlight-icon {
                width: 19px;
                height: 19px;
            }

            .gm-highlight-card h3 {
                font-size: 0.88rem !important;
                line-height: 1.35 !important;
            }

            /* Stack below tablet. The map keeps its original first position via
               `order`, so the mobile reading order is unchanged: map, points,
               Get Directions. */
            .gm-location-grid {
                grid-template-columns: minmax(0, 1fr);
                gap: 1.15rem;
                margin-top: 1.15rem;
            }

            /* Same descendant specificity as the desktop stretch rule, which would
               otherwise keep min-height: 320px and render a near-square map here. */
            .gm-location-grid .gm-location-media {
                order: -1;
                aspect-ratio: 4 / 3;
                min-height: 0;
            }

            .gm-location-points {
                grid-template-columns: 1fr;
                gap: 0.5rem;
                margin-top: 0;
            }

            .gm-location-actions {
                justify-content: center;
            }

            .gm-location-points li {
                padding: 0.6rem 0.75rem;
            }

            .gm-location-points strong {
                font-size: 0.82rem;
            }

            .gm-location-points span {
                font-size: 0.76rem !important;
                line-height: 1.45 !important;
            }

            .gm-location-media {
                margin-top: 1.15rem;
                aspect-ratio: 4 / 3;
                border-radius: 16px;
            }

            .gm-location-actions {
                margin-top: 1rem;
            }

            .gm-location-actions .gm-pill {
                width: 100%;
            }

            .gm-facts {
                grid-template-columns: 1fr;
                margin-top: 1.15rem;
                border-radius: 18px;
            }

            .gm-fact {
                padding: 1rem 1.05rem;
            }

            .gm-fact strong,
            .gm-faq-item summary {
                font-size: 0.9rem;
            }

            .gm-fact span,
            .gm-faq-item p {
                font-size: 0.86rem !important;
                line-height: 1.55 !important;
            }

            .gm-project-facts {
                grid-template-columns: 1fr;
                gap: 0.65rem;
                margin-top: 1.15rem;
            }

            .gm-project-fact,
            .gm-project-fact:last-child:nth-child(odd) {
                grid-column: auto;
                grid-template-columns: 40px minmax(0, 1fr);
                gap: 0.75rem;
                min-height: 0;
                padding: 0.9rem;
            }

            .gm-project-fact-mark {
                width: 40px;
                height: 40px;
            }

            .gm-project-fact-icon {
                width: 21px;
                height: 21px;
            }

            .gm-project-fact-copy strong {
                margin-bottom: 0.2rem;
                font-size: 0.78rem;
            }

            .gm-project-fact-copy span {
                font-size: 0.86rem !important;
                line-height: 1.42 !important;
            }

            .gm-project-fact-copy span.gm-fact-approval {
                font-size: 0.78rem !important;
                line-height: 1.4 !important;
            }

            .gm-overview-media {
                min-height: 280px;
                border-radius: 22px;
            }

            .gm-faq-list {
                gap: 0.75rem;
            }

            .gm-faq-item {
                padding: 1rem 1.05rem;
                border-radius: 16px;
            }

            .gm-gallery-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.75rem;
                max-width: 360px;
                width: min(100%, 360px);
                padding: 0.1rem;
                justify-content: stretch;
            }

            .gm-gallery-video {
                margin-top: 1.7rem;
                padding-top: 1.6rem;
            }

            .gm-gallery-video-heading {
                margin-bottom: 1.1rem;
            }

            .gm-gallery-video-heading h3 {
                font-size: 1.2rem;
            }

            .gm-gallery-video-heading p {
                font-size: 0.85rem !important;
                line-height: 1.5 !important;
            }

            .gm-gallery-video-frame {
                width: min(100%, 320px);
            }

            .gm-gallery-item,
            .gm-gallery-item:nth-child(n) {
                min-height: 145px;
                border-width: 4px;
                border-radius: 18px;
            }

            .gm-lightbox__frame {
                padding: 0.7rem;
                border-radius: 22px;
            }

            .gm-lightbox__image {
                max-height: 68svh;
                border-radius: 16px;
            }

            .gm-lightbox__controls {
                inset: auto 0.7rem 0.7rem;
                transform: none;
            }
        }

        @media (max-width: 575px) {
            .gm-hero,
            .gm-hero-slider,
            .gm-hero-slider .swiper-wrapper,
            .gm-hero-slide {
                min-height: 455px;
            }
        }

        @media (max-width: 420px) {
            .green-meadows-section {
                padding: 2.1rem 0;
            }

            .green-meadows-section.compact {
                padding: 1.95rem 0;
            }

            .gm-hero-slide {
                background-position: 60% center;
            }

            .gm-hero-inner {
                padding-bottom: 3.2rem;
            }

            .gm-hero-copy {
                padding: 28px 2px 0;
            }

            .gm-hero-logo {
                width: min(100%, 18rem);
                padding: 0;
            }

            .gm-hero-copy p {
                max-width: 20rem;
                font-size: 0.83rem !important;
                line-height: 1.45 !important;
            }

            .gm-hero-trust {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.38rem;
                font-size: 0.7rem;
            }

            .gm-hero-trust li.gm-hero-trust-approval {
                font-size: 0.68rem !important;
            }

            .gm-hero-trust li {
                min-height: 32px;
                padding: 0.42rem 0.45rem 0.42rem 1.48rem;
            }

            .gm-hero-actions {
                gap: 0.45rem;
            }

            .gm-hero-actions .gm-pill,
            .gm-hero-actions .gm-pill:hover {
                min-height: 44px;
                padding: 0.68rem 0.34rem;
                font-size: 0.72rem;
            }

            .gm-hero-actions .gm-pill.whatsapp,
            .gm-hero-actions .gm-pill.whatsapp:hover {
                font-size: 0.71rem;
            }

            .gm-pill span {
                gap: 0.28rem;
            }

            .gm-pill svg {
                width: 14px;
                height: 14px;
            }

            .gm-final-shell h2 {
                max-width: 14ch;
                font-size: clamp(1.45rem, 7.5vw, 1.8rem);
                line-height: 1.04;
                text-wrap: balance;
            }

            .gm-final-actions {
                width: 100%;
                gap: 0.65rem;
            }

            .gm-final-actions .gm-pill,
            .gm-final-actions .gm-pill:hover {
                min-height: 50px;
                padding: 0.8rem 0.7rem;
                font-size: 0.94rem;
            }

            .gm-final-actions .gm-pill svg {
                width: 16px;
                height: 16px;
            }

            .gm-gallery-shell {
                padding-left: 1rem;
                padding-right: 1rem;
            }

            .gm-gallery-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.65rem;
                max-width: 320px;
                width: min(100%, 320px);
            }

            .gm-gallery-item,
            .gm-gallery-item:nth-child(n) {
                min-height: 132px;
                border-width: 4px;
            }
        }
