/* ─────────────────────────────────────────
   PRIMA LIVING — Home Page Stylesheet
   File: ~/Files/templates/main/css/home.css
   ───────────────────────────────────────── */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --dark: #141414;
    --white: #FAFAFA;
    --forest: #092E1D;
    --forest-text: #043A23;
    --sage: #9EA274;
    --bg: #EEF0EE;
    --grey: #6C757D;
    --light-grey: #D9E2DB;
    --cool-grey: #C2CDC5;
    --orange: #DD6D26;
    --tag-bg: #EEEEEE;
    --shadow-grey: #272932;
    --s: 1; /* large-screen scale factor — only changes ≥1440 */
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: 'Nunito Sans', sans-serif;
    background: var(--bg);
    color: var(--dark);
    font-weight: 500;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    display: block;
    max-width: 100%;
}

.wrapper {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    background: var(--bg);
}

/* ══════════════════════════════════════════
   SHARED BUTTONS
══════════════════════════════════════════ */
.btn-forest-outline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    padding: 4px 20px;
    border: 1px solid var(--forest);
    border-radius: 2px;
    background: rgba(255,255,255,0.01);
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--dark);
    letter-spacing: 1.3px;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s, color .2s;
}

    .btn-forest-outline:hover {
        background: var(--forest);
        color: var(--white);
    }

.btn-forest-solid {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    padding: 4px 20px;
    border: 1px solid var(--forest);
    border-radius: 2px;
    background: var(--forest-text);
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--white);
    letter-spacing: 1.3px;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s;
}

    .btn-forest-solid:hover {
        opacity: .85;
    }

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
#home .hero {
    position: relative;
    background: var(--cool-grey);
    overflow: visible;
}

#home .hero-bg-wrap {
    position: relative;
    height: 492px;
    overflow: hidden;
}

#home .hero-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#home .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(114.8deg, rgba(255,255,255,0.7) 33.3%, rgba(255,255,255,0) 85.3%);
    pointer-events: none;
}

#home .hero-col {
    position: absolute;
    left: 80px;
    top: 50%;
    transform: translateY(-50%);
    width: 563px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#home .hero-title {
    font-family: 'STIX Two Text', serif;
    font-size: 56px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.2;
    margin: 0;
}

    #home .hero-title span {
        color: var(--sage);
    }

#home .hero-subtitle {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.5;
    max-width: 563px;
}

/* ── Desktop search bar ── */
#home .search-wrap {
    position: absolute;
    bottom: -10%;
    left: 40px;
    right: 40px;
    z-index: 10;
    background: var(--forest);
    border: 1px solid var(--cool-grey);
    border-radius: 2px;
    box-shadow: 0 8px 15px rgba(0,0,0,0.04);
    display: flex;
    height: 100px;
}

#home .search-title-col {
    background: var(--bg);
    border-right: 1px solid var(--light-grey);
    padding: 0 40px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

    #home .search-title-col p {
        font-family: 'STIX Two Text', serif;
        font-size: 22px;
        font-weight: 500;
        color: var(--dark);
        line-height: 1.3;
        white-space: pre-line;
    }

#home .search-location {
    position: relative;
    background: var(--white);
    border-right: 1px solid var(--light-grey);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 300px;
    cursor: pointer;
    user-select: none;
}

#home .search-location-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.5;
}

#home .search-location-val {
    font-size: 18px;
    font-style: italic;
    color: var(--grey);
    line-height: 1.5;
}

    #home .search-location-val.selected {
        font-style: normal;
        color: var(--dark);
        font-weight: 600;
    }

#home .search-chevron {
    position: absolute;
    right: 16px;
    bottom: 24px;
    font-size: 18px;
    color: var(--grey);
    transition: transform .2s;
}

#home .search-location.open .search-chevron {
    transform: rotate(180deg);
}

#home .search-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--white);
    border: 1px solid var(--light-grey);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 8px 20px rgba(0,0,0,.1);
    z-index: 200;
    max-height: 260px;
    overflow-y: auto;
}

    #home .search-dropdown.open {
        display: block;
    }

#home .search-dropdown-opt {
    padding: 12px 20px;
    font-size: 16px;
    cursor: pointer;
    transition: background .15s;
}

    #home .search-dropdown-opt:hover {
        background: var(--bg);
    }

    #home .search-dropdown-opt.active {
        background: var(--forest);
        color: var(--white);
    }

#home .search-living {
    background: var(--white);
    border-right: 1px solid var(--light-grey);
    padding: 0 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    overflow: hidden;
}

#home .search-living-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    opacity: .8;
}

#home .search-living-opts {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

#home .search-cb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    color: var(--dark);
    cursor: pointer;
    white-space: nowrap;
}

    #home .search-cb input[type="checkbox"] {
        width: 24px;
        height: 24px;
        border: 1px solid var(--cool-grey);
        background: var(--white);
        border-radius: 2px;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
        flex-shrink: 0;
        transition: background .15s, border-color .15s;
    }

    #home .search-cb input:checked {
        background: var(--forest);
        border-color: var(--forest);
    }

#home .search-btn-col {
    background: var(--white);
    padding: 15px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

#home .search-btn {
    background: var(--bg);
    border: 1px solid var(--cool-grey);
    border-radius: 2px;
    height: 64px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    letter-spacing: 1.6px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
    white-space: nowrap;
}

    #home .search-btn:hover {
        background: var(--light-grey);
    }

    #home .search-btn img {
        width: 24px;
        height: 24px;
    }

#home .hero-spacer {
    height: 58px;
    background: var(--bg);
}

/* ── Mobile search ── */
#home .search-mobile {
    display: none;
    background: var(--white);
}

#home .search-mobile-title {
    background: var(--bg);
    padding: 24px;
    font-family: 'STIX Two Text', serif;
    font-size: 30px;
    font-weight: 400;
    color: var(--dark);
    line-height: 1.33;
}

#home .smf {
    position: relative;
    padding: 14px 20px 14px 30px;
    border-bottom: 1px solid var(--light-grey);
    cursor: pointer;
    user-select: none;
    background: var(--white);
}

    #home .smf.open {
        border-color: var(--forest);
    }

#home .smf-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

#home .smf-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
}

#home .smf-chevron {
    font-size: 16px;
    color: var(--grey);
    transition: transform .2s;
}

