/* ========================================================================== 
   ADARSH FOREST GLEN — PREMIUM PLOTTED COMMUNITY EXPERIENCE
   ========================================================================== */
:root {
    --adarsh-blue: #134a87;
    --forest-gold: #ca9332;
    --ink: #101619;
    --ink-soft: #596167;
    --paper: #fbfaf6;
    --warm-white: #f2eee6;
    --white: #fff;
    --black: #050708;
    --line: rgba(16,22,25,.14);
    --line-light: rgba(255,255,255,.2);
    --font-h: 'Albert Sans', sans-serif;
    --font-p: 'Inter', sans-serif;
    --gutter: clamp(22px, 6vw, 96px);
    --ease-cinematic: cubic-bezier(.16,1,.3,1);
    --ease-soft: cubic-bezier(.25,.8,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin:0;
    padding:0;
    background:var(--paper);
    color:var(--ink);
    overflow-x:hidden;
    font-family:var(--font-p);
    font-weight:300;
    -webkit-font-smoothing:antialiased;
}
img { max-width:100%; display:block; }
button, a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
a { color:inherit; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3,h4 { font-family:var(--font-h); }

/* ========================================================================== 
   MOTION — SCROLL DIRECTION AWARE
   ========================================================================== */
.motion-section,
.motion-reveal,
.motion-image {
    opacity:0;
    transform:translate3d(0,48px,0);
    transition:opacity 1s var(--ease-cinematic), transform 1.1s var(--ease-cinematic);
}
.motion-image { transform:translate3d(28px,0,0) scale(1.025); }
.motion-section.is-visible,
.motion-reveal.is-visible,
.motion-image.is-visible {
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}
.motion-section.entered-from-up,
.motion-reveal.entered-from-up { transform:translate3d(0,-28px,0); }
.motion-section.entered-from-down,
.motion-reveal.entered-from-down { transform:translate3d(0,48px,0); }
.motion-section.is-visible.entered-from-up,
.motion-section.is-visible.entered-from-down,
.motion-reveal.is-visible.entered-from-up,
.motion-reveal.is-visible.entered-from-down { transform:translate3d(0,0,0); }
.crafted-from-left { transform:translate3d(-74px,0,0) scale(1.025); }
.crafted-from-right { transform:translate3d(74px,0,0); }
.crafted-from-left.is-visible,
.crafted-from-right.is-visible { transform:translate3d(0,0,0); }
.motion-image img {
    transition:transform 1.35s var(--ease-cinematic), opacity .7s var(--ease-soft);
}
.motion-image.is-visible img { transform:scale(1.025); }
.swap-in { animation:imageSwap .7s var(--ease-cinematic); }
@keyframes imageSwap {
    0% { opacity:.22; transform:scale(1.045); }
    100% { opacity:1; transform:scale(1); }
}

.section-kicker {
    display:inline-block;
    margin-bottom:20px;
    font-family:var(--font-p);
    font-size:10px;
    font-weight:500;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--adarsh-blue);
}
.section-kicker.light { color:rgba(255,255,255,.74); }
.artistic-impression {
    position:absolute;
    left:18px;
    bottom:14px;
    z-index:6;
    font-size:8px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:rgba(255,255,255,.74);
    pointer-events:none;
}

/* ========================================================================== 
   HEADER — LOGO ONLY
   ========================================================================== */
.site-header {
    position:fixed;
    inset:0 0 auto;
    z-index:1050;
    height:82px;
    display:flex;
    align-items:center;
    padding:0 var(--gutter);
    pointer-events:none;
    transition:background .55s ease, backdrop-filter .55s ease;
}
.brand-logo { pointer-events:auto; }
.brand-logo img {
    width:150px;
    height:auto;
    transition:width .35s ease, opacity .35s ease;
}
.site-header.is-scrolled {
    background:rgba(251,250,246,.9);
    backdrop-filter:blur(12px);
    box-shadow:0 1px 0 rgba(16,22,25,.06);
    
}

/* ========================================================================== 
   01. HERO — TWO SEPARATE CINEMATIC CHAPTERS
   ========================================================================== */
.hero-entry { background:var(--black); }
.hero-panel {
    position:relative;
    min-height:100svh;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
}
.hero-panel + .hero-panel { border-top:1px solid rgba(255,255,255,.08); }
.hero-media,
.hero-media picture,
.hero-media img,
.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-media { overflow:hidden; }
.hero-image {
    object-fit:cover;
    object-position:center;
    filter:saturate(.91) contrast(1.03) brightness(.82);
    transform:scale(1.07);
    will-change:transform;
}
.hero-shade {
    background:linear-gradient(90deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.08) 40%,rgba(0,0,0,.62) 100%),linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.06) 62%);
}
.hero-panel-two .hero-shade {
    background:linear-gradient(270deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.05) 42%,rgba(0,0,0,.34) 100%),linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.03) 66%);
}
.hero-content {
    position:relative;
    z-index:4;
    width:min(660px,calc(100% - var(--gutter)*2));
    margin:0 var(--gutter) clamp(76px,10vh,118px) auto;
    text-align:right;
    color:#fff;
}
.hero-panel-two .hero-content { margin-left:var(--gutter); margin-right:auto; text-align:left; }
.hero-content h1,
.hero-content h2 {
    margin:0 0 16px;
    max-width:700px;
    font-size:clamp(42px,5.15vw,72px);
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.hero-location {
    margin-bottom:26px;
    color:rgba(255,255,255,.84);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.hero-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 25px;
    border:1px solid rgba(255,255,255,.68);
    background:rgba(255,255,255,.03);
    color:#fff !important;
    text-decoration:none !important;
    text-transform:uppercase;
    font-size:12px;
    font-weight:500;
    letter-spacing:.21em;
    backdrop-filter:blur(4px);
    transition:background .45s var(--ease-soft),color .45s var(--ease-soft),border-color .45s var(--ease-soft),transform .45s var(--ease-soft),box-shadow .45s ease;
}
.hero-cta:hover,
.hero-cta:focus-visible {
    background:#fff;
    color:var(--adarsh-blue) !important;
    border-color:#fff;
    transform:translateY(-3px);
    box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.hero-index { display:none; }

/* ========================================================================== 
   02. CRAFTED FOR LIFE
   ========================================================================== */
.crafted-section { background:var(--paper); padding:clamp(95px,10vw,145px) 0 0; }
.crafted-wrap { max-width:1500px; margin:0 auto; padding:0 var(--gutter); }
.crafted-intro { max-width:780px; margin-bottom:clamp(50px,6vw,86px); }
.crafted-intro h2 {
    margin:0;
    font-size:clamp(46px,6.1vw,86px);
    line-height:.94;
    font-weight:400;
    letter-spacing:-.06em;
}
.crafted-intro em { color:var(--adarsh-blue); font-style:normal; }
.crafted-stage {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);
    align-items:center;
    gap:clamp(42px,7vw,120px);
}
.crafted-image {
    position:relative;
    overflow:hidden;
    min-height:580px;
}
.crafted-image img { width:100%; height:100%; object-fit:cover; }
.crafted-copy { max-width:570px; }
.crafted-copy p { color:var(--ink-soft); font-size:14px; line-height:1.85; margin-bottom:22px; }
.crafted-copy .lead-copy { color:var(--ink); font-size:18px; line-height:1.58; font-weight:400; }

/* PROJECT FACTS — compact, equal-weight editorial bridge */
.crafted-signature {
    position:relative;
    margin-top:clamp(24px,2.8vw,38px);
    padding:18px 0 16px;
    background:var(--paper);
    overflow:hidden;
}

.crafted-signature-facts {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    min-width:0;
}

.signature-fact {
    position:relative;
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    padding:4px clamp(10px,2vw,26px) 14px;
    color:var(--ink);
    text-decoration:none !important;
    overflow:hidden;
    transition:color .35s var(--ease-soft), transform .45s var(--ease-cinematic);
}

.signature-art {
    position:relative;
    z-index:1;
    width:104px;
    height:104px;
    margin:0 auto 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:.96;
    pointer-events:none;
    transform:translateY(0) scale(1);
    transition:opacity .35s ease, transform .55s var(--ease-cinematic);
}

.signature-art img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    filter:none;
}

