/* ============================================================
   ARVIND ICONIA — The Icon of Legacy
   Maroon / gold · Japanese wabi-sabi · editorial luxury
   ============================================================ */

:root{
  --oxblood:#3A0E12; --maroon:#4A1418; --maroon-2:#5C1A1F; --wine:#6B1E23;
  --gold:#C9A34E; --gold-lt:#E7C979;
  --paper:#F4EEE3; --paper-2:#EDE6D6; --cream:#FBF7EF;
  --ink:#1A1210; --rose:#C9A9A2;
  --ff-display:'Fraunces', Georgia, serif;
  --ff-body:'Jost', system-ui, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1360px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;}
body{font-family:var(--ff-body);background:var(--paper);color:var(--ink);overflow-x:hidden;cursor:none;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold);color:var(--oxblood);}

html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}

@font-face {
    font-family: 'againstregular';
    src: url('against_regular-webfont.woff2') format('woff2'),
         url('against_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'againstregular';
    src: url('against_regular-webfont.woff2') format('woff2'),
         url('against_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

/* ---------- Motif ---------- */
/*.motif,.nav__brand-mark,.lead-block__mark,.modal__mark{
  display:inline-block;
  background:
    radial-gradient(circle at 50% 50%, var(--gold) 0 18%, transparent 19%),
    conic-gradient(from 0deg, var(--gold) 0 8%, transparent 8% 12.5%,
      var(--gold) 12.5% 20.5%, transparent 20.5% 25%,
      var(--gold) 25% 33%, transparent 33% 37.5%,
      var(--gold) 37.5% 45.5%, transparent 45.5% 50%,
      var(--gold) 50% 58%, transparent 58% 62.5%,
      var(--gold) 62.5% 70.5%, transparent 70.5% 75%,
      var(--gold) 75% 83%, transparent 83% 87.5%,
      var(--gold) 87.5% 95.5%, transparent 95.5% 100%);
  -webkit-mask:radial-gradient(circle at 50% 50%, #000 0 46%, transparent 47%), conic-gradient(#000 0 100%);
  border-radius:50%;
}*/

.motif,
.nav__brand-mark,
.lead-block__mark,
.modal__mark {
    display: inline-block;

    width: 48px;      /* adjust */
    height: 48px;     /* adjust */

    background-image: url("../images/icon-logo-form.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    border-radius: 50%;
}

/* ============ PRELOADER ============ */
.preloader{position:fixed;inset:0;z-index:2000;background:var(--oxblood);display:flex;align-items:center;justify-content:center;transition:transform .95s var(--ease);}
.preloader.is-hide{transform:translateY(-100%);}
.preloader__inner{text-align:center;color:var(--paper);}
.preloader__motif .motif{width:56px;height:56px;animation:spin 6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.preloader__word-wrap{overflow:hidden;margin-top:1.4rem;}
.preloader__word{display:inline-block;font-family:var(--ff-body);letter-spacing:.5em;font-size:.8rem;color:var(--gold-lt);transform:translateY(110%);transition:transform .8s var(--ease) .3s;}
.preloader__word,.preloader:not(.is-hide) .preloader__word{transform:translateY(0);}
.preloader__count{font-family:var(--ff-display);font-size:3.4rem;margin-top:.4rem;color:var(--paper);}
.preloader__count em{font-size:1.2rem;color:var(--gold);font-style:normal;}

/* ============ CURSOR ============ */
.cursor,.cursor-dot{position:fixed;top:0;left:0;z-index:1900;pointer-events:none;border-radius:50%;}
.cursor{width:38px;height:38px;border:1px solid var(--gold);transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s;}
.cursor-dot{width:5px;height:5px;background:var(--gold);transform:translate(-50%,-50%);}
.cursor.is-hover{width:64px;height:64px;background:rgba(201,163,78,.12);}
@media (hover:none){.cursor,.cursor-dot{display:none;} body{cursor:auto;}}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1.5rem clamp(1.2rem,4vw,3rem);transition:background .5s var(--ease),padding .5s var(--ease),box-shadow .5s;}
.nav.is-stuck{background:rgba(58,14,18,.92);backdrop-filter:blur(14px);padding-top:.9rem;padding-bottom:.9rem;box-shadow:0 12px 40px rgba(0,0,0,.25);}
.nav.is-open{background:var(--oxblood);backdrop-filter:none;box-shadow:none;}
.nav__brand{display:flex;align-items:center;gap:.6rem;color:var(--paper);position:relative;z-index:2;}
.nav__brand-logo{height:60px;width:auto;display:block;transition:transform .5s var(--ease);}
.nav__brand:hover .nav__brand-logo{transform:scale(1.03);}
.nav__actions{display:flex;align-items:center;gap:.7rem;position:relative;z-index:2;}
body.no-scroll{overflow:hidden;}
.nav__brand-mark{width:26px;height:26px;}
.nav__brand-text{font-family:var(--ff-display);letter-spacing:.16em;font-size:.95rem;}
.nav__brand-text em{font-style:italic;color:var(--gold-lt);}

/* Call CTA in header */
.nav__call{display:inline-flex;align-items:center;gap:.55rem;color:var(--paper);font-family:var(--ff-body);font-size:.85rem;letter-spacing:.08em;padding:.55rem .95rem;border-radius:100px;border:1px solid rgba(201,163,78,.35);background:rgba(58,14,18,.35);backdrop-filter:blur(6px);transition:all .35s var(--ease);cursor:none;}
.nav__call:hover{background:var(--gold);color:var(--oxblood);border-color:var(--gold);transform:translateY(-2px);}
.nav__call-icon{width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--oxblood);display:grid;place-items:center;font-size:.72rem;flex-shrink:0;}
.nav__call:hover .nav__call-icon{background:var(--oxblood);color:var(--gold-lt);}
.nav__call-text{white-space:nowrap;}

.nav__links{display:flex;gap:2rem;}
.nav__links a{color:var(--paper);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;position:relative;opacity:.85;transition:opacity .3s;}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--gold);transition:width .35s var(--ease);}
.nav__links a:hover,.nav__links a.is-active{opacity:1;}
.nav__links a.is-active::after,.nav__links a:hover::after{width:100%;}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.4rem;border-radius:100px;transition:all .4s var(--ease);cursor:none;border:1px solid transparent;white-space:nowrap;}
.btn--gold{background:var(--gold);color:var(--oxblood);}
.btn--gold:hover{background:var(--gold-lt);transform:translateY(-2px);}
.btn--ghost{color:var(--oxblood);border-color:rgba(244,238,227,.4);}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lt);}
.btn--line{border-color:var(--maroon);color:var(--maroon);}
.btn--line:hover{background:var(--maroon);color:var(--paper);}
.btn--lg{padding:1rem 2rem;font-size:.82rem;}
.btn--sm{padding:.55rem 1.1rem;font-size:.7rem;letter-spacing:.12em;}
.btn--block{width:100%;justify-content:center;padding:1.05rem;}

