/* ============================================
   QUSAR RESIDENCE — Mobile-first stylesheet
   Palette derived from avenue8.az
   ============================================ */

:root{
  --bg:#f5f1ec;          /* primary cream — clean, light */
  --bg-soft:#ebe5dc;     /* slightly deeper cream for alternating sections */
  --bg-dark:#0b1328;     /* navy — used for hero, footer, accents */
  --bg-2:#1d2f54;
  --gold:#b8916b;        /* slightly deeper gold for contrast on cream */
  --gold-light:#d0b29f;  /* original champagne — for dark sections */
  --cream:#f8f4f1;
  --ink:#1d2f54;         /* deep navy text on cream */
  --ink-soft:#5b6478;    /* muted body text */
  --white:#fff;
  --line:rgba(29,47,84,.14);
  --line-soft:rgba(29,47,84,.08);
  --line-gold:rgba(184,145,107,.3);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:62.5%;-webkit-text-size-adjust:100%;scrollbar-width:none;-ms-overflow-style:none}
/* Hide scrollbars site-wide (scrolling still works) */
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;display:none}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Poppins',sans-serif;
  font-weight:300;
  font-size:1.5rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
/* Dark sections (hero, price, footer, CTAs over dark imagery) */
.theme-dark{background:var(--bg-dark);color:var(--cream)}
.theme-dark .section-title,.theme-dark .hero__title,.theme-dark .price__title,.theme-dark .page-head__title{color:var(--cream)}
.theme-dark .script{color:var(--gold-light)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}

/* ----- Layout ----- */
.container{width:100%;max-width:1480px;margin:0 auto;padding:0 2rem}

/* ----- Script accent ----- */
.script{
  font-family:'Allura',cursive;
  font-weight:400;
  color:var(--gold);
  text-transform:none;
  letter-spacing:0;
}
/* Default scripts on dark backgrounds (hero, page-head, price) keep champagne */
.hero__title .script,.price__title .script,.page-head__title .script{color:var(--gold-light)}

/* ============================================
   HEADER (mobile first)
   ============================================ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:2.4rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .4s ease,padding .4s ease;
}
.header__logo{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  text-align:center;
}
.header.scrolled{background:rgba(245,241,236,.94);backdrop-filter:blur(12px);padding-top:1.7rem;padding-bottom:1.7rem;color:var(--ink);box-shadow:0 1px 0 var(--line-soft)}
/* Pages with no dark hero — keep header readable on the light background */
.page-solid-header .header{background:rgba(245,241,236,.94);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 var(--line-soft)}
.page-solid-header .header__burger i,.page-solid-header .header__burger:before,.page-solid-header .header__burger:after{background:var(--ink)}
.page-solid-header .header__menu{color:var(--ink)}
.page-solid-header .header__phone{color:var(--gold)}
.page-solid-header .header__logo small{color:var(--ink)}
.header.scrolled .header__burger i,.header.scrolled .header__burger:before,.header.scrolled .header__burger:after{background:var(--ink)}
.header.scrolled .header__menu{color:var(--ink)}
.header.scrolled .header__phone{color:var(--gold)}
.header.scrolled .header__logo small{color:var(--ink)}

.header__menu{
  display:flex;align-items:center;gap:.9rem;cursor:pointer;
  font-size:1.3rem;letter-spacing:.25rem;text-transform:uppercase;
  color:var(--cream);
}
.header__burger{width:2.2rem;height:1.2rem;position:relative}
.header__burger i,.header__burger:before,.header__burger:after{
  content:"";position:absolute;left:0;right:0;height:1px;background:var(--cream);
  transition:transform .3s ease,opacity .3s ease,top .3s ease,bottom .3s ease;
}
.header__burger:before{top:0}
.header__burger i{top:50%;transform:translateY(-50%)}
.header__burger:after{bottom:0}
.menu-open .header__burger:before{top:50%;transform:rotate(45deg)}
.menu-open .header__burger:after{bottom:50%;transform:rotate(-45deg)}
.menu-open .header__burger i{opacity:0}
.header__menu .lbl-close{display:none}
.menu-open .header__menu .lbl-menu{display:none}
.menu-open .header__menu .lbl-close{display:inline}
.menu-open .header{z-index:60}
[data-menu-close]{display:none !important}

.header__logo{
  font-family:'Allura',cursive;
  font-size:3.2rem;color:var(--gold);line-height:1;
  display:inline-block;
  white-space:nowrap;
}
.header__logo small{
  display:block;
  font-family:'Poppins',sans-serif;font-size:.92rem;letter-spacing:.55rem;
  padding-left:.5rem;
  color:var(--cream);text-transform:uppercase;margin-top:-.2rem;
}

.header__right{display:flex;align-items:center;gap:1.2rem}
.header__phone{
  font-size:1.4rem;letter-spacing:.2rem;color:var(--gold);
  display:flex;align-items:center;gap:.7rem;
}
.header__phone svg{width:2.1rem;height:2.1rem;stroke:currentColor;fill:none;stroke-width:1.5}
.header__phone span{display:none}
.header__cta{display:none !important}

