/*
Theme Name: InAsia
Author: InAsia Consulting
Description: Custom theme for InAsia Consulting.
Version: 0.2.0
*/

:root {
    --inasia-blue: #1D5268;
    --inasia-green: #617B64;

    --inasia-warm: #F7F5F0;
    --inasia-soft-green: #EEF2EC;

    --inasia-text: #202624;
    --inasia-muted: #6E7471;
    --inasia-border: #DDDCD7;

    --inasia-white: #FFFFFF;

    --inasia-shell: 1280px;
    --inasia-radius: 4px;

    /* Typography v1 */
    --font-body: "Onest", Inter, "Helvetica Neue", Arial, sans-serif;
    --font-heading: var(--font-body);
    --type-body-size: 16px;
    --type-body-line: 1.60;
    --type-h1-size: 54px;
    --type-h1-line: 1.00;
    --type-h1-track: -.025em;
    --type-h2-size: 34px;
    --type-h2-line: 1.10;
    --type-h2-track: -.020em;
    --type-heading-weight: 500;
    --type-label-weight: 600;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--inasia-warm);
    color: var(--inasia-text);
    font-family:
        Inter,
        "Helvetica Neue",
        Arial,
        sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

.site-shell {
    width: min(
        calc(100% - 64px),
        var(--inasia-shell)
    );
    margin-inline: auto;
}


/* Accessibility */

.skip-link {
    position: absolute;
    left: -9999px;
}

.skip-link:focus {
    top: 8px;
    left: 8px;
    z-index: 99999;
    padding: 10px 14px;
    background: white;
}


/* Header */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 76px;
    border-bottom: 1px solid var(--inasia-border);
    background: rgba(247, 245, 240, 0.96);
}

.admin-bar .site-header {
    top: 32px;
}

.site-header__inner {
    height: 100%;
    display: flex;
    align-items: center;
}

.site-brand {
    text-decoration: none;
    color: var(--inasia-text);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.16em;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 34px;
    margin-left: auto;
}

.site-nav a {
    text-decoration: none;
    color: var(--inasia-text);
    font-size: 14px;
    font-weight: 500;
}

.site-nav a:hover {
    color: var(--inasia-blue);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-left: 42px;
}

.language-switcher {
    font-size: 13px;
    font-weight: 600;
}

.menu-toggle {
    display: none;
    width: 30px;
    padding: 7px 0;
    border: 0;
    background: transparent;
}

.menu-toggle span {
    display: block;
    height: 1px;
    margin: 5px 0;
    background: var(--inasia-text);
}


/* Generic */

.eyebrow {
    margin-bottom: 20px;
    color: var(--inasia-green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: var(--inasia-radius);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.button--primary {
    border: 1px solid var(--inasia-blue);
    background: var(--inasia-blue);
    color: white;
}

.button--primary:hover {
    background: #173F50;
}

.button--secondary {
    border: 1px solid var(--inasia-blue);
    color: var(--inasia-blue);
    background: transparent;
}

.text-link {
    color: var(--inasia-blue);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.text-link:hover {
    text-decoration: underline;
}


/* Development Hero */

.development-hero {
    padding: 82px 0 0;
}

.development-hero__copy {
    max-width: 850px;
    padding-bottom: 54px;
}

.development-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(46px, 5.8vw, 78px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 500;
}

.development-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 28px;
    color: var(--inasia-muted);
    font-size: 14px;
}

.development-hero__meta span + span::before {
    content: "·";
    margin: 0 10px;
}

.development-price {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-top: 34px;
}

.development-price span {
    color: var(--inasia-muted);
    font-size: 14px;
}

.development-price strong {
    color: var(--inasia-blue);
    font-size: 30px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.development-hero__actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 38px;
}

.development-hero__media {
    width: 100%;
    overflow: hidden;
    background: var(--inasia-soft-green);
    aspect-ratio: 16 / 8.5;
}

.development-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.development-hero__placeholder {
    width: 100%;
    height: 100%;
    background:
        linear-gradient(
            135deg,
            var(--inasia-soft-green),
            #E4E9E1
        );
}


/* Facts strip */

.development-facts {
    border-bottom: 1px solid var(--inasia-border);
    background: var(--inasia-white);
}

.development-facts__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fact {
    min-height: 132px;
    padding: 30px 26px 28px 0;
}

.fact + .fact {
    padding-left: 26px;
    border-left: 1px solid var(--inasia-border);
}

.fact span {
    display: block;
    margin-bottom: 10px;
    color: var(--inasia-muted);
    font-size: 12px;
}

.fact strong {
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
}


/* Generic Development Sections */

.development-section {
    padding: 110px 0;
}

.development-section__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.section-heading {
    grid-column: 1 / span 4;
}

.section-heading h2 {
    max-width: 340px;
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}


/* Project Facts */

.development-project-facts {
    background: var(--inasia-soft-green);
}

.project-facts-table {
    grid-column: 6 / -1;
    border-top: 1px solid var(--inasia-border);
}

.project-fact-row {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 32px;
    padding: 14px 0;
    border-bottom: 1px solid var(--inasia-border);
}

.project-fact-row span {
    color: var(--inasia-muted);
    font-size: 13px;
}

.project-fact-row strong {
    font-size: 15px;
    font-weight: 500;
}


.developer-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(29, 82, 104, 0.30);
    text-underline-offset: 3px;
}

.developer-link:hover {
    color: var(--inasia-blue);
    text-decoration-color: currentColor;
}


/* Final CTA */

.development-cta {
    padding: 96px 0;
    background: var(--inasia-blue);
    color: white;
}

.development-cta .site-shell {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 80px;
}

.development-cta .eyebrow {
    color: #CFDDD2;
}

.development-cta h2 {
    max-width: 730px;
    margin: 0;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.04;
    letter-spacing: -0.04em;
    font-weight: 500;
}

.development-cta__actions {
    display: flex;
    flex-shrink: 0;
    gap: 12px;
}

.development-cta .button--primary {
    border-color: white;
    background: white;
    color: var(--inasia-blue);
}

.development-cta .button--secondary {
    border-color: rgba(255,255,255,.55);
    color: white;
}


/* Footer */

.site-footer {
    padding: 42px 0;
    border-top: 1px solid var(--inasia-border);
    background: var(--inasia-warm);
}

.site-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-footer__meta {
    color: var(--inasia-muted);
    font-size: 12px;
}


/* Mobile sticky CTA */

.mobile-sticky-cta {
    display: none;
}


/* Tablet */

@media (max-width: 960px) {

    .site-shell {
        width: min(
            calc(100% - 40px),
            var(--inasia-shell)
        );
    }

    .site-nav {
        gap: 20px;
    }

    .site-header__actions {
        margin-left: 24px;
    }

    .development-facts__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .fact:nth-child(4) {
        border-left: 0;
    }

    .project-facts-table {
        grid-column: 5 / -1;
    }
}


/* Mobile */

@media (max-width: 720px) {

    body {
        padding-bottom: 64px;
    }

    .admin-bar .site-header {
        top: 46px;
    }

    .site-shell {
        width: calc(100% - 32px);
    }

    .site-header {
        height: 68px;
    }

    .site-nav {
        display: none;
        position: absolute;
        top: 68px;
        right: 0;
        left: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 16px;
        border-bottom: 1px solid var(--inasia-border);
        background: var(--inasia-warm);
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav a {
        width: 100%;
        padding: 14px 0;
        border-bottom: 1px solid var(--inasia-border);
        font-size: 16px;
    }

    .site-header__actions {
        margin-left: auto;
    }

    .menu-toggle {
        display: block;
    }

    .development-hero {
        padding-top: 52px;
    }

    .development-hero__copy {
        padding-bottom: 38px;
    }

    .development-hero h1 {
        font-size: clamp(42px, 13vw, 62px);
    }

    .development-price {
        margin-top: 28px;
    }

    .development-price strong {
        font-size: 27px;
    }

    .development-hero__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        margin-top: 30px;
    }

    .development-hero__media {
        aspect-ratio: 4 / 3;
    }

    .development-facts__grid {
        grid-template-columns: 1fr 1fr;
    }

    .fact {
        min-height: 112px;
        padding: 22px 18px 22px 0;
    }

    .fact + .fact {
        padding-left: 18px;
    }

    .fact:nth-child(3),
    .fact:nth-child(5) {
        padding-left: 0;
        border-left: 0;
    }

    .development-section {
        padding: 72px 0;
    }

    .development-section__grid {
        display: block;
    }

    .section-heading {
        margin-bottom: 46px;
    }

    .section-heading h2 {
        font-size: 34px;
    }

    .project-fact-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 13px 0;
    }

    .development-cta {
        padding: 70px 0;
    }

    .development-cta .site-shell {
        display: block;
    }

    .development-cta h2 {
        font-size: 38px;
    }

    .development-cta__actions {
        display: none;
    }

    .site-footer {
        padding: 36px 0;
    }

    .site-footer__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .mobile-sticky-cta {
        position: fixed;
        z-index: 999;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        height: 64px;
        border-top: 1px solid var(--inasia-border);
        background: white;
    }

    .mobile-sticky-cta a {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-size: 13px;
        font-weight: 600;
    }

    .mobile-sticky-cta a:first-child {
        background: var(--inasia-blue);
        color: white;
    }

    .mobile-sticky-cta a:last-child {
        color: var(--inasia-blue);
    }
}


/* Developer page */

.developer-page__hero {
    padding: 88px 0 72px;
    border-bottom: 1px solid var(--inasia-border);
}

.developer-page__hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(46px, 5.8vw, 78px);
    line-height: 1;
    letter-spacing: -0.045em;
    font-weight: 500;
}

.developer-page__developments {
    padding: 88px 0 110px;
}

.developer-page__developments h2 {
    margin: 0 0 36px;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.developer-project-list {
    border-top: 1px solid var(--inasia-border);
}

.developer-project {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid var(--inasia-border);
    color: var(--inasia-text);
    text-decoration: none;
    font-size: 18px;
}

.developer-project:hover {
    color: var(--inasia-blue);
}

@media (max-width: 720px) {

    .developer-page__hero {
        padding: 58px 0 48px;
    }

    .developer-page__developments {
        padding: 60px 0 76px;
    }
}


/* InAsia View */

.inasia-view {
    padding: 110px 0;
    background: var(--inasia-warm);
}

.inasia-view__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.inasia-view .section-heading {
    grid-column: 1 / span 4;
}

.inasia-view__content {
    grid-column: 6 / -1;
}

.inasia-view__intro {
    max-width: 720px;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: -0.015em;
}

.inasia-view__intro p {
    margin: 0;
}

.inasia-view__points {
    margin-top: 42px;
    border-top: 1px solid var(--inasia-border);
}

.inasia-view__point {
    position: relative;
    padding: 18px 0 18px 26px;
    border-bottom: 1px solid var(--inasia-border);
    font-size: 15px;
    font-weight: 500;
}

.inasia-view__point::before {
    content: "";
    position: absolute;
    top: 26px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--inasia-green);
}

@media (max-width: 720px) {

    .inasia-view {
        padding: 72px 0;
    }

    .inasia-view__grid {
        display: block;
    }

    .inasia-view__content {
        margin-top: 42px;
    }

    .inasia-view__intro {
        font-size: 19px;
    }

    .inasia-view__points {
        margin-top: 32px;
    }
}


/* Development About */

.development-about {
    padding: 110px 0;
    background: var(--inasia-white);
}

.development-about__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.development-about .section-heading {
    grid-column: 1 / span 4;
}

.development-about__content {
    grid-column: 6 / -1;
    max-width: 760px;
}

.development-about__content p {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 1.7;
}

.development-about__content p:last-child {
    margin-bottom: 0;
}

@media (max-width: 720px) {

    .development-about {
        padding: 72px 0;
    }

    .development-about__grid {
        display: block;
    }

    .development-about__content {
        margin-top: 42px;
    }

    .development-about__content p {
        font-size: 16px;
    }
}


/* Available Residences */

.development-residences {
    padding: 110px 0;
    background: var(--inasia-warm);
}

.development-residences__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 46px;
}

.development-residences__header h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}

.availability-date {
    color: var(--inasia-muted);
    font-size: 12px;
}

.availability-date strong {
    margin-left: 4px;
    color: var(--inasia-text);
    font-weight: 500;
}

.residence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.residence-card {
    padding: 32px;
    border: 1px solid var(--inasia-border);
    border-radius: var(--inasia-radius);
    background: var(--inasia-white);
}

.residence-card__top {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--inasia-border);
}

.residence-card__top h3 {
    margin: 0;
    font-size: 25px;
    line-height: 1.1;
    letter-spacing: -0.025em;
    font-weight: 500;
}

.residence-card__top span {
    color: var(--inasia-muted);
    font-size: 13px;
    white-space: nowrap;
}

.residence-price {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    gap: 8px 20px;
    padding: 24px 0;
}

.residence-price + .residence-price {
    border-top: 1px solid var(--inasia-border);
}

.residence-price span {
    color: var(--inasia-muted);
    font-size: 13px;
}

.residence-price strong {
    color: var(--inasia-blue);
    font-size: 23px;
    font-weight: 500;
}

.residence-price small {
    grid-column: 2;
    color: var(--inasia-muted);
    font-size: 12px;
}

.residence-price--secondary strong {
    color: var(--inasia-text);
    font-size: 18px;
}

.residence-card .text-link {
    display: inline-block;
    margin-top: 12px;
}