#home .smf.open .smf-chevron {
    transform: rotate(180deg);
}

#home .smf-val {
    font-size: 18px;
    font-style: italic;
    color: var(--grey);
}

    #home .smf-val.selected {
        font-style: normal;
        color: var(--dark);
        font-weight: 600;
    }

#home .smf-living-panel {
    display: none;
    flex-direction: column;
    padding-top: 12px;
    border-top: 1px solid var(--light-grey);
    margin-top: 10px;
}

#home .smf.open .smf-living-panel {
    display: flex;
}

#home .smf-cb-item {
    padding: 10px 0;
    border-bottom: 1px solid var(--light-grey);
}

    #home .smf-cb-item:last-child {
        border-bottom: none;
    }

#home .search-mobile-btn-wrap {
    padding: 16px 20px;
}

#home .search-mobile-btn {
    width: 100%;
    height: 64px;
    background: var(--bg);
    border: 1px solid var(--cool-grey);
    border-radius: 2px;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    letter-spacing: 1.6px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
}

    #home .search-mobile-btn img {
        width: 24px;
        height: 24px;
    }

/* ══════════════════════════════════════════
   LIFESTYLE
══════════════════════════════════════════ */
#home .lifestyle {
    background: var(--bg);
    padding-top: 80px;
}

#home .lifestyle-row {
    display: flex;
    align-items: center;
    padding-bottom: 40px;
}

#home .lifestyle-col-text {
    flex: 0 0 720px;
    padding: 0 80px 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .lifestyle-heading {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#home .lifestyle-h2 {
    font-family: 'STIX Two Text', serif;
    font-size: 44px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.2;
    max-width: 508px;
}

#home .divider-sage {
    width: 80px;
    height: 4px;
    background: var(--sage);
    border-radius: 2px;
}

#home .lifestyle-body p {
    font-size: 18px;
    line-height: 1.5;
    color: var(--dark);
}

#home .lifestyle-link {
    font-size: 18px;
    font-weight: 500;
    color: var(--dark);
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

    #home .lifestyle-link:hover {
        color: var(--forest);
    }

#home .lifestyle-col-img {
    flex: 1;
    position: relative;
    aspect-ratio: 640 / 404;
    height: auto;
    min-height: 0;
}

#home .lifestyle-img-main {
    position: absolute;
    left: 18.75%;   /* 120/640 */
    top: 0;
    width: 81.25%;  /* 520/640 */
    height: 85.9%;  /* 347/404 */
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 24px 48px rgba(153, 163, 157, 0.3);
}

#home .lifestyle-img-side {
    position: absolute;
    left: 0;
    top: 50%;       /* 202/404 */
    width: 43.3%;   /* 277/640 */
    height: 50.5%;  /* 204/404 */
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 24px 48px rgba(153,163,157,0.2);
}

#home .lifestyle-img-right {
    display: none;
}

#home .feature-cards {
    display: flex;
    gap: 20px;
    padding: 0 40px 80px;
}

#home .feature-card {
    background: var(--white);
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#home .feature-card-icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

    #home .feature-card-icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

#home .feature-card-title {
    font-family: 'STIX Two Text', serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--dark);
    line-height: 32px;
}

#home .feature-card-body {
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.5;
}

/* ══════════════════════════════════════════
   PRIMA EXPERIENCE
══════════════════════════════════════════ */

/* Mobile-only headings: hidden on desktop */
#home .prima-exp-heading-mobile,
#home .care-heading-mobile {
    display: none;
}

#home .prima-exp {
    background: var(--white);
    display: flex;
    align-items: stretch;
    padding: 40px 0;
    overflow: hidden;
}

#home .prima-exp-img {
    flex: 1;
    max-height: 480px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home .prima-exp-col {
    flex: 1;
    padding: 80px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: center;
}

#home .prima-exp-heading {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#home .eyebrow {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--sage);
    letter-spacing: 0.72px;
    text-transform: uppercase;
    line-height: 1.5;
}

#home .section-h2 {
    font-family: 'STIX Two Text', serif;
    font-size: 44px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.2;
}

#home .section-body {
    font-size: 18px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.5;
}

/* ══════════════════════════════════════════
   CARE & SUPPORT
══════════════════════════════════════════ */
#home .care {
    background: var(--white);
    display: flex;
    align-items: stretch;
    padding: 40px 0;
    overflow: hidden;
}

#home .care-col {
    flex: 1;
    padding: 80px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: center;
    overflow: hidden;
}

#home .care-img {
    flex: 1;
    max-height: 480px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ══════════════════════════════════════════
   GUIDANCE
══════════════════════════════════════════ */
#home .guidance {
    background: var(--white);
    padding: 40px;
}

#home .guidance-inner {
    border: 1px solid var(--cool-grey);
    border-radius: 2px;
    display: flex;
    overflow: hidden;
    padding: 40px;
    gap: 40px;
    align-items: center;
}

#home .guidance-img {
    flex: 1;
    max-height: 373px;
    aspect-ratio: 137/80;
    object-fit: cover;
    border-radius: 2px;
}

#home .guidance-col {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .guidance-actions {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

/* ══════════════════════════════════════════
   CAREERS
══════════════════════════════════════════ */
#home .careers {
    background: var(--white);
    display: flex;
    align-items: center;
    padding: 40px 80px 80px;
    gap: 80px;
    overflow: hidden;
}

#home .careers-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .careers-imgs {
    flex: 1;
    position: relative;
    aspect-ratio: 716 / 416;
    height: auto;
    min-height: 0;
    overflow: hidden;
}

#home .careers-img-main {
    position: absolute;
    left: 29.6%;   /* 212/716 */
    top: 0;
    width: 41.2%;  /* 295/716 */
    height: 90.1%; /* 375/416 */
    object-fit: cover;
    border-radius: 2px;
    z-index: 1;
    box-shadow: 0 30px 60px rgba(153,163,157,0.5);
}

#home .careers-img-tl {
    position: absolute;
    left: 0;
    top: 9.1%;     /* 38/416 */
    width: 31.8%;  /* 228/716 */
    height: 54.8%; /* 228/416 */
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 30px 60px rgba(153,163,157,0.3);
}

#home .careers-img-br {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 31.8%;  /* 228/716 */
    height: 54.8%; /* 228/416 */
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 30px 60px rgba(153,163,157,0.3);
}