/* ----- Mobile menu overlay ----- */
.nav{
  position:fixed;inset:0;z-index:49;
  background:rgba(11,19,40,.98);
  backdrop-filter:blur(20px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  opacity:0;visibility:hidden;
  transition:opacity .4s ease,visibility .4s ease;
  padding:8rem 2rem 4rem;
}
.menu-open .nav{opacity:1;visibility:visible}
.nav__list{display:flex;flex-direction:column;gap:2rem;text-align:center;width:100%}
.nav__list a{
  font-size:2rem;font-weight:200;letter-spacing:.4rem;text-transform:uppercase;
  color:var(--cream);transition:color .3s ease;display:inline-block;
}
.nav__list a:hover,.nav__list a.active{color:var(--gold)}
.nav__lang{margin-top:3rem;display:flex;gap:2rem;justify-content:center}
.nav__lang a{font-size:1.2rem;letter-spacing:.3rem;color:var(--muted);text-transform:uppercase}
.nav__lang a.active{color:var(--gold)}

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex;align-items:center;gap:1rem;
  padding:1.4rem 2.4rem;
  font-size:1.1rem;letter-spacing:.3rem;text-transform:uppercase;
  border:1px solid var(--gold);
  color:var(--gold);
  background:transparent;
  transition:all .3s ease;
  white-space:nowrap;
}
.btn:hover,.btn:focus{background:var(--gold);color:var(--white)}
.btn--filled{background:var(--gold);color:var(--white)}
.btn--filled:hover{background:transparent;color:var(--gold)}
.btn__arrow{width:1.4rem;height:1px;background:currentColor;position:relative;flex-shrink:0}
.btn__arrow:after{
  content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;
  border-top:1px solid currentColor;border-right:1px solid currentColor;
  transform:rotate(45deg);
}

.circle-btn{
  width:13rem;height:13rem;border-radius:50%;
  border:1px solid var(--gold);
  color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  font-size:1.05rem;letter-spacing:.3rem;text-transform:uppercase;
  background:transparent;
  transition:all .4s ease;
  line-height:1.4;
}
.circle-btn:hover{background:var(--gold);color:var(--white);transform:scale(1.05)}

/* ============================================
   HERO (mobile-first)
   ============================================ */
.hero{
  position:relative;
  min-height:88vh;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:6rem 0;
  text-align:center;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover}
.hero__media:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,19,40,.45) 0%,rgba(11,19,40,.15) 35%,rgba(11,19,40,.9) 100%);
}
.hero__content{position:relative;z-index:2;width:100%;padding:0 2rem;text-align:center}
.hero__title{
  font-size:13vw;
  line-height:.95;
  font-weight:200;
  letter-spacing:.6rem;
  text-transform:uppercase;
  color:var(--cream);
  max-width:100%;
}
.hero__title .script{
  display:block;
  font-size:22vw;
  line-height:.75;
  margin-top:-1vw;
  margin-left:0;
  max-width:100%;
  overflow-wrap:break-word;
}
.hero__sub{
  display:block;
  color:var(--muted);font-size:1.2rem;letter-spacing:.3rem;text-transform:uppercase;
  margin-top:2rem;
}

/* Hero text — entrance motion on first landing */
@keyframes hero-rise{
  0%{opacity:0;transform:translate3d(0,60px,0);filter:blur(6px)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
.hero__title>span:first-child{
  display:inline-block;
  animation:hero-rise 1.2s cubic-bezier(.2,.7,.2,1) .15s both;
}
.hero__title .script{
  animation:hero-rise 1.3s cubic-bezier(.2,.7,.2,1) .38s both;
}

.hero__card{
  position:absolute;
  right:1.6rem;bottom:2rem;
  z-index:3;
  display:flex;align-items:center;gap:1rem;
  padding:.8rem 1rem;
  background:rgba(11,19,40,.45);
  backdrop-filter:blur(8px);
  border:1px solid rgba(208,178,159,.3);
  border-radius:8rem 1rem 1rem 8rem;
  transition:all .3s ease;
}
.hero__card:hover{border-color:var(--gold)}
.hero__card__img{width:5rem;height:5rem;border-radius:50%;overflow:hidden;flex-shrink:0}
.hero__card__img img{width:100%;height:100%;object-fit:cover}
.hero__card__text{padding-right:1rem}
.hero__card__text span{
  display:block;font-size:.95rem;letter-spacing:.2rem;text-transform:uppercase;
  color:var(--gold);margin-bottom:.2rem;
}
.hero__card__text p{font-size:1.15rem;color:var(--cream);letter-spacing:.05rem}

/* ============================================
   PAGE HEAD (non-home pages)
   ============================================ */
.page-head{
  position:relative;
  min-height:60vh;
  display:flex;align-items:center;justify-content:center;
  padding:14rem 2rem 6rem;
  overflow:hidden;
  text-align:center;
}
.page-head__bg{position:absolute;inset:0;z-index:0}
.page-head__bg img{width:100%;height:100%;object-fit:cover}
.page-head__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,19,40,.6),rgba(11,19,40,.85))}
.page-head__content{position:relative;z-index:2}
.page-head__crumb{color:var(--gold);font-size:1.1rem;letter-spacing:.4rem;text-transform:uppercase;margin-bottom:1.6rem}
.page-head__title{
  font-size:10vw;font-weight:200;letter-spacing:.4rem;text-transform:uppercase;
  color:var(--cream);line-height:1;
}
.page-head__title .script{font-size:16vw;display:block;line-height:.75;margin-top:-1vw;max-width:100%;overflow-wrap:break-word}
.page-head__sub{color:var(--muted);font-size:1.4rem;letter-spacing:.15rem;line-height:1.8;max-width:60rem;margin:3rem auto 0}

/* ============================================
   SECTION TITLES
   ============================================ */
.section{padding:7rem 0}
.section-title{
  font-size:8vw;
  font-weight:200;
  line-height:1.05;
  letter-spacing:.4rem;
  text-transform:uppercase;
  color:var(--ink);
  text-align:center;
  margin-bottom:4rem;
}
.section-title .script{font-size:14vw;display:block;line-height:.75;margin-top:-1vw;max-width:100%;overflow-wrap:break-word}
.section-sub{
  text-align:center;color:var(--ink-soft);font-size:1.4rem;letter-spacing:.05rem;
  line-height:1.9;max-width:60rem;margin:-2rem auto 4rem;
}

/* ============================================
   SLOGAN
   ============================================ */
.slogan{padding:10rem 0;text-align:center;background:var(--bg)}
.slogan h2{
  font-size:6vw;
  font-weight:200;
  line-height:1.3;
  letter-spacing:.2rem;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:3rem;
}
.slogan p{
  font-size:1.4rem;
  color:var(--ink-soft);
  line-height:1.9;
  max-width:54rem;margin:0 auto;
  letter-spacing:.04rem;
}