@media (max-width: 720px) {

    .development-residences {
        padding: 72px 0;
    }

    .development-residences__header {
        display: block;
        margin-bottom: 32px;
    }

    .development-residences__header h2 {
        font-size: 34px;
    }

    .availability-date {
        margin-top: 18px;
    }

    .residence-grid {
        grid-template-columns: 1fr;
    }

    .residence-card {
        padding: 24px;
    }

    .residence-card__top {
        display: block;
    }

    .residence-card__top span {
        display: block;
        margin-top: 10px;
    }
}


/* Simplified residence price */

.residence-price--single {
    padding-bottom: 18px;
}

.residence-price--single strong {
    font-size: 25px;
}


/* Development Facilities */

.development-facilities {
    padding: 110px 0;
    background: var(--inasia-soft-green);
}

.development-facilities__header {
    margin-bottom: 50px;
}

.development-facilities__header h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}

.facility-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--inasia-border);
}

.facility-group {
    padding: 28px 28px 10px 0;
}

.facility-group + .facility-group {
    padding-left: 28px;
    border-left: 1px solid var(--inasia-border);
}

.facility-group h3 {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
}

.facility-group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.facility-group li {
    padding: 7px 0;
    color: var(--inasia-muted);
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 960px) {

    .facility-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .facility-group:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--inasia-border);
    }

    .facility-group:nth-child(4) {
        border-top: 1px solid var(--inasia-border);
    }
}

@media (max-width: 720px) {

    .development-facilities {
        padding: 72px 0;
    }

    .development-facilities__header h2 {
        font-size: 34px;
    }

    .facility-grid {
        grid-template-columns: 1fr;
    }

    .facility-group,
    .facility-group + .facility-group {
        padding: 24px 0;
        border-left: 0;
        border-top: 1px solid var(--inasia-border);
    }

    .facility-group:first-child {
        border-top: 0;
    }

    .facility-group h3 {
        margin-bottom: 15px;
    }
}


/* Development Location */

.development-location {
    padding: 110px 0;
    background: var(--inasia-warm);
}

.development-location__top {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 72px;
}

.development-location .section-heading {
    grid-column: 1 / span 4;
}

.development-location__description {
    grid-column: 6 / -1;
    max-width: 760px;
}

.development-location__description p {
    margin: 0 0 22px;
    font-size: 18px;
    line-height: 1.7;
}

.development-location__description p:last-child {
    margin-bottom: 0;
}

.location-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--inasia-border);
}

.location-group {
    padding: 28px 28px 8px 0;
}

.location-group + .location-group {
    padding-left: 28px;
    border-left: 1px solid var(--inasia-border);
}

.location-group h3 {
    margin: 0 0 22px;
    font-size: 16px;
    font-weight: 600;
}

.location-group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.location-group li {
    padding: 7px 0;
    color: var(--inasia-muted);
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 960px) {

    .location-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .location-group:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--inasia-border);
    }

    .location-group:nth-child(4) {
        border-top: 1px solid var(--inasia-border);
    }
}

@media (max-width: 720px) {

    .development-location {
        padding: 72px 0;
    }

    .development-location__top {
        display: block;
        margin-bottom: 44px;
    }

    .development-location__description {
        margin-top: 40px;
    }

    .development-location__description p {
        font-size: 16px;
    }

    .location-grid {
        grid-template-columns: 1fr;
    }

    .location-group,
    .location-group + .location-group {
        padding: 22px 0;
        border-left: 0;
        border-top: 1px solid var(--inasia-border);
    }

    .location-group:first-child {
        border-top: 0;
    }
}


/* Development Gallery */

.development-gallery {
    padding: 110px 0;
    background: var(--inasia-white);
}

.development-gallery__header {
    margin-bottom: 48px;
}

.development-gallery__header h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}

.development-gallery__media .gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.development-gallery__media .gallery-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.development-gallery__media .gallery-item:first-child {
    grid-column: 1 / -1;
}

.development-gallery__media .gallery-icon {
    width: 100%;
    height: 100%;
}

.development-gallery__media .gallery img {
    width: 100%;
    height: 100%;
    border: 0 !important;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.development-gallery__media .gallery-item:first-child img {
    aspect-ratio: 16 / 8;
}

.development-gallery__media .gallery-caption {
    margin-top: 8px;
    color: var(--inasia-muted);
    font-size: 12px;
    text-align: left;
}

@media (max-width: 720px) {

    .development-gallery {
        padding: 72px 0;
    }

    .development-gallery__header h2 {
        font-size: 34px;
    }

    .development-gallery__media .gallery {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .development-gallery__media .gallery-item:first-child {
        grid-column: auto;
    }

    .development-gallery__media .gallery img,
    .development-gallery__media .gallery-item:first-child img {
        aspect-ratio: 4 / 3;
    }
}


/* Construction Progress */

.development-progress {
    padding: 110px 0;
    background: var(--inasia-white);
}

.development-progress__top {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 54px;
}

.development-progress .section-heading {
    grid-column: 1 / span 4;
}

.development-progress__content {
    grid-column: 6 / -1;
    max-width: 760px;
}

.development-progress__date {
    margin-bottom: 24px;
    color: var(--inasia-muted);
    font-size: 12px;
}

.development-progress__date strong {
    margin-left: 5px;
    color: var(--inasia-text);
    font-weight: 500;
}

.development-progress__summary p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
}

.development-progress__gallery .gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.development-progress__gallery .gallery-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.development-progress__gallery .gallery img {
    width: 100%;
    height: 100%;
    border: 0 !important;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

@media (max-width: 720px) {

    .development-progress {
        padding: 72px 0;
    }

    .development-progress__top {
        display: block;
        margin-bottom: 36px;
    }

    .development-progress__content {
        margin-top: 40px;
    }

    .development-progress__summary p {
        font-size: 16px;
    }

    .development-progress__gallery .gallery {
        grid-template-columns: 1fr;
    }
}


/* Development enquiry */

.development-enquiry .site-shell {
    display: grid;
    grid-template-columns: 5fr 6fr;
    align-items: start;
    gap: 90px;
}

.development-enquiry__intro p {
    max-width: 520px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 16px;
    line-height: 1.65;
}

.development-enquiry__form {
    min-width: 0;
}

.inquiry-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 16px;
}

.inquiry-form__field {
    min-width: 0;
}

.inquiry-form__field--full {
    grid-column: 1 / -1;
}

.inquiry-form label {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 500;
}

.inquiry-form input,
.inquiry-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: var(--inasia-radius);
    outline: 0;
    background: rgba(255,255,255,.08);
    color: white;
    font: inherit;
}

.inquiry-form input:focus,
.inquiry-form textarea:focus {
    border-color: white;
    background: rgba(255,255,255,.12);
}

.inquiry-form textarea {
    resize: vertical;
}

.inquiry-form__note {
    grid-column: 1 / -1;
    margin-top: -12px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
}

.inquiry-form__context {
    grid-column: 1 / -1;
    padding: 10px 12px;
    border-left: 2px solid #CFDDD2;
    color: #CFDDD2;
    font-size: 13px;
}

.inquiry-form__footer {
    display: flex;
    align-items: center;
    gap: 20px;
}

.inquiry-form__footer small {
    max-width: 290px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    line-height: 1.4;
}

.inquiry-form__submit {
    border: 1px solid white;
    background: white;
    color: var(--inasia-blue);
    cursor: pointer;
}

.inquiry-form__submit:hover {
    background: var(--inasia-warm);
}

.inquiry-message {
    margin-bottom: 24px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.4);
    font-size: 14px;
}

.inquiry-message--success {
    background: rgba(255,255,255,.10);
}

.inquiry-message--error {
    background: rgba(255,255,255,.06);
}

.inasia-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 720px) {

    .development-enquiry .site-shell {
        display: block;
    }

    .development-enquiry__form {
        margin-top: 46px;
    }

    .inquiry-form {
        grid-template-columns: 1fr;
    }

    .inquiry-form__field--full,
    .inquiry-form__note,
    .inquiry-form__context {
        grid-column: auto;
    }

    .inquiry-form__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* Construction Progress v2 */

.development-progress {
    padding: 110px 0;
    background: var(--inasia-soft-green);
}

.development-progress__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 56px;
}

.development-progress__header h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}

.development-progress__updated {
    flex: 0 0 auto;
    text-align: right;
}

.development-progress__updated span {
    display: block;
    margin-bottom: 5px;
    color: var(--inasia-muted);
    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.development-progress__updated strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 600;
}

.construction-metrics {
    border-top: 1px solid var(--inasia-border);
}

.construction-metric {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    padding: 22px 0;
    border-bottom: 1px solid var(--inasia-border);
}

.construction-metric__label {
    font-size: 17px;
    line-height: 1.4;
}

.construction-metric__value {
    font-size: 28px;
    line-height: 1;
    font-weight: 500;
}

.development-progress__gallery {
    margin-top: 48px;
}

.development-progress__gallery .gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.development-progress__gallery .gallery-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.development-progress__gallery .gallery img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0 !important;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

@media (max-width: 720px) {

    .development-progress {
        padding: 72px 0;
    }

    .development-progress__header {
        display: block;
        margin-bottom: 38px;
    }

    .development-progress__header h2 {
        font-size: 34px;
    }

    .development-progress__updated {
        margin-top: 28px;
        text-align: left;
    }

    .development-progress__updated strong {
        font-size: 20px;
    }

    .construction-metric {
        gap: 20px;
        padding: 19px 0;
    }

    .construction-metric__label {
        font-size: 15px;
    }

    .construction-metric__value {
        font-size: 23px;
    }

    .development-progress__gallery .gallery {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Development Gallery v2
   ========================================================= */

.development-gallery--v2 {
    padding: 84px 0;
    background: var(--inasia-warm);
}

.development-gallery--v2 .development-gallery__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 32px;
}

.development-gallery--v2 .development-gallery__header h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 500;
}

.development-gallery__count {
    padding-bottom: 3px;
    color: var(--inasia-muted);
    font-size: 12px;
}


.development-gallery--v2 .development-gallery__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}


/* First image becomes the visual anchor */

.development-gallery--v2 .development-gallery__item:first-child {
    grid-column: 1 / -1;
}


/*
 * If the number of images leaves one final unpaired image,
 * make it full width rather than leaving an awkward half-row.
 */

.development-gallery--v2 .development-gallery__item:last-child:nth-child(even) {
    grid-column: 1 / -1;
}


.development-gallery--v2 .development-gallery__item {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    overflow: hidden;
    background: none;
    cursor: zoom-in;
}


.development-gallery--v2 .development-gallery__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition:
        transform .35s ease,
        opacity .35s ease;
}


.development-gallery--v2
.development-gallery__item:first-child
.development-gallery__image {
    aspect-ratio: 16 / 8;
}


.development-gallery--v2
.development-gallery__item:last-child:nth-child(even)
.development-gallery__image {
    aspect-ratio: 16 / 8;
}


@media (hover: hover) {

    .development-gallery--v2
    .development-gallery__item:hover
    .development-gallery__image {
        transform: scale(1.015);
        opacity: .94;
    }
}


/* =========================================================
   Gallery lightbox
   ========================================================= */

.inasia-lightbox[hidden] {
    display: none;
}


.inasia-lightbox {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 90px;
    background: rgba(14, 23, 26, .94);
}


.inasia-lightbox-open {
    overflow: hidden;
}


.inasia-lightbox__figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1500px;
    height: 100%;
    margin: 0;
}


.inasia-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 150px);
    width: auto;
    height: auto;
    object-fit: contain;
}


.inasia-lightbox__caption {
    margin-top: 14px;
    color: rgba(255,255,255,.7);
    font-size: 13px;
    text-align: center;
}


.inasia-lightbox__close,
.inasia-lightbox__nav {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    background: rgba(0,0,0,.12);
    color: white;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}


.inasia-lightbox__close {
    top: 26px;
    right: 30px;
}


.inasia-lightbox__nav--prev {
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
}


.inasia-lightbox__nav--next {
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}


.inasia-lightbox__counter {
    position: absolute;
    right: 30px;
    bottom: 24px;
    color: rgba(255,255,255,.76);
    font-size: 12px;
}


@media (max-width: 720px) {

    .development-gallery--v2 {
        padding: 64px 0;
    }

    .development-gallery--v2
    .development-gallery__header h2 {
        font-size: 34px;
    }

    .development-gallery--v2
    .development-gallery__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .development-gallery--v2
    .development-gallery__item,
    .development-gallery--v2
    .development-gallery__item:first-child,
    .development-gallery--v2
    .development-gallery__item:last-child:nth-child(even) {
        grid-column: auto;
    }

    .development-gallery--v2
    .development-gallery__image,
    .development-gallery--v2
    .development-gallery__item:first-child
    .development-gallery__image,
    .development-gallery--v2
    .development-gallery__item:last-child:nth-child(even)
    .development-gallery__image {
        aspect-ratio: 4 / 3;
    }

    .inasia-lightbox {
        padding: 70px 14px 80px;
    }

    .inasia-lightbox__close {
        top: 16px;
        right: 16px;
    }

    .inasia-lightbox__nav {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .inasia-lightbox__nav--prev {
        left: 12px;
    }

    .inasia-lightbox__nav--next {
        right: 12px;
    }

    .inasia-lightbox__counter {
        right: 16px;
        bottom: 20px;
    }
}


/* =========================================================
   Development Visual v2 — Hero
   ========================================================= */

.development-hero {
    padding: 0;
    background: var(--inasia-warm);
}

.development-hero > .site-shell {
    display: grid;
    grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.35fr);
    max-width: 1440px;
    min-height: 540px;
    padding: 0;
}