/* ══════════════════════════════════════════
   FAQ  ← z-index 재정리
══════════════════════════════════════════ */
#home .faq-section {
    background: var(--bg);
    border-bottom: 1px solid rgba(0,0,0,0.05);
    min-height: 720px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    /* isolation 제거 — 자식 z-index가 stacking context 내에서만 작동하는 문제 해결 */
}

#home .faq-heading {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    padding: 20px 40px;
    max-width: 1280px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

#home .faq-title-block {
    flex: 0 0 393px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#home .faq-desc-block {
    flex: 1;
    display: flex;
    gap: 40px;
    align-items: center;
}

#home .faq-divider-v {
    width: 4px;
    height: 80px;
    background: var(--sage);
    flex-shrink: 0;
}

#home .faq-desc {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--dark);
}

#home .faq-col {
    padding: 0 40px;
    max-width: 731px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    z-index: 2;
}

#home .faq-bg-img--desktop {
    position: absolute;
    right: -47px;
    top: 150px;
    max-width: 879px;
    max-height: 600px;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    aspect-ratio: 293 / 200;
}

#home .faq-bg-img--mobile {
    display: none;
}

#home .faq-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(127deg, #EEF0EE 31%, rgba(238,240,238,0.8) 61%);
    z-index: 1;
    pointer-events: none;
}

/* Accordion */
#home .faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#home .faq-item {
    background: var(--white);
    border: 1px solid rgba(116,131,134,0.2);
    border-radius: 2px;
    overflow: hidden;
}

    #home .faq-item:hover {
        border: 1px solid #DD6D26;
    }

    #home .faq-item summary {
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 20px 24px;
        cursor: pointer;
        font-size: 18px;
        font-weight: 700;
        color: var(--shadow-grey);
        line-height: 1.5;
    }

        #home .faq-item summary::-webkit-details-marker {
            display: none;
        }

        #home .faq-item summary .faq-icon {
            font-size: 20px;
            flex-shrink: 0;
            transition: transform .2s;
        }

    #home .faq-item[open] summary .faq-icon {
        /* icon text managed by JS */
    }

#home .faq-item-body {
    background: white;
    padding: 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--shadow-grey);
    opacity: .9;
}

    #home .faq-item-body a {
        opacity: 0.9;
        color: var(--Shadow-Grey, #272932);
        /* Mobile/body-sm */
        font-family: "Nunito Sans";
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-skip-ink: auto;
        text-decoration-thickness: auto;
        text-underline-offset: auto;
        text-underline-position: from-font;
    }

    #home .faq-links {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    #home .faq-links a {
        font-size: 18px;
        font-weight: 500;
        color: var(--dark);
        text-decoration: underline;
    }

        #home .faq-links a:hover {
            color: var(--forest);
        }

/* ══════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════ */
#home .testimonials {
    background: var(--bg);
    display: flex;
    flex-direction: column;
    align-items: center;
}

#home .testimonials-header {
    padding: 80px 80px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 1280px;
    width: 100%;
}

#home .testimonials-eyebrow {
    font-size: 18px;
    font-weight: 600;
    color: var(--sage);
    letter-spacing: 0.72px;
    text-transform: uppercase;
}

#home .testimonials-h2 {
    font-family: 'STIX Two Text', serif;
    font-size: 48px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.2;
    letter-spacing: -0.96px;
}

#home .carousel-outer {
    width: 100%;
    position: relative;
}

#home .carousel-viewport {
    overflow: hidden;
    width: 100%;
}

#home .carousel-track {
    display: flex;
    gap: 40px;
    padding: 40px;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}

#home .testimonial-card {
    background: var(--white);
    flex: 0 0 calc(33.333% - 27px);
    min-width: 0;
    padding: 60px 40px;
    border-radius: 2px;
    box-shadow: 0 8px 4px rgba(153,163,157,0.1);
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .testimonial-quote {
    font-size: 18px;
    font-style: italic;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.5;
    flex: 1;
}

#home .testimonial-author {
    font-size: 18px;
    font-weight: 500;
    color: var(--grey);
    line-height: 1.5;
}

#home .carousel-arrows {
    display: flex;
    gap: 16px;
    justify-content: center;
    padding: 0 40px 40px;
}

#home .carousel-arrow {
    width: 56px;
    height: 56px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

#home #testimonialPrev {
    background-image: url('/Files/templates/main/images/icons/bt_prev_circle.svg');
}

#home #testimonialPrev:hover {
    background-image: url('/Files/templates/main/images/icons/bt_prev_circle_hover.svg');
}

#home #testimonialNext {
    background-image: url('/Files/templates/main/images/icons/bt_next_circle.svg');
}

#home #testimonialNext:hover {
    background-image: url('/Files/templates/main/images/icons/bt_next_circle_hover.svg');
}

/* ══════════════════════════════════════════
   LOGOS
══════════════════════════════════════════ */
#home .logos {
    background: var(--bg);
    padding: 0 40px 40px;
}

#home .logos-title {
    text-align: center;
    padding: 48px 40px 0;
    font-size: 22px;
    font-weight: 600;
    color: var(--grey);
    line-height: 1.5;
    margin-bottom: 40px;
}

#home .logos-grid {
    display: flex;
    align-items: center;
    gap: 20px;
}

#home .logo-item {
    height: 90px;
    flex: 1 1 160px;
    max-width: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    #home .logo-item img {
        max-height: 90px;
        max-width: 180px;
        object-fit: contain;
        width: 100%;
        height: 100%;
    }

/* ══════════════════════════════════════════
   BOTTOM CTA
══════════════════════════════════════════ */
#home .bottom-cta {
    position: relative;
    height: 392px;
    overflow: hidden;
    background: #494d4d;
}

#home .bottom-cta-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home .bottom-cta-box {
    position: absolute;
    left: 40px;
    top: 55px;
    width: 680px;
    background: rgba(238,240,238,0.95);
    border: 1px solid var(--cool-grey);
    border-radius: 2px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .bottom-cta-title {
    font-family: 'STIX Two Text', serif;
    font-size: 32px;
    font-weight: 600;
    color: var(--dark);
    line-height: 44px;
}

#home .bottom-cta-body {
    font-size: 18px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.5;
    opacity: .7;
}

#home .bottom-cta-actions {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