/* Normalize the different illustration footprints so all four read at a similar visual weight. */
.signature-fact:nth-child(1) .signature-art img { transform:scale(.92); }
.signature-fact:nth-child(2) .signature-art img { transform:scale(1.16); }
.signature-fact:nth-child(3) .signature-art img { transform:scale(1.28); }
.signature-fact:nth-child(4) .signature-art img { transform:scale(1.24); }

.signature-fact:hover:nth-child(1) .signature-art img,
.signature-fact:focus-visible:nth-child(1) .signature-art img { transform:scale(.98); }
.signature-fact:hover:nth-child(2) .signature-art img,
.signature-fact:focus-visible:nth-child(2) .signature-art img { transform:scale(1.22); }
.signature-fact:hover:nth-child(3) .signature-art img,
.signature-fact:focus-visible:nth-child(3) .signature-art img { transform:scale(1.34); }
.signature-fact:hover:nth-child(4) .signature-art img,
.signature-fact:focus-visible:nth-child(4) .signature-art img { transform:scale(1.30); }

.signature-fact strong {
    position:relative;
    z-index:2;
    font-family:var(--font-h);
    font-weight:400;
    font-size:clamp(34px,3.1vw,46px);
    line-height:.96;
    letter-spacing:-.05em;
    color:var(--adarsh-blue);
    transition:color .35s ease, transform .45s var(--ease-cinematic);
}

.signature-fact > span:not(.signature-art) {
    position:relative;
    z-index:2;
    margin-top:8px;
    max-width:220px;
    font-size:13px;
    font-weight:400;
    line-height:1.35;
    letter-spacing:.065em;
    color:#646b70;
    text-transform:uppercase;
    transition:color .35s ease;
}

.signature-fact:hover,
.signature-fact:focus-visible {
    color:var(--ink);
    transform:translateY(-2px);
}

.signature-fact:hover .signature-art,
.signature-fact:focus-visible .signature-art {
    opacity:1;
    transform:translateY(-3px) scale(1.06);
}

.signature-fact:hover strong,
.signature-fact:focus-visible strong {
    color:var(--forest-gold);
    transform:translateY(-1px);
}

.signature-fact:hover > span:not(.signature-art),
.signature-fact:focus-visible > span:not(.signature-art) {
    color:var(--ink);
}

@media (max-width: 991px) {
    .crafted-signature-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .signature-fact { min-height:155px; padding:6px 10px 12px; }
    .signature-fact strong { font-size:clamp(30px,6vw,40px); }
    .signature-fact > span:not(.signature-art) { font-size:11px; }
    .signature-art { width:88px; height:88px; margin-bottom:8px; opacity:.96; }
    .signature-fact:nth-child(1) .signature-art img { transform:scale(.92); }
    .signature-fact:nth-child(2) .signature-art img { transform:scale(1.12); }
    .signature-fact:nth-child(3) .signature-art img { transform:scale(1.22); }
    .signature-fact:nth-child(4) .signature-art img { transform:scale(1.18); }
}

@media (max-width: 575px) {
    .crafted-signature { margin-top:18px; padding:10px 0 8px; }
    .signature-fact { min-height:140px; padding:5px 8px 10px; }
    .signature-fact strong { font-size:30px; }
    .signature-fact > span:not(.signature-art) { font-size:9px; letter-spacing:.06em; max-width:160px; }
    .signature-art { width:60px; height:60px; margin-bottom:7px; opacity:.92; }
}

/* ========================================================================== 
   03. AMENITIES — FULL-WIDTH CINEMATIC BACKDROP + ICONS
   ========================================================================== */