.development-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 52px 64px max(32px, calc((100vw - 1280px) / 2));
}

.development-hero h1 {
    max-width: 590px;
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: clamp(48px, 4.5vw, 72px);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 500;
}

.development-hero__meta {
    margin-bottom: 30px;
    color: var(--inasia-muted);
    font-size: 15px;
}

.development-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.development-hero__actions .button,
.development-hero__actions .text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid var(--inasia-blue);
    border-radius: 2px;
    text-decoration: none;
}

.development-hero__actions .button--primary {
    background: var(--inasia-blue);
    color: white;
}

.development-hero__actions .text-link {
    background: transparent;
    color: var(--inasia-blue);
}

.development-hero__media {
    position: relative;
    min-height: 540px;
    overflow: hidden;
}

.development-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   Development Visual v2 — Facts strip
   ========================================================= */

.development-facts {
    padding: 0;
    border-top: 1px solid var(--inasia-border);
    border-bottom: 1px solid var(--inasia-border);
    background: #fff;
}

.development-facts__grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(150px, 1fr));
    gap: 0;
}

.development-facts .fact {
    min-width: 0;
    padding: 22px 24px;
    border-left: 1px solid var(--inasia-border);
}

.development-facts .fact:first-child {
    border-left: 0;
}

.development-facts .fact span {
    display: block;
    margin-bottom: 6px;
    color: var(--inasia-muted);
    font-size: 11px;
    line-height: 1.3;
}

.development-facts .fact strong {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
}


/* =========================================================
   Development Visual v2 — InAsia View
   ========================================================= */

.inasia-view--v2 {
    padding: 82px 0;
    background: var(--inasia-soft-green);
}

.inasia-view--v2 .inasia-view__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.7fr);
    gap: 70px;
    align-items: start;
}

.inasia-view__lead h2 {
    max-width: 520px;
    margin: 9px 0 20px;
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 500;
}

.inasia-view--v2 .inasia-view__intro {
    max-width: 580px;
    margin: 0;
}

.inasia-view--v2 .inasia-view__intro p {
    margin: 0;
    color: var(--inasia-muted);
    font-size: 16px;
    line-height: 1.65;
}

.inasia-view--v2 .inasia-view__points {
    counter-reset: inasia-view-point;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(32,38,36,.15);
}

.inasia-view--v2 .inasia-view__point {
    counter-increment: inasia-view-point;
    position: relative;
    min-height: 122px;
    padding: 24px 28px 24px 0;
    border-bottom: 1px solid rgba(32,38,36,.15);
    color: var(--inasia-text);
    font-size: 15px;
    line-height: 1.45;
}

.inasia-view--v2 .inasia-view__point:nth-child(even) {
    padding-left: 28px;
    border-left: 1px solid rgba(32,38,36,.15);
}

.inasia-view--v2 .inasia-view__point::before {
    content: "0" counter(inasia-view-point);
    display: block;
    margin-bottom: 15px;
    color: var(--inasia-green);
    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
}


/* =========================================================
   Visual v2 — responsive
   ========================================================= */

@media (max-width: 960px) {

    .development-hero > .site-shell {
        grid-template-columns: 1fr 1fr;
    }

    .development-hero__copy {
        padding-left: 32px;
        padding-right: 32px;
    }

    .development-hero h1 {
        font-size: 48px;
    }

    .inasia-view--v2 .inasia-view__grid {
        gap: 44px;
    }
}


@media (max-width: 720px) {

    .development-hero > .site-shell {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .development-hero__copy {
        padding: 48px 22px 42px;
    }

    .development-hero h1 {
        font-size: 43px;
    }

    .development-hero__media {
        min-height: 360px;
    }

    .development-hero__image {
        position: absolute;
    }

    .development-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .development-hero__actions .button,
    .development-hero__actions .text-link {
        width: 100%;
    }


    .development-facts__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .development-facts .fact {
        padding: 18px 16px;
        border-top: 1px solid var(--inasia-border);
    }


    .inasia-view--v2 {
        padding: 64px 0;
    }

    .inasia-view--v2 .inasia-view__grid {
        display: block;
    }

    .inasia-view__lead h2 {
        font-size: 32px;
    }

    .inasia-view--v2 .inasia-view__points {
        grid-template-columns: 1fr;
        margin-top: 42px;
    }

    .inasia-view--v2 .inasia-view__point,
    .inasia-view--v2 .inasia-view__point:nth-child(even) {
        min-height: 0;
        padding: 20px 0;
        border-left: 0;
    }
}


/* =========================================================
   Visual v2 corrective pass
   Fix legacy CSS conflicts in Hero / InAsia View
   ========================================================= */


/* ---------- HERO ---------- */

.development-hero > .site-shell {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
}

.development-hero__copy,
.development-hero__media {
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0;
    width: auto;
    max-width: none;
    margin: 0;
}

.development-hero__copy {
    padding:
        64px
        46px
        64px
        max(40px, calc((100vw - 1280px) / 2));
}

.development-hero h1 {
    width: 100%;
    max-width: 100%;
    margin: 16px 0 20px;
    font-size: clamp(48px, 4.3vw, 64px);
    line-height: .98;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    word-break: normal;
}

.development-hero__media {
    min-height: 570px;
}

.development-hero__image {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
}


/* ---------- INASIA VIEW ---------- */

.inasia-view--v2 .inasia-view__point::before {
    content: none !important;
    display: none !important;
}

.inasia-view--v2 .inasia-view__point {
    min-height: 118px;
    padding: 28px 30px 28px 0;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
}

.inasia-view--v2 .inasia-view__point:nth-child(even) {
    padding-left: 30px;
}


/*
 * A restrained visual accent instead of numbered/bullet markers.
 */

.inasia-view--v2 .inasia-view__point::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 0;
    width: 18px;
    height: 1px;
    background: var(--inasia-green);
    transform: translateX(-30px);
}

.inasia-view--v2 .inasia-view__point:nth-child(even)::after {
    left: 30px;
    transform: translateX(0);
}

.inasia-view--v2 .inasia-view__point:nth-child(even) {
    padding-left: 64px;
}

.inasia-view--v2 .inasia-view__point:nth-child(odd) {
    padding-left: 34px;
}


@media (max-width: 960px) {

    .development-hero > .site-shell {
        grid-template-columns: minmax(0, 45%) minmax(0, 55%);
    }

    .development-hero__copy {
        padding-left: 30px;
        padding-right: 30px;
    }

    .development-hero h1 {
        font-size: 48px;
    }
}


@media (max-width: 720px) {

    .development-hero > .site-shell {
        display: flex;
    }

    .development-hero__copy {
        padding: 46px 22px 40px;
    }

    .development-hero h1 {
        font-size: 43px;
    }

    .development-hero__media {
        min-height: 360px;
    }


    .inasia-view--v2 .inasia-view__point,
    .inasia-view--v2 .inasia-view__point:nth-child(even),
    .inasia-view--v2 .inasia-view__point:nth-child(odd) {
        padding: 22px 0 22px 34px;
    }

    .inasia-view--v2 .inasia-view__point::after,
    .inasia-view--v2 .inasia-view__point:nth-child(even)::after {
        top: 30px;
        left: 0;
        transform: none;
    }
}


/* =========================================================
   Hero geometry refinement
   ========================================================= */

.development-hero > .site-shell {
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
}

.development-hero__copy {
    justify-content: flex-start;
    padding: 62px 46px 56px 42px;
}

.development-hero h1 {
    width: 100%;
    max-width: 540px;
    margin: 22px 0 28px;
    font-size: clamp(46px, 3.5vw, 58px);
    line-height: 1.00;
    letter-spacing: -.045em;
}

.development-hero__meta {
    margin: 0 0 42px;
}

.development-hero__actions {
    margin-top: 30px;
}

.development-hero__media {
    min-height: 570px;
}


/* Wider desktop screens */

@media (min-width: 1450px) {

    .development-hero > .site-shell {
        max-width: 1480px;
    }

    .development-hero__copy {
        padding-left: 48px;
        padding-right: 54px;
    }

    .development-hero h1 {
        max-width: 570px;
        font-size: 60px;
    }
}


/* Tablet */

@media (max-width: 960px) {

    .development-hero > .site-shell {
        grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    }

    .development-hero__copy {
        padding: 48px 30px 44px;
    }

    .development-hero h1 {
        max-width: 100%;
        font-size: 46px;
    }

    .development-hero__meta {
        margin-bottom: 30px;
    }
}


/* Mobile */

@media (max-width: 720px) {

    .development-hero > .site-shell {
        display: flex;
        max-width: none;
    }

    .development-hero__copy {
        padding: 44px 22px 38px;
    }

    .development-hero h1 {
        margin: 16px 0 22px;
        font-size: 42px;
    }
}


/* =========================================================
   Available Residences v2
   ========================================================= */

.development-residences {
    padding: 84px 0;
}

.development-residences__header {
    margin-bottom: 30px;
}

.residence-grid {
    gap: 18px;
}

.residence-card--v2 {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    padding: 0;
    overflow: hidden;
    border-radius: 2px;
}

.residence-card__media {
    position: relative;
    min-height: 270px;
    overflow: hidden;
}

.residence-card__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.residence-card__body {
    display: flex;
    flex-direction: column;
    padding: 30px;
}

.residence-card--v2 .residence-card__top {
    display: block;
    padding: 0;
    border: 0;
}

.residence-card--v2 .residence-card__top h3 {
    margin: 0 0 8px;
    font-size: 26px;
}

.residence-card--v2 .residence-card__top span {
    display: block;
    color: var(--inasia-muted);
    font-size: 14px;
}

.residence-card--v2 .residence-price {
    display: block;
    margin-top: 28px;
    padding: 0;
}

.residence-card--v2 .residence-price span {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
}

.residence-card--v2 .residence-price strong {
    display: block;
    color: var(--inasia-blue);
    font-size: 29px;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.residence-card--v2 .residence-price small {
    display: block;
    margin-top: 7px;
    color: var(--inasia-muted);
    font-size: 12px;
}

.residence-card--v2 .text-link {
    margin-top: auto;
    padding-top: 28px;
    font-size: 13px;
}


@media (max-width: 1100px) {

    .residence-card--v2 {
        grid-template-columns: 1fr;
    }

    .residence-card__media {
        min-height: 260px;
    }
}


@media (max-width: 720px) {

    .development-residences {
        padding: 64px 0;
    }

    .residence-card__media {
        min-height: 240px;
    }

    .residence-card__body {
        padding: 24px;
    }

    .residence-card--v2 .residence-price strong {
        font-size: 27px;
    }
}


/* Residence v2 fallback */

.residence-card--v2.residence-card--no-image {
    grid-template-columns: 1fr;
}

/* Available Residences — image proportions closer to approved mockup */
.residence-grid {
    gap: 24px;
}

.residence-card {
    grid-template-columns: minmax(260px, 44%) 1fr;
    min-height: 260px;
    align-items: stretch;
    overflow: hidden;
}

.residence-card__image {
    width: 100%;
    height: 100%;
    min-height: 260px;
    display: block;
    object-fit: cover;
    object-position: center center;
}

@media (max-width: 1180px) {
    .residence-card {
        grid-template-columns: minmax(220px, 42%) 1fr;
        min-height: 230px;
    }

    .residence-card__image {
        min-height: 230px;
    }
}

@media (max-width: 720px) {
    .residence-card {
        min-height: 0;
    }

    .residence-card__image {
        min-height: 200px;
    }
}


/* =========================================================
   Available Residences v2.1
   Compact proportions based on original visual concept
   ========================================================= */

.residence-card--v2 {
    grid-template-columns: 48% 52%;
    align-items: stretch;
    min-height: 0;
    height: 190px;
}

.residence-card--v2 .residence-card__media {
    position: relative;
    align-self: stretch;
    width: 100%;
    height: 190px;
    min-height: 0 !important;
    overflow: hidden;
}

.residence-card--v2 .residence-card__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.residence-card--v2 .residence-card__body {
    padding: 20px 24px;
}

.residence-card--v2 .residence-card__top h3 {
    margin-bottom: 4px;
    font-size: 22px;
    line-height: 1.1;
}

.residence-card--v2 .residence-card__top span {
    font-size: 13px;
}

.residence-card--v2 .residence-price {
    margin-top: 17px;
}

.residence-card--v2 .residence-price span {
    margin-bottom: 3px;
    font-size: 11px;
}

.residence-card--v2 .residence-price strong {
    font-size: 26px;
}

.residence-card--v2 .residence-price small {
    margin-top: 4px;
}

.residence-card--v2 .text-link {
    margin-top: auto;
    padding-top: 10px;
}


/* Medium screens: use one wider card per row */

@media (max-width: 1000px) {

    .residence-grid {
        grid-template-columns: 1fr;
    }

    .residence-card--v2 {
        grid-template-columns: 42% 58%;
        height: 210px;
    }

    .residence-card--v2 .residence-card__media {
        height: 210px;
    }
}


/* Mobile: image above content */

@media (max-width: 720px) {

    .residence-card--v2 {
        display: block;
        height: auto;
    }

    .residence-card--v2 .residence-card__media {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .residence-card--v2 .residence-card__body {
        padding: 22px;
    }
}


/* =========================================================
   Facilities v2
   ========================================================= */

.development-facilities {
    padding: 84px 0;
    background: var(--inasia-soft-green);
}

.development-facilities__header {
    margin-bottom: 40px;
}

.facility-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(32, 38, 36, .15);
}

.facility-group--v2 {
    min-width: 0;
    padding: 30px 30px 18px 0;
}

.facility-group--v2 + .facility-group--v2 {
    padding-left: 30px;
    border-left: 1px solid rgba(32, 38, 36, .15);
}

.facility-group__icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 52px;
    height: 52px;
    margin-bottom: 26px;
    color: var(--inasia-green);
}