/* ══════════════════════════════════════════
   COMMUNITY CARDS (home)
══════════════════════════════════════════ */
#home .communities {
    background: var(--bg);
    padding: 60px 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

#home .communities-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

#home .comm-h2 {
    font-family: 'STIX Two Text', serif;
    font-size: 40px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.2;
}

#home .comm-sub {
    font-size: 18px;
    color: var(--grey);
    line-height: 1.5;
}

#home .community-grid {
    display: flex;
    gap: 20px;
    width: 100%;
}

#home .community-card {
    background: var(--white);
    border: 1px solid var(--cool-grey);
    border-radius: 4px;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    transition: box-shadow .25s, transform .25s;
}

    #home .community-card:hover {
        box-shadow: 0 12px 32px rgba(9,46,29,.12);
        transform: translateY(-3px);
    }

#home .comm-img-wrap {
    position: relative;
    aspect-ratio: 411.5/269;
    overflow: hidden;
}

#home .comm-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home .comm-overlay {
    position: absolute;
    inset: 0;
    background: rgba(226,229,226,.3);
    mix-blend-mode: soft-light;
    pointer-events: none;
}

#home .badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--orange);
    color: var(--white);
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
}

    #home .badge.waitlist {
        background: var(--grey);
    }

#home .comm-body {
    padding: 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#home .comm-location {
    font-size: 16px;
    color: var(--grey);
    line-height: 1.5;
    margin-bottom: 4px;
}

#home .comm-name {
    font-family: 'STIX Two Text', serif;
    font-size: 30px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.3;
    margin-bottom: 8px;
}

#home .comm-desc {
    font-size: 18px;
    line-height: 1.5;
    color: var(--dark);
}

#home .comm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

#home .tag {
    background: var(--tag-bg);
    border-radius: 2px;
    padding: 8px 11px;
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
}

#home .comm-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

#home .btn-secondary {
    flex: 1;
    height: 48px;
    border: 1px solid var(--forest);
    border-radius: 2px;
    background: none;
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    transition: background .2s;
}

    #home .btn-secondary:hover {
        background: var(--light-grey);
    }

#home .btn-primary-dark {
    flex: 1;
    height: 48px;
    background: var(--forest);
    border: 1px solid var(--forest);
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    color: var(--cool-grey);
    cursor: pointer;
    transition: opacity .2s;
}

    #home .btn-primary-dark:hover {
        opacity: .85;
    }

/* btn-outline half-border */
#home .btn-outline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    border: none;
    border-left: 1px solid var(--forest);
    border-right: 1px solid var(--forest);
    height: 48px;
    padding: 4px 20px;
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    background: none;
    transition: background .2s;
    width: 100%;
    white-space: nowrap;
    margin-top: auto;
}

    #home .btn-outline::before, #home .btn-outline::after {
        content: '';
        position: absolute;
        left: 0;
        width: 50%;
        height: 1px;
        background: var(--forest);
    }

    #home .btn-outline::before {
        top: 0;
    }

    #home .btn-outline::after {
        bottom: 0;
    }

    #home .btn-outline:hover {
        background: var(--light-grey);
    }

#home .btn-explore-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    border: none;
    border-left: 1px solid var(--forest);
    border-right: 1px solid var(--forest);
    height: 48px;
    padding: 4px 20px;
    font-size: 16px;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    background: none;
    width: 280px;
    gap: 20px;
    transition: background .2s;
}

    #home .btn-explore-more::before, #home .btn-explore-more::after {
        content: '';
        position: absolute;
        left: 0;
        width: 50%;
        height: 1px;
        background: var(--forest);
    }

    #home .btn-explore-more::before {
        top: 0;
    }

    #home .btn-explore-more::after {
        bottom: 0;
    }

    #home .btn-explore-more:hover {
        background: var(--light-grey);
    }

@media (max-width: 1200px) {
    #home .search-cb {
        font-size: 16px;
        gap: 6px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤1300px — search bar initial tighten
══════════════════════════════════════════ */
@media (max-width: 1300px) {
    #home .search-title-col {
        padding: 0 24px;
    }

    #home .search-title-col p {
        font-size: 18px;
    }

    #home .search-location {
        flex: 0 0 260px;
        padding: 16px;
    }

    #home .search-location-label,
    #home .search-location-val {
        font-size: 16px;
    }

    #home .search-living {
        padding: 0 16px;
        gap: 8px;
    }

    #home .search-living-label {
        font-size: 15px;
    }

    #home .search-living-opts {
        flex-wrap: nowrap;
        gap: 12px;
    }

    #home .search-cb {
        font-size: 15px;
        gap: 6px;
    }

    #home .search-cb input[type="checkbox"] {
        width: 18px;
        height: 18px;
    }

    #home .search-btn {
        padding: 0 20px;
        font-size: 14px;
        gap: 8px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤1100px
══════════════════════════════════════════ */
@media (max-width: 1100px) {
    #home .hero-col {
        left: 40px;
        width: 460px;
    }

    #home .hero-title {
        font-size: 46px;
    }

    #home .hero-subtitle {
        font-size: 20px;
    }

    /* Hide title col — not enough room */
    #home .search-title-col {
        display: none;
    }

    #home .search-location {
        flex: 0 0 220px;
    }

    #home .search-living {
        padding: 0 12px;
    }

    #home .search-cb {
        font-size: 14px;
    }

    #home .search-btn {
        padding: 0 16px;
    }

    #home .lifestyle-col-text {
        flex: 0 0 520px;
        padding: 0 40px 40px;
    }

    #home .lifestyle-h2 {
        font-size: 38px;
    }

    /* Reduce col padding so text doesn't get crushed */
    #home .prima-exp-col,
    #home .care-col {
        padding: 48px;
    }

    /* Guidance: tighten inner padding */
    #home .guidance-inner {
        padding: 28px;
        gap: 28px;
    }

    #home .guidance-col {
        padding: 16px;
    }

    #home .section-h2 {
        font-size: 38px;
    }

    #home .careers {
        padding: 40px 40px 60px;
        gap: 40px;
    }


    #home .faq-heading {
        padding: 20px 40px;
        gap: 20px;
    }

    #home .faq-title-block {
        flex: 0 0 280px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤1000px — column switch
