        .page-sunrise-city {
            --sunrise-ink: #15382d;
            --sunrise-deep: #0a2c23;
            --sunrise-forest: #0f4a3a;
            --sunrise-accent: #c9a55a;
            --sunrise-line: rgba(18, 56, 45, 0.12);
            --sunrise-shadow: 0 30px 80px rgba(7, 29, 22, 0.12);
            background:
                radial-gradient(circle at top left, rgba(201, 165, 90, 0.12), transparent 24%),
                linear-gradient(180deg, #fbf7ef 0%, #f2e9db 100%);
            color: var(--sunrise-ink);
        }

        .page-sunrise-city .wrapper {
            overflow: clip;
        }

        .sunrise-city-shell {
            position: relative;
        }

        .sunrise-city-section {
            position: relative;
            padding: 5rem 0;
        }

        .sunrise-city-section[id] {
            scroll-margin-top: 168px;
        }

        .sunrise-city-section.compact {
            padding: 4rem 0;
        }

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

        .sunrise-hero .carousel,
        .sunrise-hero .carousel-inner,
        .sunrise-hero .carousel-item {
            min-height: 620px;
        }

        .sunrise-hero-slide {
            position: relative;
            min-height: 620px;
            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 sunrise_city_atmakur.php). */
        .sunrise-hero-slide--first {
            background-image: url("../images/banner/project/sunrise-city-atmakur/renders/sunrise-entrance-arch-hero.webp");
        }

        @media (max-width: 991px) {
            .sunrise-hero-slide--first {
                background-image: url("../images/banner/project/sunrise-city-atmakur/renders/sunrise-entrance-arch-hero-tablet.webp");
            }
        }

        @media (max-width: 480px) {
            .sunrise-hero-slide--first {
                background-image: url("../images/banner/project/sunrise-city-atmakur/renders/sunrise-entrance-arch-hero-mobile.webp");
            }
        }

        .sunrise-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));
        }

        .sunrise-hero-copy {
            position: absolute;
            inset: auto 0 0;
            z-index: 2;
            width: 100%;
            padding: 0 0 3.2rem;
        }

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

        /* Plain wrapper: the frosted panel that used to sit behind the logo has
           been removed so the transparent PNG reads directly on the hero. */
        .sunrise-hero-brandbox {
            display: block;
            width: min(100%, 34rem);
            padding: 0;
        }

        /* No filter here: the artwork carries its own stroke, so the CSS halo that
           used to separate the dark ink from the dark hero is no longer needed. */
        .sunrise-hero-logo {
            display: block;
            width: min(100%, 34rem);
            height: auto;
        }

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

        .sunrise-hero-trust {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, max-content));
            gap: 0.6rem 1.2rem;
            padding: 0;
            margin: 1.35rem 0 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. */
        .sunrise-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: 12px;
            background: rgba(5, 16, 13, 0.46);
            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
            backdrop-filter: blur(3px);
        }

        .sunrise-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;
            color: currentColor;
            transform: translateY(-58%) rotate(45deg);
        }

        /* Half the row is ~324px here, and the registration numbers are wider
           than that once the pill padding is on, so they take a row each rather
           than breaking mid-identifier. Mobile keeps its own 2-up grid. */
        @media (min-width: 768px) {
            .sunrise-hero-trust li.sunrise-hero-trust-approval {
                grid-column: 1 / -1;
            }
        }

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

        .sunrise-hero-actions {
            align-items: center;
            gap: 0.7rem;
        }

        .sunrise-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;
        }

        .sunrise-pill,
        .sunrise-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, border-color 0.25s ease, color 0.25s ease;
        }

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

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

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

        .sunrise-pill.primary {
            background: var(--sunrise-accent);
            color: #15241d;
            border: 1px solid #cfcecee6;
        }

        .sunrise-pill.secondary {
            background: #c9a55a;
            border: 1px solid #dfdfdf8f;
            color: #2c2c2cff;
        }

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

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

        .sunrise-hero-pagination [data-bs-target] {
            width: 10px;
            height: 10px;
            margin: 0 !important;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.42);
            opacity: 1;
        }

        .sunrise-hero-pagination .active {
            background: var(--sunrise-accent);
        }

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

        .sunrise-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;
            backdrop-filter: blur(8px);
        }

        .sunrise-hero-controls .carousel-control-prev,
        .sunrise-hero-controls .carousel-control-next {
            position: static;
            width: 46px;
            opacity: 1;
        }

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

        .sunrise-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;
        }

        .sunrise-subnav-mobile {
            display: none;
            position: sticky;
            top: 71px;
            z-index: 20;
            padding: 0.55rem 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 .sunrise-subnav,
        body.header-hidden-mobile .sunrise-subnav-mobile {
            top: 0;
        }

        .sunrise-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;
        }

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

        .sunrise-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(--sunrise-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);
        }

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

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

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

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

        .sunrise-subnav-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 0.9rem;
        }

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

        .sunrise-heading {
            display: grid;
            gap: 0.7rem;
            margin-bottom: 2rem;
            justify-items: center;
            text-align: center;
        }

        .sunrise-heading h2 {
            margin: 0;
            font-size: clamp(2rem, 3vw, 3.4rem);
            line-height: 0.98;
            color: #0e7955;
        }

        .sunrise-heading p {
            margin: 0;
            max-width: 60rem;
            line-height: 1.8;
            color: #202020ff;
            text-align: center;
        }

        .sunrise-overview-grid,
        .sunrise-location-grid,
        .sunrise-config-grid {
            display: grid;
            grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
            gap: 2rem;
            align-items: stretch;
        }

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

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

        .sunrise-panel,
        .sunrise-gallery-shell {
            padding: 2rem;
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.52);
            backdrop-filter: blur(14px);
        }

        .sunrise-overview-media {
            position: relative;
            min-height: clamp(540px, 62vw, 820px);
            overflow: hidden;
            border-radius: 30px;
            box-shadow: var(--sunrise-shadow);
        }

        .sunrise-overview-media::after {
            content: "";
            position: absolute;
            inset: auto 0 0;
            height: 48%;
            background: linear-gradient(180deg, rgba(5, 22, 17, 0), rgba(5, 22, 17, 0.76));
            pointer-events: none;
        }

        .sunrise-overview-media img,
        .sunrise-location-media iframe {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            border: 0;
        }

        .sunrise-overview-media img {
            position: absolute;
            inset: 0;
        }

        .sunrise-overview-copy p,
        .sunrise-location-copy p {
            margin: 0 0 1rem;
            line-height: 1.8;
            color: rgba(18, 56, 45, 0.78);
        }

        .sunrise-overview-copy {
            position: absolute;
            left: clamp(1rem, 3vw, 2.4rem);
            right: clamp(1rem, 3vw, 2.4rem);
            bottom: clamp(1rem, 3vw, 2.4rem);
            z-index: 2;
            display: grid;
            gap: 1rem;
            justify-items: center;
            padding: clamp(1.2rem, 2.5vw, 2rem);
            border-radius: 24px;
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid rgba(255, 255, 255, 0.66);
            box-shadow: 0 24px 70px rgba(4, 20, 15, 0.24);
            backdrop-filter: blur(16px);
        }

        .sunrise-overview-copy .sunrise-heading {
            margin-bottom: 0;
            max-width: 100%;
            justify-items: center;
            text-align: center;
        }

        .sunrise-overview-copy .sunrise-heading h2 {
            max-width: none;
            line-height: 1.02;
            white-space: nowrap;
            text-align: center;
            font-size: clamp(1.8rem, 3vw, 3.2rem);
        }

        .sunrise-overview-copy>p {
            max-width: 74rem;
            margin-bottom: 0;
            text-align: center;
        }

        .sunrise-overview-copy p:last-child,
        .sunrise-location-copy p:last-child {
            margin-bottom: 0;
        }

        .sunrise-stat-strip {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.8rem;
            margin-top: 0;
            align-self: start;
            width: 100%;
            max-width: 1120px;
            margin-left: auto;
            margin-right: auto;
            justify-content: center;
        }

        .sunrise-stat-item {
            display: grid;
            gap: 0.25rem;
            padding: 0.9rem 1rem;
            border-radius: 18px;
            background: rgba(18, 56, 45, 0.05);
            border: 1px solid rgba(18, 56, 45, 0.08);
            text-align: center;
        }

        .sunrise-stat-item strong {
            font-size: 1.3rem;
            color: #ab7e0c;
        }

        .sunrise-stat-item span {
            color: rgba(18, 56, 45, 0.68);
            line-height: 1.55;
        }

        .sunrise-amenity h4,
        .sunrise-config-copy h3 {
            margin: 0;
            font-size: 1.15rem;
            color: #b38100;
        }

        .sunrise-amenity p,
        .sunrise-config-copy p {
            margin: 0;
            line-height: 1.75;
            color: rgba(18, 56, 45, 0.76);
        }

        .sunrise-amenity-list {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.75rem;
        }

        /* Restyled for the light page: the translucent-white fill and border below
           were tuned for the dark amenity shell this section used to sit inside. */
        .sunrise-amenity {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
            gap: 0.9rem;
            align-items: start;
            min-height: 0;
            padding: 1rem 1.1rem;
            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);
            justify-items: start;
            text-align: left;
            transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
        }

        .sunrise-amenity-copy {
            display: grid;
            gap: 0.3rem;
        }

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

        .sunrise-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);
        }

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

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

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

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

        /* The icons are inline SVG now, so the tile carries the colour and the
           artwork inherits it through currentColor - no filter hacks needed. */
        .sunrise-amenity-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 44px;
            height: 44px;
            border-radius: 12px;
            background: rgba(201, 165, 90, 0.14);
            border: 1px solid rgba(201, 165, 90, 0.3);
            color: #a67c1a;
        }

        .sunrise-amenity-icon {
            display: block;
            width: 22px;
            height: 22px;
        }

        .sunrise-amenity-group + .sunrise-amenity-group {
            margin-top: 2.4rem;
        }

        .sunrise-amenity-group__head {
            display: grid;
            gap: 0.35rem;
            margin-bottom: 1.1rem;
            padding-bottom: 0.8rem;
            border-bottom: 1px solid rgba(18, 56, 45, 0.1);
            justify-items: center;
            text-align: center;
        }

        .sunrise-amenity-group__head h3 {
            margin: 0;
            font-size: clamp(1.25rem, 1.6vw, 1.6rem);
            line-height: 1.2;
            color: #0e7955;
            text-align: center;
        }

        .sunrise-amenity-group__head p {
            max-width: 52rem;
            margin: 0 auto;
            line-height: 1.7;
            color: rgba(18, 56, 45, 0.72);
            text-align: center;
        }

        .sunrise-amenity h4 {
            font-size: 1.02rem;
            line-height: 1.26;
        }

        /* Label and copy both landed at 16px, which read flat; nudge the copy down
           so the card has a clear first line. */
        .sunrise-amenity p {
            font-size: 0.92rem;
            line-height: 1.6;
        }

        .sunrise-render-showcase {
            margin-top: clamp(2.4rem, 5vw, 4rem);
            padding-top: clamp(2rem, 4vw, 3rem);
            border-top: 1px solid rgba(18, 56, 45, 0.12);
        }

        .sunrise-render-showcase__head {
            display: grid;
            gap: 0.55rem;
            justify-items: center;
            max-width: 54rem;
            margin: 0 auto 1.5rem;
            text-align: center;
        }

        .sunrise-render-kicker {
            color: #a67c1a;
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 0;
            text-transform: uppercase;
        }

        .sunrise-render-showcase__head h3,
        .sunrise-gallery-group__head h3 {
            margin: 0;
            color: #0e7955;
            font-size: clamp(1.45rem, 2.4vw, 2.2rem);
            line-height: 1.12;
        }

        .sunrise-render-showcase__head p,
        .sunrise-gallery-group__head p {
            margin: 0;
            color: rgba(18, 56, 45, 0.74);
            line-height: 1.7;
        }

        .sunrise-render-showcase__grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(0.85rem, 2vw, 1.4rem);
        }

        .sunrise-render-showcase figure {
            margin: 0;
        }

        .sunrise-render-showcase__media {
            overflow: hidden;
            border-radius: 16px;
            background: #e8eee9;
            box-shadow: 0 16px 32px rgba(7, 29, 22, 0.1);
        }

        .sunrise-render-showcase img {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 16 / 9;
            object-fit: cover;
            transition: transform 0.38s ease, filter 0.38s ease;
        }

        .sunrise-render-showcase figure:hover img {
            transform: scale(1.025);
            filter: saturate(1.04) contrast(1.02);
        }

        .sunrise-render-showcase figcaption {
            margin-top: 0.65rem;
            color: rgba(18, 56, 45, 0.7);
            font-size: 0.86rem;
            line-height: 1.45;
        }

        .sunrise-gallery-shell {
            padding: clamp(1rem, 2.6vw, 2rem);
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.66)),
                radial-gradient(circle at top left, rgba(201, 165, 90, 0.16), transparent 34%);
            border: 1px solid rgba(18, 56, 45, 0.08);
        }

        .sunrise-gallery-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(0.7rem, 1.4vw, 1rem);
        }

        .sunrise-gallery-group + .sunrise-gallery-group {
            margin-top: clamp(2rem, 4vw, 3rem);
            padding-top: clamp(1.6rem, 3vw, 2.2rem);
            border-top: 1px solid rgba(18, 56, 45, 0.12);
        }

        .sunrise-gallery-group__head {
            display: grid;
            gap: 0.45rem;
            justify-items: center;
            max-width: 50rem;
            margin: 0 auto 1.2rem;
            text-align: center;
        }

        .sunrise-gallery-grid.sunrise-gallery-grid--renders img {
            aspect-ratio: 16 / 9;
            height: auto;
        }

        .sunrise-gallery-item {
            position: relative;
            display: block;
            width: 100%;
            padding: 0;
            border: 0;
            background: #0d2f25;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 16px 32px rgba(7, 29, 22, 0.1);
            cursor: pointer;
        }

        .sunrise-gallery-item::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(7, 29, 22, 0), rgba(7, 29, 22, 0.22));
            opacity: 0;
            transition: opacity 0.28s ease;
            pointer-events: none;
        }

        .sunrise-gallery-grid img {
            width: 100%;
            aspect-ratio: 1 / 0.78;
            object-fit: cover;
            display: block;
            transition: transform 0.38s ease, filter 0.38s ease;
        }

        .sunrise-gallery-item:hover img {
            transform: scale(1.045);
            filter: saturate(1.05) contrast(1.03);
        }

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

        .sunrise-gallery-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);
        }

        .sunrise-gallery-lightbox.is-open {
            display: flex;
        }

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

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

        .sunrise-gallery-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);
        }

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

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

        .sunrise-gallery-lightbox__nav,
        .sunrise-gallery-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;
        }

        .sunrise-gallery-lightbox__nav {
            pointer-events: auto;
        }

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

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

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

        .sunrise-location-points {
            display: grid;
            gap: 0.75rem;
            margin-top: 1rem;
            padding: 0;
            list-style: none;
        }

        .sunrise-location-points li {
            display: grid;
            gap: 0.18rem;
            padding-left: 1rem;
            border-left: 2px solid rgba(201, 165, 90, 0.5);
        }

        .sunrise-location-points strong {
            color: var(--sunrise-deep);
        }

        .sunrise-config-panel {
            display: grid;
            gap: 1.4rem;
            padding: 1.1rem;
            border-radius: 30px;
            background: rgba(255, 255, 255, 0.78);
            border: 1px solid rgba(255, 255, 255, 0.52);
            box-shadow: var(--sunrise-shadow);
        }

        .sunrise-config-tabs {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.8rem;
            margin: 0 0 1.5rem;
        }

        .sunrise-config-tab {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            padding: 0.8rem 1.2rem;
            border-radius: 999px;
            border: 1px solid rgba(18, 56, 45, 0.12);
            background: rgba(255, 255, 255, 0.7);
            color: rgba(18, 56, 45, 0.74);
            font-size: 0.92rem;
            font-weight: 700;
            line-height: 1;
            cursor: pointer;
            transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
        }

        .sunrise-config-tab:hover {
            transform: translateY(-1px);
        }

        .sunrise-config-tab.is-active {
            background: var(--sunrise-forest);
            border-color: rgba(15, 74, 58, 0.8);
            color: #fff;
        }

        .sunrise-config-viewer {
            display: grid;
        }

        .sunrise-config-panel[hidden] {
            display: none;
        }

        .sunrise-config-panel img {
            width: 100%;
            border-radius: 24px;
            display: block;
            object-fit: cover;
        }

        .sunrise-plan-zoom {
            width: 100%;
            max-height: 600px;
            overflow: auto;
            border-radius: 24px;
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid rgba(18, 56, 45, 0.08);
            cursor: zoom-in;
            scrollbar-width: thin;
        }

        .sunrise-plan-zoom img {
            max-height: 600px;
            width: 100%;
            object-fit: contain;
        }

        .sunrise-plan-zoom-button {
            all: unset;
            display: block;
            width: 100%;
            cursor: zoom-in;
        }

        .sunrise-plan-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.88);
            backdrop-filter: blur(12px);
        }

        .sunrise-plan-lightbox.is-open {
            display: flex;
        }

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

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

        .sunrise-plan-lightbox__frame {
            position: relative;
            width: 100%;
            max-height: min(86svh, 900px);
            overflow: auto;
            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);
            touch-action: none;
            cursor: grab;
        }

        .sunrise-plan-lightbox__frame.is-zoomed {
            cursor: grab;
        }

        .sunrise-plan-lightbox__frame.is-panning {
            cursor: grabbing;
        }

        .sunrise-plan-lightbox__image {
            display: block;
            width: 100%;
            max-width: none;
            max-height: none;
            object-fit: contain;
            transform-origin: center center;
            will-change: transform;
            user-select: none;
            -webkit-user-drag: none;
        }

        .sunrise-plan-lightbox__close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            z-index: 2;
            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;
        }

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

        .sunrise-plan-lightbox__hint {
            color: rgba(255, 255, 255, 0.82);
            font-size: 0.92rem;
            text-align: center;
        }

        .sunrise-config-copy {
            display: grid;
            gap: 0.9rem;
            padding: 0 0.35rem 0.35rem;
            justify-items: center;
            text-align: center;
        }

        .sunrise-config-copy ul {
            display: grid;
            gap: 0.45rem;
            margin: 0;
            padding-left: 1.1rem;
            color: rgba(18, 56, 45, 0.78);
        }

        .sunrise-final-shell {
            padding: 2.6rem;
            text-align: center;
            background: linear-gradient(135deg, #0b2e24 0%, #134436 58%, #0b2e24 100%);
            color: #fff;
        }

        .sunrise-final-shell h2 {
            margin: 0;
            font-size: clamp(2.2rem, 4vw, 4rem);
            line-height: 0.98;
            color: #fff;
        }

        .sunrise-final-shell p {
            margin: 1rem auto 0;
            max-width: 42rem;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.76);
        }

        .sunrise-final-actions {
            justify-content: center;
            margin-top: 1.7rem;
        }

        @media (max-width: 1152px) {

            .sunrise-hero,
            .sunrise-hero .carousel,
            .sunrise-hero .carousel-inner,
            .sunrise-hero .carousel-item,
            .sunrise-hero-slide {
                min-height: auto;
            }

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

            .sunrise-overview-copy .sunrise-heading h2 {
                white-space: normal;
            }
        }

        @media (max-width: 991px) {
            .sunrise-hero,
            .sunrise-hero .carousel,
            .sunrise-hero .carousel-inner,
            .sunrise-hero .carousel-item,
            .sunrise-hero-slide {
                min-height: 620px;
            }

            .sunrise-subnav {
                display: none;
            }

            .sunrise-subnav-mobile {
                display: block;
            }

            .sunrise-city-section[id] {
                scroll-margin-top: 132px;
            }

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

            .sunrise-overview-grid,
            .sunrise-location-grid,
            .sunrise-config-grid {
                grid-template-columns: 1fr;
            }

            .sunrise-gallery-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .sunrise-stat-strip {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .sunrise-amenity-list {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.9rem;
            }

            .sunrise-amenity {
                padding: 1rem 0.85rem;
            }

            .sunrise-amenity h4 {
                font-size: 1rem !important;
                line-height: 1.18 !important;
            }

            .sunrise-hero-panel h1 {
                max-width: 11ch;
                font-size: clamp(1.85rem, 8.6vw, 2.15rem) !important;
            }

            .sunrise-hero-actions .sunrise-pill.whatsapp,
            .sunrise-hero-actions .sunrise-pill.whatsapp:hover {
                display: none;
            }
        }

        @media (max-width: 767px) {

            .page-sunrise-city .container {
                padding-left: 1rem;
                padding-right: 1rem;
            }

            .sunrise-city-section,
            .sunrise-city-section.compact {
                padding: 1.75rem 0;
            }

            .sunrise-city-section[id] {
                scroll-margin-top: 112px;
            }

            .sunrise-subnav-mobile {
                top: 64px;
                padding: 0.3rem 0;
            }

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

            /* font-size needs !important here: `body a` in the site-wide mobile
               pass would otherwise set these pills back to 1rem. */
            .sunrise-subnav-mobile a {
                min-height: 29px;
                padding: 0.34rem 0.68rem;
                font-size: 0.7rem !important;
                line-height: 1 !important;
                font-weight: 700;
            }

            .sunrise-heading {
                gap: 0.5rem;
                margin-bottom: 1.2rem;
            }

            .sunrise-heading h2 {
                font-size: clamp(1.32rem, 6.4vw, 1.6rem) !important;
                line-height: 1.05 !important;
                font-weight: 700;
            }

            .sunrise-heading p {
                max-width: 34rem;
                font-size: 0.92rem !important;
                line-height: 1.55 !important;
            }

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

            .sunrise-hero-copy {
                padding-bottom: 4.9rem;
            }

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

            .sunrise-hero-brandbox {
                width: min(100%, 24rem);
                padding: 0;
            }

            .sunrise-hero-logo {
                width: min(100%, 22rem);
            }

            .sunrise-hero-panel p {
                max-width: 20rem;
                margin-top: 0.85rem;
                font-size: 0.9rem !important;
                line-height: 1.48 !important;
            }

            .sunrise-hero-trust {
                grid-template-columns: 1fr 1fr;
                gap: 0.4rem;
                margin-top: 0.75rem;
                font-size: 0.7rem !important;
                line-height: 1.3 !important;
                font-weight: 700;
            }

            .sunrise-hero-trust li {
                font-size: inherit !important;
                line-height: inherit !important;
                min-height: 30px;
                display: flex;
                align-items: center;
                padding: 0.35rem 0.45rem 0.35rem 1.4rem;
                border: 1px solid rgba(255, 255, 255, 0.12);
                border-radius: 12px;
                background: rgba(5, 16, 13, 0.46);
                box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
                backdrop-filter: blur(3px);
            }

            .sunrise-hero-trust li::before {
                left: 0.52rem;
                top: 50%;
                width: 0.42rem;
                height: 0.76rem;
                border-width: 0 0.14rem 0.14rem 0;
                transform: translateY(-58%) rotate(45deg);
            }

            .sunrise-hero-actions,
            .sunrise-final-actions {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            /* The render is 16:9; cropping it into a 690px-tall portrait box showed
               only a narrow vertical slice. Put the image in flow at its natural
               ratio and drop the copy card below it instead of overlaying. */
            .sunrise-overview-media {
                position: static;
                min-height: 0;
                overflow: visible;
                border-radius: 0;
                box-shadow: none;
            }

            .sunrise-overview-media img {
                position: static;
                width: 100%;
                height: auto;
                object-fit: contain;
                border-radius: 16px;
                box-shadow: var(--sunrise-shadow);
            }

            /* The bottom scrim only existed to seat the overlay card. */
            .sunrise-overview-media::after {
                display: none;
            }

            .sunrise-overview-copy {
                position: static;
                inset: auto;
                margin-top: 0.85rem;
                gap: 0.7rem;
                padding: 1rem;
                border-radius: 16px;
            }

            .sunrise-overview-copy .sunrise-heading {
                gap: 0.45rem;
            }

            .sunrise-overview-copy .sunrise-heading h2 {
                font-size: clamp(1.32rem, 6.4vw, 1.6rem) !important;
                line-height: 1.05 !important;
            }

            .sunrise-overview-copy .sunrise-heading p {
                font-size: 0.84rem !important;
                line-height: 1.45 !important;
            }

            .sunrise-stat-strip {
                gap: 0.5rem;
            }

            .sunrise-stat-item {
                min-height: 92px;
                padding: 0.7rem 0.52rem;
                align-content: center;
                border-radius: 12px;
            }

            .sunrise-stat-item strong {
                font-size: 0.98rem;
                line-height: 1.15;
            }

            .sunrise-stat-item span {
                font-size: 0.78rem;
                line-height: 1.3;
            }

            .sunrise-hero-pagination {
                bottom: 18px;
            }

            .sunrise-pill,
            .sunrise-pill:hover {
                width: 100%;
            }

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

            .sunrise-hero-mobile-note {
                display: block;
            }

            .sunrise-final-actions {
                grid-template-columns: 1fr;
            }

            .sunrise-panel,
            .sunrise-gallery-shell,
            .sunrise-final-shell {
                padding: 1rem;
                border-radius: 18px;
            }

            .sunrise-amenity-list {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.6rem;
            }

            .sunrise-amenity-group + .sunrise-amenity-group {
                margin-top: 1.6rem;
            }

            .sunrise-amenity-group__head {
                margin-bottom: 0.8rem;
                padding-bottom: 0.6rem;
            }

            .sunrise-amenity-group__head h3 {
                font-size: 1.12rem !important;
                line-height: 1.2 !important;
            }

            .sunrise-amenity-group__head p {
                font-size: 0.85rem !important;
                line-height: 1.55 !important;
            }

            .sunrise-amenity {
                grid-template-columns: 1fr;
                gap: 0.45rem;
                min-height: 112px;
                padding: 0.72rem 0.55rem;
                justify-items: center;
                text-align: center;
            }

            .sunrise-amenity-mark {
                width: 38px;
                height: 38px;
                border-radius: 10px;
            }

            .sunrise-amenity-icon {
                width: 19px;
                height: 19px;
            }

            .sunrise-amenity h4 {
                font-size: 0.82rem !important;
                line-height: 1.18 !important;
                font-weight: 700;
                text-align: center;
            }

            .sunrise-amenity p {
                font-size: 0.78rem !important;
                line-height: 1.4 !important;
                text-align: center;
            }

            .sunrise-location-grid,
            .sunrise-config-grid {
                gap: 1rem;
            }

            .sunrise-location-copy .sunrise-heading {
                justify-items: center;
                text-align: center;
            }

            .sunrise-location-copy .sunrise-heading h2,
            .sunrise-location-copy .sunrise-heading p {
                text-align: center;
            }

            .sunrise-location-points {
                gap: 0.65rem;
                margin-top: 0.8rem;
            }

            .sunrise-location-points li {
                gap: 0.12rem;
                padding-left: 0.75rem;
            }

            .sunrise-location-points strong {
                font-size: 0.92rem;
                line-height: 1.3;
            }

            .sunrise-location-points span {
                font-size: 0.84rem;
                line-height: 1.4;
            }

            .sunrise-location-media iframe {
                min-height: 300px;
                border-radius: 18px;
            }

            .sunrise-gallery-shell .sunrise-heading {
                margin-bottom: 1rem;
            }

            .sunrise-render-showcase {
                margin-top: 2rem;
                padding-top: 1.6rem;
            }

            .sunrise-render-showcase__head {
                margin-bottom: 1rem;
            }

            .sunrise-render-showcase__head h3,
            .sunrise-gallery-group__head h3 {
                font-size: 1.35rem !important;
                line-height: 1.15 !important;
            }

            .sunrise-render-showcase__head p,
            .sunrise-gallery-group__head p {
                font-size: 0.85rem !important;
                line-height: 1.55 !important;
            }

            .sunrise-render-showcase__grid {
                grid-template-columns: 1fr;
            }

            .sunrise-render-showcase__media {
                border-radius: 12px;
            }

            .sunrise-render-showcase figcaption {
                margin-top: 0.5rem;
                font-size: 0.78rem;
            }

            .sunrise-gallery-group + .sunrise-gallery-group {
                margin-top: 1.6rem;
                padding-top: 1.4rem;
            }

            .sunrise-gallery-item {
                border-radius: 12px;
            }

            .sunrise-config-tabs {
                gap: 0.5rem;
                margin-bottom: 1rem;
            }

            .sunrise-config-tab {
                min-height: 40px;
                padding: 0.68rem 0.85rem;
                font-size: 0.8rem;
            }

            .sunrise-config-panel {
                gap: 1rem;
                padding: 0.75rem;
                border-radius: 18px;
            }

            .sunrise-config-panel img,
            .sunrise-plan-zoom {
                border-radius: 14px;
            }

            .sunrise-config-copy {
                gap: 0.65rem;
                padding: 0 0.15rem 0.15rem;
            }

            .sunrise-config-copy h3 {
                font-size: 1rem !important;
            }

            .sunrise-config-copy p,
            .sunrise-config-copy li {
                font-size: 0.86rem !important;
                line-height: 1.45 !important;
            }

            .sunrise-final-shell h2 {
                font-size: clamp(1.32rem, 6.4vw, 1.6rem) !important;
                line-height: 1.05 !important;
            }

            .sunrise-final-shell p {
                margin-top: 0.7rem;
                font-size: 0.9rem !important;
                line-height: 1.5 !important;
            }

            .sunrise-final-actions {
                gap: 0.55rem;
                margin-top: 1rem;
            }

            .sunrise-pill,
            .sunrise-pill:hover {
                min-height: 44px;
                padding: 0.72rem 1rem;
                font-size: 0.86rem;
            }
        }

        @media (max-width: 575px) {
            .sunrise-hero,
            .sunrise-hero .carousel,
            .sunrise-hero .carousel-inner,
            .sunrise-hero .carousel-item,
            .sunrise-hero-slide {
                min-height: 455px;
            }

            /* .sunrise-hero-copy is absolutely positioned and bottom-anchored, so it
               cannot grow the hero. Once its content exceeded the 455px floor the
               surplus overflowed upward and `overflow: clip` cut the logo off. Put
               the copy back in flow and float the carousel behind it, so the hero is
               sized by its content and 455px becomes a true minimum. */
            .sunrise-hero .carousel {
                position: absolute;
                inset: 0;
            }

            .sunrise-hero .carousel-inner,
            .sunrise-hero .carousel-item,
            .sunrise-hero-slide {
                height: 100%;
            }

            .sunrise-hero-copy {
                position: relative;
                inset: auto;
            }
        }

        /* Below ~480px, two columns leave roughly 150px of text: headings broke
           over 3 lines and card copy over 6. One column is both easier to read
           and shorter overall, because the wasted wrapping disappears. */
        @media (max-width: 480px) {
            .sunrise-amenity-list {
                grid-template-columns: minmax(0, 1fr);
                gap: 0.6rem;
            }

            /* Full width restores room for the icon to sit beside the copy,
               which the two-column layout had forced into a stack. */
            .sunrise-amenity {
                grid-template-columns: auto minmax(0, 1fr);
                align-items: center;
                gap: 0.75rem;
                min-height: 0;
                padding: 0.7rem 0.8rem;
                justify-items: start;
                text-align: left;
            }

            .sunrise-amenity-mark {
                width: 34px;
                height: 34px;
                border-radius: 9px;
            }

            .sunrise-amenity-icon {
                width: 17px;
                height: 17px;
            }

            .sunrise-amenity h4 {
                font-size: 0.88rem !important;
                line-height: 1.26 !important;
                text-align: left;
            }

            .sunrise-amenity p {
                font-size: 0.8rem !important;
                line-height: 1.45 !important;
                text-align: left;
            }
        }

        @media (max-width: 420px) {
            .sunrise-hero-slide {
                background-position: 60% center;
            }

            .sunrise-hero-copy {
                padding: 64px 0 2.8rem;
            }

            .sunrise-hero-panel {
                padding: 0 4px;
            }

            .sunrise-hero-logo {
                width: min(100%, 18.5rem);
            }

            .sunrise-gallery-shell {
                padding: 0.8rem;
                border-radius: 22px;
            }

            .sunrise-gallery-grid {
                gap: 0.55rem;
            }

            .sunrise-gallery-item {
                border-radius: 12px;
            }

            .sunrise-hero-panel p {
                max-width: 20.5rem;
                font-size: 0.84rem !important;
                line-height: 1.38 !important;
            }

            .sunrise-hero-trust {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.38rem 0.45rem;
                font-size: 0.66rem !important;
            }

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

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

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

            .sunrise-overview-media img {
                border-radius: 14px;
            }

            .sunrise-overview-copy {
                padding: 0.78rem;
            }

            .sunrise-overview-copy .sunrise-heading h2 {
                font-size: clamp(1.24rem, 6.1vw, 1.48rem) !important;
            }

            .sunrise-overview-copy .sunrise-heading p {
                font-size: 0.79rem !important;
                line-height: 1.38 !important;
            }

            .sunrise-stat-item {
                min-height: 86px;
                padding: 0.62rem 0.42rem;
            }

            .sunrise-stat-item strong {
                font-size: 0.9rem;
            }

            .sunrise-stat-item span {
                font-size: 0.72rem;
            }

            .sunrise-amenity {
                min-height: 0;
                padding: 0.62rem 0.7rem;
            }

            .sunrise-amenity h4 {
                font-size: 0.84rem !important;
            }

            .sunrise-amenity p {
                font-size: 0.72rem !important;
                line-height: 1.44 !important;
            }
        }