.facility-group__icon svg {
    display: block;
    width: 46px;
    height: 46px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.facility-group--v2 h3 {
    margin: 0 0 20px;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.01em;
}

.facility-group--v2 ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.facility-group--v2 li {
    padding: 5px 0;
    color: var(--inasia-muted);
    font-size: 14px;
    line-height: 1.5;
}


/* Tablet */

@media (max-width: 960px) {

    .facility-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .facility-group--v2 {
        padding: 28px 28px 28px 0;
    }

    .facility-group--v2:nth-child(2) {
        padding-left: 28px;
    }

    .facility-group--v2:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(32, 38, 36, .15);
    }

    .facility-group--v2:nth-child(4) {
        padding-left: 28px;
        border-top: 1px solid rgba(32, 38, 36, .15);
    }
}


/* Mobile */

@media (max-width: 720px) {

    .development-facilities {
        padding: 64px 0;
    }

    .facility-grid {
        grid-template-columns: 1fr;
    }

    .facility-group--v2,
    .facility-group--v2 + .facility-group--v2,
    .facility-group--v2:nth-child(2),
    .facility-group--v2:nth-child(3),
    .facility-group--v2:nth-child(4) {
        padding: 26px 0;
        border-left: 0;
        border-top: 1px solid rgba(32, 38, 36, .15);
    }

    .facility-group--v2:first-child {
        border-top: 0;
    }

    .facility-group__icon {
        margin-bottom: 18px;
    }
}


/* =========================================================
   About + Location v2
   ========================================================= */


/* ABOUT */

.development-about {
    padding: 86px 0;
}

.development-about__grid {
    align-items: start;
}

.development-about .section-heading {
    grid-column: 1 / span 4;
}

.development-about__content {
    grid-column: 6 / span 6;
    max-width: 700px;
}

.development-about__content p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.62;
}

.development-about__content p:last-child {
    margin-bottom: 0;
}


/* LOCATION */

.development-location {
    padding: 92px 0 88px;
}

.development-location__top {
    align-items: start;
    margin-bottom: 52px;
}

.development-location .section-heading {
    grid-column: 1 / span 4;
}

.development-location__description {
    grid-column: 6 / span 6;
    max-width: 700px;
}

.development-location__description p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.62;
}

.location-grid {
    border-top: 1px solid var(--inasia-border);
}

.location-group {
    position: relative;
    min-height: 220px;
    padding: 26px 28px 18px 0;
}

.location-group + .location-group {
    padding-left: 28px;
}

.location-group__index {
    margin-bottom: 30px;
    color: var(--inasia-green);
    font-size: 11px;
    line-height: 1;
    letter-spacing: .12em;
    font-weight: 600;
}

.location-group h3 {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.01em;
}

.location-group li {
    position: relative;
    padding: 5px 0 5px 15px;
    font-size: 14px;
    line-height: 1.45;
}

.location-group li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .86em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--inasia-green);
}


/* TABLET */

@media (max-width: 960px) {

    .development-about__content,
    .development-location__description {
        grid-column: 5 / -1;
    }

    .location-group {
        min-height: 190px;
    }
}


/* MOBILE */

@media (max-width: 720px) {

    .development-about,
    .development-location {
        padding: 64px 0;
    }

    .development-about__content,
    .development-location__description {
        margin-top: 28px;
    }

    .development-about__content p,
    .development-location__description p {
        font-size: 16px;
        line-height: 1.6;
    }

    .development-location__top {
        margin-bottom: 32px;
    }

    .location-group,
    .location-group + .location-group {
        min-height: 0;
        padding: 24px 0;
    }

    .location-group__index {
        margin-bottom: 16px;
    }
}


/* =========================================================
   Construction Progress carousel v3
   ========================================================= */

.development-progress__gallery {
    margin-top: 46px;
}

.construction-carousel__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

.construction-carousel__count {
    color: var(--inasia-muted);
    font-size: 12px;
}

.construction-carousel__controls {
    display: flex;
    gap: 8px;
}

.construction-carousel__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--inasia-border);
    border-radius: 50%;
    background: transparent;
    color: var(--inasia-text);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition:
        background .2s ease,
        border-color .2s ease;
}

@media (hover: hover) {

    .construction-carousel__nav:hover {
        background: var(--inasia-white);
        border-color: var(--inasia-text);
    }
}


.construction-carousel {
    display: flex;
    gap: 14px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
}

.construction-carousel::-webkit-scrollbar {
    display: none;
}


.construction-carousel__item {
    position: relative;
    flex: 0 0 31.5%;
    min-width: 280px;
    padding: 0;
    border: 0;
    background: none;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    scroll-snap-align: start;
    cursor: zoom-in;
}


.construction-carousel__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transition:
        transform .3s ease,
        opacity .3s ease;
}


@media (hover: hover) {

    .construction-carousel__item:hover
    .construction-carousel__image {
        transform: scale(1.015);
        opacity: .95;
    }
}


@media (max-width: 960px) {

    .construction-carousel__item {
        flex-basis: 46%;
        min-width: 260px;
    }
}


@media (max-width: 720px) {

    .development-progress__gallery {
        margin-top: 34px;
    }

    .construction-carousel__item {
        flex-basis: 82%;
        min-width: 0;
    }

    .construction-carousel__nav {
        width: 36px;
        height: 36px;
    }
}


/* =========================================================
   Location v3 — icons + map
   ========================================================= */

.development-location__map {
    position: relative;
    width: 100%;
    height: 440px;
    margin: 0 0 48px;
    overflow: hidden;
    background: #e9ebe7;
}

.development-location__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}


.location-group--v3 {
    min-height: 240px;
}

.location-group__icon {
    display: flex;
    align-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 25px;
    color: var(--inasia-green);
}

.location-group__icon svg {
    display: block;
    width: 46px;
    height: 46px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Numbers from Location v2 are no longer used */

.location-group__index {
    display: none;
}


@media (max-width: 960px) {

    .development-location__map {
        height: 380px;
        margin-bottom: 38px;
    }
}


@media (max-width: 720px) {

    .development-location__map {
        height: 330px;
        margin: 0 0 30px;
    }

    .location-group--v3 {
        min-height: 0;
    }

    .location-group__icon {
        margin-bottom: 16px;
    }
}


/* =========================================================
   Project Facts v2
   ========================================================= */

.development-project-facts {
    padding: 78px 0;
    background: var(--inasia-soft-green);
}

.development-project-facts .development-section__grid {
    align-items: start;
}

.project-facts-table {
    grid-column: 6 / -1;
    border-top: 1px solid var(--inasia-border);
}

.project-fact-row {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(0, 1.6fr);
    gap: 24px;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid var(--inasia-border);
}

.project-fact-row span {
    color: var(--inasia-muted);
    font-size: 12px;
    line-height: 1.4;
}

.project-fact-row strong {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}


@media (max-width: 960px) {

    .project-facts-table {
        grid-column: 5 / -1;
    }
}


@media (max-width: 720px) {

    .development-project-facts {
        padding: 60px 0;
    }

    .project-facts-table {
        margin-top: 28px;
    }

    .project-fact-row {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 18px;
        padding: 11px 0;
    }

    .project-fact-row span {
        font-size: 12px;
    }

    .project-fact-row strong {
        font-size: 14px;
    }
}


/* =========================================================
   Visual polish v1
   Gallery carousel + compact category icons
   ========================================================= */


/* ---------------------------------------------------------
   Development Gallery v3 — horizontal carousel
   --------------------------------------------------------- */

.development-gallery--v2
.development-gallery__header {
    align-items: flex-end;
}

.development-gallery__meta {
    display: flex;
    align-items: center;
    gap: 18px;
}

.development-gallery__count {
    padding: 0;
}

.development-gallery__controls {
    display: flex;
    gap: 8px;
}

.development-gallery__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--inasia-border);
    border-radius: 50%;
    background: transparent;
    color: var(--inasia-text);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition:
        background .2s ease,
        border-color .2s ease;
}

@media (hover: hover) {

    .development-gallery__nav:hover {
        background: var(--inasia-white);
        border-color: var(--inasia-text);
    }
}


/*
 * Override the old masonry/grid layout.
 * Desktop deliberately shows a piece of the next card.
 */