══════════════════════════════════════════ */
@media (max-width: 1000px) {
    /* Hero */
    #home .hero-col {
        left: 40px;
        width: 400px;
    }

    #home .hero-title {
        font-size: 42px;
    }

    #home .search-location {
        flex: 0 0 220px;
    }

    /* Prima Exp → column: title → image → body */
    #home .prima-exp-heading-mobile {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        padding: 0 40px;
        order: 1;
    }

    #home .prima-exp-heading-desktop {
        display: none;
    }

    #home .prima-exp {
        flex-direction: column;
        padding: 40px 0;
        gap: 28px;
        align-items: center;
    }

    #home .prima-exp-img {
        order: 2;
        width: calc(100% - 80px);
        height: 300px;
        flex: none;
        border-radius: 2px;
        box-shadow: 0 16px 16px rgba(153,163,157,0.2);
    }

    #home .prima-exp-col {
        order: 3;
        padding: 0 40px;
        gap: 24px;
        width: 100%;
        justify-content: flex-start;
    }

        #home .prima-exp-col .btn-forest-outline {
            width: 100%;
            justify-content: center;
        }

    /* Care → column: title → image → body */
    #home .care-heading-mobile {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        padding: 0 40px;
        order: 1;
    }

    #home .care-heading-desktop {
        display: none;
    }

    #home .care {
        flex-direction: column;
        padding: 40px 0;
        gap: 28px;
        align-items: center;
    }

    #home .care-img {
        order: 2;
        width: calc(100% - 80px);
        height: 300px;
        flex: none;
        border-radius: 2px;
        box-shadow: 0 16px 16px rgba(153,163,157,0.15);
    }

    #home .care-col {
        order: 3;
        padding: 0 40px;
        gap: 24px;
        width: 100%;
    }

        #home .care-col .btn-forest-outline {
            width: 100%;
            justify-content: center;
        }

    /* Guidance → column */
    #home .guidance-inner {
        flex-direction: column;
        padding: 28px;
        gap: 24px;
    }

    #home .guidance-img {
        flex: none;
        width: 100%;
        max-height: none;
        aspect-ratio: 548/320;
    }

    #home .guidance-col {
        padding: 0;
        gap: 20px;
    }

    #home .guidance-actions {
        flex-direction: column;
        gap: 8px;
    }

        #home .guidance-actions .btn-forest-outline,
        #home .guidance-actions .btn-forest-solid {
            width: 100%;
            justify-content: center;
        }

    /* Careers */
    #home .careers {
        padding: 40px;
        gap: 32px;
    }

    /* Lifestyle text column */
    #home .lifestyle-col-text {
        flex: 0 0 460px;
    }

    #home .lifestyle-col-img {
        overflow: hidden;
    }

    #home .section-h2 {
        font-size: 36px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤900px (tablet)
══════════════════════════════════════════ */
@media (max-width: 900px) {
   

    #home .faq-section .faq-desc {
        font-size: 16px;
        width: 73%;
    }
    /*    #home .hero-overlay {
        background: linear-gradient(175deg, rgba(238,240,238,0.8) 5%, rgba(238,240,238,0.9) 58%, rgba(238,240,238,0.7) 93%);
    }*/
    #home .faq-section .section-h2 {
        font-size: 30px;
    }

    #home .hero-col {
        left: 0;
        width: 100%;
        padding: 40px;
        top: 0;
        transform: none;
    }

    #home .hero-title {
        font-size: 42px;
        letter-spacing: -0.84px;
    }

    #home .hero-subtitle {
        font-size: 18px;
        max-width: 100%;
    }

    #home .search-wrap {
        display: none;
    }

    #home .hero-spacer {
        display: none;
    }

    #home .search-mobile {
        display: block;
    }

    /* Lifestyle */
    #home .lifestyle {
        padding-top: 40px;
    }

    #home .lifestyle-row {
        display: flex;
        flex-direction: column;
    }

    #home .lifestyle-col-text {
        flex: none;
        width: 100%;
        padding: 40px 40px 20px;
        order: 1;
        gap: 24px;
    }

    #home .lifestyle-h2 {
        font-size: 36px;
    }

    #home .lifestyle-col-img {
        width: 100%;
        aspect-ratio: 390 / 260;
        height: auto;
        overflow: visible;
        order: 2;
        position: relative;
    }

    /* Center main image — home-bigger-image.webp */
    #home .lifestyle-img-main {
        position: absolute;
        left: 18.2%;
        top: 9.2%;
        width: 66.5%;
        height: 66.5%;
        max-width: none;
        max-height: none;
        object-fit: cover;
        border-radius: 2px;
        z-index: 1;
        box-shadow: 0 12px 12px rgba(153,163,157,0.2);
    }

    /* Left small image — home-smaller-image.webp */
    #home .lifestyle-img-side {
        display: block;
        position: absolute;
        left: -10.7%;
        top: 19.8%;
        width: 36.2%;
        height: 40%;
        max-width: none;
        max-height: none;
        object-fit: cover;
        border-radius: 2px;
        z-index: 0;
        box-shadow: 0 12px 12px rgba(153,163,157,0.2);
    }

    /* Right small image — intro-right-mobile.webp */
    #home .lifestyle-img-right {
        display: block;
        position: absolute;
        left: 71.5%;
        top: 19.8%;
        width: 39.2%;
        height: 40%;
        max-width: none;
        max-height: none;
        object-fit: cover;
        border-radius: 2px;
        z-index: 0;
        box-shadow: 0 12px 12px rgba(153,163,157,0.2);
    }

    #home .feature-cards {
        flex-direction: row;
        overflow-x: auto;
        padding: 0 20px 20px;
        gap: 12px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }

        #home .feature-cards::-webkit-scrollbar {
            height: 4px;
        }

    #home .feature-card {
        flex: 0 0 260px;
        scroll-snap-align: start;
        padding: 28px;
    }

    /* Prima Exp — image shrinks at 900px */
    #home .prima-exp-img {
        height: auto;
        width: calc(100% - 80px);
    }

    /* Care — image shrinks at 900px */
    #home .care-img {
        height: auto;
        width: calc(100% - 80px);
    }

    /* Guidance outer padding only */
    #home .guidance {
        padding: 20px;
    }

    /* Careers */
    #home .careers {
        flex-direction: column;
        padding: 40px;
        gap: 32px;
    }

    #home .careers-col .btn-forest-outline {
        width: 100%;
        justify-content: center;
    }

    #home .careers-imgs {
        flex: none;
        width: 100%;
        aspect-ratio: 390 / 372;
        height: auto;
        overflow: visible;
    }

    /* Center main */
    #home .careers-img-main {
        left: 21.7%;
        top: 8%;
        width: 56.6%;
        height: 75.5%;
        transform: none;
    }

    /* Top-left */
    #home .careers-img-tl {
        left: -19%;
        top: 15.9%;
        width: 43.7%;
        height: 45.9%;
    }

    /* Bottom-right */
    #home .careers-img-br {
        right: auto;
        bottom: auto;
        left: 74.7%;
        top: 45.8%;
        width: 43.7%;
        height: 45.9%;
    }

    /* FAQ */
    #home .faq-section {
        min-height: auto;
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: unset;
        padding-right: unset;
    }

    #home .faq-heading {
        flex-direction: column;
        gap: 16px;
        padding: 0 calc(42% + 12px) 20px 40px;
        margin-bottom: unset;
    }

    #home .faq-title-block {
        flex: none;
    }

    #home .faq-desc-block {
        gap: 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    #home .faq-divider-v {
        width: 80px;
        height: 4px;
    }

    #home .faq-links {
        padding-right: 40px;
        padding-left: 40px;
    }

    #home .faq-col {
        padding: 0;
        max-width: 100%;
        padding-right: 20px;
        padding-left: 20px;
    }

    #home .faq-bg-img--desktop {
        display: none;
    }

    #home .faq-bg-img--mobile {
        display: block;
        position: absolute;
        right: -8%;
        bottom: 0;
        top: auto;
        width: 100%;
        height: auto;
        max-width: 346px;
        max-height: 320px;
        aspect-ratio: unset;
        object-fit: cover;
        object-position: top center;
        z-index: -1;
        pointer-events: none;
    }

    #home .faq-bg-overlay {
        display: none;
    }

    /* Testimonials */
    #home .testimonials-header {
        padding: 40px 40px 20px;
    }

    #home .testimonials-h2 {
        font-size: 36px;
    }

    #home .carousel-track {
        padding: 20px;
        gap: 20px;
    }

    #home .testimonial-card {
        flex: 0 0 290px;
        padding: 40px 28px;
    }

    /* Communities */
    #home .communities {
        padding: 48px 40px;
    }

    #home .community-grid {
        flex-direction: column;
    }

    #home .btn-explore-more {
        width: 100%;
    }

    /* Bottom CTA — forest bg, photo top, box below */
    #home .bottom-cta {
        height: auto;
        min-height: 580px;
        background: var(--forest);
    }

    #home .bottom-cta-bg {
        height: 290px;
        width: 110%;
        top: 0;
        left: 0;
        object-fit: cover;
        object-position: right top;
    }

    #home .bottom-cta-box {
        position: relative;
        left: auto;
        top: auto;
        width: calc(100% - 40px);
        margin: 258px 20px 20px;
        background: rgba(238,240,238,0.97);
    }

    /* Logos */
    #home .logos {
        padding: 0 0 40px;
    }

    #home .logos-grid {
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 12px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 0 20px 4px;
    }

    #home .logos-grid::-webkit-scrollbar {
        display: none;
    }

    #home .logo-item {
        flex: 0 0 116px;
        width: 116px;
        height: 58px;
        scroll-snap-align: start;
    }

    #home .logo-item img {
        max-height: 58px;
        max-width: 116px;
    }

    #home .section-h2 {
        font-size: 36px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤640px (large mobile)