/* ============================================
   SIGNATURE
   ============================================ */
.signature{padding:6rem 0 8rem}
.signature__grid{display:flex;flex-direction:column;gap:2rem}
.signature__cell{
  position:relative;display:block;
  flex:0 0 auto;min-width:0;
  border-radius:1.8rem;overflow:hidden;
  transition:flex-grow .65s cubic-bezier(.2,.6,.2,1),box-shadow .65s ease;
}
.signature__grid img{
  width:100%;height:48vh;object-fit:cover;
  filter:saturate(.9);display:block;
  transition:filter .6s ease;
}
.signature__cell:hover img{filter:saturate(1)}
/* "Explore gallery" caption — appears on hover */
.signature__cap{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--cream);font-size:1.25rem;letter-spacing:.45rem;text-transform:uppercase;
  background:linear-gradient(180deg,rgba(11,19,40,.15),rgba(11,19,40,.6));
  opacity:0;transition:opacity .5s ease;pointer-events:none;
}
.signature__cell:hover .signature__cap{opacity:1}

/* ============================================
   PRICE / LOCATION SPLIT
   ============================================ */
.price{
  position:relative;
  min-height:72vh;
  display:flex;align-items:center;
  overflow:hidden;
}
.price__bg{position:absolute;inset:0;z-index:0}
.price__bg img{width:100%;height:100%;object-fit:cover}
.price__bg:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,19,40,.4) 0%,rgba(11,19,40,.85) 100%);
}
.price__content{position:relative;z-index:2;padding:7rem 0;text-align:center}
.price__title{
  font-size:8vw;
  font-weight:200;
  line-height:1.1;
  letter-spacing:.3rem;
  text-transform:uppercase;
  color:var(--cream);
  margin-bottom:3.5rem;
}
.price__title .script{font-size:14vw;display:block;line-height:.75;margin-top:-.5vw;max-width:100%;overflow-wrap:break-word}

/* ============================================
   PLACES
   ============================================ */
.places{padding:7rem 0 0;text-align:center}

/* Immersive crossfade variant */
.places--immersive{
  position:relative;
  min-height:100vh;
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--cream);
}
.places__bg{position:absolute;inset:0;z-index:0}
.places__bg__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.2s ease;
  will-change:opacity;
  transform:translateZ(0); /* hint: dedicated layer */
}
.places__bg__img.is-active{opacity:1}
.places__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(11,19,40,.7) 0%,rgba(11,19,40,.35) 30%,rgba(11,19,40,.55) 70%,rgba(11,19,40,.8) 100%);
  pointer-events:none;
}
.places__inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  flex:1;
  padding:12rem 0 6rem;
  gap:4rem;
  text-align:center;
}
.places__head{display:flex;flex-direction:column;align-items:center;gap:2rem}
.places__cta{align-self:center}
.places--immersive .section-title{
  color:var(--cream);
  margin-bottom:0;
  line-height:.8;
}
.places--immersive .section-title .script{
  margin-top:0;
  margin-bottom:-2vw; /* pull the main word up under the script */
  line-height:.7;
}
.places--immersive .section-title br{display:none}
.places--immersive .section-title .script{color:var(--gold-light)}
.places--immersive .places__items{
  display:flex;justify-content:center;flex-wrap:wrap;
  gap:3rem;margin:0;
}
.places--immersive .places__item{
  background:transparent;border:none;color:inherit;cursor:pointer;
  padding:1rem;font-family:inherit;
  display:flex;flex-direction:column;align-items:center;
  transition:transform .3s ease;
  opacity:.6;
}
.places--immersive .places__item:hover{opacity:.9;transform:translateY(-4px)}
.places--immersive .places__item.is-active{opacity:1}
.places--immersive .places__item__circle{
  width:11rem;height:11rem;border-radius:50%;
  border:1px solid rgba(208,178,159,.5);
  overflow:hidden;margin-bottom:1.2rem;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.places--immersive .places__item.is-active .places__item__circle{
  border-color:var(--gold-light);
  transform:scale(1.06);
  box-shadow:0 0 0 4px rgba(208,178,159,.18);
}
.places--immersive .places__item__minutes,
.places--immersive .places__item__minutes span{color:var(--cream)}
.places--immersive .places__item__minutes span:first-child{color:var(--gold-light)}
.places--immersive .places__item__name{color:var(--cream)}
.places--immersive .section-title{text-shadow:0 1px 6px rgba(11,19,40,.35)}
.places--immersive .places__item__minutes,
.places--immersive .places__item__minutes span,
.places--immersive .places__item__name{text-shadow:0 2px 18px rgba(11,19,40,.85),0 1px 3px rgba(11,19,40,.6)}
.places__items{
  display:flex;flex-direction:column;gap:3rem;
  margin:4rem 0 6rem;align-items:center;
}
.places__item{display:flex;flex-direction:column;align-items:center;transition:transform .3s ease}
.places__item:hover{transform:translateY(-6px)}
.places__item__circle{
  width:11rem;height:11rem;border-radius:50%;
  border:1px solid var(--gold);
  margin-bottom:1.2rem;
  overflow:hidden;
}
.places__item__circle img{width:100%;height:100%;object-fit:cover;opacity:.85}
.places__item__minutes{
  color:var(--gold);
  font-size:1.05rem;letter-spacing:.3rem;text-transform:uppercase;
}
.places__item__minutes span{
  font-size:3rem;display:block;font-weight:200;line-height:1;color:var(--ink);
  margin-bottom:.4rem;letter-spacing:.2rem;
}
.places__item__name{margin-top:.8rem;font-size:1.2rem;letter-spacing:.3rem;text-transform:uppercase;color:var(--ink)}
.places__pano{width:100%;height:42vh;overflow:hidden}
.places__pano img{width:100%;height:100%;object-fit:cover}

/* ============================================
   RESIDENCES
   ============================================ */
.residences{padding:7rem 0}
.residences__grid{display:grid;grid-template-columns:1fr;gap:2rem}
.residence-card{
  border:1px solid var(--line);
  overflow:hidden;
  background:var(--white);
  transition:all .4s ease;
}
.residence-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 24px 60px -30px rgba(29,47,84,.2)}
.residence-card__img{height:30rem;overflow:hidden}
.residence-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.residence-card:hover .residence-card__img img{transform:scale(1.05)}
.residence-card__body{padding:2.4rem;display:flex;flex-direction:column;gap:1rem}
.residence-card__type{font-size:1rem;letter-spacing:.3rem;text-transform:uppercase;color:var(--gold)}
.residence-card__title{font-size:2.2rem;font-weight:300;letter-spacing:.15rem;text-transform:uppercase;color:var(--ink)}
.residence-card__meta{
  display:flex;justify-content:space-between;padding-top:1.4rem;
  border-top:1px solid var(--line-soft);color:var(--ink-soft);font-size:1.2rem;letter-spacing:.05rem;
}
.residence-card__cta{padding:1.4rem 0 0;color:var(--gold);font-size:1.1rem;letter-spacing:.3rem;text-transform:uppercase}