.development-gallery--v2
.development-gallery__grid {
    display: flex;
    grid-template-columns: none;
    gap: 14px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.development-gallery--v2
.development-gallery__grid::-webkit-scrollbar {
    display: none;
}


/* Remove all old first/last special-grid behaviour */

.development-gallery--v2
.development-gallery__item,
.development-gallery--v2
.development-gallery__item:first-child,
.development-gallery--v2
.development-gallery__item:last-child:nth-child(even) {
    flex: 0 0 41%;
    min-width: 360px;
    grid-column: auto;
    aspect-ratio: 16 / 10;
    scroll-snap-align: start;
}


/* Same visual ratio for every carousel image */

.development-gallery--v2
.development-gallery__image,
.development-gallery--v2
.development-gallery__item:first-child
.development-gallery__image,
.development-gallery--v2
.development-gallery__item:last-child:nth-child(even)
.development-gallery__image {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}


/* Tablet */

@media (max-width: 960px) {

    .development-gallery--v2
    .development-gallery__item,
    .development-gallery--v2
    .development-gallery__item:first-child,
    .development-gallery--v2
    .development-gallery__item:last-child:nth-child(even) {
        flex-basis: 58%;
        min-width: 320px;
    }
}


/* Mobile */

@media (max-width: 720px) {

    .development-gallery--v2
    .development-gallery__header {
        align-items: flex-end;
        gap: 18px;
    }

    .development-gallery__meta {
        gap: 10px;
    }

    .development-gallery__count {
        display: none;
    }

    .development-gallery__nav {
        width: 36px;
        height: 36px;
    }

    .development-gallery--v2
    .development-gallery__grid {
        display: flex;
        grid-template-columns: none;
        gap: 10px;
    }

    .development-gallery--v2
    .development-gallery__item,
    .development-gallery--v2
    .development-gallery__item:first-child,
    .development-gallery--v2
    .development-gallery__item:last-child:nth-child(even) {
        flex: 0 0 86%;
        min-width: 0;
        grid-column: auto;
        aspect-ratio: 4 / 3;
    }

    .development-gallery--v2
    .development-gallery__image,
    .development-gallery--v2
    .development-gallery__item:first-child
    .development-gallery__image,
    .development-gallery--v2
    .development-gallery__item:last-child:nth-child(even)
    .development-gallery__image {
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }
}


/* ---------------------------------------------------------
   Facilities — icon inline with heading
   --------------------------------------------------------- */

.facility-group--v2 {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
}

.facility-group__icon {
    grid-column: 1;
    grid-row: 1;
    width: 30px;
    height: 30px;
    margin: 0;
}

.facility-group__icon svg {
    width: 28px;
    height: 28px;
}

.facility-group--v2 h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

.facility-group--v2 ul {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 18px;
}


/* ---------------------------------------------------------
   Location — icon inline with heading
   --------------------------------------------------------- */

.location-group--v3 {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 12px;
    align-content: start;
    align-items: center;
    min-height: 205px;
}

.location-group__icon {
    grid-column: 1;
    grid-row: 1;
    width: 30px;
    height: 30px;
    margin: 0;
}

.location-group__icon svg {
    width: 28px;
    height: 28px;
}

.location-group--v3 h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

.location-group--v3 ul {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 18px;
}


/* Keep same inline pattern on mobile */

@media (max-width: 720px) {

    .facility-group__icon,
    .location-group__icon {
        width: 28px;
        height: 28px;
        margin: 0;
    }

    .facility-group__icon svg,
    .location-group__icon svg {
        width: 26px;
        height: 26px;
    }

    .facility-group--v2 ul,
    .location-group--v3 ul {
        margin-top: 15px;
    }
}


/* ---------------------------------------------------------
   Separate Construction from Project Facts
   --------------------------------------------------------- */

.development-project-facts {
    background: var(--inasia-white);
}


/* =========================================================
   Development Page — Global Polish v1
   Typography + tighter vertical rhythm
   ========================================================= */


/* ---------------------------------------------------------
   Typography hierarchy
   --------------------------------------------------------- */

.eyebrow {
    margin-bottom: 12px;
    font-size: 11px;
    line-height: 1.2;
}

.section-heading h2,
.development-residences__header h2,
.development-gallery--v2 .development-gallery__header h2,
.development-facilities__header h2,
.development-progress__header h2 {
    font-size: 38px;
    line-height: 1.07;
    letter-spacing: -0.035em;
}


/* ---------------------------------------------------------
   Global vertical rhythm
   --------------------------------------------------------- */

/* Normal sections */

.inasia-view,
.development-residences,
.development-gallery--v2,
.development-facilities,
.development-progress {
    padding-top: 68px;
    padding-bottom: 68px;
}


/* Compact information sections */

.development-about {
    padding-top: 58px;
    padding-bottom: 58px;
}

.development-project-facts {
    padding-top: 56px;
    padding-bottom: 56px;
}


/* Location stays slightly more important visually */

.development-location {
    padding-top: 68px;
    padding-bottom: 64px;
}


/* Reduce internal header gaps */

.development-residences__header,
.development-gallery--v2 .development-gallery__header,
.development-facilities__header {
    margin-bottom: 28px;
}

.development-progress__header {
    margin-bottom: 34px;
}


/* About: tighter editorial block */

.development-about__content p {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   LOCATION — heading | text | map
   --------------------------------------------------------- */

@media (min-width: 1100px) {

    .development-location > .site-shell {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
    }

    /*
     * Makes the heading and description participate directly
     * in the outer 12-column grid.
     */
    .development-location__top {
        display: contents;
    }

    .development-location .section-heading {
        grid-column: 1 / span 3;
    }

    .development-location__description {
        grid-column: 4 / span 4;
        max-width: none;
        margin: 0;
    }

    .development-location__description p {
        margin-bottom: 14px;
        font-size: 16px;
        line-height: 1.58;
    }

    .development-location__map {
        grid-column: 8 / -1;
        width: 100%;
        height: 320px;
        margin: 0;
    }

    .location-grid {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 38px;
    }
}


/* Location POI groups slightly tighter */

.location-group--v3 {
    min-height: 180px;
}

.location-group--v3 ul {
    margin-top: 14px;
}

.location-group li {
    padding-top: 4px;
    padding-bottom: 4px;
}


/* ---------------------------------------------------------
   FACILITIES — slightly tighter
   --------------------------------------------------------- */

.facility-group--v2 {
    padding-top: 22px;
    padding-bottom: 12px;
}

.facility-group--v2 ul {
    margin-top: 14px;
}

.facility-group--v2 li {
    padding-top: 4px;
    padding-bottom: 4px;
}


/* ---------------------------------------------------------
   CONSTRUCTION — compact metrics
   --------------------------------------------------------- */

.construction-metric {
    gap: 20px;
    padding: 13px 0;
}

.construction-metric__label {
    font-size: 15px;
    line-height: 1.35;
}

.construction-metric__value {
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
}

.development-progress__updated strong {
    font-size: 18px;
}

.development-progress__gallery {
    margin-top: 30px;
}


/* ---------------------------------------------------------
   PROJECT FACTS — compact reference table
   --------------------------------------------------------- */

.project-fact-row {
    padding-top: 9px;
    padding-bottom: 9px;
}


/* =========================================================
   Mobile rhythm
   ========================================================= */

@media (max-width: 720px) {

    .eyebrow {
        margin-bottom: 10px;
        font-size: 11px;
    }

    .section-heading h2,
    .development-residences__header h2,
    .development-gallery--v2 .development-gallery__header h2,
    .development-facilities__header h2,
    .development-progress__header h2 {
        font-size: 32px;
        line-height: 1.08;
    }


    .inasia-view,
    .development-residences,
    .development-gallery--v2,
    .development-facilities,
    .development-about,
    .development-location,
    .development-progress,
    .development-project-facts {
        padding-top: 52px;
        padding-bottom: 52px;
    }


    .development-residences__header,
    .development-gallery--v2 .development-gallery__header,
    .development-facilities__header {
        margin-bottom: 24px;
    }

    .development-progress__header {
        margin-bottom: 26px;
    }


    .development-about__content,
    .development-location__description {
        margin-top: 22px;
    }


    .development-location__top {
        margin-bottom: 26px;
    }


    .location-grid {
        margin-top: 26px;
    }


    .facility-group--v2,
    .facility-group--v2 + .facility-group--v2,
    .facility-group--v2:nth-child(2),
    .facility-group--v2:nth-child(3),
    .facility-group--v2:nth-child(4) {
        padding-top: 20px;
        padding-bottom: 20px;
    }


    .location-group,
    .location-group + .location-group {
        padding-top: 20px;
        padding-bottom: 20px;
    }


    .construction-metric {
        gap: 16px;
        padding: 11px 0;
    }

    .construction-metric__label {
        font-size: 14px;
        line-height: 1.35;
    }

    .construction-metric__value {
        font-size: 19px;
    }

    .development-progress__updated strong {
        font-size: 17px;
    }

    .development-progress__gallery {
        margin-top: 26px;
    }
}

/* =========================================================
   Typography v1 — Onest
   Centralized system for EN/RU and future site-wide changes.
   ========================================================= */

body {
    font-family: var(--font-body);
    font-size: var(--type-body-size);
    line-height: var(--type-body-line);
    font-weight: 400;
}

.site-brand {
    font-weight: 600;
}

.site-nav a,
.language-switcher {
    font-weight: 500;
}

.eyebrow {
    font-size: 12px;
    line-height: 1.25;
    font-weight: var(--type-label-weight);
    letter-spacing: .085em;
}

.development-hero h1 {
    font-family: var(--font-heading);
    font-size: var(--type-h1-size);
    line-height: var(--type-h1-line);
    letter-spacing: var(--type-h1-track);
    font-weight: var(--type-heading-weight);
}

.development-hero__meta {
    font-size: 14.5px;
    line-height: 1.5;
}

.development-price span {
    font-size: 14px;
}

.development-price strong {
    font-weight: 500;
}

.section-heading h2,
.development-residences__header h2,
.development-gallery--v2 .development-gallery__header h2,
.development-facilities__header h2,
.development-progress__header h2 {
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}
.facility-group--v2 h3,
.location-group--v3 h3 {
    font-size: 16px;
    line-height: 1.30;
    letter-spacing: -.005em;
    font-weight: 600;
}

.residence-card--v2 h3 {
    font-size: 16.5px;
    line-height: 1.28;
    letter-spacing: -.005em;
    font-weight: 600;
}

.development-about__content,
.development-about__content p,
.development-location__description,
.development-location__description p {
    font-size: 16px;
    line-height: 1.58;
}

.facility-group--v2 li,
.location-group--v3 li {
    font-size: 15px;
    line-height: 1.52;
}

.development-facts .fact span {
    font-size: 12.5px;
    line-height: 1.4;
}
.development-facts .fact strong {
    font-size: 15.5px;
    line-height: 1.4;
    font-weight: 500;
}

.residence-card--v2 .text-link {
    font-size: 13.5px;
}

.residence-price span {
    font-size: 13px;
}

.residence-price strong {
    font-weight: 500;
}

.residence-price small {
    font-size: 12.5px;
    line-height: 1.4;
}

.construction-metric__label {
    font-size: 14.5px;
    line-height: 1.35;
}

.construction-metric__value {
    font-size: 20px;
    line-height: 1;
    font-weight: 500;
}
.development-progress__updated span {
    font-size: 11.5px;
}

.development-progress__updated strong {
    font-weight: 600;
}

.project-fact-row span {
    font-size: 13px;
    line-height: 1.45;
}

.project-fact-row strong {
    font-size: 15px;
    line-height: 1.45;
    font-weight: 500;
}

.button,
.text-link {
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
}

.development-cta h2 {
    font-family: var(--font-heading);
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -.025em;
    font-weight: var(--type-heading-weight);
}
@media (max-width: 720px) {
    :root {
        --type-h1-size: 39px;
        --type-h1-line: 1.03;
        --type-h1-track: -.022em;
        --type-h2-size: 29px;
        --type-h2-line: 1.10;
        --type-h2-track: -.018em;
    }

    .eyebrow {
        font-size: 11.5px;
        letter-spacing: .08em;
    }

    .development-hero__meta {
        font-size: 14px;
    }

    .development-facts .fact span {
        font-size: 12px;
    }

    .development-facts .fact strong {
        font-size: 15px;
    }

    .residence-card--v2 h3 {
        font-size: 16px;
    }
    .facility-group--v2 li,
    .location-group--v3 li {
        font-size: 14.5px;
        line-height: 1.5;
    }

    .project-fact-row span {
        font-size: 12.5px;
    }

    .project-fact-row strong {
        font-size: 14.5px;
    }

    .construction-metric__label {
        font-size: 14px;
    }

    .construction-metric__value {
        font-size: 19px;
    }

    .development-cta h2 {
        font-size: 34px;
        line-height: 1.07;
    }
}


/* =========================================================
   Hero overflow fix
   Old aspect-ratio + min-height forced media width > grid
   ========================================================= */

.development-hero__media {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    aspect-ratio: auto;
}

.development-hero__image {
    width: 100%;
    max-width: 100%;
    height: 100%;
}


/* Mobile keeps a controlled image proportion */

@media (max-width: 720px) {

    .development-hero__media {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

}

/* =========================================================
   Development Page — Launch Polish v1.1
   Approved launch-focused visual/readability pass.
   ========================================================= */

:root {
    --inasia-soft-blue: #EFF3F4;
    --inasia-reading: #46504C;
}

/* Keep body copy off pure black; use brand colors only as accents. */
body {
    color: var(--inasia-text);
}

/* Top facts: stronger scan hierarchy. */
.development-facts .fact strong,
.development-facts .fact strong a {
    color: var(--inasia-blue);
    font-weight: 600;
}

/* Why we selected it: existing numbered points act as lightweight infographic. */
.inasia-view--v2 .inasia-view__point::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 22px;
    margin-bottom: 13px;
    padding: 0 9px;
    border: 1px solid rgba(97, 123, 100, .34);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .055em;
}

/* Available residences: visually separate from adjacent sections and tighten rhythm. */
.development-residences {
    padding-top: 48px;
    padding-bottom: 48px;
    background: var(--inasia-soft-blue);
}

.development-residences__header {
    margin-bottom: 22px;
}

.residence-grid {
    gap: 14px;
}

.residence-card--v2 .residence-card__body {
    padding: 24px 26px;
}

.residence-card--v2 .residence-price {
    margin-top: 22px;
}

.residence-card--v2 .text-link {
    padding-top: 22px;
}

/* Gallery captions: visible page text, sourced only from WP attachment captions. */
.development-gallery--v2 .development-gallery__item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: auto;
    aspect-ratio: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.development-gallery--v2 .development-gallery__image,
.development-gallery--v2 .development-gallery__item:first-child .development-gallery__image,
.development-gallery--v2 .development-gallery__item:last-child:nth-child(even) .development-gallery__image {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.development-gallery__caption {
    display: block;
    min-height: 2.8em;
    padding: 10px 2px 0;
    color: var(--inasia-reading);
    font-size: 12.5px;
    line-height: 1.4;
}

/* Facilities + location: top-aligned and easier to scan. */
.facility-group--v2,
.location-group--v3 {
    align-items: start;
}

.facility-group--v2 h3,
.location-group--v3 h3 {
    color: var(--inasia-text);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 600;
}

.facility-group--v2 li,
.location-group--v3 li {
    color: var(--inasia-reading);
    font-size: 15.5px;
    line-height: 1.55;
}

.development-about__content,
.development-about__content p,
.development-location__description,
.development-location__description p {
    color: var(--inasia-reading);
}

/* Construction metrics: stage and percentage share one visual scale. */
.construction-metric__label,
.construction-metric__value {
    color: var(--inasia-text);
    font-size: 16px;
    line-height: 1.35;
}

.construction-metric__label {
    font-weight: 500;
}

.construction-metric__value {
    font-weight: 600;
}

/* Tighter section rhythm for launch v1. */
.inasia-view,
.development-gallery--v2,
.development-facilities,
.development-progress {
    padding-top: 56px;
    padding-bottom: 56px;
}

.development-about,
.development-project-facts {
    padding-top: 48px;
    padding-bottom: 48px;
}

.development-location {
    padding-top: 56px;
    padding-bottom: 52px;
}

@media (max-width: 720px) {
    .development-residences,
    .inasia-view,
    .development-gallery--v2,
    .development-facilities,
    .development-about,
    .development-location,
    .development-progress,
    .development-project-facts {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .development-residences__header {
        margin-bottom: 20px;
    }

    .residence-card--v2 .residence-card__body {
        padding: 22px;
    }

    .development-gallery--v2 .development-gallery__image,
    .development-gallery--v2 .development-gallery__item:first-child .development-gallery__image,
    .development-gallery--v2 .development-gallery__item:last-child:nth-child(even) .development-gallery__image {
        aspect-ratio: 4 / 3;
    }

    .development-gallery__caption {
        min-height: 0;
        font-size: 12px;
    }
}

/* =========================================================
   Homepage v1
   ========================================================= */

.home-hero {
    padding: 54px 0 64px;
    background: var(--inasia-warm);
}

.home-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    gap: 48px;
    align-items: stretch;
}

.home-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 560px;
    padding: 34px 0;
}

.home-hero h1 {
    max-width: 760px;
    margin: 16px 0 24px;
    font-family: var(--font-heading);
    font-size: clamp(44px, 5vw, 72px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.home-hero__lead {
    max-width: 610px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 18px;
    line-height: 1.55;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid var(--inasia-blue);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}
.home-button--primary {
    background: var(--inasia-blue);
    color: var(--inasia-white);
}

.home-button--secondary {
    background: transparent;
    color: var(--inasia-blue);
}

.home-hero__media,
.home-hero__placeholder {
    min-height: 560px;
    background: var(--inasia-soft-blue);
}

.home-hero__image {
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
}

.home-section {
    padding: 72px 0;
}
.home-section__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    gap: 48px;
    align-items: start;
    margin-bottom: 34px;
}

.home-section__header h2,
.home-approach__intro h2 {
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}

.home-section__header p,
.home-approach__intro > p {
    margin: 0;
    color: var(--inasia-reading);
}

.home-selected {
    background: var(--inasia-soft-blue);
}

.home-development-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.home-development-card {
    overflow: hidden;
    background: var(--inasia-white);
}

.home-development-card__image-link {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--inasia-soft-green);
}

.home-development-card__image,
.home-development-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-development-card__body {
    padding: 20px 20px 22px;
}

.home-development-card__location {
    margin-bottom: 6px;
    color: var(--inasia-green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-development-card h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;
}

.home-development-card h3 a,
.home-development-card__link {
    text-decoration: none;
}
.home-development-card__price {
    margin-top: 12px;
    color: var(--inasia-reading);
    font-size: 14px;
}

.home-development-card__link {
    display: inline-block;
    margin-top: 18px;
    color: var(--inasia-blue);
    font-size: 14px;
    font-weight: 600;
}

.home-empty-state {
    margin: 0;
    color: var(--inasia-muted);
}

.home-approach {
    background: var(--inasia-warm);
}
.home-approach__grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 72px;
    align-items: start;
}

.home-approach__intro {
    position: static;
}

.home-approach__intro > p {
    max-width: 520px;
    margin-top: 22px;
}

.home-approach__criteria {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--inasia-border);
    border-left: 1px solid var(--inasia-border);
}
.home-criterion {
    min-height: 220px;
    padding: 28px;
    border-right: 1px solid var(--inasia-border);
    border-bottom: 1px solid var(--inasia-border);
}

.home-criterion span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 28px;
    padding: 0 9px;
    border-radius: 999px;
    background: var(--inasia-soft-green);
    color: var(--inasia-green);
    font-size: 12px;
    font-weight: 700;
}