══════════════════════════════════════════ */
@media (max-width: 640px) {
    /* Hero */
    #home .hero-bg-wrap {
        height: 492px;
    }

    #home .hero-bg-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right center;
    }
    #home .prima-exp-img,
    #home .care-img {
        width: calc(100% - 40px);
        height: 240px;
    }

    #home .prima-exp-heading-mobile,
    #home .care-heading-mobile {
        padding: 0 24px;
    }

    #home .prima-exp-col,
    #home .care-col {
        padding: 0 24px;
    }

    #home .guidance {
        padding: 12px;
    }

    #home .guidance-inner {
        padding: 20px;
    }

    #home .careers {
        padding: 40px 24px;
    }


    #home .feature-card {
        flex: 0 0 240px;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE ≤540px (mobile)
══════════════════════════════════════════ */
@media (max-width: 540px) {
    /* Hero */
    
    #home .hero-col {
        padding: 32px 20px;
    }

    #home .hero-title {
        font-size: 36px;
    }

    #home .hero-subtitle {
        font-size: 16px;
    }

    #home .hero-title {
        font-size: 38px;
    }

    #home .hero-subtitle {
        font-size: 16px;
    }

    /* Mobile search title */
    #home .search-mobile-title {
        font-size: 26px;
        padding: 20px 24px;
    }

    /* Lifestyle */
    #home .lifestyle-col-text {
        padding: 32px 24px 16px;
        gap: 20px;
    }

    #home .lifestyle-h2 {
        font-size: 32px;
    }

    #home .lifestyle-link {
        font-size: 16px;
    }

    #home .feature-cards {
        padding: 0 16px 16px;
    }

    #home .feature-card {
        flex: 0 0 220px;
        padding: 24px;
        gap: 16px;
    }

    /* Prima exp & Care */
    #home .prima-exp,
    #home .care {
        padding: 32px 0;
        gap: 24px;
    }

    #home .prima-exp-img,
    #home .care-img {
        width: calc(100% - 32px);
        height: 200px;
    }

    #home .prima-exp-heading-mobile,
    #home .care-heading-mobile {
        padding: 0 20px;
    }

    #home .prima-exp-col,
    #home .care-col {
        padding: 0 20px;
        gap: 20px;
    }

    #home .section-h2 {
        font-size: 30px;
    }

    #home .section-body {
        font-size: 16px;
    }

    /* Guidance */
    #home .guidance {
        padding: 8px;
    }

    #home .guidance-inner {
        padding: 16px;
        gap: 16px;
    }

    /* Careers */
    #home .careers {
        padding: 32px 20px;
    }

    /* FAQ */