/* ============================================
   STATS
   ============================================ */
.stats{padding:8rem 0;background:var(--bg-soft)}
.stats__grid{display:grid;grid-template-columns:1fr;gap:4rem;text-align:center}
.stats__grid--6{grid-template-columns:repeat(2,1fr);gap:5rem 2rem}
@media (min-width:768px){.stats__grid--6{grid-template-columns:repeat(3,1fr)}}
.stat__num{font-family:'Allura',cursive;color:var(--gold);font-size:9rem;line-height:1;margin-bottom:.8rem}
.stat__label{font-size:1.2rem;letter-spacing:.4rem;text-transform:uppercase;color:var(--ink)}

/* ============================================
   FEATURES / INFRASTRUCTURE GRID
   ============================================ */
.features{padding:6rem 0}
.features__grid{display:grid;grid-template-columns:1fr;gap:2rem}
.feature{
  padding:3.6rem 2.4rem;
  border:1px solid var(--line);
  background:var(--white);
  text-align:center;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.feature:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 50px -28px rgba(29,47,84,.18)}
.feature__icon{
  width:6rem;height:6rem;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;margin:0 auto 2.4rem;
  color:var(--gold);
}
.feature__icon svg{width:2.6rem;height:2.6rem;stroke:currentColor;fill:none;stroke-width:1.2}
.feature__title{font-size:1.6rem;letter-spacing:.25rem;text-transform:uppercase;color:var(--ink);margin-bottom:1.2rem;font-weight:400}
.feature__desc{font-size:1.3rem;color:var(--ink-soft);line-height:1.85;letter-spacing:.02rem}

/* ============================================
   GALLERY
   ============================================ */
.gallery{padding:6rem 0}
.gallery__grid{display:grid;grid-template-columns:1fr;gap:1.2rem}
.gallery__item{position:relative;overflow:hidden;height:30rem}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery__item:hover img{transform:scale(1.06)}
.gallery__item__cap{
  position:absolute;left:1.6rem;bottom:1.6rem;right:1.6rem;
  color:var(--cream);font-size:1.05rem;letter-spacing:.3rem;text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
}

/* ============================================
   STEPS (how-to-buy)
   ============================================ */
.steps{padding:6rem 0}
.steps__list{display:flex;flex-direction:column;gap:2.4rem;counter-reset:step}
.step{
  display:flex;flex-direction:column;gap:1.6rem;
  padding:3.2rem 2.4rem;
  border:1px solid var(--line);
  position:relative;
  background:var(--white);
}
.step__num{
  font-family:'Allura',cursive;color:var(--gold);font-size:6rem;line-height:.8;
}
.step__title{font-size:1.8rem;letter-spacing:.2rem;text-transform:uppercase;color:var(--ink);font-weight:400}
.step__desc{font-size:1.3rem;color:var(--ink-soft);line-height:1.85}

/* ============================================
   PAYMENT CALCULATOR
   ============================================ */
.calc-terms{padding:6rem 0 2rem}
.calc-terms__grid{display:grid;grid-template-columns:1fr;gap:2rem}
.calc-term{
  padding:3.2rem 2.4rem;text-align:center;
  border:1px solid var(--line);background:var(--white);
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.calc-term:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 50px -28px rgba(29,47,84,.18)}
.calc-term__num{
  font-family:'Allura',cursive;color:var(--gold);
  font-size:7rem;line-height:.9;margin-bottom:1rem;
}
.calc-term__num small{font-family:'Poppins',sans-serif;font-size:1.4rem;letter-spacing:.2rem;margin-left:.4rem}
.calc-term__t{font-size:1.5rem;letter-spacing:.2rem;text-transform:uppercase;color:var(--ink);font-weight:400;margin-bottom:1rem}
.calc-term__d{font-size:1.3rem;color:var(--ink-soft);line-height:1.8}

.calc{padding:5rem 0 8rem}
.calc__grid{display:grid;grid-template-columns:1fr;gap:2.4rem;max-width:108rem;margin:0 auto}

.calc__panel{
  background:var(--white);border:1px solid var(--line);
  padding:3.2rem 2.8rem;
  display:flex;flex-direction:column;gap:2.8rem;
  justify-content:space-between;
}
.calc__field{display:flex;flex-direction:column;gap:1.2rem}
.calc__label{font-size:1.1rem;letter-spacing:.28rem;text-transform:uppercase;color:var(--ink-soft)}
.calc__labelrow{display:flex;align-items:baseline;justify-content:space-between}
.calc__labelval{font-size:1.6rem;color:var(--ink);letter-spacing:.05rem}
.calc__labelval b{font-weight:500;color:var(--gold);font-size:2rem}