.home-criterion h3 {
    margin: 38px 0 10px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
}
.home-criterion p {
    margin: 0;
    color: var(--inasia-reading);
    font-size: 15px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .home-hero__grid,
    .home-approach__grid {
        grid-template-columns: 1fr;
    }

    .home-hero__copy {
        min-height: 0;
        padding: 20px 0 0;
    }

    .home-hero__media,
    .home-hero__placeholder,
    .home-hero__image {
        min-height: 440px;
    }

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

    .home-approach__intro {
        position: static;
    }
}
@media (max-width: 720px) {
    .home-hero {
        padding: 34px 0 42px;
    }

    .home-hero__grid {
        gap: 28px;
    }

    .home-hero h1 {
        font-size: 42px;
    }

    .home-hero__lead {
        font-size: 16px;
    }

    .home-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .home-hero__media,
    .home-hero__placeholder,
    .home-hero__image {
        min-height: 320px;
    }
    .home-section {
        padding: 48px 0;
    }

    .home-section__header {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .home-development-grid,
    .home-approach__criteria {
        grid-template-columns: 1fr;
    }

    .home-approach__grid {
        gap: 34px;
    }

    .home-criterion {
        min-height: 0;
    }
}
/* =========================================================
   Homepage full v1 extension
   ========================================================= */

.home-locations {
    background: var(--inasia-white);
}

.home-location-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.home-location-card {
    min-width: 0;
}

.home-location-card > a {
    position: relative;
    display: block;
    min-height: 390px;
    overflow: hidden;
    text-decoration: none;
    background: var(--inasia-soft-green);
}

.home-location-card__image,
.home-location-card__placeholder {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}

.home-location-card__placeholder {
    background: linear-gradient(
        135deg,
        var(--inasia-soft-green),
        var(--inasia-soft-blue)
    );
}

.home-location-card__image {
    transition: transform .35s ease;
}

.home-location-card > a:hover .home-location-card__image {
    transform: scale(1.015);
}

.home-location-card__overlay {
    position: absolute;
    inset: auto 0 0;
    padding: 34px;
    background: linear-gradient(
        to top,
        rgba(19, 31, 29, .78),
        rgba(19, 31, 29, .08)
    );
    color: var(--inasia-white);
}

.home-location-card__label {
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-location-card h3 {
    margin: 0;
    font-size: 36px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.025em;
}

.home-location-card__meta {
    margin-top: 12px;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
}

.home-pathways {
    background: var(--inasia-soft-green);
}

.home-pathway-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--inasia-border);
    border-left: 1px solid var(--inasia-border);
}

.home-pathway-card {
    min-height: 270px;
    padding: 30px;
    border-right: 1px solid var(--inasia-border);
    border-bottom: 1px solid var(--inasia-border);
    background: rgba(255, 255, 255, .42);
}

.home-pathway-card > span,
.home-process-step > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 28px;
    padding: 0 9px;
    border-radius: 999px;
    background: var(--inasia-white);
    color: var(--inasia-green);
    font-size: 12px;
    font-weight: 700;
}

.home-pathway-card h3 {
    min-height: 54px;
    margin: 54px 0 12px;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 600;
}

.home-pathway-card p {
    margin: 0;
    color: var(--inasia-reading);
    font-size: 15px;
    line-height: 1.58;
}
.home-process {
    background: var(--inasia-warm);
}

.home-process__grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 80px;
    align-items: start;
}

.home-process__intro h2 {
    margin: 10px 0 0;
    max-width: 560px;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}

.home-process__intro p {
    max-width: 540px;
    margin: 22px 0 0;
    color: var(--inasia-reading);
}

.home-process__steps {
    border-top: 1px solid var(--inasia-border);
}

.home-process-step {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 26px 0;
    border-bottom: 1px solid var(--inasia-border);
}

.home-process-step > span {
    background: var(--inasia-soft-blue);
    color: var(--inasia-blue);
}

.home-process-step h3 {
    margin: 2px 0 7px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
}

.home-process-step p {
    margin: 0;
    color: var(--inasia-reading);
    font-size: 15px;
    line-height: 1.55;
}

.home-enquiry {
    padding-top: 82px;
    padding-bottom: 82px;
}

.home-enquiry .development-enquiry__intro h2 {
    margin-top: 10px;
}

@media (max-width: 980px) {
    .home-location-card > a,
    .home-location-card__image,
    .home-location-card__placeholder {
        min-height: 330px;
    }

    .home-pathway-grid {
        grid-template-columns: 1fr;
    }

    .home-pathway-card {
        min-height: 0;
    }

    .home-pathway-card h3 {
        min-height: 0;
        margin-top: 34px;
    }

    .home-process__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }
}

@media (max-width: 720px) {
    .home-location-grid {
        grid-template-columns: 1fr;
    }

    .home-location-card > a,
    .home-location-card__image,
    .home-location-card__placeholder {
        min-height: 290px;
    }

    .home-location-card__overlay {
        padding: 26px 22px;
    }

    .home-location-card h3 {
        font-size: 31px;
    }

    .home-pathway-card {
        padding: 26px 22px;
    }

    .home-process-step {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
        padding: 22px 0;
    }

    .home-enquiry {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}
/* =========================================================
   Developments Archive v1
   ========================================================= */

.archive-development-hero {
    padding: 72px 0 54px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.archive-development-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.archive-development-hero h1 {
    max-width: 820px;
    margin: 14px 0 0;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.archive-development-hero p {
    margin: 0;
    max-width: 560px;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.6;
}
.archive-development-main {
    padding: 34px 0 72px;
    background: var(--inasia-white);
}

.development-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    background: var(--inasia-soft-blue);
}

.development-filter label {
    display: block;
    margin-bottom: 7px;
    color: var(--inasia-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.development-filter select {
    width: 100%;
    min-height: 44px;
    padding: 0 36px 0 12px;
    border: 1px solid var(--inasia-border);
    border-radius: 0;
    background: var(--inasia-white);
    color: var(--inasia-text);
    font: inherit;
    font-size: 14px;
}
.development-filters__actions {
    display: flex;
    align-items: center;
    gap: 13px;
}

.development-filters__reset {
    color: var(--inasia-muted);
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.development-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 0 18px;
    color: var(--inasia-text);
    font-size: 13px;
}

.development-results-bar__note {
    color: var(--inasia-muted);
    text-align: right;
}

.archive-development-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.archive-development-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--inasia-border);
    background: var(--inasia-warm);
}
.archive-development-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--inasia-soft-green);
}

.archive-development-card__image,
.archive-development-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-development-card__image {
    transition: transform .35s ease;
}

.archive-development-card:hover .archive-development-card__image {
    transform: scale(1.015);
}

.archive-development-card__body {
    padding: 20px 20px 22px;
}

.archive-development-card__topline,
.archive-development-card__status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--inasia-muted);
    font-size: 12px;
}

.archive-development-card__topline span:first-child {
    color: var(--inasia-green);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.archive-development-card h2 {
    margin: 8px 0 0;
    font-size: 21px;
    line-height: 1.22;
    font-weight: 600;
}

.archive-development-card h2 a,
.archive-development-card__link {
    text-decoration: none;
}

.archive-development-card__status {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--inasia-border);
}

.archive-development-card__price {
    margin-top: 20px;
}

.archive-development-card__price span {
    display: block;
    margin-bottom: 3px;
    color: var(--inasia-muted);
    font-size: 11px;
}

.archive-development-card__price strong {
    font-size: 17px;
    font-weight: 600;
    color: var(--inasia-blue);
}

.archive-development-card__link {
    display: inline-block;
    margin-top: 18px;
    color: var(--inasia-blue);
    font-size: 13px;
    font-weight: 600;
}
.development-empty {
    padding: 70px 28px;
    text-align: center;
    background: var(--inasia-soft-green);
}

.development-empty h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 500;
}

.development-empty p {
    margin: 12px 0 24px;
    color: var(--inasia-reading);
}

.development-pagination {
    margin-top: 40px;
}

.development-pagination .page-numbers {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.development-pagination a,
.development-pagination span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--inasia-border);
    text-decoration: none;
}
.development-pagination .current {
    background: var(--inasia-blue);
    border-color: var(--inasia-blue);
    color: var(--inasia-white);
}

.development-archive-cta {
    padding: 66px 0;
    background: var(--inasia-blue);
    color: var(--inasia-white);
}

.development-archive-cta__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.development-archive-cta .eyebrow {
    color: #CFDDD2;
}

.development-archive-cta h2 {
    max-width: 700px;
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: 40px;
    line-height: 1.06;
    letter-spacing: -.025em;
    font-weight: 500;
}

.development-archive-cta p {
    margin: 0 0 20px;
    color: rgba(255,255,255,.72);
}
.development-archive-cta__button {
    border-color: var(--inasia-white);
    background: var(--inasia-white);
    color: var(--inasia-blue);
}

@media (max-width: 1050px) {
    .development-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .development-filters__actions {
        grid-column: 1 / -1;
    }

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

@media (max-width: 720px) {
    .archive-development-hero {
        padding: 48px 0 38px;
    }

    .archive-development-hero__grid,
    .development-archive-cta__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .archive-development-hero h1 {
        font-size: 42px;
    }
    .archive-development-main {
        padding: 22px 0 48px;
    }

    .development-filters {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .development-filters__actions {
        grid-column: auto;
        align-items: stretch;
        flex-direction: column;
    }

    .development-results-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .development-results-bar__note {
        text-align: left;
    }

    .archive-development-grid {
        grid-template-columns: 1fr;
    }

    .development-archive-cta {
        padding: 50px 0;
    }

    .development-archive-cta h2 {
        font-size: 32px;
    }
}
/* =========================================================
   Location Pages v1
   ========================================================= */

.location-page-hero {
    padding: 54px 0 62px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.location-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 52px;
    align-items: stretch;
}

.location-page-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.location-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 28px;
    color: var(--inasia-muted);
    font-size: 12px;
}

.location-breadcrumbs a {
    text-decoration: none;
}

.location-page-hero h1 {
    margin: 14px 0 22px;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 68px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.location-page-hero__description {
    max-width: 620px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.62;
}

.location-page-hero__description p {
    margin: 0 0 14px;
}

.location-page-hero__meta {
    margin-top: 24px;
    color: var(--inasia-muted);
    font-size: 13px;
}

.location-page-hero__media,
.location-page-hero__placeholder {
    min-height: 500px;
    background: var(--inasia-soft-blue);
}

.location-page-hero__image {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
}

.location-subareas,
.location-properties {
    padding: 68px 0;
}
.location-subareas {
    background: var(--inasia-soft-green);
}

.location-properties {
    background: var(--inasia-white);
}

.location-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
    gap: 48px;
    align-items: end;
    margin-bottom: 30px;
}

.location-section-heading h2 {
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}

.location-section-heading p {
    margin: 0;
    color: var(--inasia-reading);
}

.location-properties__all {
    justify-self: end;
    align-self: end;
    color: var(--inasia-blue);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.location-subarea-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.location-subarea-card {
    overflow: hidden;
    background: var(--inasia-white);
}

.location-subarea-card > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.location-subarea-card__image,
.location-subarea-card__placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--inasia-soft-blue);
}

.location-subarea-card__image {
    transition: transform .35s ease;
}

.location-subarea-card:hover .location-subarea-card__image {
    transform: scale(1.015);
}

.location-subarea-card__body {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px 20px;
}

.location-subarea-card h3 {
    margin: 0;
    font-size: 19px;
    font-weight: 600;
}

.location-subarea-card span {
    flex-shrink: 0;
    color: var(--inasia-muted);
    font-size: 12px;
}

.location-page-cta {
    padding: 66px 0;
    background: var(--inasia-blue);
    color: var(--inasia-white);
}

.location-page-cta__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.location-page-cta .eyebrow {
    color: #CFDDD2;
}