/*    #home .faq-section {
        padding: 32px 16px;
    }
*/
    #home .faq-heading {
        padding-top: unset;
        padding-right: 40px;
        padding-bottom: 40px;
        padding-left: 40px;
    }

    #home .faq-bg-img--mobile {
        max-height: 260px;
        right: -15%;
    }

    /* Testimonials */
    #home .testimonials-header {
        padding: 32px 20px 16px;
    }

    #home .testimonials-h2 {
        font-size: 30px;
    }

    #home .carousel-track {
        padding: 16px;
        gap: 16px;
    }

    #home .testimonial-card {
        flex: 0 0 260px;
        padding: 28px 20px;
        gap: 24px;
    }

    #home .testimonial-quote {
        font-size: 16px;
    }

    /* Logos */
    #home .logos-title {
        font-size: 16px;
    }


    /* Bottom CTA */
    #home .bottom-cta-bg {
        height: 260px;
    }

    #home .bottom-cta-box {
        margin: 230px 16px 16px;
        padding: 28px 24px;
        width: calc(100% - 32px);
    }

    #home .bottom-cta-title {
        font-size: 26px;
        line-height: 1.3;
    }

    #home .bottom-cta-body {
        font-size: 15px;
    }

    #home .bottom-cta-actions {
        flex-direction: column;
        gap: 8px;
    }

        #home .bottom-cta-actions .btn-forest-outline,
        #home .bottom-cta-actions .btn-forest-solid {
            width: 100%;
            justify-content: center;
        }

    /* Communities */
    #home .communities {
        padding: 32px 16px;
    }

    #home .comm-body {
        padding: 20px;
        gap: 16px;
    }

    #home .comm-name {
        font-size: 22px;
    }
}