/* select */
.calc__selectwrap{position:relative}
.calc__select{
  width:100%;padding:1.5rem 3.4rem 1.5rem 1.6rem;
  background:var(--bg);border:1px solid var(--line);color:var(--ink);
  font-family:inherit;font-size:1.4rem;letter-spacing:.04rem;cursor:pointer;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;
  transition:border-color .3s ease;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b8916b' stroke-width='1.5'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 1.4rem center;background-size:1.4rem;
}
.calc__select:focus{border-color:var(--gold)}
.calc__select option{background:var(--white);color:var(--ink);font-size:1.4rem}

/* price input */
.calc__priceinput{
  display:flex;align-items:center;gap:.6rem;
  border:1px solid var(--line);background:var(--bg);
  padding:1.4rem 1.6rem;transition:border-color .3s ease;
}
.calc__priceinput:focus-within{border-color:var(--gold)}
.calc__cur{color:var(--gold);font-size:1.8rem;font-weight:400}
.calc__priceinput input{
  flex:1;width:100%;border:none;background:transparent;outline:none;
  color:var(--ink);font-family:inherit;font-size:1.8rem;letter-spacing:.05rem;
}

/* range slider */
.calc__range{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold) var(--fill,0%),var(--line) var(--fill,0%),var(--line) 100%);
  border-radius:4px;outline:none;cursor:pointer;margin:.6rem 0;
}
.calc__range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:2.2rem;height:2.2rem;border-radius:50%;
  background:var(--gold);border:3px solid var(--white);cursor:pointer;
  box-shadow:0 2px 10px -2px rgba(184,145,107,.7);transition:transform .2s ease;
}
.calc__range::-webkit-slider-thumb:hover{transform:scale(1.12)}
.calc__range::-moz-range-thumb{
  width:2.2rem;height:2.2rem;border-radius:50%;background:var(--gold);
  border:3px solid var(--white);cursor:pointer;box-shadow:0 2px 10px -2px rgba(184,145,107,.7);
}
.calc__rangefoot{display:flex;justify-content:space-between;font-size:1.15rem;letter-spacing:.05rem;color:var(--ink-soft)}
.calc__rangefoot span:last-child{color:var(--gold);font-weight:400}

/* quick chips */
.calc__quick{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.4rem}
.calc__chip{
  flex:1;min-width:6rem;padding:1rem .6rem;
  border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);
  font-family:inherit;font-size:1.2rem;letter-spacing:.1rem;cursor:pointer;
  transition:all .25s ease;
}
.calc__chip:hover{border-color:var(--gold);color:var(--gold)}
.calc__chip.is-active{background:var(--gold);border-color:var(--gold);color:var(--white)}

/* segmented term control */
.calc__seg{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.calc__segbtn{
  padding:1.4rem .6rem;border:1px solid var(--line);background:var(--bg);
  color:var(--ink);font-family:inherit;font-size:1.5rem;letter-spacing:.05rem;cursor:pointer;
  transition:all .25s ease;
}
.calc__segbtn small{font-size:1rem;letter-spacing:.15rem;text-transform:uppercase;color:var(--ink-soft);margin-left:.2rem}
.calc__segbtn:hover{border-color:var(--gold)}
.calc__segbtn.is-active{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.calc__segbtn.is-active small{color:var(--gold-light)}

/* summary panel */
.calc__summary{position:relative;overflow:hidden;display:flex}
.calc__summary__bg{position:absolute;inset:0;z-index:0}
.calc__summary__bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.calc__summary__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,19,40,.82),rgba(11,19,40,.95))}
.calc__summary__inner{
  position:relative;z-index:2;width:100%;
  padding:3.6rem 3rem;display:flex;flex-direction:column;gap:2.4rem;
}
.calc__summary__tag{font-size:1.1rem;letter-spacing:.32rem;text-transform:uppercase;color:var(--gold-light)}
.calc__monthly{display:flex;flex-direction:column;gap:.6rem;padding-bottom:2.4rem;border-bottom:1px solid rgba(208,178,159,.2)}
.calc__monthly__label{font-size:1.2rem;letter-spacing:.2rem;text-transform:uppercase;color:rgba(248,244,241,.7)}
.calc__monthly__val{font-size:5.2rem;line-height:1;font-weight:200;letter-spacing:.1rem;color:var(--cream)}
.calc__monthly__per{font-size:1.2rem;letter-spacing:.1rem;color:var(--gold-light)}
.calc__rows{display:flex;flex-direction:column;gap:1.4rem;margin:0}
.calc__rows div{display:flex;align-items:baseline;justify-content:space-between;gap:1.6rem}
.calc__rows dt{font-size:1.25rem;letter-spacing:.05rem;color:rgba(248,244,241,.7)}
.calc__rows dd{font-size:1.5rem;letter-spacing:.04rem;color:var(--cream);margin:0;font-weight:400;text-align:right}
.calc__summary__cta{justify-content:center;width:100%;margin-top:.4rem}
.calc__note{font-size:1.05rem;line-height:1.7;color:rgba(248,244,241,.5);letter-spacing:.03rem}

@media (min-width:640px){
  .calc-terms__grid{grid-template-columns:repeat(3,1fr);gap:2.4rem}
}
@media (min-width:1024px){
  .calc__grid{grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}
  .calc__panel{padding:4rem 3.6rem}
  .calc__monthly__val{font-size:6rem}
}

/* ============================================
   LOCATION MAP
   ============================================ */
.map-section{padding:6rem 0}
.map-section__embed{
  width:100%;height:50rem;border:1px solid var(--line);border-radius:1.2rem;
}

/* ============================================
   CTA + FORM
   ============================================ */
.cta{padding:8rem 0;text-align:center}
.cta--solo{padding-top:8rem}
@media (min-width:1024px){.cta--solo{padding-top:11rem}}
.cta__sub{color:var(--ink-soft);font-size:1.3rem;letter-spacing:.05rem;margin-bottom:4rem;max-width:50rem;margin-left:auto;margin-right:auto}
.form{
  display:grid;grid-template-columns:1fr;gap:1.6rem;
  max-width:64rem;margin:0 auto;
  text-align:left;
}
.form input,.form textarea,.form select{
  width:100%;padding:1.6rem 0;
  background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--ink);font-family:inherit;font-size:1.3rem;letter-spacing:.05rem;
  outline:none;transition:border-color .3s;
}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--gold)}
.form input::placeholder,.form textarea::placeholder{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.2rem;font-size:1.1rem}
.form textarea{min-height:8rem;resize:vertical}