.nav__burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:none;padding:6px;}
.nav__burger span{width:26px;height:2px;background:var(--paper);transition:.3s var(--ease);}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(4px) rotate(45deg);}
.nav.is-open .nav__burger span:nth-child(2){transform:translateY(-4px) rotate(-45deg);}
.desk-only {display:block;}
.mob-only {display:none;}
.nav__actions .btn--ghost {display:none;}
/* ============ HERO ============ */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:flex-end;}
.hero__bg{position:absolute;inset:-8% 0;background-size:cover;background-position:center;will-change:transform;}
.hero__bg--desktop{display:block;} .hero__bg--mobile{display:none;}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,14,18,.55) 0%,rgba(58,14,18,.25) 40%,rgba(58,14,18,.9) 100%);}
.hero__watermark{position:absolute;top:12%;right:-4%;width:min(46vw,560px);aspect-ratio:1;background:radial-gradient(circle,rgba(201,163,78,.14),transparent 62%);pointer-events:none;}
.hero__content{position:relative;z-index:2;padding:0 clamp(1.2rem,5vw,4rem) clamp(4rem,10vh,7rem);max-width:95%;width:100%;margin:0 auto;color:var(--paper);}
.hero__eyebrow{font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:1.4rem;}
/*.hero__title{font-family:var(--ff-display);font-weight:300;line-height:.94;font-size:clamp(3.4rem,11vw,7rem);letter-spacing:-.01em;}*/
.hero__title{font-family:'againstregular';font-weight:300;font-size:clamp(3rem,11vw,108px);letter-spacing:-.01em;line-height:.9em;}
.line-mask{display:block;}
.line{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease);}
.hero.is-in .line{transform:translateY(0);}
.hero.is-in .line-mask:nth-child(2) .line{transition-delay:.12s;}
.hero .reveal-up{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.hero.is-in .reveal-up{opacity:1;transform:none;transition-delay:.3s;}
.line--italic{font-style:italic;color:var(--gold-lt);padding-left:.6em;}
.hero__sub{max-width:44ch;margin-top:1.8rem;font-size:clamp(1rem,1.4vw,1.15rem);color:rgba(244,238,227,.82);font-weight:300;}
.hero__cta{display:flex;gap:1rem;margin-top:2.4rem;flex-wrap:wrap;}
.hero__cta .btn--line{border-color:rgba(244,238,227,.55);color:var(--paper);}
.hero__cta .btn--line:hover{background:var(--paper);color:var(--oxblood);}
.hero__scroll{position:absolute;right:clamp(1.2rem,5vw,4rem);bottom:clamp(4rem,10vh,7rem);z-index:2;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--gold-lt);writing-mode:vertical-rl;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;}
.hero__scroll-line{width:1px;height:64px;background:linear-gradient(var(--gold),transparent);animation:scrollLine 2s var(--ease) infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* ============ MARQUEE ============ */
.marquee{background:var(--oxblood);color:var(--paper);padding:1.4rem 0;overflow:hidden;border-top:1px solid rgba(201,163,78,.2);border-bottom:1px solid rgba(201,163,78,.2);}
.marquee__track{display:flex;align-items:center;gap:2.4rem;white-space:nowrap;font-family:var(--ff-display);font-style:italic;font-size:clamp(1.4rem,3vw,1.4rem);will-change:transform;}
.marquee__track .dot{color:var(--gold);font-style:normal;}

/* ============ SECTION SHELL ============ */
.sec-eyebrow{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--wine);display:flex;align-items:center;gap:.6rem;margin-bottom:1.4rem;}
.sec-eyebrow span{font-family:var(--ff-display);font-style:italic;color:var(--gold);}
.sec-eyebrow--light{color:var(--gold-lt);}
.sec-title{font-family:var(--ff-display);font-weight:300;line-height:1.02;font-size:clamp(2.2rem,5.6vw,2.6rem);letter-spacing:-.01em;max-width:16ch;}