/* ══════════════════════════════════════════
   LARGE DESKTOP (≥1440px) — PROPORTIONAL SCALING
   Same mechanism as header-nav.css: under 1440 everything
   uses the Figma 1440 values above; here --s runs 1 → 1.3333
   between 1440 and 1920 (then caps) and every fixed size is
   multiplied by it so the whole 1440 layout scales up to the
   1920 frame. .wrapper's max-width scales too so the content
   is allowed to grow past 1440 (up to 1920, centered).
   (length/length division in calc — evergreen browsers, 2023+)
══════════════════════════════════════════ */
/*@media (min-width: 1440px) {

    :root {
        --s: clamp(1, calc(100vw / 1440px), 1.3333);
    }*/

    /* Container cap grows 1440 → 1920 so scaled content fits */
    /*.wrapper {
        max-width: calc(1440px * var(--s));
    }*/

    /* ── Shared buttons ── */
    /*#home .btn-forest-outline,
    #home .btn-forest-solid {
        gap: calc(12px * var(--s));
        height: calc(48px * var(--s));
        padding: calc(4px * var(--s)) calc(20px * var(--s));
        font-size: calc(13px * var(--s));
        letter-spacing: calc(1.3px * var(--s));
    }*/

    /* ── Hero ── */
    /*#home .hero-bg-wrap {
        height: calc(492px * var(--s));
    }

    #home .hero-col {
        left: calc(80px * var(--s));
        width: calc(563px * var(--s));
        gap: calc(20px * var(--s));
    }

    #home .hero-title {
        font-size: calc(56px * var(--s));
    }

    #home .hero-subtitle {
        font-size: calc(22px * var(--s));
        max-width: calc(563px * var(--s));
    }*/

    /* ── Hero search bar ── */
    /*#home .search-wrap {
        left: calc(40px * var(--s));
        right: calc(40px * var(--s));
        height: calc(100px * var(--s));
    }

    #home .search-title-col {
        padding: 0 calc(40px * var(--s));
    }

        #home .search-title-col p {
            font-size: calc(22px * var(--s));
        }

    #home .search-location {
        padding: calc(20px * var(--s));
        gap: calc(8px * var(--s));
        flex: 0 0 calc(300px * var(--s));
    }

    #home .search-location-label,
    #home .search-location-val {
        font-size: calc(18px * var(--s));
    }

    #home .search-chevron {
        right: calc(16px * var(--s));
        bottom: calc(24px * var(--s));
        font-size: calc(18px * var(--s));
    }

    #home .search-dropdown-opt {
        padding: calc(12px * var(--s)) calc(20px * var(--s));
        font-size: calc(16px * var(--s));
    }

    #home .search-living {
        padding: 0 calc(20px * var(--s));
        gap: calc(12px * var(--s));
    }

    #home .search-living-label {
        font-size: calc(18px * var(--s));
    }

    #home .search-living-opts {
        gap: calc(16px * var(--s));
    }

    #home .search-cb {
        gap: calc(8px * var(--s));
        font-size: calc(18px * var(--s));
    }

        #home .search-cb input[type="checkbox"] {
            width: calc(24px * var(--s));
            height: calc(24px * var(--s));
        }

    #home .search-btn-col {
        padding: calc(15px * var(--s));
    }

    #home .search-btn {
        height: calc(64px * var(--s));
        padding: 0 calc(24px * var(--s));
        gap: calc(12px * var(--s));
        font-size: calc(16px * var(--s));
        letter-spacing: calc(1.6px * var(--s));
    }

        #home .search-btn img {
            width: calc(24px * var(--s));
            height: calc(24px * var(--s));
        }

    #home .hero-spacer {
        height: calc(58px * var(--s));
    }*/

    /* ── Lifestyle ── */
    /*#home .lifestyle {
        padding-top: calc(80px * var(--s));
    }

    #home .lifestyle-row {
        padding-bottom: calc(40px * var(--s));
    }

    #home .lifestyle-col-text {
        flex: 0 0 calc(720px * var(--s));
        padding: 0 calc(80px * var(--s)) calc(40px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .lifestyle-heading {
        gap: calc(16px * var(--s));
    }

    #home .lifestyle-h2 {
        font-size: calc(44px * var(--s));
        max-width: calc(508px * var(--s));
    }

    #home .divider-sage {
        width: calc(80px * var(--s));
        height: calc(4px * var(--s));
    }

    #home .lifestyle-body p {
        font-size: calc(18px * var(--s));
    }

    #home .lifestyle-link {
        font-size: calc(18px * var(--s));
    }

    #home .feature-cards {
        gap: calc(20px * var(--s));
        padding: 0 calc(40px * var(--s)) calc(80px * var(--s));
    }

    #home .feature-card {
        padding: calc(40px * var(--s));
        gap: calc(24px * var(--s));
    }

    #home .feature-card-icon {
        width: calc(64px * var(--s));
        height: calc(64px * var(--s));
    }

    #home .feature-card-title {
        font-size: calc(24px * var(--s));
        line-height: calc(32px * var(--s));
    }

    #home .feature-card-body {
        font-size: calc(16px * var(--s));
    }*/

    /* ── Prima Experience ── */
    /*#home .prima-exp {
        padding: calc(40px * var(--s)) 0;
    }

    #home .prima-exp-img {
        max-height: calc(480px * var(--s));
    }

    #home .prima-exp-col {
        padding: calc(80px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .prima-exp-heading {
        gap: calc(8px * var(--s));
    }

    #home .eyebrow {
        font-size: calc(18px * var(--s));
        letter-spacing: calc(0.72px * var(--s));
    }

    #home .section-h2 {
        font-size: calc(44px * var(--s));
    }

    #home .section-body {
        font-size: calc(18px * var(--s));
    }*/

    /* ── Care ── */
    /*#home .care {
        padding: calc(40px * var(--s)) 0;
    }

    #home .care-col {
        padding: calc(80px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .care-img {
        max-height: calc(480px * var(--s));
    }*/

    /* ── Guidance ── */
    /*#home .guidance {
        padding: calc(40px * var(--s));
    }

    #home .guidance-inner {
        padding: calc(40px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .guidance-img {
        max-height: calc(373px * var(--s));
    }

    #home .guidance-col {
        padding: calc(40px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .guidance-actions {
        gap: calc(20px * var(--s));
    }*/

    /* ── Careers ── */
    /*#home .careers {
        padding: calc(40px * var(--s)) calc(80px * var(--s)) calc(80px * var(--s));
        gap: calc(80px * var(--s));
    }

    #home .careers-col {
        gap: calc(40px * var(--s));
    }*/

    /* ── FAQ ── */
    /*#home .faq-section {
        min-height: calc(720px * var(--s));
        padding: calc(60px * var(--s)) calc(40px * var(--s));
    }

    #home .faq-heading {
        gap: calc(40px * var(--s));
        padding: calc(20px * var(--s)) calc(40px * var(--s));
        max-width: calc(1280px * var(--s));
        margin-bottom: calc(20px * var(--s));
    }

    #home .faq-title-block {
        flex: 0 0 calc(393px * var(--s));
        gap: calc(8px * var(--s));
    }

    #home .faq-desc-block {
        gap: calc(40px * var(--s));
    }

    #home .faq-divider-v {
        width: calc(4px * var(--s));
        height: calc(80px * var(--s));
    }

    #home .faq-desc {
        font-size: calc(18px * var(--s));
    }

    #home .faq-col {
        padding: 0 calc(40px * var(--s));
        max-width: calc(731px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .faq-bg-img--desktop {
        right: calc(-47px * var(--s));
        top: calc(150px * var(--s));
        max-width: calc(879px * var(--s));
        max-height: calc(600px * var(--s));
    }

    #home .faq-list {
        gap: calc(8px * var(--s));
    }

    #home .faq-item summary {
        gap: calc(16px * var(--s));
        padding: calc(20px * var(--s)) calc(24px * var(--s));
        font-size: calc(18px * var(--s));
    }

        #home .faq-item summary .faq-icon {
            font-size: calc(20px * var(--s));
        }

    #home .faq-item-body {
        padding: calc(24px * var(--s));
        font-size: calc(16px * var(--s));
    }

        #home .faq-item-body a {
            font-size: calc(16px * var(--s));
        }

    #home .faq-links {
        gap: calc(20px * var(--s));
    }

        #home .faq-links a {
            font-size: calc(18px * var(--s));
        }*/

    /* ── Testimonials ── */
    /*#home .testimonials-header {
        padding: calc(80px * var(--s)) calc(80px * var(--s)) calc(20px * var(--s));
        gap: calc(8px * var(--s));
        max-width: calc(1280px * var(--s));
    }

    #home .testimonials-eyebrow {
        font-size: calc(18px * var(--s));
        letter-spacing: calc(0.72px * var(--s));
    }

    #home .testimonials-h2 {
        font-size: calc(48px * var(--s));
        letter-spacing: calc(-0.96px * var(--s));
    }

    #home .carousel-track {
        gap: calc(40px * var(--s));
        padding: calc(40px * var(--s));
    }

    #home .testimonial-card {
        flex: 0 0 calc(33.333% - 27px * var(--s));
        padding: calc(60px * var(--s)) calc(40px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .testimonial-quote,
    #home .testimonial-author {
        font-size: calc(18px * var(--s));
    }

    #home .carousel-arrows {
        gap: calc(16px * var(--s));
        padding: 0 calc(40px * var(--s)) calc(40px * var(--s));
    }

    #home .carousel-arrow {
        width: calc(56px * var(--s));
        height: calc(56px * var(--s));
    }*/

    /* ── Logos ── */
    /*#home .logos {
        padding: 0 calc(40px * var(--s)) calc(40px * var(--s));
    }

    #home .logos-title {
        padding: calc(48px * var(--s)) calc(40px * var(--s)) 0;
        font-size: calc(22px * var(--s));
        margin-bottom: calc(40px * var(--s));
    }

    #home .logos-grid {
        gap: calc(20px * var(--s));
    }

    #home .logo-item {
        height: calc(90px * var(--s));
        flex: 1 1 calc(160px * var(--s));
        max-width: calc(220px * var(--s));
    }

        #home .logo-item img {
            max-height: calc(90px * var(--s));
            max-width: calc(180px * var(--s));
        }*/

    /* ── Bottom CTA ── */
    /*#home .bottom-cta {
        height: calc(392px * var(--s));
    }

    #home .bottom-cta-box {
        left: calc(40px * var(--s));
        top: calc(55px * var(--s));
        width: calc(680px * var(--s));
        padding: calc(40px * var(--s));
        gap: calc(40px * var(--s));
    }

    #home .bottom-cta-title {
        font-size: calc(32px * var(--s));
        line-height: calc(44px * var(--s));
    }

    #home .bottom-cta-body {
        font-size: calc(18px * var(--s));
    }

    #home .bottom-cta-actions {
        gap: calc(20px * var(--s));
    }
}*/