.amenities-experience {
    position:relative;
    overflow:hidden;
    min-height:900px;
    margin-top:clamp(90px,10vw,150px);
    color:#fff;
    background:#0b0e10;
}
.amenities-backdrop {
    position:absolute;
    inset:-2%;
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    filter:saturate(.76) brightness(.55) contrast(1.04);
    transition:background-image .7s var(--ease-cinematic), transform 1.2s var(--ease-cinematic), opacity .55s ease;
}
.amenities-backdrop.swap-in { animation:amenityBackground .8s var(--ease-cinematic); }
@keyframes amenityBackground {
    0% { opacity:.38; transform:scale(1.075); }
    100% { opacity:1; transform:scale(1.04); }
}
.amenities-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3) 54%,rgba(0,0,0,.52)),linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.12) 62%);
}
.amenities-inner { position:relative; z-index:2; max-width:1500px; margin:0 auto; padding:clamp(100px,10vw,145px) var(--gutter); }
.amenities-head { max-width:620px; margin-bottom:52px; }
.amenities-head h2 { margin:0 0 16px; font-size:clamp(46px,5.9vw,82px); line-height:.96; letter-spacing:-.06em; font-weight:400; }
.amenities-head h2 em { color:#fff; font-style:normal; }
.amenities-head p { max-width:520px; margin:0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.8; }
.amenity-tabs {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid rgba(255,255,255,.18);
    border-bottom:1px solid rgba(255,255,255,.18);
}
.amenity-tab {
    appearance:none;
    border:0;
    border-right:1px solid rgba(255,255,255,.14);
    min-height:112px;
    padding:20px 20px;
    display:flex;
    align-items:center;
    gap:16px;
    text-align:left;
    color:rgba(255,255,255,.62);
    background:transparent;
    cursor:pointer;
    transition:background .45s var(--ease-soft),color .45s var(--ease-soft),transform .45s var(--ease-soft);
}
.amenity-tab:last-child { border-right:0; }
.amenity-tab:hover,
.amenity-tab:focus-visible { color:var(--forest-gold); background:rgba(202,147,50,.08); }
.amenity-tab.active { color:#fff; background:rgba(255,255,255,.07); transform:translateY(-2px); }
.amenity-tab-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; transition:transform .4s var(--ease-soft); }
.amenity-tab-icon img { width:38px; height:38px; object-fit:contain; filter:brightness(0) invert(1); opacity:.7; transition:opacity .35s ease,transform .4s var(--ease-soft),filter .35s var(--ease-soft); }
.amenity-tab:hover .amenity-tab-icon,
.amenity-tab:focus-visible .amenity-tab-icon,
.amenity-tab.active .amenity-tab-icon { transform:translateY(-2px) scale(1.06); }
.amenity-tab.active .amenity-tab-icon img { opacity:1; }
.amenity-tab:hover .amenity-tab-icon img,
.amenity-tab:focus-visible .amenity-tab-icon img {
    opacity:1;
    filter:brightness(0) saturate(100%) invert(64%) sepia(38%) saturate(727%) hue-rotate(359deg) brightness(91%) contrast(88%);
}
.amenity-tab > span:last-child { font-family:var(--font-h); font-size:20px; font-weight:400; letter-spacing:-.02em; transition:font-weight .25s ease,color .35s ease; }
.amenity-tab:hover > span:last-child,
.amenity-tab:focus-visible > span:last-child { font-weight:500; }
.amenity-showcase { display:grid; grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr); gap:50px; padding-top:52px; }
.amenity-showcase-copy { align-self:start; padding-top:4px; }
.amenity-current-label { display:block; font-family:var(--font-h); font-size:clamp(30px,3.2vw,52px); line-height:1; font-weight:400; letter-spacing:-.045em; }
.amenity-current-meta { display:block; margin-top:12px; color:rgba(255,255,255,.62); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.amenity-list-wrap { min-height:330px; }
.amenity-detail-group { display:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; }
.amenity-detail-group.active { display:grid; animation:amenityListIn .65s var(--ease-cinematic); }
@keyframes amenityListIn { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
.amenity-detail-group button {
    min-height:68px;
    appearance:none;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.16);
    background:transparent;
    color:rgba(255,255,255,.82);
    display:flex;
    align-items:center;
    gap:13px;
    text-align:left;
    padding:10px 0;
    cursor:pointer;
    transition:color .35s ease,transform .35s var(--ease-soft),padding .35s var(--ease-soft);
}
.amenity-detail-group button:hover,
.amenity-detail-group button:focus-visible { color:var(--forest-gold); transform:translateX(5px); padding-left:5px; font-weight:500; }
.amenity-detail-group button img { width:34px; height:34px; object-fit:contain; filter:brightness(0) invert(1); opacity:.72; transition:transform .35s var(--ease-soft),opacity .35s ease,filter .35s var(--ease-soft); }
.amenity-detail-group button:hover img,
.amenity-detail-group button:focus-visible img {
    opacity:1;
    transform:scale(1.1);
    filter:brightness(0) saturate(100%) invert(64%) sepia(38%) saturate(727%) hue-rotate(359deg) brightness(91%) contrast(88%);
}
.amenity-detail-group button small { margin-left:auto; color:var(--forest-gold); font-size:8px; letter-spacing:.12em; text-transform:uppercase; transition:font-weight .25s ease; }

/* ========================================================================== 
   04. CINEMATIC GALLERY — ALL 12 IMAGES
   ========================================================================== */
.cinematic-gallery { background:#080b0d; color:#fff; padding:clamp(105px,10vw,155px) 0; overflow:hidden; }
.gallery-inner { max-width:1500px; margin:0 auto; padding:0 var(--gutter); }
.gallery-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:55px; }
.gallery-intro h2 { margin:0; font-size:clamp(46px,5.8vw,80px); line-height:.95; letter-spacing:-.06em; font-weight:400; }
.gallery-intro h2 em { color:#fff; font-style:normal; opacity:.76; }
.gallery-cinematic { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:24px; align-items:stretch; }
.gallery-feature { min-width:0; }
.gallery-feature-media { position:relative; min-height:680px; overflow:hidden; background:#111; }
.gallery-feature-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.02); }
.gallery-rail { display:flex; flex-direction:column; gap:10px; max-height:680px; overflow:auto; scrollbar-width:none; }
.gallery-rail::-webkit-scrollbar { display:none; }
.gallery-thumb { appearance:none; border:1px solid transparent; padding:0; margin:0; background:transparent; opacity:.48; cursor:pointer; transition:opacity .4s var(--ease-soft),border-color .4s ease,transform .4s var(--ease-soft); }
.gallery-thumb:hover,
.gallery-thumb:focus-visible,
.gallery-thumb.active { opacity:1; border-color:rgba(202,147,50,.78); transform:translateX(-3px); }
.gallery-thumb img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* ========================================================================== 
   05. CONNECTIVITY — VISUAL TAB EXPERIENCE
   ========================================================================== */
.connectivity-story { background:#fff; padding:clamp(105px,10vw,155px) 0; }
.connectivity-inner { max-width:1500px; margin:0 auto; padding:0 var(--gutter); }
.connectivity-head { display:block; margin-bottom:55px; }
.connectivity-head .section-kicker { margin-bottom:18px; }
.connectivity-head h2 { margin:0; max-width:860px; font-size:clamp(50px,6vw,82px); line-height:.95; letter-spacing:-.06em; font-weight:400; }
.connectivity-head h2 em { color:var(--adarsh-blue); font-style:normal; }
.connectivity-experience { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:0; background:var(--warm-white); }
.connectivity-map { position:relative; min-height:520px; overflow:hidden; background:#e9e6de; }
.connectivity-map::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:2;
    background:
        radial-gradient(circle at 18% 18%, rgba(19,74,135,.20), transparent 34%),
        radial-gradient(circle at 84% 78%, rgba(202,147,50,.13), transparent 30%),
        linear-gradient(135deg, rgba(19,74,135,.07), rgba(251,250,246,0) 48%, rgba(202,147,50,.05));
    mix-blend-mode:soft-light;
}
.connectivity-map::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:2;
    background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(19,74,135,.05) 56%, rgba(202,147,50,.04));
    mix-blend-mode:multiply;
}
.connectivity-map iframe { display:block; width:100%; height:100%; min-height:520px; filter:saturate(.92) contrast(1.07) brightness(.98); transform:scale(1.012); transition:filter .8s var(--ease-soft), transform 1.2s var(--ease-cinematic); }
.connectivity-map:hover iframe { filter:saturate(1.02) contrast(1.08) brightness(1); transform:scale(1.025); }
.connectivity-content { padding:44px clamp(24px,4vw,62px) 48px; }
.connectivity-tabs { display:flex; flex-wrap:wrap; gap:10px 24px; border-bottom:1px solid rgba(16,22,25,.12); margin-bottom:32px; }
.connectivity-tab { appearance:none; border:0; outline:0; box-shadow:none; -webkit-focus-ring-color:transparent; background:transparent; padding:0 0 14px; color:#737b80; font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; border-bottom:0; transition:color .35s ease,transform .35s var(--ease-soft),font-weight .25s ease; }
.connectivity-tab:focus,
.connectivity-tab:focus-visible { outline:0; box-shadow:none; border:0; }
.connectivity-tab.active,
.connectivity-tab:hover,
.connectivity-tab:focus-visible { color:var(--forest-gold); transform:translateY(-1px); font-weight:600; }
.connectivity-panels { position:relative; min-height:440px; }
.connectivity-panel { display:none; }
.connectivity-panel.active { display:block; animation:panelIn .55s var(--ease-cinematic); }
@keyframes panelIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
.connectivity-lead { display:block; max-width:480px; margin-bottom:22px; color:var(--ink); font-family:var(--font-h); font-size:30px; line-height:1.08; letter-spacing:-.035em; }
.loc-row { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(16,22,25,.12); color:#424b50; font-size:14px; line-height:1.35; }
.loc-row span { font-weight:400; }
.loc-row small { color:#7c858a; font-size:10px; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }

/* ========================================================================== 
   06. FINAL SITE VISIT
   ========================================================================== */
.final-visit-section { position:relative; min-height:780px; overflow:hidden; color:#fff; background:#050708; }
.final-visit-image,
.final-visit-img,
.final-visit-shade { position:absolute; inset:0; width:100%; height:100%; }
.final-visit-img { object-fit:cover; filter:saturate(.78) contrast(1.04) brightness(.55); transform:scale(1.03); transition:transform 1.5s var(--ease-cinematic); }
.final-visit-section:hover .final-visit-img { transform:scale(1.045); }
.final-visit-shade { background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 66%); }
.final-visit-content { position:relative; z-index:2; max-width:1500px; margin:0 auto; min-height:780px; display:flex; flex-direction:column; justify-content:center; padding:100px var(--gutter); }
.final-visit-content h2 { margin:0 0 22px; font-size:clamp(56px,6.8vw,92px); line-height:.93; letter-spacing:-.065em; font-weight:400; }
.final-visit-content h2 em { color:#fff; font-style:normal; opacity:.76; }
.final-visit-content p { max-width:490px; margin-bottom:32px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.8; }
.final-visit-note { position:absolute; z-index:2; right:var(--gutter); bottom:22px; color:rgba(255,255,255,.56); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }

/* ========================================================================== 
   LEGAL / FOOTER / CTA DOCK
   ========================================================================== */
.legal-section { background:#f0ede5; padding:92px var(--gutter); }
.legal-content { max-width:980px; margin:0 auto; }
.legal-content h2 { font-size:17px; font-weight:500; color:var(--adarsh-blue); margin:0 0 13px; text-transform:uppercase; letter-spacing:.09em; }
.legal-content p { color:#71787b; font-size:11px; line-height:1.8; margin-bottom:38px; }
.footer-new { background:var(--adarsh-blue); color:#fff; padding:72px var(--gutter) 28px; }
.footer-container { max-width:1500px; margin:0 auto; display:flex; justify-content:space-between; gap:60px; }
.footer-left .address { margin:0; color:rgba(255,255,255,.65); font-size:11px; line-height:1.75; }
.footer-left .address strong { color:#fff; }
.rera-list { list-style:none; margin:0; padding:0; color:rgba(255,255,255,.72); font-size:9px; letter-spacing:.08em; }
.footer-bottom { max-width:1500px; margin:48px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.42); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.footer-bottom p { margin:0; }
.text-cta-sidebar { position:fixed; z-index:1040; right:0; top:50%; transform:translateY(-50%) translateX(105%); opacity:0; display:flex; flex-direction:column; background:rgba(13,18,21,.96); backdrop-filter:blur(12px); transition:transform .6s var(--ease-cinematic),opacity .6s ease; }
.text-cta-sidebar.is-visible { transform:translateY(-50%) translateX(0); opacity:1; }
.text-action { display:block; padding:20px 15px; writing-mode:vertical-rl; transform:rotate(180deg); color:#fff !important; text-decoration:none !important; font-size:9px; font-weight:600; letter-spacing:.19em; text-transform:uppercase; transition:background .35s var(--ease-soft),color .35s var(--ease-soft),transform .35s var(--ease-soft),box-shadow .35s ease; }
.enquire-text { background:var(--adarsh-blue); }
.brochure-text { background:var(--forest-gold); color:#fff !important; }
.enquire-text:hover, .enquire-text:focus-visible { background:#0d3e72; color:#fff !important; transform:rotate(180deg) translateX(-2px); box-shadow:0 10px 26px rgba(19,74,135,.22); }
.brochure-text:hover, .brochure-text:focus-visible { background:#b97f1e; color:#fff !important; transform:rotate(180deg) translateX(-2px); box-shadow:0 10px 26px rgba(202,147,50,.22); }
.text-separator { display:none; }

/* ========================================================================== 
   MODALS / EXISTING FORM LOGIC — PRESERVED
   ========================================================================== */
.modal-content { background:var(--paper) !important; }
.modal-header { background-color:var(--adarsh-blue) !important; }
.modal-header .modal-title { letter-spacing:.18em !important; }
.modal-body { background:var(--paper); }
.minimal-input { background:transparent !important; border:0 !important; border-bottom:1px solid rgba(16,22,25,.24) !important; border-radius:0 !important; padding:9px 0 !important; box-shadow:none !important; color:var(--ink) !important; }
.minimal-input:focus { border-color:var(--forest-gold) !important; box-shadow:none !important; }
.modal-body .btn { background:var(--adarsh-blue) !important; border:0 !important; transition:background .35s ease,transform .35s ease,box-shadow .35s ease; }
.modal-body .btn:hover,
.modal-body .btn:focus-visible { background:#0d3e72 !important; transform:translateY(-2px); box-shadow:0 12px 28px rgba(19,74,135,.18); }

/* ========================================================================== 
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px) {
    :root { --gutter:5vw; }
    .crafted-stage { grid-template-columns:1fr 1fr; gap:45px; }
    .crafted-image { min-height:500px; }
    .amenity-showcase { grid-template-columns:1fr; gap:36px; }
    .gallery-cinematic { grid-template-columns:minmax(0,1fr) 88px; }
    .gallery-feature-media { min-height:600px; }
    .connectivity-experience { grid-template-columns:1fr; }
}

@media (max-width:768px) {
    html { scroll-behavior:auto; }
    .site-header { height:68px; padding:0 20px; }
    .brand-logo img { width:116px; }

    .hero-panel { min-height:88svh; }
    .hero-content,
    .hero-panel-two .hero-content { width:calc(100% - 40px); margin:0 20px 52px; text-align:left; }
    .hero-shade,
    .hero-panel-two .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.79),rgba(0,0,0,.05) 72%); }
    .hero-content h1,
    .hero-content h2 { font-size:clamp(38px,11.5vw,56px); line-height:.97; margin-bottom:14px; }
    .hero-location { font-size:9px; letter-spacing:.12em; margin-bottom:20px; }
    .hero-cta { min-height:47px; padding:0 20px; }

    .crafted-section { padding-top:82px; }
    .crafted-intro { margin-bottom:42px; }
    .crafted-intro h2 { font-size:clamp(42px,11.5vw,62px); }
    .crafted-stage { grid-template-columns:1fr; gap:34px; align-items:stretch; }
    .crafted-image { min-height:360px; }
    .crafted-copy { max-width:none; }
    .crafted-copy p { font-size:13px; line-height:1.8; }
    .crafted-copy .lead-copy { font-size:16px; line-height:1.55; }
    .amenities-experience { min-height:930px; margin-top:72px; }
    .amenities-inner { padding-top:0px; padding-bottom:80px; }
    .amenities-head h2 { font-size:clamp(42px,11.5vw,62px); }
    .amenity-tabs { grid-template-columns:1fr 1fr; }
    .amenity-tab { min-height:94px; padding:18px 14px; gap:11px; }
    .amenity-tab-icon { width:32px; height:32px; flex-basis:32px; }
    .amenity-tab-icon img { width:23px; height:23px; }
    .amenity-tab > span:last-child { font-size:15px; }
    .amenity-showcase { padding-top:40px; }
    .amenity-current-label { font-size:36px; }
    .amenity-detail-group { grid-template-columns:1fr; }
    .amenity-detail-group button { min-height:60px; }

    .cinematic-gallery { padding-top:84px; padding-bottom:86px; }
    .gallery-intro { display:block; margin-bottom:38px; }
    .gallery-intro h2 { font-size:clamp(42px,11.5vw,62px); }
    .gallery-cinematic { grid-template-columns:1fr; gap:18px; }
    .gallery-feature-media { min-height:500px; }
    .gallery-rail { flex-direction:row; max-height:none; overflow:auto; padding-bottom:3px; }
    .gallery-thumb { min-width:82px; }
    .gallery-thumb:hover,
    .gallery-thumb:focus-visible,
    .gallery-thumb.active { transform:translateY(-3px); }

    .connectivity-story { padding-top:84px; padding-bottom:84px; }
    .connectivity-head { display:block; margin-bottom:38px; }
    .connectivity-head .section-kicker { margin-bottom:14px; }
    .connectivity-head h2 { font-size:clamp(40px,10.5vw,58px); }
    .connectivity-map iframe { min-height:340px; }
    .connectivity-map { min-height:340px; }
    .connectivity-content { padding:34px 20px 32px; }
    .connectivity-tabs { gap:8px 16px; }
    .connectivity-tab { font-size:9px; }
    .connectivity-lead { font-size:25px; }
    .loc-row { min-height:52px; font-size:13px; }
    .loc-row small { font-size:9px; }

    .final-visit-section { min-height:690px; }
    .final-visit-content { min-height:690px; padding:80px 20px; }
    .final-visit-content h2 { font-size:clamp(52px,14vw,74px); }
    .final-visit-note { right:20px; left:20px; bottom:18px; font-size:7px; }

    .legal-section { padding:68px 20px; }
    .footer-new { padding:58px 20px 25px; }
    .footer-container,
    .footer-bottom { flex-direction:column; }
    .footer-bottom { margin-top:36px; }
    .text-cta-sidebar {
        display:flex;
        left:0;
        right:0;
        top:auto;
        bottom:0;
        width:100%;
        transform:translateY(105%);
        flex-direction:row;
        background:transparent;
        opacity:0;
    }
    .text-cta-sidebar.is-visible {
        transform:translateY(0);
        opacity:1;
    }
    .text-action {
        flex:1 1 50%;
        padding:16px 10px;
        min-height:52px;
        display:flex;
        align-items:center;
        justify-content:center;
        writing-mode:horizontal-tb;
        transform:none;
        text-align:center;
        font-size:10px;
        letter-spacing:.14em;
    }
    .enquire-text:hover,
    .enquire-text:focus-visible,
    .brochure-text:hover,
    .brochure-text:focus-visible {
        transform:translateY(-2px);
    }
}

@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ========================================================================== 
   FINAL REFINEMENTS — HERO MOTION / RHYTHM / FORM
   ========================================================================== */

/* Tighter, more editorial section rhythm */
.crafted-section { padding-top:clamp(58px,6vw,84px); }
.crafted-intro { margin-bottom:clamp(28px,3vw,42px); }
.crafted-stage { align-items:start; gap:clamp(28px,4vw,64px); }
.crafted-image { min-height:480px; }
.crafted-copy { padding-top:0; }
.highlight-separator {
    width:60px;
    height:1px;
    background:var(--adarsh-blue);
    margin:16px auto 0;
    opacity:.85;
}

/* Smaller section headings */
.crafted-intro h2,
.amenities-head h2,
.gallery-intro h2,
.connectivity-head h2,
.final-visit-content h2 {
    font-size:clamp(38px,4.65vw,64px);
    line-height:.98;
}

/* Hero — pinned cinematic scene, no competing keyframe transforms */
.hero-entry {
    position:relative;
    height:200svh;
    min-height:1400px;
    background:#050708;
}
.hero-pin {
    position:sticky;
    top:0;
    height:100svh;
    min-height:620px;
    overflow:hidden;
}
.hero-panel {
    position:absolute;
    inset:0;
    min-height:100%;
    height:100%;
    z-index:1;
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    clip-path:inset(0 0 0 0);
    will-change:transform,opacity,clip-path;
    border:0;
}
.hero-panel-two {
    z-index:2;
    opacity:0;
    transform:translate3d(0,5.5%,0) scale(1.035);
    clip-path:inset(18% 0 0 0);
}
.hero-panel.is-active { z-index:3; }
.hero-media {
    transform:scale(1.01);
    will-change:transform;
}
.hero-panel-one .hero-media,
.hero-panel-two .hero-media {
    animation:none;
    transform:none;
}
.hero-image {
    animation:heroCinematicZoomOut 11s var(--ease-soft) both;
    transform:scale(1.18);
    filter:saturate(.92) contrast(1.03) brightness(.86);
    will-change:transform,filter;
}
.hero-panel-two .hero-image {
    animation:heroCinematicZoomOut 11s var(--ease-soft) both;
    filter:saturate(.95) contrast(1.03) brightness(.94) !important;
}
.hero-panel-one.is-active .hero-image,
.hero-panel-two.is-hero-active .hero-image {
    animation:heroCinematicZoomOut 11s var(--ease-soft) both;
}
.hero-shade {
    background:linear-gradient(90deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.06) 42%,rgba(0,0,0,.60) 100%),linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.04) 66%);
}
.hero-panel-two .hero-shade {
    background:linear-gradient(270deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.04) 44%,rgba(0,0,0,.26) 100%),linear-gradient(0deg,rgba(0,0,0,.50),rgba(0,0,0,.02) 70%);
}
.hero-content {
    margin-bottom:clamp(68px,9vh,104px);
    width:min(690px,calc(100% - var(--gutter)*2));
}
.hero-panel-two .hero-content { margin-bottom:clamp(68px,9vh,104px); }
.hero-content h1,
.hero-content h2 {
    font-size:clamp(38px,4.65vw,64px);
    line-height:1.01;
    max-width:690px;
}
.hero-content h1 span,
.hero-content h2 span {
    display:block;
    overflow:hidden;
}
.hero-content h1 span > span,
.hero-content h2 span > span {
    display:block;
    transform:translate3d(0,105%,0);
    opacity:0;
}
.hero-entry.is-ready .hero-panel-one .hero-content h1 span > span {
    animation:heroTextReveal 1.75s var(--ease-cinematic) forwards;
}
.hero-entry.is-ready .hero-panel-one .hero-content h1 span:nth-child(2) > span { animation-delay:.28s; }
.hero-panel-two .hero-content h2 span > span,
.hero-panel-two .hero-location,
.hero-panel-two .hero-cta {
    opacity:0;
    transform:translate3d(0,18px,0);
    animation:none !important;
}
.hero-panel-two.is-hero-active .hero-content h2 span > span {
    animation:heroTextReveal 1.75s var(--ease-cinematic) forwards !important;
}
.hero-panel-two.is-hero-active .hero-content h2 span:nth-child(2) > span { animation-delay:.12s !important; }
.hero-panel-two.is-hero-active .hero-location {
    animation:heroMetaReveal 1.05s var(--ease-soft) .62s forwards !important;
}
.hero-panel-two.is-hero-active .hero-cta {
    animation:heroMetaReveal 1.1s var(--ease-cinematic) .82s forwards !important;
}
.hero-location,
.hero-cta { position:relative; }
.hero-entry.is-ready .hero-panel-one .hero-location { animation:heroMetaReveal 1.05s var(--ease-soft) .62s forwards; }
.hero-entry.is-ready .hero-panel-one .hero-cta { animation:heroMetaReveal 1.1s var(--ease-cinematic) .82s forwards; }
.hero-cta {
    min-width:232px;
    min-height:60px;
    padding:0 30px;
    border-color:rgba(255,255,255,.72);
    letter-spacing:.2em;
}
.hero-cta:hover,
.hero-cta:focus-visible { background:var(--adarsh-blue); color:#fff !important; border-color:var(--adarsh-blue); }
@keyframes heroTextReveal {
    from { opacity:0; transform:translate3d(0,105%,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes heroMetaReveal {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes heroCinematicZoomOut {
    0% { transform:scale(1.18); }
    100% { transform:scale(1.0); }
}

/* Amenities title treatment */
.amenities-head { margin-bottom:42px; }
.amenities-head .section-kicker { margin-bottom:14px; }
.amenities-experience { margin-top:clamp(64px,7vw,104px); }

/* Gallery: compact heading, cinematic stack */
.cinematic-gallery { padding-top:clamp(74px,8vw,112px); padding-bottom:clamp(74px,8vw,112px); }
.gallery-intro { margin-bottom:40px; }
.gallery-intro .section-kicker { margin-bottom:14px; color:#fff; }
.gallery-feature-media { min-height:650px; }
.gallery-feature-media img { transition:transform 1.1s var(--ease-cinematic), opacity .65s ease; }
.gallery-feature-media:hover img { transform:scale(1.035); }
.gallery-rail { gap:12px; }

/* Footer typography */
.footer-left .address { font-size:15px; line-height:1.8; }
.rera-list { font-size:12px; line-height:1.6; }
.footer-bottom { font-size:11px; }

/* Final site-visit form */
.final-visit-content {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
    align-items:center;
    gap:clamp(48px,8vw,120px);
    min-height:840px;
}
.final-visit-copy { max-width:620px; }
.final-visit-form {
    width:100%;
    max-width:540px;
    margin-left:auto;
    padding:32px 0 0;
    border-top:1px solid rgba(255,255,255,.28);
}
.final-form-field { margin-bottom:24px; }
.final-form-field label {
    display:block;
    margin:0 0 8px;
    color:rgba(255,255,255,.66);
    font-size:9px;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.final-form-field input {
    width:100%;
    height:44px;
    padding:0;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.28);
    border-radius:0;
    outline:none;
    background:transparent;
    color:#fff;
    font-family:var(--font-p);
    font-size:14px;
    transition:border-color .35s ease;
}
.final-form-field input:focus { border-bottom-color:var(--forest-gold); }
.final-form-submit {
    width:100%;
    min-height:58px;
    margin-top:4px;
    border:1px solid rgba(255,255,255,.62);
    background:transparent;
    color:#fff;
    font-size:10px;
    font-weight:500;
    letter-spacing:.2em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .45s var(--ease-soft),border-color .45s ease,transform .45s var(--ease-soft),box-shadow .45s ease,color .45s ease;
}
.final-form-submit:hover,
.final-form-submit:focus-visible {
    background:var(--adarsh-blue);
    border-color:var(--adarsh-blue);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 18px 42px rgba(0,0,0,.2);
}

@media (max-width:1100px) {
    .crafted-image { min-height:500px; }
    .final-visit-content { grid-template-columns:1fr 1fr; gap:44px; min-height:780px; }
}

@media (max-width:768px) {
    .hero-entry { height:200svh; min-height:1200px; }
    .hero-pin { height:100svh; min-height:620px; }
    .hero-panel { min-height:100%; height:100%; }
    .hero-content,
    .hero-panel-two .hero-content { margin-bottom:38px; }
    .hero-content h1,
    .hero-content h2 { font-size:clamp(34px,10.5vw,50px); }
    .hero-cta { min-width:210px; min-height:56px; }

    .crafted-section { padding-top:64px; }
    .crafted-intro h2,
    .amenities-head h2,
    .gallery-intro h2,
    .connectivity-head h2,
    .final-visit-content h2 { font-size:clamp(36px,10.5vw,56px); }
    .crafted-stage { gap:26px; }
    .crafted-image { height:360px; min-height:0; }
    .crafted-image img { width:100%; height:100%; object-fit:cover; }
    .crafted-signature { margin-top:22px; padding:14px 0 10px; }
    .crafted-signature-facts { grid-template-columns:1fr 1fr; }
    .signature-fact { min-height:112px; padding:14px 8px; }
    .signature-fact strong { font-size:31px; }
    .signature-fact > span:not(.signature-art) { font-size:10px; max-width:170px; }
    .signature-art { width:76px; height:76px; bottom:-10px; }
    .amenities-experience { margin-top:54px; }

    .gallery-feature-media {
        min-height:0;
        height:56.25vw;
        max-height:420px;
    }
    .gallery-feature-media img {
        width:100%;
        height:100%;
        object-fit:cover;
    }
    .final-visit-content { display:block; min-height:820px; padding:86px 20px 105px; }
    .final-visit-copy { max-width:none; }
    .final-visit-form { max-width:none; margin-top:46px; padding-top:26px; }
    .final-visit-note { right:20px; left:20px; }
    .footer-left .address { font-size:14px; }
    .rera-list { font-size:11px; }
    .footer-bottom { font-size:10px; }
}



/* MOBILE HERO — PRESENTATION ONLY. SCROLL TRANSITION USES THE SAME DESKTOP LOGIC. */
@media (max-width:768px) {
    .hero-content,
    .hero-panel-two .hero-content {
        width:calc(100% - 40px);
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    .hero-content h1,
    .hero-content h2 {
        width:100%;
        max-width:100%;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
    }

    .hero-location {
        width:100%;
        text-align:center;
    }

    .hero-cta {
        margin-left:auto;
        margin-right:auto;
    }

    .hero-shade,
    .hero-panel-two .hero-shade {
        background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.05) 72%);
    }
}

/* MOBILE NAVBAR / DOCUMENT EDGE FIX — no hero rules changed */
@media (max-width:768px) {
    html,
    body {
        width:100%;
        max-width:100%;
        overflow-x:clip !important;
    }

    .site-header,
    .site-header.is-scrolled {
        position:fixed;
        top:0;
        left:0;
        right:0;
        width:auto;
        max-width:none;
        margin:0 !important;
        transform:none !important;
        z-index:1050;
    }
}
.hero-location {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 26px;
    color: rgba(255,255,255,.9);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-location img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    flex: 0 0 16px;
}

/* Hero 2 — left aligned on desktop */
.hero-panel-two .hero-location {
    justify-content: flex-start;
    text-align: left;
}

/* Mobile */
@media (max-width: 768px) {

    .hero-panel-one .hero-location,
    .hero-panel-two .hero-location {
        justify-content: center !important;
        text-align: center !important;
    }

}

/* HERO — subtle compliance metadata */
.hero-content {
    position:relative;
}

.hero-compliance {
    margin-top:10px;
    color:rgba(255,255,255,.58);
    font-size:11px;
    font-weight:400;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.hero-artistic {
    position:absolute;
    top:24px;
    right:24px;
    z-index:6;
    color:rgba(255,255,255,.58);
    font-size:8px;
    font-weight:400;
    letter-spacing:.18em;
    text-transform:uppercase;
    pointer-events:none;
}

.hero-rera {
    display:block;
    opacity:.7;
}

@media (max-width:768px) {
    .hero-compliance {
        margin-top:9px;
        font-size:9px;
        letter-spacing:.1em;
        text-align:center;
    }

    .hero-artistic {
        top:16px;
        right:16px;
        font-size:7px;
        letter-spacing:.16em;
    }
}

/* About image — artistic impression */
.crafted-image .artistic-impression {
    display:block;
    left:18px;
    bottom:14px;
    z-index:10;
    color:rgba(255,255,255,.78);
    font-size:8px;
    letter-spacing:.15em;
    text-transform:uppercase;
    opacity:1;
    pointer-events:none;
}

/* ABOUT IMAGE — ensure Artistic Impression is visible above the image */
.crafted-image .artistic-impression {
    position:absolute !important;
    left:18px !important;
    bottom:14px !important;
    z-index:20 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:rgba(255,255,255,.82) !important;
    font-size:8px !important;
    font-weight:400;
    letter-spacing:.15em !important;
    text-transform:uppercase;
    text-shadow:0 1px 4px rgba(0,0,0,.35);
    pointer-events:none;
}

/* ABOUT IMAGE — anchor Artistic Impression to the visible image bottom */
.crafted-image .artistic-impression {
    bottom:auto !important;
    top:0;
}


/* ==========================================================================
   AVAILABLE PLOT SIZES — EDITORIAL BRIDGE
   ========================================================================== */
.plot-size-section {
    background:var(--paper);
    padding:clamp(56px,6vw,88px) 0;
    color:var(--ink);
}

.plot-size-inner {
    max-width:1500px;
    margin:0 auto;
    padding:0 var(--gutter);
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    align-items:center;
    gap:clamp(48px,8vw,130px);
}

.plot-size-copy {
    max-width:430px;
}

.plot-size-copy .section-kicker {
    margin-bottom:18px;
}

.plot-size-copy h2 {
    margin:0;
    font-size:clamp(40px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:400;
}

.plot-size-copy h2 em {
    color:var(--adarsh-blue);
    font-style:normal;
}

.plot-size-spec {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:26px 0 24px;
}

.plot-size-number {
    min-width:0;
}

.plot-size-number strong {
    display:block;
    color:var(--adarsh-blue);
    font-family:var(--font-h);
    font-size:clamp(34px,3.8vw,56px);
    line-height:.9;
    font-weight:400;
    letter-spacing:-.06em;
    white-space:nowrap;
}

.plot-size-number span {
    display:block;
    margin-top:13px;
    color:#687178;
    font-size:12px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.plot-size-action {
    min-width:220px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
}

.plot-size-action p {
    margin:0;
    max-width:240px;
    color:var(--ink-soft);
    font-size:13px;
    line-height:1.65;
}

.plot-price-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:154px;
    min-height:50px;
    padding:0 24px;
    border:1px solid var(--adarsh-blue);
    color:var(--adarsh-blue) !important;
    background:transparent;
    text-decoration:none !important;
    text-transform:uppercase;
    font-size:10px;
    font-weight:500;
    letter-spacing:.18em;
    transition:
        background .4s var(--ease-soft),
        color .4s var(--ease-soft),
        border-color .4s ease,
        transform .4s var(--ease-soft),
        box-shadow .4s ease;
}

.plot-price-btn:hover,
.plot-price-btn:focus-visible {
    background:var(--forest-gold);
    border-color:var(--forest-gold);
    color:#fff !important;
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(202,147,50,.18);
}

@media (max-width:991px) {
    .plot-size-inner {
        grid-template-columns:1fr;
        gap:30px;
    }

    .plot-size-copy {
        max-width:620px;
    }

    .plot-size-spec {
        align-items:center;
    }
}

@media (max-width:575px) {
    .plot-size-section {
        padding:46px 0 52px;
    }

    .plot-size-inner {
        gap:24px;
    }

    .plot-size-copy h2 {
        font-size:40px;
    }

    .plot-size-spec {
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
        padding:22px 0;
    }

    .plot-size-number strong {
        font-size:46px;
        white-space:normal;
    }

    .plot-size-number span {
        font-size:10px;
        line-height:1.45;
    }

    .plot-size-action {
        width:100%;
        min-width:0;
    }

    .plot-price-btn {
        width:100%;
    }
}

/* GALLERY — editorial light treatment */
.cinematic-gallery {
    background:var(--paper);
    color:var(--ink);
}

.gallery-intro {
    display:block;
    margin-bottom:55px;
    text-align:left;
}

.gallery-intro .section-kicker {
    display:block;
    margin-bottom:20px;
    color:var(--adarsh-blue);
}

.gallery-intro h2 {
    margin:0;
    color:var(--ink);
}

.gallery-intro h2 em {
    color:var(--adarsh-blue);
    font-style:normal;
    opacity:1;
}

@media (max-width:768px) {
    .gallery-intro {
        text-align:left;
    }
}

/* FOOTER — designer credit and copyright on the same line on desktop */
@media (min-width:769px) {
    .footer-bottom {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:24px;
        flex-wrap:nowrap;
    }

    .footer-bottom p {
        margin:0 !important;
        white-space:nowrap;
    }
}

/* SECTION RHYTHM — compact spacing from Plot Sizes through Connectivity */
.plot-size-section,
.cinematic-gallery {
    padding-top:64px;
    padding-bottom:0;
}
.amenities-experience{
    padding-top:0px;
}
.connectivity-story{
    padding-top:64px;
   padding-bottom:64; 
}

/* ==========================================================================
   HERO-ONLY CAROUSEL OVERRIDES
   Everything outside .hero-carousel remains untouched.
   ========================================================================== */

.hero-entry.hero-carousel{
    position:relative;
    width:100%;
    height:100svh;
    min-height:100svh;
    overflow:hidden;
    background:#050708;
}

.hero-carousel .hero-slides{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
}

.hero-carousel .hero-slide{
    position:absolute;
    inset:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:0;
    transition:opacity 1.2s var(--ease-cinematic), visibility 1.2s linear;
}

.hero-carousel .hero-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    z-index:2;
}

.hero-carousel .hero-slide .hero-media,
.hero-carousel .hero-slide .hero-media picture,
.hero-carousel .hero-slide .hero-media img,
.hero-carousel .hero-slide .hero-shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.hero-carousel .hero-slide .hero-media{overflow:hidden;}

.hero-carousel .hero-slide .hero-image{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.10);
    will-change:transform;
    filter:saturate(.98) contrast(1.03) brightness(.96);
}

.hero-carousel .hero-slide.is-active .hero-image{
    animation:forestGlenHeroZoomOut 7s linear both;
}

@keyframes forestGlenHeroZoomOut{
    from{transform:scale(1.10);}
    to{transform:scale(1);}
}

.hero-carousel .hero-slide .hero-shade{
    z-index:2;
    background:
        linear-gradient(90deg,
            rgba(0,0,0,.02) 0%,
            rgba(0,0,0,.05) 40%,
            rgba(0,0,0,.20) 58%,
            rgba(0,0,0,.76) 100%),
        linear-gradient(0deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.03) 68%);
}

.hero-carousel .hero-slide .hero-content{
    position:absolute;
    z-index:5;
    right:var(--gutter);
    bottom:clamp(72px,9vh,118px);
    width:min(680px,calc(100% - var(--gutter)*2));
    margin:0;
    color:#fff;
    text-align:right;
}

.hero-carousel .hero-slide .hero-copy{
    max-width:680px;
    margin-left:auto;
}

.hero-carousel .hero-slide .hero-content h1,
.hero-carousel .hero-slide .hero-content h2{
    margin:0 0 15px;
    max-width:700px;
    font-size:clamp(42px,5.15vw,72px);
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.045em;
    text-wrap:balance;
    opacity:0;
    transform:translateY(22px);
}

.hero-carousel .hero-slide.is-active .hero-content h1,
.hero-carousel .hero-slide.is-active .hero-content h2{
    opacity:1;
    transform:translateY(0);
    animation:heroTextFadeUp .95s var(--ease-cinematic) both;
    animation-delay:.10s;
}

.hero-carousel .hero-slide .hero-price{
    margin:0 0 11px;
    color:rgba(255,255,255,.96);
    font-size:15px;
    font-weight:500;
    letter-spacing:.045em;
    opacity:0;
    transform:translateY(16px);
}

.hero-carousel .hero-slide.is-active .hero-price{
    opacity:1;
    transform:translateY(0);
    animation:heroTextFadeUp .9s var(--ease-cinematic) both;
    animation-delay:.28s;
}

.hero-carousel .hero-slide .hero-location{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:0 0 24px;
    color:rgba(255,255,255,.90);
    font-size:11px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(14px);
}

.hero-carousel .hero-slide.is-active .hero-location{
    opacity:1;
    transform:translateY(0);
    animation:heroTextFadeUp .85s var(--ease-cinematic) both;
    animation-delay:.40s;
}

.hero-carousel .hero-slide .hero-location img{
    width:16px;
    height:16px;
    object-fit:contain;
    flex:0 0 16px;
}

.hero-carousel .hero-slide .hero-cta{
    opacity:0;
    transform:translateY(13px);
    transition:
        background .45s var(--ease-soft),
        color .45s var(--ease-soft),
        border-color .45s var(--ease-soft),
        box-shadow .45s ease;
}

.hero-carousel .hero-slide.is-active .hero-cta{
    opacity:1;
    transform:translateY(0);
    animation:heroTextFadeUp .85s var(--ease-cinematic) both;
    animation-delay:.52s;
}

.hero-carousel .hero-slide .hero-compliance{
    margin-top:10px;
    color:rgba(255,255,255,.54);
    font-size:11px;
    font-weight:400;
    letter-spacing:.11em;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(10px);
}

.hero-carousel .hero-slide.is-active .hero-compliance{
    opacity:1;
    transform:translateY(0);
    animation:heroTextFadeUp .8s var(--ease-cinematic) both;
    animation-delay:.64s;
}

@keyframes heroTextFadeUp{
    from{opacity:0;transform:translateY(24px)}
    to{opacity:1;transform:translateY(0)}
}

.hero-carousel .hero-slide.hero-slide-replay .hero-content h1,
.hero-carousel .hero-slide.hero-slide-replay .hero-content h2{animation:heroTextFadeUp .95s var(--ease-cinematic) both;animation-delay:.10s}
.hero-carousel .hero-slide.hero-slide-replay .hero-price{animation:heroTextFadeUp .9s var(--ease-cinematic) both;animation-delay:.28s}
.hero-carousel .hero-slide.hero-slide-replay .hero-location{animation:heroTextFadeUp .85s var(--ease-cinematic) both;animation-delay:.40s}
.hero-carousel .hero-slide.hero-slide-replay .hero-cta{animation:heroTextFadeUp .85s var(--ease-cinematic) both;animation-delay:.52s}
.hero-carousel .hero-slide.hero-slide-replay .hero-compliance{animation:heroTextFadeUp .8s var(--ease-cinematic) both;animation-delay:.64s}

.hero-carousel .hero-slide .hero-artistic{
    position:absolute;
    top:24px;
    right:24px;
    z-index:6;
    color:rgba(255,255,255,.58);
    font-size:8px;
    font-weight:400;
    letter-spacing:.18em;
    text-transform:uppercase;
    pointer-events:none;
}

.hero-carousel .hero-indicators{
    position:absolute;
    left:50%;
    bottom:22px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:9px;
    transform:translateX(-50%);
}

.hero-carousel .hero-indicator{
    width:7px;
    height:7px;
    margin:0;
    padding:0;
    border:1px solid rgba(255,255,255,.65);
    border-radius:50%;
    background:transparent;
    cursor:pointer;
    opacity:.72;
    transition:
        width .35s var(--ease-soft),
        background .35s ease,
        border-color .35s ease,
        opacity .35s ease;
}

.hero-carousel .hero-indicator.is-active{
    width:24px;
    border-radius:10px;
    border-color:#fff;
    background:#fff;
    opacity:1;
}

@media (max-width:768px){
    .hero-entry.hero-carousel{
        height:100svh;
        min-height:100svh;
    }

    .hero-carousel .hero-slide .hero-image{
        filter:saturate(1.06) contrast(1.03) brightness(1);
    }

    .hero-carousel .hero-slide .hero-shade{
        background:linear-gradient(0deg,
            rgba(0,0,0,.70) 0%,
            rgba(0,0,0,.18) 38%,
            rgba(0,0,0,0) 72%);
    }

    .hero-carousel .hero-slide .hero-content{
        left:0;
        right:0;
        bottom:54px;
        width:100%;
        padding:0 22px;
        text-align:center;
    }

    .hero-carousel .hero-slide .hero-copy{
        max-width:100%;
        margin:0 auto;
    }

    .hero-carousel .hero-slide .hero-content h1,
    .hero-carousel .hero-slide .hero-content h2{
        font-size:clamp(34px,9.5vw,48px);
        line-height:1;
        text-align:center;
        margin-bottom:16px;
    }

    .hero-carousel .hero-slide .hero-price{
        font-size:11px;
        text-align:center;
        margin-bottom:12px;
    }

    .hero-carousel .hero-slide .hero-location{
        justify-content:center;
        text-align:center;
        margin-bottom:22px;
        font-size:10px;
    }

    .hero-carousel .hero-slide .hero-cta{
        min-width:220px;
        min-height:56px;
        margin:0 auto;
    }

    .hero-carousel .hero-slide .hero-compliance{
        font-size:9px;
        text-align:center;
    }

    .hero-carousel .hero-slide .hero-artistic{
        top:16px;
        right:16px;
        font-size:7px;
    }

    .hero-carousel .hero-indicators{
        bottom:18px;
        gap:8px;
    }
}

/* ==========================================================================
   AMENITIES — WHITE THEME
   Keep all existing structure and interactions; change only the visual theme.
   ========================================================================== */

.amenities-experience {
    color:var(--ink);
    background:#fff;
}

.amenities-backdrop {
    display:none;
}

.amenities-overlay {
    display:none;
}

.amenities-inner {
    position:relative;
    z-index:2;
    background:#fff;
}

.amenities-head .section-kicker {
    color:var(--adarsh-blue);
}

.amenities-head h2 {
    color:var(--ink);
}

.amenities-head h2 em {
    color:var(--adarsh-blue);
}

.amenities-head p {
    color:var(--ink-soft);
}

.amenity-tabs {
    border-top:1px solid rgba(16,22,25,.12);
    border-bottom:1px solid rgba(16,22,25,.12);
}

.amenity-tab {
    border-right:1px solid rgba(16,22,25,.10);
    color:#6d757b;
    background:transparent;
}

.amenity-tab:last-child {
    border-right:0;
}

.amenity-tab:hover,
.amenity-tab:focus-visible {
    color:var(--forest-gold);
    background:rgba(202,147,50,.07);
}

.amenity-tab.active {
    color:var(--adarsh-blue);
    background:rgba(19,74,135,.06);
}

.amenity-tab-icon img {
    filter:none;
    opacity:.9;
}

.amenity-tab.active .amenity-tab-icon img {
    filter:none;
    opacity:1;
}

.amenity-tab:hover .amenity-tab-icon img,
.amenity-tab:focus-visible .amenity-tab-icon img {
    filter:none;
    opacity:1;
}

.amenity-tab-icon img {
    filter:brightness(0) saturate(100%) invert(27%) sepia(34%) saturate(1544%) hue-rotate(176deg) brightness(87%) contrast(91%);
}

.amenity-tab:hover .amenity-tab-icon img,
.amenity-tab:focus-visible .amenity-tab-icon img {
    filter:brightness(0) saturate(100%) invert(64%) sepia(38%) saturate(727%) hue-rotate(359deg) brightness(91%) contrast(88%);
}

.amenity-tab.active .amenity-tab-icon img {
    filter:brightness(0) saturate(100%) invert(27%) sepia(34%) saturate(1544%) hue-rotate(176deg) brightness(87%) contrast(91%);
}

.amenity-current-label {
    color:var(--ink);
}

.amenity-current-meta {
    color:#737b80;
}

.amenity-detail-group button {
    border-bottom:1px solid rgba(16,22,25,.12);
    color:#4d565c;
}

.amenity-detail-group button:hover,
.amenity-detail-group button:focus-visible {
    color:var(--forest-gold);
}

.amenity-detail-group button img {
    filter:brightness(0) saturate(100%) invert(27%) sepia(34%) saturate(1544%) hue-rotate(176deg) brightness(87%) contrast(91%);
    opacity:.92;
}

.amenity-detail-group button:hover img,
.amenity-detail-group button:focus-visible img {
    filter:brightness(0) saturate(100%) invert(64%) sepia(38%) saturate(727%) hue-rotate(359deg) brightness(91%) contrast(88%);
    opacity:1;
}

.amenity-detail-group button small {
    color:var(--forest-gold);
}

/* Prevent the brief red/orange filter flash on amenity hover */
.amenity-tab .amenity-tab-icon img,
.amenity-detail-group button img {
    transition:
        opacity .35s ease,
        transform .4s var(--ease-soft);
}

.amenity-tab .amenity-tab-icon img {
    filter: brightness(0) saturate(100%)
            invert(27%) sepia(34%) saturate(1544%)
            hue-rotate(176deg) brightness(87%)
            contrast(91%);
}

.amenity-tab:hover .amenity-tab-icon img,
.amenity-tab:focus-visible .amenity-tab-icon img,
.amenity-detail-group button:hover img,
.amenity-detail-group button:focus-visible img {
    filter: brightness(0) saturate(100%)
            invert(64%) sepia(38%) saturate(727%)
            hue-rotate(359deg) brightness(91%)
            contrast(88%);
}

/* Gallery image should define its own height */
.gallery-feature-media {
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
}

.gallery-feature-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: initial !important;
}