.location-page-cta h2 {
    max-width: 720px;
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: 40px;
    line-height: 1.06;
    letter-spacing: -.025em;
    font-weight: 500;
}

.location-page-cta p {
    margin: 0 0 20px;
    color: rgba(255,255,255,.72);
}

.location-page-cta__button {
    border-color: var(--inasia-white);
    background: var(--inasia-white);
    color: var(--inasia-blue);
}

@media (max-width: 980px) {
    .location-page-hero__grid,
    .location-page-cta__grid {
        grid-template-columns: 1fr;
    }
    .location-page-hero__media,
    .location-page-hero__placeholder,
    .location-page-hero__image {
        min-height: 400px;
    }

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

@media (max-width: 720px) {
    .location-page-hero {
        padding: 36px 0 42px;
    }

    .location-page-hero__grid {
        gap: 28px;
    }

    .location-page-hero h1 {
        font-size: 42px;
    }

    .location-page-hero__description {
        font-size: 16px;
    }

    .location-page-hero__media,
    .location-page-hero__placeholder,
    .location-page-hero__image {
        min-height: 300px;
    }

    .location-subareas,
    .location-properties {
        padding: 48px 0;
    }

    .location-section-heading {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .location-properties__all {
        justify-self: start;
    }

    .location-subarea-grid {
        grid-template-columns: 1fr;
    }

    .location-page-cta {
        padding: 50px 0;
    }

    .location-page-cta h2 {
        font-size: 32px;
    }
}
/* =========================================================
   Areas Index v1
   ========================================================= */

.areas-index-hero {
    padding: 72px 0 54px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.areas-index-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.areas-index-hero h1 {
    max-width: 820px;
    margin: 14px 0 0;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.areas-index-hero p {
    margin: 0;
    max-width: 560px;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.6;
}
.areas-index-main {
    padding: 48px 0 72px;
    background: var(--inasia-white);
}

.areas-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.areas-index-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--inasia-border);
    background: var(--inasia-warm);
}

.areas-index-card > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.areas-index-card__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--inasia-soft-green);
}

.areas-index-card__image,
.areas-index-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.areas-index-card__image {
    transition: transform .35s ease;
}
.areas-index-card:hover .areas-index-card__image {
    transform: scale(1.015);
}

.areas-index-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: end;
    padding: 24px;
}

.areas-index-card__meta {
    margin-bottom: 8px;
    color: var(--inasia-green);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.areas-index-card h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.1;
    font-weight: 500;
}

.areas-index-card__description {
    max-width: 560px;
    margin-top: 12px;
    color: var(--inasia-reading);
    font-size: 14px;
    line-height: 1.55;
}

.areas-index-card__description p {
    margin: 0;
}

.areas-index-card__link {
    color: var(--inasia-blue);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
@media (max-width: 820px) {
    .areas-index-hero__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .areas-index-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .areas-index-hero {
        padding: 48px 0 38px;
    }

    .areas-index-hero h1 {
        font-size: 42px;
    }

    .areas-index-main {
        padding: 34px 0 48px;
    }

    .areas-index-card__body {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px;
    }

    .areas-index-card__link {
        white-space: normal;
    }
}
/* =========================================================
   Developer Pages v1
   ========================================================= */

.developer-page-v2__hero {
    padding: 54px 0 62px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.developer-page-v2__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
    gap: 60px;
    align-items: stretch;
}

.developer-page-v2__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.developer-page-v2__hero h1 {
    margin: 14px 0 20px;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.developer-page-v2__lead {
    max-width: 620px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.6;
}
.developer-page-v2__meta {
    margin-top: 22px;
    color: var(--inasia-muted);
    font-size: 13px;
}

.developer-page-v2__media,
.developer-page-v2__placeholder {
    min-height: 360px;
    background: var(--inasia-soft-blue);
}

.developer-page-v2__image {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: contain;
    padding: 34px;
    background: var(--inasia-white);
}

.developer-page-v2__about,
.developer-page-v2__projects {
    padding: 68px 0;
}

.developer-page-v2__about {
    background: var(--inasia-soft-green);
}

.developer-page-v2__projects {
    background: var(--inasia-white);
}

.developer-page-v2__about-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 70px;
}

.developer-page-v2__about h2,
.developer-page-v2__section-heading h2 {
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}

.developer-page-v2__content {
    color: var(--inasia-reading);
    font-size: 16px;
    line-height: 1.65;
}

.developer-page-v2__content > *:first-child {
    margin-top: 0;
}

.developer-page-v2__content > *:last-child {
    margin-bottom: 0;
}

.developer-page-v2__section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 30px;
    align-items: end;
    margin-bottom: 30px;
}