/* ============ OVERVIEW ============ */
.overview{background:var(--paper);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);max-width:var(--maxw);margin:0 auto;}
.overview__head{max-width:60ch;}
.overview__chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;margin-top:3rem;}
.chapter{border-top:1px solid rgba(74,20,24,.2);padding-top:1.6rem;}
.chapter__no{font-family:var(--ff-display);font-style:italic;font-size:1.6rem;color:var(--gold);}
.chapter h3{font-family:var(--ff-display);font-weight:400;font-size:1.5rem;margin:.7rem 0 .8rem;}
.chapter p{color:#5a4a44;font-size:.98rem;line-height:1.7;font-weight:300;}
.overview__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;border-top:1px solid rgba(74,20,24,.2);padding-top:3rem;}
.stat{display:flex;flex-direction:column;}
.stat__num{font-family:var(--ff-display);font-size:clamp(2.6rem,5vw,4rem);color:var(--maroon);line-height:1;display:inline;}
.stat__suf{font-family:var(--ff-display);font-style:italic;color:var(--gold);font-size:1.4rem;}
.stat p{margin-top:.6rem;font-size:.85rem;letter-spacing:.06em;color:#5a4a44;text-transform:uppercase;}

/* ============ AMENITIES ============ */
.amenities{background:var(--oxblood);color:var(--paper);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);}
.amenities__head{max-width:var(--maxw);margin:0 auto;}
.amenities .sec-eyebrow{color:var(--gold-lt);}
.amenities .sec-title{color:var(--paper);}
.amenities__grid{max-width:var(--maxw);margin:4rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:1.4rem;}
.am-card{position:relative;overflow:hidden;border-radius:4px;grid-row:span 1;}
.am-card--tall{grid-row:span 2;}
.am-card--wide{grid-column:span 2;}
.am-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);will-change:transform;}
.am-card:hover img{transform:scale(1.06);}
.am-card__body{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;background:linear-gradient(transparent,rgba(58,14,18,.85));}
.am-card__body span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);}
.am-card__body h3{font-family:var(--ff-display);font-weight:400;font-size:1.35rem;margin-top:.3rem;}
.amenities__list{max-width:var(--maxw);margin:3rem auto 0;display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;}
.amenities__list li{border:1px solid rgba(201,163,78,.4);color:var(--gold-lt);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1rem;border-radius:100px;transition:.35s var(--ease);}
.amenities__list li:hover{background:var(--gold);color:var(--oxblood);border-color:var(--gold);}