/* Custom select — match form aesthetic, gold caret, dark dropdown */
.form select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  padding-right:3rem;
  cursor:pointer;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.2rem;
  font-size:1.1rem;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b8916b' stroke-width='1.5'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position:right .4rem center;
  background-size:1.4rem;
}
.form select:focus,.form select.has-value{color:var(--ink)}
.form select option{
  background:var(--white);
  color:var(--ink);
  padding:1.2rem;
  font-family:'Poppins',sans-serif;
  font-weight:300;
  letter-spacing:.05rem;
  text-transform:none;
  font-size:1.4rem;
}
.form select option[value=""]{color:var(--ink-soft)}
.form select option:checked{
  background:var(--bg-soft);
  color:var(--gold);
}

/* ----- Custom UI dropdown (replaces native select popup) ----- */
.select select{display:none}      /* native select kept for form value, hidden */
.select{position:relative;width:100%}
.select__trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.6rem 0;background:transparent;border:none;border-bottom:1px solid var(--line);
  cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.2rem;
  font-size:1.1rem;color:var(--ink);transition:border-color .3s ease;
}
.select__trigger:hover,.select.is-open .select__trigger{border-color:var(--gold)}
.select__value{color:var(--ink)}
.select__value.is-placeholder{color:var(--ink-soft)}
.select__caret{
  width:.8rem;height:.8rem;flex-shrink:0;margin-bottom:.3rem;
  border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg);transition:transform .3s ease,margin .3s ease;
}
.select.is-open .select__caret{transform:rotate(-135deg);margin-bottom:-.2rem}
.select__list{
  position:absolute;top:calc(100% + .8rem);left:0;right:0;z-index:40;
  list-style:none;margin:0;padding:.6rem;
  background:var(--white);border:1px solid var(--line);border-radius:1.2rem;
  box-shadow:0 26px 60px -26px rgba(11,19,40,.4);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  max-height:30rem;overflow-y:auto;
}
.select.is-open .select__list{opacity:1;visibility:visible;transform:none}
.select__option{
  padding:1.2rem 1.4rem;border-radius:.7rem;cursor:pointer;
  font-size:1.2rem;letter-spacing:.12rem;text-transform:uppercase;color:var(--ink);
  transition:background .2s ease,color .2s ease;
}
.select__option:hover{background:var(--bg-soft);color:var(--gold)}
.select__option.is-selected{background:var(--bg-soft);color:var(--gold)}
.select__option--placeholder,
.select__option--placeholder.is-selected{color:var(--ink-soft);background:transparent}

.form__consent{color:var(--ink-soft);font-size:1rem;letter-spacing:.1rem;display:flex;align-items:flex-start;gap:1.2rem;line-height:1.6;cursor:pointer}
.form__consent input[type="checkbox"]{
  -webkit-appearance:none;appearance:none;
  width:2rem;height:2rem;flex-shrink:0;margin:0;padding:0;
  border:1px solid var(--line);border-radius:.5rem;
  background:var(--white);cursor:pointer;position:relative;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.form__consent input[type="checkbox"]:hover{border-color:var(--gold)}
.form__consent input[type="checkbox"]:checked{
  border-color:var(--gold);
  background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12 10 17 19 7'/%3E%3C/svg%3E") center / 1.2rem no-repeat;
}
.form__consent input[type="checkbox"]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(184,145,107,.3)}
.form__submit{display:flex;justify-content:center;margin-top:1rem}

/* ============================================
   FOOTER
   ============================================ */