.developer-page-v2__all {
    color: var(--inasia-blue);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.developer-archive-hero {
    padding: 72px 0 54px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.developer-archive-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.developer-archive-hero h1 {
    max-width: 860px;
    margin: 14px 0 0;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.developer-archive-hero p {
    margin: 0;
    max-width: 560px;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.6;
}

.developer-archive-main {
    padding: 48px 0 72px;
    background: var(--inasia-white);
}

.developer-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.developer-archive-card {
    overflow: hidden;
    border: 1px solid var(--inasia-border);
    background: var(--inasia-warm);
}

.developer-archive-card > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.developer-archive-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--inasia-soft-blue);
}

.developer-archive-card__image,
.developer-archive-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.developer-archive-card__image {
    padding: 28px;
    background: var(--inasia-white);
}

.developer-archive-card__body {
    padding: 20px;
}

.developer-archive-card__meta {
    margin-bottom: 7px;
    color: var(--inasia-green);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.developer-archive-card h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 600;
}

.developer-archive-card p {
    margin: 12px 0 0;
    color: var(--inasia-reading);
    font-size: 14px;
    line-height: 1.55;
}
.developer-archive-card__link {
    display: inline-block;
    margin-top: 18px;
    color: var(--inasia-blue);
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 980px) {
    .developer-page-v2__hero-grid,
    .developer-page-v2__about-grid,
    .developer-archive-hero__grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 720px) {
    .developer-page-v2__hero {
        padding: 38px 0 42px;
    }

    .developer-page-v2__hero h1,
    .developer-archive-hero h1 {
        font-size: 42px;
    }

    .developer-page-v2__media,
    .developer-page-v2__placeholder,
    .developer-page-v2__image {
        min-height: 280px;
    }

    .developer-page-v2__about,
    .developer-page-v2__projects {
        padding: 48px 0;
    }
    .developer-page-v2__section-heading {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .developer-archive-hero {
        padding: 48px 0 38px;
    }

    .developer-archive-main {
        padding: 34px 0 48px;
    }

    .developer-archive-grid {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   Static Pages v1 — About / Approach / Contact
   ========================================================= */

.static-page-hero {
    padding: 72px 0 58px;
    background: var(--inasia-warm);
    border-bottom: 1px solid var(--inasia-border);
}

.static-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 70px;
    align-items: end;
}

.static-page-hero h1 {
    max-width: 850px;
    margin: 14px 0 0;
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 70px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.static-page-hero__grid > p {
    max-width: 570px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.62;
}

.static-page-section,
.approach-intro {
    padding: 68px 0;
    background: var(--inasia-white);
}

.static-page-section--soft,
.approach-intro {
    background: var(--inasia-soft-green);
}
.static-page-copy-grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 76px;
    align-items: start;
}

.static-page-copy-grid__label h2 {
    max-width: 520px;
    margin: 10px 0 0;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}

.static-page-prose {
    max-width: 700px;
    color: var(--inasia-reading);
    font-size: 16px;
    line-height: 1.68;
}

.static-page-prose p {
    margin: 0 0 20px;
}

.static-page-prose p:last-child {
    margin-bottom: 0;
}

.static-page-link {
    color: var(--inasia-blue);
    font-weight: 600;
    text-decoration: none;
}

.approach-steps {
    padding: 0 0 72px;
    background: var(--inasia-white);
}

.approach-step {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 28px;
    padding: 42px 0;
    border-top: 1px solid var(--inasia-border);
}
.approach-step:last-child {
    border-bottom: 1px solid var(--inasia-border);
}

.approach-step > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 30px;
    border-radius: 999px;
    background: var(--inasia-soft-blue);
    color: var(--inasia-blue);
    font-size: 12px;
    font-weight: 700;
}

.approach-step h2 {
    margin: 0 0 14px;
    font-family: var(--font-heading);
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.018em;
    font-weight: 500;
}

.approach-step p {
    max-width: 760px;
    margin: 0 0 12px;
    color: var(--inasia-reading);
    line-height: 1.65;
}

.contact-page-main {
    padding: 68px 0 76px;
    background: var(--inasia-white);
}

.contact-page-grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 80px;
    align-items: start;
}

.contact-page-details h2 {
    margin: 10px 0 18px;
    font-family: var(--font-heading);
    font-size: var(--type-h2-size);
    line-height: var(--type-h2-line);
    letter-spacing: var(--type-h2-track);
    font-weight: var(--type-heading-weight);
}
.contact-page-details > p {
    max-width: 500px;
    margin: 0;
    color: var(--inasia-reading);
    line-height: 1.62;
}

.contact-page-method {
    margin-top: 34px;
    padding-top: 20px;
    border-top: 1px solid var(--inasia-border);
}

.contact-page-method span {
    display: block;
    margin-bottom: 5px;
    color: var(--inasia-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.contact-page-method a {
    color: var(--inasia-blue);
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}

.contact-page-note {
    margin-top: 34px;
    padding: 22px;
    background: var(--inasia-soft-green);
}

.contact-page-note strong {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

.contact-page-note p {
    margin: 0;
    color: var(--inasia-reading);
    font-size: 14px;
    line-height: 1.55;
}

.contact-page-form {
    padding: 32px;
    background: var(--inasia-blue);
    color: var(--inasia-white);
}

.contact-page-form .inquiry-message {
    color: var(--inasia-white);
}
@media (max-width: 900px) {
    .static-page-hero__grid,
    .static-page-copy-grid,
    .contact-page-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 720px) {
    .static-page-hero {
        padding: 48px 0 40px;
    }

    .static-page-hero h1 {
        font-size: 42px;
    }

    .static-page-section,
    .approach-intro,
    .contact-page-main {
        padding: 48px 0;
    }

    .approach-steps {
        padding-bottom: 48px;
    }

    .approach-step {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 14px;
        padding: 30px 0;
    }

    .approach-step h2 {
        font-size: 24px;
    }

    .contact-page-form {
        padding: 22px;
    }
}
/* =========================================================
   Footer v2
   ========================================================= */

.site-footer--v2 {
    padding: 0;
    background: var(--inasia-warm);
}

.site-footer-v2__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 72px;
    padding-top: 52px;
    padding-bottom: 48px;
}

.site-footer-v2__brand p {
    max-width: 390px;
    margin: 18px 0 14px;
    color: var(--inasia-reading);
    font-size: 14px;
    line-height: 1.55;
}

.site-footer-v2__email {
    color: var(--inasia-blue);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.site-footer-v2__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px;
}
.site-footer-v2__nav > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-footer-v2__nav span {
    margin-bottom: 12px;
    color: var(--inasia-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.site-footer-v2__nav a {
    margin: 5px 0;
    color: var(--inasia-text);
    font-size: 14px;
    text-decoration: none;
}

.site-footer-v2__nav a:hover,
.site-footer-v2__email:hover {
    color: var(--inasia-blue);
}

.site-footer-v2__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 20px;
    padding-bottom: 28px;
    border-top: 1px solid var(--inasia-border);
    color: var(--inasia-muted);
    font-size: 11px;
}

@media (max-width: 720px) {
    .site-footer-v2__grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 42px;
        padding-bottom: 34px;
    }
    .site-footer-v2__nav {
        gap: 24px;
    }

    .site-footer-v2__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}
/* =========================================================
   404 v1
   ========================================================= */

.not-found-page {
    padding: 110px 0 120px;
    background: var(--inasia-warm);
}

.not-found-page__inner {
    max-width: 820px;
}

.not-found-page h1 {
    margin: 14px 0 22px;
    font-family: var(--font-heading);
    font-size: clamp(46px, 6vw, 76px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.not-found-page p {
    max-width: 620px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.62;
}

.not-found-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

@media (max-width: 720px) {
    .not-found-page {
        padding: 72px 0 84px;
    }

    .not-found-page h1 {
        font-size: 42px;
    }

    .not-found-page__actions {
        align-items: stretch;
        flex-direction: column;
    }
}
/* =========================================================
   Contact messengers v1
   ========================================================= */

.contact-page-method + .contact-page-method {
    margin-top: 18px;
    padding-top: 18px;
}

.site-footer-v2__messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
}

.site-footer-v2__messengers a {
    color: var(--inasia-blue);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.site-footer-v2__messengers a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* =========================================================
   Analytics consent v2
   ========================================================= */

.inasia-cookie-consent {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    width: min(720px, calc(100vw - 40px));
    padding: 20px 22px;
    border: 1px solid var(--inasia-border);
    background: var(--inasia-white);
    box-shadow: 0 16px 50px rgba(32, 38, 36, .14);
}

.inasia-cookie-consent[hidden] {
    display: none;
}

.inasia-cookie-consent__copy strong {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
}
.inasia-cookie-consent__copy p {
    margin: 0;
    color: var(--inasia-reading);
    font-size: 13px;
    line-height: 1.5;
}

.inasia-cookie-consent__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.inasia-cookie-consent__button {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--inasia-border);
    background: transparent;
    color: var(--inasia-text);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.inasia-cookie-consent__button--primary {
    border-color: var(--inasia-blue);
    background: var(--inasia-blue);
    color: var(--inasia-white);
}

.site-footer-v2__bottom-links {
    display: flex;
    align-items: center;
    gap: 16px;
}
.site-footer-v2__cookie-settings {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--inasia-muted);
    font: inherit;
    font-size: 11px;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.site-footer-v2__cookie-settings:hover {
    color: var(--inasia-blue);
}

@media (max-width: 720px) {
    .inasia-cookie-consent {
        right: 12px;
        bottom: 12px;
        grid-template-columns: 1fr;
        gap: 16px;
        width: calc(100vw - 24px);
        padding: 18px;
    }

    .inasia-cookie-consent__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .inasia-cookie-consent__button {
        width: 100%;
    }

    .site-footer-v2__bottom-links {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}
/* =========================================================
   Retired projects 410 v1
   ========================================================= */

.retired-project-page {
    padding: 110px 0 120px;
    background: var(--inasia-warm);
}

.retired-project-page__inner {
    max-width: 820px;
}

.retired-project-page h1 {
    margin: 14px 0 22px;
    font-family: var(--font-heading);
    font-size: clamp(46px, 6vw, 76px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: var(--type-heading-weight);
}

.retired-project-page p {
    max-width: 650px;
    margin: 0;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.62;
}

.retired-project-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

@media (max-width: 720px) {
    .retired-project-page {
        padding: 72px 0 84px;
    }

    .retired-project-page h1 {
        font-size: 42px;
    }

    .retired-project-page__actions {
        align-items: stretch;
        flex-direction: column;
    }
}
/* =========================================================
   Legal pages v1
   ========================================================= */

.legal-page-prose ul {
    margin: 18px 0 0;
    padding-left: 22px;
}

.legal-page-prose li + li {
    margin-top: 8px;
}

.legal-page-prose a {
    color: var(--inasia-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-page-updated {
    margin-top: 22px;
    color: var(--inasia-muted);
    font-size: 13px;
}

.site-footer-v2__legal-link {
    color: var(--inasia-muted);
    font-size: 11px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-footer-v2__legal-link:hover {
    color: var(--inasia-blue);
}

.inquiry-form__footer small a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* =========================================================
   Launch candidate v3 — static CTA & Insights
   ========================================================= */

.static-page-cta {
    padding: 78px 0;
    background: var(--inasia-text);
    color: var(--inasia-white);
}

.static-page-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: 48px;
    align-items: end;
}

.static-page-cta h2 {
    max-width: 760px;
    margin: 10px 0 12px;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.02;
    letter-spacing: -.03em;
}

.static-page-cta p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    line-height: 1.6;
}

.static-page-cta .eyebrow {
    color: rgba(255, 255, 255, .58);
}

.insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.insight-card {
    min-height: 300px;
    padding: 28px;
    border: 1px solid var(--inasia-border);
    background: var(--inasia-white);
}

.insight-card__meta,
.insight-single__date {
    color: var(--inasia-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.insight-card h2 {
    margin: 14px 0 14px;
    font-size: 26px;
    line-height: 1.12;
}

.insight-card h2 a {
    color: inherit;
    text-decoration: none;
}

.insight-card p {
    color: var(--inasia-reading);
    line-height: 1.6;
}

.insight-single__body {
    max-width: 820px;
    margin: 0 auto;
    color: var(--inasia-reading);
    font-size: 17px;
    line-height: 1.75;
}

.insight-single__body h2 {
    margin: 42px 0 14px;
    color: var(--inasia-text);
    font-size: 30px;
    line-height: 1.15;
}

.insight-single__body p,
.insight-single__body ul {
    margin: 0 0 20px;
}

.insight-single__body a {
    color: var(--inasia-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.language-switcher__link {
    color: var(--inasia-muted);
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

.language-switcher__link--active {
    color: var(--inasia-text);
}

.language-switcher__sep {
    color: var(--inasia-muted);
    opacity: .55;
}

@media (max-width: 900px) {
    .insights-grid {
        grid-template-columns: 1fr;
    }

    .static-page-cta__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 720px) {
    .static-page-cta {
        padding: 58px 0;
    }

    .static-page-cta__inner {
        gap: 28px;
    }

    .insight-card {
        min-height: 0;
        padding: 22px;
    }
}


/* Location editorial media v2 */
.location-story-media {
    padding: 0 0 72px;
    background: var(--inasia-white);
}
.location-story-media__image {
    display: block;
    width: 100%;
    height: clamp(360px, 48vw, 620px);
    object-fit: cover;
}
@media (max-width: 720px) {
    .location-story-media {
        padding-bottom: 48px;
    }
    .location-story-media__image {
        height: 300px;
    }
}


/* Homepage trust cues v1 */
.home-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 28px;
    color: var(--inasia-muted);
    font-size: 12px;
    line-height: 1.45;
}
.home-hero__proof span {
    position: relative;
}
.home-hero__proof span + span::before {
    content: "·";
    position: absolute;
    left: -11px;
    color: var(--inasia-green);
}
@media (max-width: 720px) {
    .home-hero__proof {
        display: grid;
        gap: 6px;
    }
    .home-hero__proof span + span::before {
        display: none;
    }
}

/* Areas decision page v2 */
.areas-decision-section{padding:72px 0;background:var(--inasia-white)}
.areas-decision-section--soft{background:var(--inasia-warm)}
.areas-decision-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);gap:64px;align-items:end;margin-bottom:34px}
.areas-decision-heading h2,.areas-market-block h2,.areas-decision-cta h2{margin:10px 0 0;font-family:var(--font-heading);font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.03em;font-weight:var(--type-heading-weight)}
.areas-decision-heading>p{margin:0;color:var(--inasia-reading);font-size:16px;line-height:1.65}
.areas-compare{border-top:1px solid var(--inasia-border)}
.areas-compare__row{display:grid;grid-template-columns:minmax(150px,.55fr) repeat(2,minmax(0,1fr));border-bottom:1px solid var(--inasia-border)}
.areas-compare__row>div{padding:18px 20px;font-size:14px;line-height:1.55;color:var(--inasia-reading)}
.areas-compare__row>div+div{border-left:1px solid var(--inasia-border)}
.areas-compare__head>div{font-weight:600;color:var(--inasia-text);background:var(--inasia-warm)}
.areas-compare__label{font-weight:600;color:var(--inasia-text)!important}
.areas-motive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.areas-motive-card{padding:28px;border:1px solid var(--inasia-border);background:var(--inasia-white)}
.areas-motive-card h3{margin:0 0 12px;font-size:21px;font-weight:500}
.areas-motive-card p{margin:0;color:var(--inasia-reading);line-height:1.65}
.areas-market-block{padding:78px 0;background:var(--inasia-white);border-top:1px solid var(--inasia-border)}
.areas-market-block:nth-of-type(even){background:var(--inasia-soft-green)}
.areas-market-block__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.areas-market-block__lead{margin:20px 0;color:var(--inasia-reading);font-size:17px;line-height:1.65}
.areas-market-block h3{margin:30px 0 14px;font-size:20px;font-weight:500}
.areas-market-block ul{margin:0;padding-left:20px;color:var(--inasia-reading)}
.areas-market-block li{margin:0 0 10px;line-height:1.55}
.areas-market-block__areas{margin:24px 0;color:var(--inasia-reading);font-size:14px;line-height:1.6}
.areas-market-block__areas span{font-weight:600;color:var(--inasia-text)}
.areas-market-block__media{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:end}
.areas-market-block__image{display:block;width:100%;object-fit:cover}
.areas-market-block__image--hero{height:520px}
.areas-market-block__image--secondary{height:360px}
.areas-decision-cta{padding:70px 0;background:var(--inasia-blue);color:#fff}
.areas-decision-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.areas-decision-cta p{max-width:720px;margin:18px 0 0;line-height:1.6;opacity:.86}
.areas-decision-cta .eyebrow{color:inherit;opacity:.7}
@media(max-width:860px){
 .areas-decision-heading,.areas-market-block__grid,.areas-decision-cta__inner{grid-template-columns:1fr;gap:28px}
 .areas-motive-grid{grid-template-columns:1fr}
 .areas-market-block__media{grid-template-columns:1fr 1fr}
 .areas-market-block__image--hero,.areas-market-block__image--secondary{height:340px}
}
@media(max-width:620px){
 .areas-decision-section,.areas-market-block{padding:50px 0}
 .areas-compare{overflow-x:auto}
 .areas-compare__row{min-width:720px}
 .areas-market-block__media{grid-template-columns:1fr}
 .areas-market-block__image--hero{height:360px}
 .areas-market-block__image--secondary{height:280px}
 .areas-decision-cta{padding:52px 0}
}

/* InAsia market desktop layout & hero geometry v5 */
/* Prevent a taller copy column from stretching hero photography. */
@media (min-width: 981px) {
  .home-hero__grid {align-items:center}
  .home-hero__copy {min-height:0; padding:18px 0}
  .home-hero__media, .home-hero__placeholder {height:480px;min-height:0;overflow:hidden}
  .home-hero__image {display:block;height:100%;min-height:0;max-height:480px;object-fit:cover}
}
@media (min-width: 901px) {
  .location-page-hero__grid {align-items:center}
  .location-page-hero__media, .location-page-hero__placeholder {height:450px;min-height:0;overflow:hidden}
  .location-page-hero__image {display:block;height:100%;min-height:0;max-height:450px;object-fit:cover}
}
.areas-decision-hero {padding:54px 0 46px}
.areas-decision-hero h1 {font-size:clamp(38px,4vw,60px);max-width:800px}
.areas-decision-section {padding:56px 0}
.areas-decision-heading {gap:48px}
.areas-market-deck {background:var(--inasia-white);padding:62px 0 72px;border-top:1px solid var(--inasia-border)}
.areas-market-deck__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.areas-market-card {min-width:0;border:1px solid var(--inasia-border);background:var(--inasia-warm);display:flex;flex-direction:column}
.areas-market-card__media {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:8px;height:245px;overflow:hidden;background:var(--inasia-soft-blue)}
.areas-market-card__photo {display:block;width:100%;height:245px;object-fit:cover}
.areas-market-card__photo--detail {object-position:center}
.areas-market-card__content {display:flex;flex-direction:column;flex:1;padding:26px 28px 28px}
.areas-market-card h3 {margin:0 0 14px;font-family:var(--font-heading);font-size:clamp(31px,3vw,39px);line-height:1.1;font-weight:var(--type-heading-weight)}
.areas-market-card__lead {margin:0 0 22px;color:var(--inasia-reading);font-size:15px;line-height:1.65}
.areas-market-card__subheading {font-size:15px;font-weight:600;margin-bottom:10px}
.areas-market-card ul {margin:0 0 18px;padding-left:20px;color:var(--inasia-reading);font-size:14px;line-height:1.55}
.areas-market-card li {margin-bottom:9px}
.areas-market-card__districts {margin:auto 0 24px;color:var(--inasia-reading);font-size:14px;line-height:1.6}
.areas-market-card__districts strong {color:var(--inasia-text)}
.areas-market-card .home-button {align-self:flex-start}
.areas-compare__row {grid-template-columns:minmax(165px,.54fr) repeat(2,minmax(0,1fr))}
@media (max-width: 920px) {
  .areas-market-deck__grid {grid-template-columns:1fr}
  .areas-market-card__media, .areas-market-card__photo {height:270px}
  .areas-decision-heading {grid-template-columns:1fr;gap:16px}
}
@media (max-width: 720px) {
  .home-hero__media,.home-hero__placeholder {height:300px;min-height:0}
  .home-hero__image {height:100%;min-height:0;max-height:300px}
  .location-page-hero__media,.location-page-hero__placeholder {height:300px;min-height:0}
  .location-page-hero__image {height:100%;min-height:0;max-height:300px}
  .areas-decision-hero {padding:40px 0}
  .areas-decision-hero h1 {font-size:40px}
  .areas-market-deck {padding:44px 0}
  .areas-market-card__media, .areas-market-card__photo {height:210px}
  .areas-market-card__content {padding:22px}
  .areas-decision-section {padding:44px 0}
}

/* Areas desktop and enquiry hotfix v6 */
@media (min-width: 761px) {
  .areas-market-deck__grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .areas-decision-heading {grid-template-columns:minmax(0,1.05fr) minmax(250px,.75fr);}
}
.areas-decision-cta__inner {
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(30px,5vw,72px);
  align-items:start;
}
.areas-decision-cta__copy {padding-top:32px;}
.areas-decision-cta__form {
  min-width:0;
  padding:32px;
  border:1px solid rgba(255,255,255,.23);
  background:rgba(0,0,0,.07);
}
.areas-decision-cta__form h3 {
  margin:12px 0 28px;
  font-family:var(--font-heading);
  font-size:clamp(27px,3vw,38px);
  line-height:1.1;
  font-weight:var(--type-heading-weight);
}
.areas-decision-cta .inquiry-form {width:100%;}
@media (max-width: 900px) {
  .areas-decision-cta__inner {grid-template-columns:1fr;gap:26px;}
  .areas-decision-cta__copy {padding-top:0;}
}
@media (max-width: 760px) {
  .areas-decision-heading,.areas-market-deck__grid {grid-template-columns:1fr;}
  .areas-decision-cta__form {padding:22px;}
}