/* ============ RESIDENCES ============ */
.residences{background:var(--paper);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);max-width:var(--maxw);margin:0 auto;}
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-top:4rem;}
.res-card{background:var(--cream);border:1px solid rgba(74,20,24,.12);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
.res-card__media{position:relative;overflow:hidden;height:340px;}
.res-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);will-change:transform;}
.res-card:hover .res-card__media img{transform:scale(1.05);}
.res-card__tag{position:absolute;top:1.2rem;left:1.2rem;background:var(--oxblood);color:var(--gold-lt);font-size:.72rem;letter-spacing:.2em;padding:.5rem .9rem;border-radius:100px;}
.res-card__info{padding:2.2rem;}
.res-card__info h3{font-family:var(--ff-display);font-weight:400;font-size:2rem;}
.res-card__info>p{color:#5a4a44;font-weight:300;line-height:1.7;margin:1rem 0 1.4rem;}
.res-card__info ul{list-style:none;margin-bottom:1.8rem;}
.res-card__info li{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid rgba(74,20,24,.08);font-size:.92rem;color:#4a3a34;}
.res-card__info li i{color:var(--gold);font-size:.7rem;}

/* ============ GALLERY ============ */
.gallery{background:var(--maroon);color:var(--paper);padding:clamp(4rem,5vh,10rem) clamp(1.2rem,5vw,4rem);}
.gallery__head{max-width:var(--maxw);margin:0 auto;}
.gallery .sec-eyebrow{color:var(--gold-lt);}
.gallery .sec-title{color:var(--paper);}
.gallery__grid{max-width:var(--maxw);margin:4rem auto 0;columns:3;column-gap:1.4rem;}
.g-item{position:relative;margin:0 0 1.4rem;overflow:hidden;border-radius:4px;break-inside:avoid;cursor:none;}
.g-item img{width:100%;transition:transform 1s var(--ease),filter .6s;filter:saturate(.9);}
.g-item:hover img{transform:scale(1.05);filter:saturate(1.1);}
.g-item figcaption{position:absolute;left:0;bottom:0;padding:1.2rem 1.4rem;font-family:var(--ff-display);font-style:italic;font-size:1.1rem;opacity:0;transform:translateY(12px);transition:.45s var(--ease);width:100%;background:linear-gradient(transparent,rgba(58,14,18,.8));}
.g-item:hover figcaption{opacity:1;transform:translateY(0);}

/* ============ PLANS ============ */
.plans{background:var(--paper-2);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);}
.plans__head{max-width:var(--maxw);margin:0 auto;}
.plans__tabs{max-width:var(--maxw);margin:2.6rem auto 0;display:flex;gap:.6rem;flex-wrap:wrap;}
.plan-tab{background:transparent;border:1px solid rgba(74,20,24,.35);color:var(--maroon);font-family:var(--ff-body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.4rem;border-radius:100px;cursor:none;transition:.35s var(--ease);}
.plan-tab.is-active,.plan-tab:hover{background:var(--maroon);color:var(--paper);border-color:var(--maroon);}
.plans__stage{max-width:var(--maxw);margin:2.4rem auto 0;position:relative;background:var(--cream);border:1px solid rgba(74,20,24,.12);border-radius:8px;padding:2rem;min-height:420px;}
.plan-panel{display:none;}
.plan-panel.is-active{display:block;animation:fadeIn .6s var(--ease);}
.plan-panel img{width:100%;border-radius:4px;}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.plans__note{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.4rem;color:var(--wine);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;font-family:var(--ff-body);cursor:none;}
.plans__note i{transition:transform .35s var(--ease);}
.plans__note:hover i{transform:translateX(6px);}

/* ============ CONFIG TABLE ============ */
.config-table-wrap{max-width:var(--maxw);margin:4rem auto 0;}
.config-table__head{margin-bottom:1.8rem;}
.config-table__title{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--maroon);line-height:1.1;letter-spacing:-.005em;}
.config-table{background:var(--cream);border:1px solid rgba(74,20,24,.14);border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(58,14,18,.06);}
.config-table__row{display:grid;grid-template-columns:1.5fr 1fr 1.3fr .9fr;align-items:center;gap:1.2rem;padding:1.4rem 1.8rem;border-bottom:1px solid rgba(74,20,24,.08);transition:background .35s var(--ease);}
.config-table__row:last-child{border-bottom:0;}
.config-table__row:not(.config-table__row--head):hover{background:rgba(201,163,78,.08);}
.config-table__row--head{background:var(--oxblood);color:var(--gold-lt);text-transform:uppercase;font-size:.75rem;letter-spacing:.18em;padding:1.1rem 1.8rem;border-bottom:0;}
.config-table__row--head span{font-family:var(--ff-body);font-weight:400;}
.config-table__row.config-table__row--head span{font-size:.98rem;color:var(--paper);}
.config-table__row span{font-size:.98rem;color:#3a2a24;}
.config-table__row strong{font-family:var(--ff-display);font-weight:400;font-size:1.15rem;color:var(--maroon);letter-spacing:.01em;}
.config-table__row em{font-style:italic;color:var(--wine);font-size:.85rem;font-weight:300;}
.config-table__cta-col{display:flex;justify-content:flex-end;}
.config-table__note{margin-top:1rem;font-size:.78rem;color:#7a6a64;font-style:italic;letter-spacing:.02em;}

/* ============ LOCATION ============ */
.location{background:var(--paper);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.location__lead{color:#5a4a44;font-weight:300;line-height:1.8;margin:1.6rem 0 2.4rem;max-width:46ch;}
.loc-list{list-style:none;}
.loc-list li{display:flex;gap:1.4rem;align-items:baseline;padding:1.1rem 0;border-top:1px solid rgba(74,20,24,.15);font-size:1rem;color:#3a2a24;}
.loc-list li span{font-family:var(--ff-display);font-style:italic;color:var(--gold);min-width:70px;font-size:1.1rem;}
.location__map{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 30px 70px rgba(58,14,18,.22);}
.location__map iframe{width:100%;height:520px;border:0;display:block;filter:grayscale(.3) sepia(.15);}
.location__pin{display:none; position:absolute;top:1.2rem;left:1.2rem;background:var(--oxblood);color:var(--gold-lt);font-size:.78rem;letter-spacing:.1em;padding:.6rem 1rem;border-radius:100px;align-items:center;gap:.5rem;}

/* ============ WHY ============ */
.why{position:relative;background:var(--oxblood);color:var(--paper);padding:clamp(1rem,5vh,10rem) clamp(1.2rem,5vw,4rem);overflow:hidden;}
.why__watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(80vw,900px);aspect-ratio:1;background:radial-gradient(circle,rgba(201,163,78,.07),transparent 60%);pointer-events:none;}
.why__head{position:relative;max-width:var(--maxw);margin:0 auto;}
.why .sec-eyebrow{color:var(--gold-lt);}
.why .sec-title{color:var(--paper);}
.why__grid{position:relative;max-width:var(--maxw);margin:4rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.why-card{border:1px solid rgba(201,163,78,.25);border-radius:6px;padding:2rem 1.6rem;transition:.4s var(--ease);background:rgba(255,255,255,.02);}
.why-card:hover{background:rgba(201,163,78,.08);transform:translateY(-6px);}
.why-card i{color:var(--gold);font-size:1.7rem;}
.why-card h3{font-family:var(--ff-display);font-weight:400;font-size:1.3rem;margin:1.2rem 0 .7rem;}
.why-card p{color:rgba(244,238,227,.72);font-size:.92rem;line-height:1.7;font-weight:300;}

/* ============ LEADS ============ */
.leads{background:var(--paper);padding:clamp(1rem,5vh,7rem) clamp(1.2rem,5vw,4rem);}
.leads__cta{position:relative;max-width:760px;margin:0 auto;text-align:center;background:var(--oxblood);color:var(--paper);border:1px solid rgba(201,163,78,.25);border-radius:14px;padding:clamp(2.4rem,6vw,4rem);overflow:hidden;}
.leads__cta .sec-eyebrow{justify-content:center;}
.leads__cta .lead-sub{margin:0 auto 2rem;}
.leads__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.leads__cta .btn--line{border-color:rgba(244,238,227,.55);color:var(--oxblood);}
.leads__cta .btn--line:hover{background:var(--paper);color:var(--oxblood);}
.lead-block__mark{position:absolute;right:-40px;top:-40px;width:180px;height:180px;opacity:.25;}
.lead-title{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;margin:.6rem 0;}
.lead-title--light{color:var(--paper);}
.lead-sub{color:#5a4a44;font-weight:300;margin-bottom:2rem;max-width:38ch;}
.lead-sub--light{color:rgba(244,238,227,.75);}
.lead-form{position:relative;z-index:2;display:flex;flex-direction:column;gap:.9rem;}
.field input,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(74,20,24,.3);padding:.9rem .2rem;font-family:var(--ff-body);font-size:.95rem;color:var(--ink);cursor:none;transition:border-color .35s;}
.field input::placeholder{color:#9a8a82;}
.field input:focus,.field select:focus{outline:none;border-bottom-color:var(--gold);}
.field select{appearance:none;color:#9a8a82;}
.form-msg{font-size:.85rem;letter-spacing:.04em;min-height:1.2em;color:var(--wine);font-weight:500;}
.form-msg--light{color:var(--gold-lt);}
.lead-form .btn{margin-top:.6rem;}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:var(--paper);padding:clamp(3.5rem,5vh,6rem) clamp(1.2rem,5vw,4rem) 2rem;}
.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(244,238,227,.12);}
.footer__brand{display:flex;flex-direction:column;gap:.5rem;font-family:var(--ff-display);letter-spacing:.14em;font-size:1.1rem;}
.footer__brand .nav__brand-mark{width:30px;height:30px;}
.footer__brand em{color:var(--gold-lt);font-style:italic;}
.footer__brand p{font-family:var(--ff-body);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,238,227,.55);margin-top:.4rem;}
.footer__nav{display:flex;flex-direction:column;gap:.8rem;}
.footer__nav a{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,238,227,.7);transition:color .3s;}
.footer__nav a:hover{color:var(--gold-lt);}
.footer__contact p{font-size:.9rem;color:rgba(244,238,227,.7);margin-bottom:.7rem;display:flex;gap:.6rem;align-items:center;}
.footer__contact i{color:var(--gold);width:16px;}
.footer__bottom{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.footer__bottom p{font-size:.82rem;color:rgba(255,255,255,1);max-width:70ch;line-height:1.6;}

/* ============ TO TOP ============ */
.to-top{position:fixed;right:1.6rem;bottom:1.6rem;z-index:900;width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--oxblood);border:0;cursor:none;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:.45s var(--ease);display:grid;place-items:center;font-size:1rem;}
.to-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.to-top:hover{background:var(--gold-lt);transform:translateY(-4px);}

/* ============ LIGHTBOX ============ */
.lightbox{position:fixed;inset:0;z-index:1800;background:rgba(26,18,16,.95);display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;pointer-events:none;transition:opacity .4s var(--ease);}
.lightbox.is-open{opacity:1;pointer-events:auto;}
.lightbox img{max-width:100%;max-height:88vh;border-radius:6px;box-shadow:0 40px 90px rgba(0,0,0,.5);}
.lightbox__close{position:absolute;top:1.6rem;right:1.6rem;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:transparent;color:var(--gold-lt);font-size:1.2rem;cursor:none;}

/* ============ MODAL ============ */
.modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;pointer-events:none;transition:opacity .4s var(--ease);}
.modal.is-open{opacity:1;pointer-events:auto;}
.modal__backdrop{position:absolute;inset:0;background:rgba(26,18,16,.72);backdrop-filter:blur(6px);}
.modal__dialog{position:relative;z-index:2;width:min(460px,100%);max-height:92vh;overflow:hidden;background:var(--oxblood);color:var(--paper);border:1px solid rgba(201,163,78,.3);border-radius:12px;padding:clamp(1.8rem,4vw,2.6rem);transform:translateY(24px) scale(.97);transition:transform .5s var(--ease);box-shadow:0 40px 90px rgba(0,0,0,.5);}
.modal.is-open .modal__dialog{transform:none;}
.modal__mark{position:absolute;right:-40px;top:-40px;width:150px;height:150px;opacity:.2;}
.modal__close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;border:1px solid rgba(201,163,78,.5);background:transparent;color:var(--gold-lt);font-size:1rem;transition:.3s var(--ease);z-index:3;}
.modal__close:hover{background:var(--gold);color:var(--oxblood);}
.modal__title{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05;margin:.2rem 0 .5rem;}
.modal__sub{color:rgba(244,238,227,.75);font-weight:300;font-size:.92rem;margin-bottom:1.6rem;max-width:36ch;}
.modal__dialog .field input,.modal__dialog .field select{border-bottom-color:rgba(201,163,78,.4);color:var(--paper);}
.modal__dialog .field input::placeholder{color:rgba(244,238,227,.5);}
.modal__dialog .field select{color:rgba(244,238,227,.55);}
.modal__dialog .field select option{color:#1a1210;}

/* ============ REVEAL ============ */
.reveal-up{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal-up.is-in{opacity:1;transform:none;}
.reveal-clip{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease);}
.reveal-clip.is-in{clip-path:inset(0 0 0 0);}
.reveal-lines .word{display:inline-block;overflow:hidden;}
.reveal-lines .word > span{display:inline-block;transform:translateY(110%);transition:transform .9s var(--ease);}
.reveal-lines.is-in .word > span{transform:none;}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .overview__chapters{grid-template-columns:1fr;gap:2rem;}
  .why__grid{grid-template-columns:repeat(2,1fr);}
  .footer__top{grid-template-columns:1fr 1fr;}
  .nav__call-text{display:none;}
  .nav__call{padding:.4rem;border:0;background:transparent;}
  .nav__call:hover{background:transparent;transform:translateY(-2px);}
}
@media (max-width:860px){
  .nav__links{position:fixed;inset:0;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:2rem;background:var(--oxblood);transform:translateX(100%);transition:transform .6s var(--ease);}
  .nav.is-open .nav__links{transform:none;}
  .nav__links a{font-size:1.1rem;}
  .nav__burger{display:flex;}
  .nav__actions .btn--gold, .nav__actions .nav__call, .hero__cta .btn--ghost{display:none;}
  .nav__actions .btn--ghost {display:block;}
  .nav__brand-logo{height:38px;}
  .hero__bg--desktop{display:none;}
  .hero__bg--mobile{display:block;}
  .hero__scroll{display:none;}
  .amenities__grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px;}
  .am-card--wide{grid-column:span 2;}
  .res-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.2rem;margin:4rem -1.2rem 0;padding:0 1.2rem 1.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .res-grid::-webkit-scrollbar{display:none;}
  .res-card{flex:0 0 82%;scroll-snap-align:start;}
  .plans__stage {min-height:auto;}
  /* Gallery mobile carousel */
  .gallery__grid{columns:auto;column-gap:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;margin:4rem -1.2rem 0;padding:0 1.2rem 1.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .gallery__grid::-webkit-scrollbar{display:none;}
  .g-item{flex:0 0 82%;margin:0;scroll-snap-align:start;border-radius:6px;}
  .g-item img{width:100%;height:280px;object-fit:cover;}
  .g-item figcaption{opacity:1;transform:none;font-size:.98rem;padding:1rem 1.2rem;}

  .location{grid-template-columns:1fr;gap:2.5rem;}
  .overview__stats{grid-template-columns:1fr;gap:1.4rem;text-align:left;}
  .footer__bottom{flex-direction:column;}

  /* Config table — stack rows on mobile */
  .config-table{background:transparent;border:0;box-shadow:none;overflow:visible;}
  .config-table__row--head{display:none;}
  .config-table__row{grid-template-columns:1fr;gap:.6rem;padding:1.4rem;background:var(--cream);border:1px solid rgba(74,20,24,.12);border-radius:8px;margin-bottom:1rem;}
  .config-table__row:hover{background:var(--cream);}
  .config-table__row span{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem;padding:.35rem 0;border-bottom:1px dashed rgba(74,20,24,.1);}
  .config-table__row span:last-child{border-bottom:0;}
  .config-table__row span::before{content:attr(data-label);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);font-family:var(--ff-body);opacity:.85;}
  .config-table__row strong{font-size:1.1rem;}
  .config-table__cta-col{justify-content:stretch;}
  .config-table__cta-col::before{display:none !important;}
  .config-table__cta-col .btn{width:100%;justify-content:center;padding:.75rem 1rem;font-size:.72rem;}
  .desk-only {display:none;}
  .mob-only {display:block;}
}
@media (max-width:520px){
  .amenities__grid{grid-template-columns:1fr;grid-auto-rows:240px;}
  .am-card--wide,.am-card--tall{grid-column:auto;grid-row:auto;}
  .g-item{flex:0 0 88%;}
  .why__grid{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr;}
  .nav{padding:1rem 1.2rem;}
  .nav__brand-logo{height:34px;}
  .nav__actions{gap:.4rem;}
}


/* ============ LIGHTBOX — prev/next arrows ============ */
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);background:rgba(26,18,16,.55);color:var(--gold-lt);font-size:1rem;display:grid;place-items:center;transition:all .35s var(--ease);z-index:2;cursor:pointer;}
.lightbox__nav:hover{background:var(--gold);color:var(--oxblood);transform:translateY(-50%) scale(1.05);}
.lightbox__nav--prev{left:1.6rem;}
.lightbox__nav--next{right:1.6rem;}
.lightbox__close{cursor:pointer;z-index:3;}