.footer{
  padding:7rem 0 3rem;
  background:var(--bg-dark);
  color:var(--cream);
}
.footer .footer__desc{color:var(--muted,#a5a9b0)}
.footer__col a{color:var(--cream)}
.footer__top{display:grid;grid-template-columns:1fr;gap:3.5rem;margin-bottom:4rem}
.footer__logo{font-family:'Allura',cursive;font-size:4rem;color:var(--gold);line-height:1;display:inline-block}
.footer__logo small{display:block;font-family:'Poppins',sans-serif;font-size:.9rem;letter-spacing:.5rem;color:var(--cream);text-transform:uppercase;margin-top:.2rem}
.footer__desc{color:rgba(248,244,241,.65);font-size:1.2rem;letter-spacing:.05rem;line-height:1.8;margin-top:1.6rem;max-width:34rem}
.footer__col h4{font-size:1.1rem;letter-spacing:.3rem;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem;font-weight:400}
.footer__col ul{display:flex;flex-direction:column;gap:1rem}
.footer__col a{color:var(--cream);font-size:1.25rem;letter-spacing:.05rem;transition:color .3s}
.footer__col a:hover{color:var(--gold)}
.footer__bottom{
  padding-top:2.4rem;border-top:1px solid rgba(208,178,159,.15);
  display:flex;flex-direction:column;gap:1.6rem;align-items:center;text-align:center;
  color:rgba(248,244,241,.5);font-size:1.05rem;letter-spacing:.2rem;
}
.footer__credit{font-size:.95rem;letter-spacing:.05rem;opacity:.55}
.footer__credit a{color:var(--gold-light);border-bottom:1px solid transparent;transition:border-color .3s}
.footer__credit a:hover{border-bottom-color:var(--gold-light)}
.footer__lang{
  display:flex;gap:1.6rem;align-items:center;
}
.footer__lang a{
  font-size:1.1rem;letter-spacing:.3rem;text-transform:uppercase;
  color:var(--muted);padding:.4rem .6rem;
  transition:color .3s ease;
  border-bottom:1px solid transparent;
}
.footer__lang a:hover{color:var(--cream)}
.footer__lang a.active{color:var(--gold);border-bottom-color:var(--gold)}
.nav__lang a{cursor:pointer}

/* ============================================
   UTILITY
   ============================================ */
.text-center{text-align:center}
.mt-0{margin-top:0!important}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ============================================
   RESIDENCE DETAIL DRAWER
   ============================================ */
.drawer{
  position:fixed;inset:0;z-index:9000;
  visibility:hidden;pointer-events:none;
}
.drawer.is-open{visibility:visible;pointer-events:auto}

.drawer__overlay{
  position:absolute;inset:0;
  background:rgba(11,19,40,.55);
  opacity:0;
  backdrop-filter:blur(2px);
  transition:opacity .35s ease;
  cursor:pointer;
}
.drawer.is-open .drawer__overlay{opacity:1}

.drawer__panel{
  position:absolute;top:0;right:0;bottom:0;
  width:min(92vw,520px);
  background:var(--bg);
  color:var(--ink);
  display:flex;flex-direction:column;
  transform:translate3d(100%,0,0);
  transition:transform .42s cubic-bezier(.2,.7,.2,1);
  overflow-y:auto;
  box-shadow:-20px 0 60px -20px rgba(11,19,40,.35);
  will-change:transform;
}
.drawer.is-open .drawer__panel{transform:translate3d(0,0,0)}

.drawer__close{
  position:absolute;top:1.6rem;right:1.6rem;
  width:4.4rem;height:4.4rem;border-radius:50%;
  background:rgba(245,241,236,.85);
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;
  border:1px solid var(--line);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.drawer__close:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.drawer__close:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.drawer__image{
  position:relative;
  width:100%;height:36rem;
  overflow:hidden;flex-shrink:0;
  background:var(--bg-soft);
}
.drawer__image img{width:100%;height:100%;object-fit:cover;display:block}
.drawer__image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(11,19,40,.4) 100%);
}

.drawer__body{
  padding:3.2rem 3rem 3.6rem;
  display:flex;flex-direction:column;gap:1.6rem;
}
.drawer__type{
  font-size:1.1rem;letter-spacing:.32rem;text-transform:uppercase;
  color:var(--gold);
}
.drawer__title{
  font-size:3.6rem;font-weight:200;letter-spacing:.1rem;
  text-transform:uppercase;color:var(--ink);
  line-height:1.05;margin:0;
}
.drawer__price{
  font-size:1.4rem;letter-spacing:.05rem;color:var(--ink-soft);margin:0;
}
.drawer__divider{
  height:1px;background:var(--line);
  margin:.4rem 0;
}
.drawer__specs{
  display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem;
  margin:0;padding:0;
}
.drawer__specs div{display:flex;flex-direction:column;gap:.4rem}
.drawer__specs dt{
  font-size:1rem;letter-spacing:.25rem;text-transform:uppercase;
  color:var(--ink-soft);margin:0;
}
.drawer__specs dd{
  font-size:1.4rem;letter-spacing:.04rem;color:var(--ink);
  margin:0;font-weight:300;
}
.drawer__desc{
  font-size:1.4rem;line-height:1.85;color:var(--ink-soft);
  letter-spacing:.02rem;margin:0;
}
/* Floor plan inside the drawer */
.drawer__plan{display:flex;flex-direction:column;gap:1.2rem}
.drawer__plan__label{font-size:1rem;letter-spacing:.25rem;text-transform:uppercase;color:var(--ink-soft)}
.drawer__plan a{display:block;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff;transition:border-color .25s ease,box-shadow .25s ease}
.drawer__plan a:hover{border-color:var(--gold);box-shadow:0 14px 40px -22px rgba(29,47,84,.4)}
.drawer__plan img{width:100%;height:auto;display:block;background:#fff}
.drawer__cta{
  display:flex;flex-direction:column;gap:1.2rem;margin-top:1.2rem;
}
.drawer__cta .btn{justify-content:center;text-align:center;width:100%}

/* Body scroll lock while drawer is open */
body.drawer-open{overflow:hidden}

/* Residence card — button reset */
button.residence-card{
  font-family:inherit;color:inherit;
  text-align:left;cursor:pointer;width:100%;
  background:var(--white);border:1px solid var(--line);
  padding:0;
}
button.residence-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

@media (min-width:640px){
  .drawer__cta{flex-direction:row}
  .drawer__cta .btn{flex:1}
}
@media (min-width:1024px){
  .drawer__image{height:42rem}
}

@media (prefers-reduced-motion: reduce){
  .drawer__overlay,.drawer__panel{transition:none}
}

/* ============================================
   PREMIUM MICRO-ANIMATIONS
   ============================================ */

@keyframes fade-up{
  from{opacity:0;transform:translate3d(0,28px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* Residence card: image gentle zoom + sheen on hover */
.residence-card{position:relative}
.residence-card__img{position:relative;overflow:hidden}
.residence-card__img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(208,178,159,.18) 50%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .9s cubic-bezier(.2,.6,.2,1);
  pointer-events:none;
}
.residence-card:hover .residence-card__img::after{transform:translateX(120%)}

/* Feature/step cards: gentle gold underline on hover */
.feature{position:relative}
.feature::after{
  content:"";position:absolute;left:50%;bottom:0;
  width:0;height:1px;background:var(--gold);
  transition:width .6s cubic-bezier(.2,.6,.2,1),left .6s cubic-bezier(.2,.6,.2,1);
}
.feature:hover::after{width:60%;left:20%}

/* Buttons: gold sweep on hover */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform .5s cubic-bezier(.6,.05,.4,1);
}
.btn:hover::before{transform:translateX(0)}
.btn--filled::before{background:transparent}
.btn--filled:hover::before{background:var(--bg-dark);transform:translateX(0)}
.btn--filled:hover{color:var(--gold)}

/* Circle button: rotating ring on hover */
.circle-btn{position:relative}
.circle-btn::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px dashed var(--gold);opacity:0;
  animation:none;
  transition:opacity .3s ease;
}
.circle-btn:hover::before{opacity:.5;animation:rotate-ring 8s linear infinite}
@keyframes rotate-ring{to{transform:rotate(360deg)}}

/* Stat numbers — soft pulse on enter (transform only) */
.reveal.in .stat__num{
  animation:stat-in 1.1s cubic-bezier(.2,.6,.2,1) both;
}
@keyframes stat-in{
  from{opacity:0;transform:translate3d(0,20px,0) scale3d(.92,.92,1)}
  to{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}
}

/* Footer fade-up */
.footer{animation:none}
.reveal.in .footer{animation:fade-up .8s ease both}

/* Soft scroll cue on hero */
.hero::after{
  content:"";
  position:absolute;left:50%;bottom:3rem;
  width:1px;height:5rem;
  background:linear-gradient(180deg,transparent,var(--gold-light));
  transform:translateX(-50%);
  opacity:0;
  animation:scroll-cue 2s ease-in-out 1.2s infinite;
  z-index:3;
}
@keyframes scroll-cue{
  0%{opacity:0;transform:translate(-50%,-20px)}
  50%{opacity:.7}
  100%{opacity:0;transform:translate(-50%,20px)}
}

/* Places circles — soft breathing pulse on active item */
.places--immersive .places__item.is-active .places__item__circle{
  animation:pulse-ring 3.5s ease-in-out infinite;
}
@keyframes pulse-ring{
  0%,100%{box-shadow:0 0 0 4px rgba(208,178,159,.18)}
  50%{box-shadow:0 0 0 10px rgba(208,178,159,.05)}
}

/* ============================================
   TABLET (>= 640px)
   ============================================ */
@media (min-width:640px){
  body{font-size:1.6rem}
  .container{padding:0 3rem}
  .header{padding:2.8rem 3rem}
  .header__phone span{display:inline}

  .signature__grid{flex-direction:row;gap:2.4rem;align-items:stretch}
  .signature__cell{flex:1 1 0}
  .signature__cell:hover{flex-grow:3;box-shadow:0 40px 90px -30px rgba(11,19,40,.5)}   /* expand ~50% (left edge pinned → 1st grows right, 2nd grows left); flex gap keeps spacing */
  .signature__grid img{height:50vh}

  .residences__grid{grid-template-columns:1fr 1fr;gap:2.4rem}
  .features__grid{grid-template-columns:1fr 1fr;gap:2.4rem}
  .stats__grid{grid-template-columns:repeat(3,1fr)}
  .stat__num{font-size:11rem}

  .gallery__grid{grid-template-columns:1fr 1fr;gap:1.6rem}
  .gallery__item{height:36rem}

  .places__items{flex-direction:row;justify-content:center;gap:6rem;flex-wrap:wrap}
  .places__pano{height:50vh}

  .form{grid-template-columns:1fr 1fr}
  .form__consent,.form__submit,.form textarea,.form__full{grid-column:1 / -1}

  .footer__top{grid-template-columns:2fr 1fr 1fr;gap:4rem}
  .footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}

  .hero{min-height:90vh}
  .hero__title{font-size:11vw;letter-spacing:1rem}
  .hero__title .script{font-size:18vw;margin-left:0}
  .hero__card{right:3rem;bottom:4rem;padding:1rem 1.2rem}
  .hero__card__img{width:6rem;height:6rem}

  .section-title{font-size:6vw;letter-spacing:.6rem}
  .section-title .script{font-size:11vw}
  .slogan h2{font-size:4.2vw}
  .price__title{font-size:6vw}
  .price__title .script{font-size:10vw}
  .page-head__title{font-size:7vw;letter-spacing:.6rem}
  .page-head__title .script{font-size:12vw}

  .step{flex-direction:row;align-items:flex-start;gap:3rem;padding:3.6rem}
  .step__num{flex-shrink:0;width:10rem}
}

/* ============================================
   DESKTOP (>= 1024px)
   ============================================ */
@media (min-width:1024px){
  body{font-size:1.6rem}
  .container{padding:0 4rem}
  .header{padding:3.4rem 4rem}

  /* Desktop nav inline */
  .header__logo{font-size:4.2rem}

  /* Keep hamburger overlay menu on desktop too */
  .header__menu{font-size:1.55rem}

  .signature__grid img{height:62rem}
  .residences__grid{grid-template-columns:repeat(3,1fr)}
  .features__grid{grid-template-columns:repeat(3,1fr)}
  .gallery__grid{grid-template-columns:repeat(3,1fr)}
  .gallery__item{height:42rem}

  .footer__top{grid-template-columns:2fr 1fr 1fr 1fr}

  .hero{min-height:100vh}
  .hero__title{font-size:7.8vw;letter-spacing:1.5rem}
  .hero__title .script{font-size:13vw;margin-top:0;margin-left:0}
  .hero__card{right:6rem;bottom:8rem}
  .hero__card__img{width:7rem;height:7rem}
  .hero__card__text span{font-size:1.1rem}
  .hero__card__text p{font-size:1.3rem}

  .section{padding:10rem 0}
  .section-title{font-size:4.6vw;letter-spacing:.9rem;margin-bottom:5rem}
  .section-title .script{font-size:8vw;margin-top:-1vw}
  .slogan{padding:14rem 0}
  .slogan h2{font-size:3.4vw;letter-spacing:.4rem}
  .slogan p{font-size:1.5rem;max-width:60rem}
  .price__content{padding:10rem 0;text-align:left}
  .price__title{font-size:4.4vw;letter-spacing:.8rem;margin-bottom:5rem}
  .price__title .script{font-size:7vw;margin-left:3vw}
  .page-head{min-height:70vh;padding:18rem 4rem 8rem}
  .page-head__title{font-size:5.5vw;letter-spacing:.9rem}
  .page-head__title .script{font-size:9vw}

  .stat__num{font-size:12rem}

  .map-section__embed{height:60rem}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