/* ============ STICKY MOBILE CTAs ============ */
.mob-sticky-cta{display:none;}
@media (max-width:860px){
  .mob-sticky-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1500;
    background:var(--oxblood);border-top:1px solid rgba(201,163,78,.3);
    padding:.7rem;gap:.6rem;
    box-shadow:0 -8px 28px rgba(0,0,0,.35);
  }
  .mob-sticky-cta a,.mob-sticky-cta button{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    padding:.95rem 1rem;border-radius:100px;border:1px solid;
    font-family:var(--ff-body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
    cursor:pointer;
  }
  .mob-sticky-cta__call{background:transparent;color:var(--gold-lt);border-color:var(--gold-lt);text-decoration:none;}
  .mob-sticky-cta__call:hover{background:rgba(201,163,78,.12);}
  .mob-sticky-cta__enquire{background:var(--gold);color:var(--oxblood);}
  .mob-sticky-cta__enquire:hover{background:var(--gold-lt);}
  /* Push existing floating buttons above the sticky bar */
  .to-top{bottom:5.5rem;}
  /* Prevent content being hidden behind the sticky bar */
  body{padding-bottom:5.5rem;}
  /* Smaller arrows on mobile lightbox */
  .lightbox__nav{width:44px;height:44px;}
  .lightbox__nav--prev{left:.6rem;}
  .lightbox__nav--next{right:.6rem;}
}


/* ============ GALLERY — Fix mobile carousel (reveal-clip was hiding items) ============ */
@media (max-width:860px){
  .gallery__grid .g-item.reveal-clip,
  .gallery__grid .g-item{clip-path:none !important;opacity:1 !important;transform:none !important;}
}

/* ============ AMENITIES — Mobile carousel (1 full + next peeks) ============ */
@media (max-width:860px){
  .amenities__grid{
    display:flex;
    grid-template-columns:none;
    grid-auto-rows:auto;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:1rem;
    margin:4rem -1.2rem 0;
    padding:0 1.2rem 1.4rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .amenities__grid::-webkit-scrollbar{display:none;}
  .am-card,
  .am-card--wide,
  .am-card--tall{
    flex:0 0 70%;                 /* first full, ~30% of next visible = "half" peek */
    grid-column:auto;
    grid-row:auto;
    height:300px;
    scroll-snap-align:start;
  }
  .amenities__grid .reveal-up{opacity:1 !important;transform:none !important;}
}
@media (max-width:520px){
  .amenities__grid{gap:.8rem;}
  .am-card,.am-card--wide,.am-card--tall{flex:0 0 78%;height:280px;}
}

/* ============ FLOOR PLAN — Two Cards (Desktop side-by-side, Mobile stacked) ============ */
.floor-plan-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.4rem;                       /* clear breathing room between the two plans */
  width:100%;
}
.floor-plan-card{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  min-height:440px;
  background:var(--cream);
  border:1px solid rgba(74,20,24,.14);
  box-shadow:0 20px 50px rgba(58,14,18,.10);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.floor-plan-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px rgba(58,14,18,.16);}
.floor-plan-card__img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  display:block;
  filter:blur(16px) saturate(.85);
  transform:scale(1.08);
}
.floor-plan-card__overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(rgba(58,14,18,.4),rgba(58,14,18,.62));
  backdrop-filter:blur(2px);
}
.floor-plan-card__inner{
  text-align:center;
  color:var(--paper);
  padding:1.5rem;
  max-width:340px;
}
.floor-plan-card__tag{
  display:inline-block;
  font-family:var(--ff-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--oxblood);
  background:var(--gold);
  padding:.4rem .95rem;
  border-radius:100px;
  margin-bottom:1rem;
}
.floor-plan-card__lock{
  font-size:1.6rem;
  color:var(--gold);
  margin-bottom:.8rem;
  display:inline-block;
}
.floor-plan-card__label{
  font-family:var(--ff-display);
  font-weight:300;
  font-style:italic;
  font-size:1.1rem;
  color:rgba(244,238,227,.9);
  line-height:1.4;
  margin-bottom:1.4rem;
}
@media (max-width:860px){
  .floor-plan-grid{grid-template-columns:1fr;gap:1.4rem;}
  .floor-plan-card,.floor-plan-card__img{min-height:280px;height:280px;}
}

/* ============ ICONIA DISCLAIMER (self-contained popup) ============ */
.iconia-disclaimer{
  position:fixed;inset:0;z-index:9999;      /* higher than everything else */
  display:none;
  align-items:center;justify-content:center;
  padding:5vw;
  background:rgba(20,10,12,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.iconia-disclaimer.is-open{display:flex;}
.iconia-disclaimer__box{
  position:relative;
  width:80%;
  max-height:92vh;
  overflow:auto;
  background:#3A0E12;                        /* oxblood */
  color:#F4EEE3;                             /* paper */
  border:1px solid rgba(201,163,78,.35);
  border-radius:14px;
  padding:2.4rem 2rem 2rem;
  box-shadow:0 40px 90px rgba(0,0,0,.6);
  text-align:left;
  font-family:'Jost', system-ui, sans-serif;
  animation:iconiaDisclaimerIn .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes iconiaDisclaimerIn{
  from{opacity:0;transform:translateY(20px) scale(.97);}
  to  {opacity:1;transform:none;}
}
.iconia-disclaimer__eyebrow{
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  color:#E7C979;                             /* gold-lt */
  margin-bottom:.8rem;
}
.iconia-disclaimer__title{
  font-family:'Fraunces', Georgia, serif;
  font-weight:300;
  font-size:clamp(1.5rem,3vw,2rem);
  line-height:1.15;
  color:#F4EEE3;
  margin:0 0 1rem;
}
.iconia-disclaimer__body{
  font-size:.92rem;
  line-height:1.75;
  color:rgba(244,238,227,.82);
  margin-bottom:1.8rem;
}
.iconia-disclaimer__btn{
  display:block;
  width:150px;
  padding:1rem 1.4rem;
  border:0;
  border-radius:100px;
  background:#C9A34E;                        /* gold */
  color:#3A0E12;                             /* oxblood */
  font-family:'Jost', system-ui, sans-serif;
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  cursor:pointer;
  transition:background .3s ease, transform .3s ease;
}
.iconia-disclaimer__btn:hover{background:#E7C979;transform:translateY(-2px);}
body.iconia-disclaimer-open{overflow:hidden !important;}

/* Disable text selection helper (used with right-click prevention) */
body.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none;}

/* ============ OVERVIEW CHAPTERS — Mobile carousel (1 full + next peek) ============ */
@media (max-width:860px){
  .overview__chapters{
    display:flex;
    grid-template-columns:none;                       /* override grid */
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:1rem;
    margin:3rem -1.2rem 0;
    padding:0 1.2rem 1.4rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .overview__chapters::-webkit-scrollbar{display:none;}

  .overview__chapters .chapter{
    flex:0 0 78%;                                     /* first full, ~22% next peeks */
    scroll-snap-align:start;
    padding-top:1.4rem;
    padding-right:1rem;
    padding-left:1rem;
    /* keep the top divider look on each card so it still reads editorial */
  }

  /* Force items visible even if reveal-up hasn't triggered on horizontal scroll */
  .overview__chapters .reveal-up{opacity:1 !important;transform:none !important;}
  .iconia-disclaimer__box {width:90%;}
  .iconia-disclaimer__body {font-size:.72rem; line-height:1.30;}
}


