/* ===== THE RESERVE, Showcase (big-image bands + expanding gallery) ===== */
:root{
  --ink:#2b1f15; --ink-soft:#67503c; --paper:#f5f1e9; --paper-2:#ece2d3; --line:#e0d5c6;
  --graphite:#241a11; --white:#fffdf9;
  --serif:'EB Garamond','Cormorant Garamond',Georgia,serif; --sans:'Helvetica Neue','Arimo',Helvetica,Arial,sans-serif;
  --mx:7vw; --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--paper);line-height:1.8;font-size:16.5px;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.sec{padding:clamp(5rem,12vh,10rem) var(--mx)}

.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.4em;font-size:.68rem;color:var(--ink-soft);display:block;margin-bottom:1.5rem}
.eyebrow--l{color:rgba(255,253,249,.82)}
.display{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.03;letter-spacing:-.02em;max-width:18ch;text-wrap:balance}
.display--l{color:var(--white)}
.head{margin-bottom:clamp(2.6rem,6vh,4.5rem)}
.head--pad{padding:0 var(--mx)}
.head--split{display:flex;justify-content:center;align-items:flex-end;gap:2.5rem;flex-wrap:wrap}
.fp__from{font-family:var(--sans);text-align:center;line-height:1.25;flex:0 0 auto}
.fp__from span{display:block;text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;color:var(--ink-soft);margin-bottom:.7rem}
.fp__from b{font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,5.4vw,4.6rem);line-height:1.12;letter-spacing:-.015em;color:var(--ink);background:rgba(177,151,74,.32);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.02em .16em;}
@media(max-width:600px){.head--split{gap:1.1rem}.fp__from{text-align:center}}
.btn{display:inline-block;font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;padding:1.1rem 2.5rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:.4s var(--ease)}
.btn:hover{background:transparent;color:var(--ink)}.btn.full{width:100%}
.link{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:.35rem;transition:.3s;display:inline-block}
.link--l{color:var(--white);border-color:rgba(255,253,249,.6)}.link--l:hover{opacity:.7}
.ph{margin-top:1.4rem;font-size:.7rem;color:#8a7f6b;border-left:2px solid rgba(138,127,107,.5);padding-left:.7rem}

/* header */
.hd{position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--paper);box-shadow:0 1px 0 var(--line);transition:background .5s var(--ease),box-shadow .5s var(--ease),padding .5s var(--ease)}
.hd__in{display:flex;align-items:center;justify-content:space-between;padding:1.9rem var(--mx);transition:padding .5s var(--ease)}
.hd__brand{font-family:var(--sans);font-weight:500;font-size:.9rem;letter-spacing:.4em;color:var(--ink);transition:color .5s}
.hd__nav{display:flex;align-items:center;gap:2.1rem}
.hd__nav a{font-size:.73rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);opacity:.82;transition:.3s}
.hd__nav a:hover{opacity:1;color:var(--brass)}
.hd__cta{border:1px solid var(--ink);padding:.58rem 1.2rem}
.hd__cta:hover{background:var(--ink);color:var(--paper)!important}
.hd.solid{background:var(--paper);box-shadow:0 1px 0 var(--line)}
.hd.solid .hd__in{padding:1rem var(--mx)}
.hd.solid .hd__brand,.hd.solid .hd__nav a{color:var(--ink)}
.hd.solid .hd__cta{border-color:var(--ink)}
.hd.solid .hd__cta:hover{background:var(--ink);color:var(--paper)!important}
.hd__burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;z-index:110}
.hd__burger span{width:26px;height:1.5px;background:var(--ink);transition:.3s}
.hd.solid .hd__burger span{background:var(--ink)}

/* hero */
.hero{position:relative;height:100vh;min-height:620px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 var(--mx);overflow:hidden}
.hero__img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:kb 16s var(--ease) forwards;will-change:transform}
@keyframes kb{to{transform:scale(1)}}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,10,.4),rgba(18,15,10,.08) 34%,rgba(18,15,10,.5))}
.hero__in{position:relative;color:var(--white)}
.hero__title{font-family:var(--serif);font-weight:500;font-size:clamp(3.6rem,10vw,8.5rem);line-height:.96;letter-spacing:-.01em;margin:.3rem 0}
.hero__tag{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2.2vw,1.7rem);color:rgba(255,253,249,.92);margin-top:1rem}
.hero__scroll{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);color:rgba(255,253,249,.85);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl}

/* intro */
.intro{max-width:1100px}
.intro .display{margin-bottom:1.8rem}
.intro__p{font-size:1.1rem;color:var(--ink-soft);max-width:52ch}

/* RESIDENCES, full-bleed big image bands */
.band{position:relative;height:92vh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end}
.band__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease)}
.band:hover .band__img{transform:scale(1.05)}
.band__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,12,8,.78),rgba(16,12,8,.35) 45%,transparent 70%)}
.band--right{align-items:flex-end;justify-content:flex-end;text-align:right}
.band--right .band__scrim{background:linear-gradient(270deg,rgba(16,12,8,.78),rgba(16,12,8,.35) 45%,transparent 70%)}
.band__t{position:relative;color:var(--white);padding:0 var(--mx) clamp(3rem,8vh,6rem);max-width:640px}
.band__n{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,253,249,.8);display:block;margin-bottom:1rem}
.band__t h3{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,6vw,5rem);line-height:1;margin-bottom:.8rem}
.band__t p{color:rgba(255,253,249,.9);font-size:1.05rem;margin-bottom:1.6rem;max-width:42ch;margin-left:0}
.band--right .band__t{margin-left:auto}.band--right .band__t p{margin-left:auto}

/* explorer */
.plans{background:var(--paper-2)}
.explorer{background:#fff;border:1px solid var(--line);box-shadow:0 32px 70px -46px rgba(20,20,25,.4)}
.explorer__tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.ptab{flex:1;min-width:52px;background:transparent;border:0;padding:1.3rem .5rem;font-family:var(--serif);font-size:1.4rem;color:var(--ink-soft);cursor:pointer;transition:.3s;position:relative}
.ptab::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:var(--ink);transform:translateX(-50%);transition:width .35s var(--ease)}
.ptab:hover{color:var(--ink)}.ptab.is-active{color:var(--ink)}.ptab.is-active::after{width:60%}
.explorer__body{display:grid;grid-template-columns:1.55fr 1fr}
.explorer__plan{background:var(--paper);display:flex;align-items:center;justify-content:center;padding:3rem;border-right:1px solid var(--line)}
.explorer__plan img{width:100%;max-height:540px;object-fit:contain;mix-blend-mode:multiply}
.explorer__info{padding:3rem 2.8rem;display:flex;flex-direction:column}
.explorer__type{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}
.explorer__name{font-family:var(--serif);font-weight:500;font-size:2.3rem;margin:.4rem 0 1.6rem}
.explorer__stats{list-style:none;border-top:1px solid var(--line)}
.explorer__stats li{display:flex;justify-content:space-between;align-items:center;padding:.92rem 0;border-bottom:1px solid var(--line)}
.explorer__stats span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.explorer__stats b{font-family:var(--serif);font-weight:500;font-size:1.35rem}
.explorer__rooms{font-size:.9rem;color:var(--ink-soft);margin:1.4rem 0 1.9rem;line-height:1.75}
.explorer__info .btn{align-self:flex-start}

/* ===== LIFE, EXPANDING GALLERY ===== */
.life{background:var(--graphite);padding:clamp(5rem,12vh,9rem) 0}
.amcta{ text-align:center; padding:clamp(2.6rem,5.5vh,3.8rem) var(--mx) 0; }
.amdetail{ background:var(--graphite); color:var(--paper); padding:clamp(4rem,10vh,7rem) 0; }
.amdetail__cta{ text-align:center; padding:0 var(--mx); }
.amdetail__toggle{ font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; background:rgba(245,241,233,.06); border:1px solid rgba(245,241,233,.55); border-radius:100px; padding:1rem 2.2rem; cursor:pointer; transition:.3s var(--ease); display:inline-flex; align-items:center; gap:.6rem; }
.amdetail__toggle:hover{ border-color:#b1974a; background:rgba(177,151,74,.16); color:#fff; }
.amdetail__chev{ transition:transform .3s var(--ease); display:inline-block; }
.amdetail__toggle.is-open .amdetail__chev{ transform:rotate(180deg); }
.amdetail__body{ margin-top:clamp(2rem,4.5vh,3.2rem); }
.life .head{padding:0 var(--mx)}
.expo{display:flex;gap:6px;height:74vh;min-height:460px;padding:0 var(--mx)}
.expo__panel{position:relative;flex:1;overflow:hidden;cursor:pointer;transition:flex .7s var(--ease);min-width:44px}
.expo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.expo__panel::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(12,10,7,.82));transition:opacity .5s}
.expo__panel:hover,.expo__panel:focus,.expo__panel.is-open{flex:6}
.expo__panel:hover .expo__img,.expo__panel.is-open .expo__img{transform:scale(1.04)}
.expo__label{position:absolute;left:0;bottom:0;padding:1.6rem 1.8rem;color:var(--white);font-family:var(--serif);font-size:1.5rem;white-space:nowrap;display:flex;align-items:baseline;gap:1rem;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease) .1s,transform .5s var(--ease) .1s}
.expo__label span{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;color:rgba(255,253,249,.7)}
.expo__panel:hover .expo__label,.expo__panel:focus .expo__label,.expo__panel.is-open .expo__label{opacity:1;transform:none}

/* amenities editorial gallery (premium mosaic, replaces expanding panels) */
.amexp{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(150px,20vh,208px); gap:clamp(.6rem,1vw,1rem); padding:0 var(--mx); }
.amx{ position:relative; overflow:hidden; border-radius:3px; margin:0; background:#14100c; }
.amx img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.3s var(--ease); }
.amx:hover img{ transform:scale(1.06); }
.amx::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 36%, rgba(9,7,4,.92)); pointer-events:none; }
.amx figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(1rem,1.5vw,1.6rem); }
.amx__no{ font-family:var(--sans); font-size:.58rem; letter-spacing:.24em; color:#b1974a; }
.amx__ttl{ font-family:var(--serif); font-weight:400; color:#fff; font-size:clamp(1.1rem,1.6vw,1.55rem); line-height:1.12; margin:.35rem 0 0; text-shadow:0 1px 18px rgba(0,0,0,.6); }
.amx__cap{ font-family:var(--sans); font-size:.76rem; line-height:1.5; color:rgba(245,241,233,.74); margin-top:.45rem; max-width:36ch; opacity:0; transform:translateY(6px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.amx:hover .amx__cap, .amx:focus-within .amx__cap{ opacity:1; transform:none; }
.amx:nth-child(1){ grid-column:span 3; grid-row:span 2; }
.amx:nth-child(2){ grid-column:span 3; }
.amx:nth-child(3){ grid-column:span 3; }
.amx:nth-child(4){ grid-column:span 2; }
.amx:nth-child(5){ grid-column:span 2; }
.amx:nth-child(6){ grid-column:span 2; }
.amx:nth-child(7){ grid-column:span 6; }
@media(max-width:860px){
  .amexp{ grid-template-columns:repeat(2,1fr); grid-auto-rows:clamp(150px,26vw,200px); }
  .amx{ grid-column:span 1 !important; grid-row:span 1 !important; }
  .amx:nth-child(1){ grid-column:span 2 !important; grid-row:span 2 !important; }
  .amx:nth-child(7){ grid-column:span 2 !important; }
  .amx__cap{ opacity:1; transform:none; }
}
@media(max-width:520px){
  .amexp{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .amx, .amx:nth-child(1), .amx:nth-child(7){ grid-column:span 1 !important; grid-row:span 1 !important; height:230px; min-height:230px; }
}
/* full-width rooftop banner */
.rbanner{ position:relative; width:100%; height:clamp(340px,58vh,640px); overflow:hidden; color:#fff; display:flex; align-items:flex-end; }
.rbanner__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rbanner__scrim{ position:absolute; inset:0; background:linear-gradient(transparent 38%, rgba(18,13,8,.72)); }
.rbanner__t{ position:relative; z-index:1; padding:clamp(2rem,5vh,3.6rem) var(--mx); max-width:840px; }
.rbanner__t .display{ max-width:20ch; }

/* premium image lightbox */
.lb{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center;
  background:rgba(9,7,4,.95); opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s;
  padding:clamp(1.2rem,4vw,3.5rem); }
.lb.show{ opacity:1; visibility:visible; }
.lb__stage{ position:relative; max-width:min(1180px,92vw); display:flex; flex-direction:column; align-items:center; margin:0;
  transform:scale(.97); opacity:0; transition:transform .5s var(--ease), opacity .5s var(--ease); }
.lb.show .lb__stage{ transform:none; opacity:1; }
.lb__img{ max-width:100%; max-height:76vh; object-fit:contain; border-radius:3px; box-shadow:0 40px 120px -30px rgba(0,0,0,.8); }
.lb__cap{ text-align:center; margin-top:1.3rem; color:var(--white); }
.lb__no{ display:inline-block; font-family:var(--sans); font-size:.6rem; letter-spacing:.24em; color:#b1974a; }
.lb__ttl{ display:block; font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,2.4vw,1.9rem); margin-top:.35rem; }
.lb__sub{ display:block; font-family:var(--sans); font-size:.82rem; color:rgba(245,241,233,.66); margin-top:.4rem; }
.lb__x{ position:absolute; top:clamp(1rem,3vw,2rem); right:clamp(1rem,3vw,2rem); width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; transition:.25s; z-index:3; }
.lb__x:hover{ background:rgba(177,151,74,.22); border-color:#b1974a; }
.lb__nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); color:#fff; font-size:1.25rem; cursor:pointer; transition:.25s; z-index:3; }
.lb__nav:hover{ background:rgba(177,151,74,.22); border-color:#b1974a; }
.lb__prev{ left:clamp(.6rem,3vw,2.4rem); } .lb__next{ right:clamp(.6rem,3vw,2.4rem); }
.lb__count{ position:absolute; bottom:clamp(1.1rem,3vh,2rem); left:50%; transform:translateX(-50%);
  font-family:var(--sans); font-size:.62rem; letter-spacing:.2em; color:rgba(245,241,233,.55); }
@media(max-width:600px){ .lb__nav{ width:42px; height:42px; } .lb__img{ max-height:66vh; } }
@media(prefers-reduced-motion:reduce){ .lb, .lb__stage{ transition:opacity .2s; transform:none; } }
.amore{margin-top:2.6rem;padding:0 var(--mx);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,253,249,.7);text-align:center}

/* interiors feature full-bleed */
.feat{position:relative;height:96vh;min-height:560px;display:flex;align-items:center;overflow:hidden}
.feat__img{position:absolute;inset:0;background-size:cover;background-position:center}
.feat__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,12,8,.72),rgba(16,12,8,.28) 55%,transparent)}
.feat__t{position:relative;padding:0 var(--mx);max-width:600px}
.feat__t p{color:rgba(255,253,249,.88);margin-top:1.3rem;max-width:40ch}

/* loc / dev / enquire */
.loc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.loc--rev .dev__img{order:-1}
.loc__lead{font-size:1.08rem;color:var(--ink-soft);margin:1.4rem 0 0;max-width:44ch}
.loc__list{list-style:none;margin:1.8rem 0 0}
.loc__list li{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink-soft)}
.loc__list strong{color:var(--ink);font-family:var(--serif);font-size:1.2rem;font-weight:500;margin-right:.5rem}
.loc__map{height:520px;overflow:hidden;box-shadow:0 32px 70px -44px rgba(20,20,25,.4)}
.loc__map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.96) brightness(1.02);transition:filter .6s}
.loc__map:hover iframe{filter:grayscale(.25)}
.dev{background:var(--paper-2)}
.dev__img img{width:100%;height:600px;object-fit:cover;box-shadow:0 32px 70px -44px rgba(20,20,25,.42)}
.dev__list{list-style:none;margin:1.6rem 0}
.dev__list li{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.98rem;color:var(--ink-soft)}.dev__list strong{color:var(--ink)}
.enq__c{list-style:none;margin-top:2rem}
.enq__c li{padding:.78rem 0;border-bottom:1px solid var(--line);font-size:.98rem}
.enq__c span{display:inline-block;min-width:108px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}
.enq__c a:hover{opacity:.6}
.enq__form{background:#fff;padding:3rem;border:1px solid var(--line)}
.fld{margin-bottom:1.2rem}
.fld label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}
.fld label i{font-style:normal;text-transform:none;letter-spacing:0}
.fld input,.fld select,.fld textarea{width:100%;padding:.95rem 1rem;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:.95rem;color:var(--ink);transition:border-color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ink)}
.fld.bad input,.fld.bad select{border-color:#b5462f;background:#fbf2ef}
.note{margin-top:1rem;font-size:.9rem;text-align:center;min-height:1.2em}.note.ok{color:#3c7a3a}.note.err{color:#b5462f}

.ft{background:var(--graphite);color:var(--paper);padding:4.5rem var(--mx) 2.6rem}
.ft__in{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem}
.ft__mark{font-family:var(--sans);font-weight:500;font-size:1.1rem;letter-spacing:.4em}
.ft__tag{font-family:var(--serif);font-style:italic;color:rgba(245,241,233,.65);margin-top:.7rem;font-size:1.1rem}
.ft__base{font-size:.76rem;color:rgba(245,241,233,.5);max-width:40ch;text-align:right}

.dock{position:fixed;right:1.6rem;bottom:1.6rem;z-index:90;background:var(--ink);color:var(--paper);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem 1.8rem;box-shadow:0 16px 40px -16px rgba(0,0,0,.5);opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.dock.show{opacity:1;transform:none;pointer-events:auto}.dock:hover{opacity:.85}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .band{height:78vh}.band__t{max-width:none}
  .expo{flex-direction:column;height:auto}
  .expo__panel{flex:none;height:240px}
  .expo__panel.is-open,.expo__panel:hover{flex:none}
  .expo__label{opacity:1;transform:none}
}
@media(max-width:820px){.explorer__body{grid-template-columns:1fr}.explorer__plan{border-right:0;border-bottom:1px solid var(--line);padding:2rem}.explorer__plan img{max-height:400px}}
@media(max-width:760px){
  :root{--mx:6vw}
  .hd__nav{position:fixed;inset:0 0 0 auto;width:82%;max-width:330px;height:100vh;background:var(--graphite);flex-direction:column;justify-content:center;align-items:flex-start;padding:0 2.4rem;gap:1.7rem;transform:translateX(100%);transition:transform .5s var(--ease)}
  .hd__nav.open{transform:none}.hd__nav a{color:var(--paper);font-size:1.05rem}
  .hd__burger{display:flex}
  .loc,.loc--rev{grid-template-columns:1fr;gap:2.5rem}.loc--rev .dev__img{order:0}
  .band__t p{max-width:none}
  .ft__in{flex-direction:column;align-items:flex-start}.ft__base{text-align:left}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.hero__img{animation:none}.expo__panel{transition:none}}

/* ================= MASTHEAD HERO, split: type + CTA | full-height render ================= */
:root{ --brass:#b1974a; }
.mast{ position:relative; min-height:100vh; display:grid; grid-template-columns:1.02fr .98fr; background:var(--paper); }
.mast__left{ display:flex; flex-direction:column; justify-content:center; padding:clamp(7rem,14vh,10rem) clamp(2rem,5vw,5.5rem) clamp(3rem,7vh,5rem); }
.mast__eye{ font-size:.66rem; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1.4rem; }
.mast__title{ font-family:var(--serif); font-weight:500; font-size:clamp(3.6rem,8.5vw,8.5rem); line-height:.86; letter-spacing:-.03em; color:var(--ink); }
.mast__tag{ font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,2vw,1.9rem); color:var(--ink-soft); margin-top:1rem; }
.mast__tag em{ color:var(--brass); }
.mast__intro{ font-size:1.02rem; color:var(--ink-soft); max-width:42ch; margin-top:1.6rem; }
.mast__btn{ align-self:flex-start; margin-top:2rem; display:inline-block; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--paper); background:var(--ink); border:1px solid var(--ink); padding:1.05rem 2.6rem; transition:.4s var(--ease); }
.mast__btn:hover{ background:transparent; color:var(--ink); }
.mast__facts{ list-style:none; display:flex; flex-wrap:wrap; gap:1.4rem 2.4rem; margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.mast__facts li{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.mast__facts b{ font-family:var(--serif); font-weight:500; font-size:1.15rem; letter-spacing:0; text-transform:none; color:var(--ink); margin-right:.3rem; }
.mast__media{ position:relative; overflow:hidden; }
.mast__media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.06); animation:kb 18s var(--ease) forwards; }
.mast__cue{ position:absolute; left:calc(51% - 22px); bottom:1.8rem; z-index:3; width:24px; height:40px; border:1px solid rgba(255,253,249,.55); border-radius:14px; }
.mast__cue span{ position:absolute; top:8px; left:50%; width:3px; height:7px; background:#fff; border-radius:2px; transform:translateX(-50%); animation:cue 1.7s infinite; }
@keyframes cue{0%{opacity:0;top:8px}50%{opacity:1}100%{opacity:0;top:22px}}
@media(max-width:820px){
  .mast{ grid-template-columns:1fr; min-height:auto; }
  .mast__media{ height:56vh; order:-1; }
  .mast__left{ padding:2.6rem var(--mx) 3rem; }
  .mast__cue{ display:none; }
}
@media(max-width:820px){ .mast__grid{ grid-template-columns:1fr; gap:2rem; align-items:start } .mast__aside{ border-left:0; border-top:1px solid var(--line); padding:1.6rem 0 0; max-width:none } .mast__band{ height:38vh } }

/* ================= CONTRAST FIXES ================= */
/* expanding-gallery labels: always crisp white with a real backing */
.expo__panel::after{ background:linear-gradient(transparent 40%, rgba(10,8,5,.9)); }
.expo__label{ color:#fff; text-shadow:0 1px 16px rgba(0,0,0,.75); z-index:2; }
.expo__label span{ color:rgba(255,253,249,.85); }
/* residence band text: stronger scrim so copy never washes out */
.band__scrim{ background:linear-gradient(90deg, rgba(14,10,6,.85), rgba(14,10,6,.4) 48%, rgba(14,10,6,.05) 74%) !important; }
.band--right .band__scrim{ background:linear-gradient(270deg, rgba(14,10,6,.85), rgba(14,10,6,.4) 48%, rgba(14,10,6,.05) 74%) !important; }
.band__t p{ color:#fff !important; }
/* feature + amore + nav-on-dark safety */
.feat__t p{ color:#fff !important; }

/* ================= LOCATION, connectivity index (no map) ================= */
.loc2{ background:var(--paper); }
.loc2__head{ max-width:900px; margin-bottom:clamp(3rem,7vh,5rem); }
.loc2__coord{ font-size:1.05rem; color:var(--ink-soft); margin-top:1.4rem; max-width:56ch; }
.loc2__grid{ display:grid; grid-template-columns:repeat(4,1fr); column-gap:clamp(1.6rem,3vw,3.2rem); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.loc2__item{ display:flex; align-items:baseline; gap:1rem; padding:2.6rem 0; }
.loc2__item:last-child{ border-right:0; }
.loc2__min{ font-family:var(--serif); font-weight:500; font-size:clamp(2.7rem,4.4vw,4rem); line-height:.95; color:var(--ink); }
.loc2__min::after{ content:"′"; font-size:.34em; color:var(--brass); vertical-align:.75em; margin-left:.08em; }
.loc2__d b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.35rem; color:var(--ink); }
.loc2__d span{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); }
.loc2__note{ margin-top:2rem; font-size:.8rem; letter-spacing:.06em; color:var(--ink-soft); }
.loc2__link{ text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:.2rem; margin-left:.6rem; }
.loc2__link:hover{ color:var(--brass); border-color:var(--brass); }
@media(max-width:900px){ .loc2__grid{ grid-template-columns:1fr 1fr; column-gap:clamp(1.4rem,4vw,2.4rem); border-bottom:0; } .loc2__item{ border-bottom:1px solid var(--line); } .loc2__item:nth-last-child(-n+2){ border-bottom:0; } }
@media(max-width:560px){ .loc2__grid{ grid-template-columns:1fr } .loc2__item{ border-bottom:1px solid var(--line); } .loc2__item:last-child{ border-bottom:0; } }

/* ================= HEADER, minimal bar + full-screen overlay menu ================= */
.hd__right{ display:flex; align-items:center; gap:1.8rem; }
.hd__enq{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:.25rem; transition:.3s; }
.hd__enq:hover{ color:var(--brass); border-color:var(--brass); }
.hd__menu{ display:inline-flex; align-items:center; gap:.6rem; background:none; border:0; cursor:pointer; font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); padding:.4rem 0; }
.hd__menu i{ display:block; width:20px; height:1.4px; background:var(--ink); }
.hd__menu i+i{ margin-left:-20px; margin-top:6px; }        /* stack the two lines into a 2-bar icon */
.hd__menu{ position:relative; padding-left:30px; }
.hd__menu i{ position:absolute; left:0; }
.hd__menu i:first-child{ top:calc(50% - 3px); }
.hd__menu i:last-child{ top:calc(50% + 3px); margin:0; }

/* overlay */
.menu{ position:fixed; inset:0; z-index:200; background:var(--graphite); color:var(--paper); display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,10vh,8rem) var(--mx); opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .55s var(--ease), transform .55s var(--ease), visibility .55s; }
.menu.open{ opacity:1; visibility:visible; transform:none; }
.menu__close{ position:absolute; top:1.7rem; right:var(--mx); width:34px; height:34px; background:none; border:0; cursor:pointer; }
.menu__close span{ position:absolute; left:4px; top:16px; width:26px; height:1.4px; background:var(--paper); }
.menu__close span:first-child{ transform:rotate(45deg); } .menu__close span:last-child{ transform:rotate(-45deg); }
.menu__nav{ display:flex; flex-direction:column; gap:clamp(.4rem,1.4vh,1rem); }
.menu__nav a{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,6vw,4.6rem); line-height:1.06; color:var(--paper); letter-spacing:-.01em; display:flex; align-items:baseline; gap:1.2rem; transition:color .3s, padding-left .4s var(--ease); }
.menu__nav a i{ font-family:var(--sans); font-style:normal; font-size:.7rem; letter-spacing:.2em; color:var(--brass); opacity:.8; }
.menu__nav a:hover{ color:var(--brass); padding-left:.8rem; }
.menu__sub{ display:flex; flex-direction:column; gap:.25rem; margin:.35rem 0 .55rem 2.6rem; }
.menu__sub a{ font-family:var(--sans); font-weight:400; font-size:clamp(.9rem,1.5vw,1.05rem); letter-spacing:.02em; color:rgba(245,241,233,.6); display:inline-flex; align-items:center; gap:.6rem; transition:color .3s, padding-left .3s; }
.menu__sub a::before{ content:""; width:16px; height:1px; background:var(--brass); opacity:.7; display:inline-block; }
.menu__sub a:hover{ color:var(--paper); padding-left:.35rem; }
.menu__foot{ position:absolute; left:var(--mx); bottom:2.2rem; display:flex; flex-direction:column; gap:.3rem; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(243,239,230,.6); }
.menu__cav{ display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; margin-bottom:1.1rem; }
.menu__cav span{ font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:var(--brass); }
.menu__cav img{ height:18px; width:auto; max-width:130px; filter:brightness(0) invert(1); }
@media(max-width:760px){ .hd__enq{ display:none } .menu__foot{ position:static; margin-top:2.5rem } }

/* ================= RESIDENCES, broken rhythm + specs ================= */
/* spec triplet used on bands (light) and editorial */
.spec3{ list-style:none; display:flex; flex-wrap:wrap; gap:1.6rem 2.6rem; margin:1.4rem 0 1.8rem; }
.spec3 li{ display:flex; flex-direction:column; gap:.25rem; font-family:var(--serif); font-size:1.25rem; color:var(--ink); }
.spec3 li span{ font-family:var(--sans); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.spec3--l li{ color:#fff; } .spec3--l li span{ color:rgba(255,253,249,.72); }

/* middle residence, light editorial split (breaks the 3-full-screen monotony) */
.edit{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(4rem,9vh,7rem) var(--mx); background:var(--paper); }
.edit__img{ overflow:hidden; aspect-ratio:4/3.2; box-shadow:0 32px 70px -44px rgba(20,20,25,.45); }
.edit__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.edit:hover .edit__img img{ transform:scale(1.04); }
.edit__n{ font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--brass); display:block; margin-bottom:1rem; }
.edit__t h3{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4vw,3.4rem); margin-bottom:.8rem; }
.edit__t p{ color:var(--ink-soft); max-width:42ch; }
@media(max-width:820px){ .edit{ grid-template-columns:1fr; } .edit__img{ order:-1; aspect-ratio:16/10; } }

/* ================= THE PROJECT, added sections ================= */
/* 01 overview */
.pintro__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2.5rem,6vw,5.5rem); align-items:start; }
.pintro__lead{ font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.45; color:var(--ink-soft); margin-top:1.4rem; max-width:34ch; }
.statbar{ list-style:none; display:flex; flex-wrap:wrap; gap:2rem 3rem; margin-top:2.4rem; padding-top:1.8rem; border-top:1px solid var(--line); }
.statbar b{ display:block; font-family:var(--serif); font-weight:500; font-size:2rem; color:var(--ink); }
.statbar span{ font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.pintro__quote{ border-left:1px solid var(--line); padding-left:clamp(1.5rem,2.5vw,2.6rem); }
.pintro__quote blockquote{ font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.3; color:var(--ink); }
.pintro__quote figcaption{ margin-top:1.4rem; font-family:var(--serif); font-style:italic; font-size:1.15rem; color:var(--brass); }
.pintro__quote figcaption span{ display:block; font-family:var(--sans); font-style:normal; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); margin-top:.4rem; }
.pintro__quote figcaption.pintro__cite{ font-family:var(--sans); font-style:normal; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-top:1.6rem; }

/* 02 design vision */
.dv{ display:grid; gap:clamp(3rem,7vh,5rem); }
.dv__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,5rem); align-items:center; }
.dv__h{ font-family:var(--serif); font-weight:500; font-size:clamp(1.8rem,3.2vw,2.8rem); line-height:1.1; letter-spacing:-.01em; margin-bottom:1rem; }
.dv__p{ color:var(--ink-soft); max-width:46ch; }
.palette{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem 1.8rem; }
.palette li{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.palette .sw{ display:block; height:96px; margin-bottom:.7rem; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }
.partners{ text-align:center; border-top:1px solid var(--line); padding-top:clamp(2.5rem,5vh,3.5rem); }
.partners__lbl{ font-size:.66rem; letter-spacing:.28em; text-transform:uppercase; color:var(--brass); }
.partners__row{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(2rem,6vw,5rem); margin-top:1.6rem; font-family:var(--serif); font-size:clamp(1.3rem,2.4vw,2rem); color:var(--ink); letter-spacing:.06em; }
.partners .ph{ display:inline-block; margin-top:1.6rem; text-align:left; }

/* 03 floor plans explorer cta */
.explorer__cta{ display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.fp{ padding-bottom:0; }

/* 04/05 portfolio cards */
.portfolio--alt{ background:var(--paper-2); }
.pf__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,3vw,2.6rem); }
.pf__grid--2{ grid-template-columns:repeat(2,1fr); max-width:900px; }
.pf{ display:flex; flex-direction:column; }
.pf figure{ overflow:hidden; aspect-ratio:4/3; margin-bottom:1.3rem; position:relative; box-shadow:0 30px 66px -46px rgba(20,20,25,.4); }
.pf img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.pf:hover img{ transform:scale(1.05); }
.pf__ph{ aspect-ratio:4/3; margin-bottom:1.3rem; background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 12px,#e6dfce 12px,#e6dfce 24px); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.pf__ph::after{ content:"COMING SOON"; font-size:.66rem; letter-spacing:.24em; color:var(--ink-soft); }
.pf__tag{ position:absolute; top:1rem; left:1rem; background:var(--ink); color:var(--paper); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; padding:.4rem .8rem; }
.pf__b h3{ font-family:var(--serif); font-weight:500; font-size:1.7rem; margin-bottom:.5rem; }
.pf__b p{ color:var(--ink-soft); font-size:.95rem; margin-bottom:.9rem; }

/* catalog band */
.catalog{ position:relative; background:var(--graphite); color:var(--paper); padding:clamp(4rem,8vh,6rem) var(--mx); text-align:center; border-bottom:1px solid rgba(245,241,233,.08); }
.catalog__in{ max-width:760px; margin:0 auto; }
.catalog__p{ color:rgba(245,241,233,.8); max-width:52ch; margin:1.4rem auto 2rem; }
.btn--ivory{ background:var(--paper); color:var(--graphite); border-color:var(--paper); }
.btn--ivory:hover{ background:transparent; color:var(--paper); }
.catalog .ph--l{ display:inline-block; margin-top:1.6rem; color:rgba(245,241,233,.6); border-color:rgba(245,241,233,.3); }

/* amenity categories */
.amcat{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; padding:clamp(3rem,6vh,4.5rem) var(--mx) 0; }
.amcat__col h4{ font-family:var(--serif); font-weight:500; font-size:1.35rem; color:var(--paper); margin-bottom:.7rem; }
.amcat__col p{ font-size:.92rem; color:rgba(245,241,233,.7); line-height:1.7; }
/* amenities category icon + clean item lists */
.amcat__hd{ display:flex; align-items:center; gap:.7rem; margin-bottom:1.1rem; padding-bottom:.9rem; border-bottom:1px solid rgba(255,255,255,.13); }
.amcat__hd h4{ margin-bottom:0; }
.amcat__ic{ width:22px; height:22px; color:#b1974a; flex-shrink:0; }
.amcat__items{ list-style:none; display:flex; flex-direction:column; gap:.55rem; margin:0; padding:0; }
.amcat__items li{ position:relative; padding-left:1.05rem; font-size:.9rem; line-height:1.45; color:rgba(245,241,233,.74); }
.amcat__items li::before{ content:""; position:absolute; left:0; top:.5em; width:5px; height:5px; border-radius:50%; background:#b1974a; }
.amcat__items li em{ font-style:normal; color:rgba(245,241,233,.5); }
.amcat__items--multi{ display:block; column-count:3; column-gap:2.4rem; }
.amcat__items--multi li{ break-inside:avoid; margin-bottom:.7rem; }
@media(max-width:860px){ .amcat__items--multi{ column-count:2; } }
@media(max-width:560px){ .amcat__items--multi{ column-count:1; } }
.amcat__col--full{ grid-column:1 / -1; margin-top:1.4rem; padding-top:1.8rem; border-top:1px solid rgba(255,255,255,.14); }
.amcat__col--full p{ column-count:3; column-gap:2.6rem; }
@media(max-width:820px){ .amcat__col--full p{ column-count:2; } }
@media(max-width:600px){ .amcat__col--full p{ column-count:1; } }

/* investment block */
.invest{ margin-top:clamp(3rem,6vh,4.5rem); padding-top:2.4rem; border-top:1px solid var(--line); max-width:820px; }
.invest h4{ font-family:var(--serif); font-weight:500; font-size:1.6rem; margin-bottom:1rem; }
.invest ul{ list-style:none; }
.invest li{ padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.98rem; color:var(--ink-soft); }
.invest li b{ color:var(--ink); }

/* overseas buyers */
.overseas{ margin-top:clamp(2.4rem,5vh,3.6rem); padding-top:2.4rem; border-top:1px solid var(--line); max-width:920px; }
.overseas h4{ font-family:var(--serif); font-weight:500; font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:1rem; color:var(--ink); }
.overseas>p{ color:var(--ink-soft); max-width:66ch; margin-bottom:1.8rem; line-height:1.7; }
.overseas__steps{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.8rem; margin:0 0 1.8rem; }
.overseas__steps li{ display:flex; align-items:center; gap:.85rem; padding:.9rem 1.05rem; background:var(--paper-2); border:1px solid var(--line); font-size:.95rem; color:var(--ink); }
.overseas__steps li span{ font-family:var(--serif); font-style:italic; color:#b1974a; font-size:1.1rem; min-width:1rem; }
.overseas__facts{ list-style:none; margin-bottom:1.4rem; }
.overseas__facts li{ display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.95rem; color:var(--ink-soft); }
.overseas__facts li b{ color:var(--ink); text-align:right; }

/* fit-out programme */
.fitout{ background:var(--paper-2); text-align:center; }
.fitout__inner{ max-width:760px; margin:0 auto; }
.fitout__lead{ font-family:var(--serif); font-size:clamp(1.15rem,2.4vw,1.5rem); color:var(--ink); margin:1.2rem auto 1rem; max-width:52ch; }
.fitout__p{ color:var(--ink-soft); max-width:60ch; margin:0 auto 2rem; line-height:1.7; }
.fitout .eyebrow{ text-align:center; }
.fitout .eyebrow::after{ margin-left:auto; margin-right:auto; }
.fitout .display{ max-width:24ch; margin-left:auto; margin-right:auto; }

/* gallery */
.galgrid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:260px; gap:1rem; }
.gg{ position:relative; overflow:hidden; box-shadow:0 24px 60px -46px rgba(20,20,25,.4); }
.gg img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.gg:hover img{ transform:scale(1.05); }
.gg figcaption{ position:absolute; left:0; bottom:0; padding:1.2rem; color:var(--white); font-family:var(--serif); font-size:1.2rem; background:linear-gradient(transparent,rgba(16,12,8,.85)); width:100%; }
.gg--w{ grid-column:span 2; }
.gal__extra{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2rem; }
.gal__film{ margin:clamp(1.6rem,3.5vh,2.6rem) 0 0; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:3px; box-shadow:0 30px 66px -46px rgba(20,20,25,.4); }
.gal__film-vid{ width:100%; height:100%; object-fit:cover; display:block; }
.film{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:.6rem; background:var(--paper-2); border:1px solid var(--line); padding:2.4rem; }
.film__play{ width:52px; height:52px; border:1px solid var(--ink); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.85rem; color:var(--ink); }
.film__t{ font-family:var(--serif); font-size:1.5rem; }
.prog{ background:var(--paper-2); border:1px solid var(--line); padding:2.4rem; }
.prog h4{ font-family:var(--serif); font-weight:500; font-size:1.5rem; margin-bottom:.6rem; }
.reassure{ margin-top:1.6rem; font-size:.8rem; letter-spacing:.05em; color:var(--ink-soft); }

/* footer per sitemap */
.pf-foot{ background:var(--graphite); color:var(--paper); padding:clamp(4rem,9vh,6rem) var(--mx) 2.4rem; }
.pf-foot__top{ display:grid; grid-template-columns:1.2fr 2fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(245,241,233,.12); }
.pf-foot__brand .ft__mark{ font-family:var(--sans); font-weight:500; font-size:1.2rem; letter-spacing:.4em; }
.pf-foot__brand .ft__tag{ font-family:var(--serif); font-style:italic; color:rgba(245,241,233,.65); margin-top:.8rem; }
.pf-foot__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.pf-foot__cols h5{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-bottom:1rem; }
.pf-foot__cols a{ display:block; font-size:.9rem; color:rgba(245,241,233,.72); padding:.3rem 0; transition:.3s; }
.pf-foot__cols a:hover{ color:var(--paper); }
.pf-foot__base{ padding-top:2rem; font-size:.74rem; color:rgba(245,241,233,.5); }

@media(max-width:900px){
  .pintro__grid,.dv__grid,.gal__extra,.pf-foot__top{ grid-template-columns:1fr; }
  .pintro__quote{ border-left:0; border-top:1px solid var(--line); padding:1.6rem 0 0; }
  .palette{ grid-template-columns:repeat(3,1fr); }
  .pf__grid,.pf__grid--2{ grid-template-columns:1fr 1fr; }
  .amcat{ grid-template-columns:1fr 1fr; }
  .galgrid{ grid-template-columns:repeat(2,1fr); } .gg--w{ grid-column:span 2; }
  .pf-foot__cols{ grid-template-columns:1fr; }
}
@media(max-width:600px){ .pf__grid,.pf__grid--2,.amcat,.galgrid{ grid-template-columns:1fr; } .gg--w{ grid-column:span 1; } .statbar b{ font-size:1.6rem; } }

/* menu robustness, fit all links, never overlap footer */
.menu{ justify-content:flex-start; overflow-y:auto; padding:clamp(6rem,12vh,8rem) var(--mx) 3rem; }
.menu__nav a{ font-size:clamp(1.5rem,3.8vw,3rem); line-height:1.05; }
.menu__nav{ gap:clamp(.2rem,1vh,.65rem); }
.menu__foot{ position:static; margin-top:2.6rem; }
.menu__close{ position:fixed; }

/* ================= PROJECT III, persistent side index + centered full-bleed hero ================= */
/* header transparent over hero, solid on scroll */
.hd{ background:transparent; box-shadow:none; }
.hd.solid{ background:var(--paper); box-shadow:0 1px 0 var(--line); }
.hd__brand,.hd__enq,.hd__menu{ color:#fff; } .hd__enq{ border-color:#fff; } .hd__menu i{ background:#fff; }
.hd.solid .hd__brand,.hd.solid .hd__enq,.hd.solid .hd__menu{ color:var(--ink); } .hd.solid .hd__enq{ border-color:var(--ink); } .hd.solid .hd__menu i{ background:var(--ink); }

/* centered full-bleed hero */
.chero{ position:relative; height:100vh; min-height:640px; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; }
.chero__img{ position:absolute; inset:0; } .chero__img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.06); animation:kb 18s var(--ease) forwards; }
.chero__img video{ width:100%; height:100%; object-fit:cover; display:block; }
.chero__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,12,8,.62), rgba(16,12,8,.46) 42%, rgba(16,12,8,.66)); }
.chero__in{ position:relative; color:#fff; padding:0 var(--mx); }
.chero__eye{ font-size:.68rem; letter-spacing:.34em; text-transform:uppercase; color:rgba(255,253,249,.85); margin-bottom:1.6rem; }
.chero__title{ font-family:var(--serif); font-weight:500; font-size:clamp(3.8rem,10vw,9rem); line-height:.96; letter-spacing:-.02em; }
.chero__title .hlogo{ display:block; width:clamp(280px,46vw,580px); height:auto; margin:0 auto; filter:brightness(0) invert(1); }
.chero__tag{ font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,2.2vw,1.9rem); color:rgba(255,253,249,.92); margin-top:1rem; }
.chero__tag em{ color:#f6ead0; background:rgba(177,151,74,.34); padding:.06em .5em; border-radius:3px; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.chero__btn{ display:inline-block; margin-top:2.2rem; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; border:1px solid rgba(255,253,249,.6); padding:1.05rem 2.6rem; transition:.4s var(--ease); }
.chero__btn:hover{ background:#fff; color:var(--ink); border-color:#fff; }
.chero__cue{ position:absolute; left:50%; bottom:2.2rem; transform:translateX(-50%); width:24px; height:40px; border:1px solid rgba(255,253,249,.5); border-radius:14px; }
.chero__cue span{ position:absolute; top:8px; left:50%; width:3px; height:7px; background:#fff; border-radius:2px; transform:translateX(-50%); animation:cue 1.7s infinite; }

/* persistent section index (scroll-spy) */
.sindex{ position:fixed; right:1.7rem; top:50%; transform:translateY(-50%); z-index:80; display:flex; flex-direction:column; gap:.55rem; }
.sindex a{ display:flex; align-items:center; justify-content:flex-end; gap:.85rem; color:var(--ink-soft); opacity:.55; transition:opacity .3s, color .3s; }
.sindex a i{ font-family:var(--sans); font-style:normal; font-size:.58rem; letter-spacing:.1em; min-width:16px; text-align:right; }
.sindex a em{ font-family:var(--sans); font-style:normal; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; max-width:0; opacity:0; overflow:hidden; transition:max-width .4s var(--ease), opacity .35s var(--ease); }
.sindex a:hover{ opacity:1; } .sindex a:hover em{ max-width:180px; opacity:1; }
.sindex a.active{ opacity:1; color:var(--ink); } .sindex a.active em{ max-width:180px; opacity:1; }
.sindex.on-dark a{ color:rgba(255,253,249,.7); } .sindex.on-dark a.active{ color:#fff; }
@media(max-width:1100px){ .sindex{ display:none; } }
@media(max-width:620px){ .chero__tag{ max-width:24ch; margin-left:auto; margin-right:auto; } }

/* ================= PORTFOLIO, editorial project rows (replaces old card grid) ================= */
.projrow{ display:grid; grid-template-columns:84px 1.25fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:center; padding:clamp(2.4rem,5vh,3.6rem) 0; border-top:1px solid var(--line); }
.projlist .projrow:last-child{ border-bottom:1px solid var(--line); }
.projrow__ix{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,3vw,3rem); color:var(--ink-soft); opacity:.45; }
.projrow__media{ position:relative; overflow:hidden; aspect-ratio:16/10; box-shadow:0 30px 66px -46px rgba(20,20,25,.4); }
.projrow__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.projrow--live:hover .projrow__media img{ transform:scale(1.05); }
.projrow__media--soon{ background:#fdfbf6; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; box-shadow:none; }
.projrow__media--soon span{ font-size:.64rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft); }
.projrow__tag{ position:absolute; top:1rem; left:1rem; background:var(--ink); color:var(--paper); font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; padding:.42rem .8rem; }
.projrow__meta h3{ font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:.5rem; }
.projrow__sub{ color:var(--ink-soft); font-size:.98rem; }
.projrow__facts{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; margin:1.1rem 0; }
.projrow__facts li{ font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.projrow__go{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--brass); padding-bottom:.3rem; transition:.3s; display:inline-block; margin-top:.4rem; }
.projrow--live:hover .projrow__go{ color:var(--brass); }
@media(max-width:900px){ .projrow{ grid-template-columns:1fr; gap:1.1rem; } .projrow__ix{ font-size:1.5rem; } .projrow__media{ order:-1; } }


/* ===== two-tier overlay menu: Main Pages + On this page (per sitemap) ===== */
.menu__cols{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,6vw,6rem); align-items:start; width:100%; max-width:1080px; }
.menu__lbl{ font-family:var(--sans); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--brass); margin-bottom:1.3rem; }
.menu__main{ display:flex; flex-direction:column; gap:clamp(.3rem,1.2vh,.85rem); }
.menu__main a{ display:flex; align-items:baseline; gap:.9rem; font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem,4.4vw,3.3rem); line-height:1.1; color:var(--paper); transition:color .3s, padding-left .4s var(--ease); }
.menu__main a em{ font-family:var(--sans); font-style:normal; font-size:.7rem; letter-spacing:.12em; color:rgba(245,241,233,.4); }
.menu__main a:hover{ color:var(--brass); padding-left:.6rem; }
.menu__main a.is-current{ color:var(--brass); }
.menu__main a.is-current em{ color:rgba(154,124,69,.75); }
.menu__sections{ display:flex; flex-direction:column; gap:.55rem; border-left:1px solid rgba(245,241,233,.13); padding-left:clamp(1.4rem,3vw,2.6rem); }
.menu__sections>a{ font-family:var(--sans); font-size:clamp(.95rem,1.5vw,1.08rem); color:rgba(245,241,233,.72); letter-spacing:.01em; transition:color .3s, padding-left .3s; }
.menu__sections>a:hover{ color:var(--paper); padding-left:.3rem; }
@media(max-width:760px){ .menu__cols{ grid-template-columns:1fr; gap:2rem; } .menu__sections{ border-left:0; border-top:1px solid rgba(245,241,233,.13); padding-left:0; padding-top:1.6rem; } }

/* ===== framed placeholder boxes, where an image/asset is still pending ===== */
.partners .plogos{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1rem,2vw,1.6rem); margin-top:1.6rem; }
.plogo{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem;
  padding:clamp(2.8rem,5.5vw,4.4rem) 1.5rem; background:#fdfbf6; border:1px solid var(--line);
  transition:border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease); }
.plogo:hover{ border-color:var(--brass); transform:translateY(-3px); box-shadow:0 30px 60px -46px rgba(20,20,25,.35); }
.plogo__img{ max-height:66px; max-width:70%; width:auto; height:auto; object-fit:contain; }
.plogo__role{ position:relative; font-size:.58rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-soft); padding-top:1.4rem; }
.plogo__role::before{ content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:34px; height:1px; background:var(--brass); }
@media(max-width:680px){ .partners .plogos{ grid-template-columns:1fr; } }

.phbox{ position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:.35rem; aspect-ratio:16/10; border:1px solid var(--line); background:#fdfbf6; padding:1.6rem; transition:border-color .3s; }
.phbox:hover{ border-color:var(--brass); }
.phbox--film{ cursor:pointer; }
.phbox__icon{ position:absolute; top:1.4rem; left:1.6rem; width:46px; height:46px; border:1px solid var(--ink); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.72rem; color:var(--ink); }
.phbox__t{ font-family:var(--serif); font-weight:500; font-size:1.5rem; color:var(--ink); }
.phbox__tag{ font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:#a99e86; }

.catalog--proj{ text-align:left; }
.catrow{ display:grid; grid-template-columns:auto 1fr; gap:clamp(2.4rem,6vw,5rem); align-items:center; max-width:1000px; margin:0 auto; }
.catrow__cover{ width:clamp(178px,22vw,258px); aspect-ratio:3/4; border:1px solid rgba(245,241,233,.28); background:linear-gradient(160deg,#26251f,#181712); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; text-align:center; padding:1.6rem; }
.catrow__mark{ font-family:var(--sans); font-weight:500; font-size:.68rem; letter-spacing:.34em; color:rgba(245,241,233,.85); }
.catrow__sub{ font-family:var(--serif); font-size:1.6rem; color:#e3c48f; margin-top:.2rem; }
.catrow__tag{ margin-top:.5rem; font-size:.52rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,241,233,.45); }
.catalog--proj .catalog__p{ margin:1.2rem 0 1.9rem; max-width:46ch; }
@media(max-width:680px){ .catrow{ grid-template-columns:1fr; justify-items:start; gap:2rem; } }/* ================= PREMIUM MOBILE POLISH ================= */
@media(max-width:600px){
  /* tighter, richer vertical rhythm, desktop padding reads as empty gaps on phones */
  .sec{ padding-top:clamp(3rem,8vh,4.6rem); padding-bottom:clamp(3rem,8vh,4.6rem); }
  .head{ margin-bottom:1.7rem; }
  .life{ padding-top:clamp(3rem,8vh,4.6rem); padding-bottom:clamp(3rem,8vh,4.6rem); }
  .catalog{ padding-top:clamp(3.2rem,8vh,5rem); padding-bottom:clamp(3.2rem,8vh,5rem); }
  .pageintro{ padding-top:clamp(6.4rem,20vh,8rem); padding-bottom:1rem; }
  .pf-foot{ padding-top:clamp(3.2rem,8vh,4.6rem); }
  /* comfortable thumb targets */
  .btn{ padding:1.15rem 2rem; }
  .cmethod{ padding:1.7rem 1.6rem; }
  /* form fields a touch taller for easy tapping */
  .fld input,.fld select,.fld textarea{ font-size:16px; }
}


/* ===== Materials shown IN the renders (replaces flat colour swatches) ===== */
.matgrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.matcard{ position:relative; overflow:hidden; aspect-ratio:4/3; box-shadow:0 20px 50px -40px rgba(20,20,25,.5); }
.matcard img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.matcard:hover img{ transform:scale(1.06); }
.matcard__sw{ position:absolute; top:.85rem; left:.85rem; width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(255,255,255,.78); box-shadow:0 2px 10px rgba(0,0,0,.35); }
.matcard figcaption{ position:absolute; left:0; bottom:0; width:100%; padding:1.1rem .95rem .85rem; background:linear-gradient(transparent, rgba(16,12,8,.85)); color:#fff; }
.matcard figcaption b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.2rem; line-height:1.1; }
.matcard figcaption span{ font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,253,249,.72); }
@media(max-width:520px){ .matgrid{ grid-template-columns:1fr; } }

/* floating WhatsApp button, bottom-right, mobile + desktop */
.wa-fab{ position:fixed; right:clamp(1rem,3vw,1.6rem); bottom:clamp(1rem,3vw,1.6rem); z-index:95;
  width:56px; height:56px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.45); transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; -webkit-tap-highlight-color:transparent; }
.wa-fab::before{ content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; z-index:-1; animation:wapulse 2.6s ease-out infinite; }
.wa-fab:hover{ transform:scale(1.08); box-shadow:0 16px 40px -8px rgba(37,211,102,.55); }
.wa-fab svg{ width:30px; height:30px; fill:#fff; }
@keyframes wapulse{ 0%{ transform:scale(1); opacity:.5 } 70%{ transform:scale(1.7); opacity:0 } 100%{ opacity:0 } }
@media(max-width:600px){ .wa-fab{ width:54px; height:54px; } .wa-fab svg{ width:28px; height:28px; } }
@media(prefers-reduced-motion:reduce){ .wa-fab::before{ animation:none; opacity:0 } }
/* stack the Enquire dock above the WhatsApp button where both exist */
.dock{ bottom:calc(clamp(1rem,3vw,1.6rem) + 68px); }

/* E-Catalogue link in the top bar (white over hero, dark when solid) */
.hd__right{ display:flex; align-items:center; gap:clamp(.9rem,2.2vw,1.8rem); }
.hd__cat{ font-family:var(--sans); font-weight:500; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; transition:color .3s; white-space:nowrap; }
.hd.solid .hd__cat{ color:var(--ink); }
.hd__cat:hover{ color:#b1974a; }
@media(max-width:600px){ .hd__cat{ display:none; } }
/* ═══════ NEW SECTIONS, RGI · Founders · Architecture · Interiors · Showcase · Payment · Services · Overseas · Footer CTA ═══════ */
/* RGI facts */
.rgifacts{padding-top:0}
.factrow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.factrow li{background:var(--paper);padding:1.6rem 1.4rem}
.factrow span{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}
.factrow b{font-family:var(--serif);font-weight:500;font-size:1.2rem}
@media(max-width:760px){.factrow{grid-template-columns:1fr 1fr}}

/* Cavalier, founders */
.cavalier__lead{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.42;max-width:34ch;margin:0 auto clamp(2.5rem,6vh,4rem);text-align:center}
.cavalier--center .head{text-align:center}
.cavalier--center .head .display{margin-left:auto;margin-right:auto}
.cavalier--center .head .eyebrow::after{margin-left:auto;margin-right:auto}
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-bottom:clamp(2.5rem,7vh,5rem)}
.founder--rev{grid-template-columns:1.2fr .8fr}
.founder--rev .founder__ph{order:2}
.founder__ph{aspect-ratio:4/5;background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--ink-soft)}
.founder__ph span{font-family:var(--serif);font-size:1.35rem}
.founder__ph small{font-size:.64rem;letter-spacing:.06em}
.founder__t h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3vw,2.1rem)}
.founder__role{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:.4rem 0 1.2rem}
.founder__t p{margin-bottom:1.4rem}
.founder blockquote{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.5;border-left:2px solid var(--brass);padding-left:1.2rem}
.cavalier__cta{display:block;width:max-content;margin:clamp(3rem,7vh,5rem) auto 0}
@media(max-width:760px){.founder,.founder--rev{grid-template-columns:1fr}.founder--rev .founder__ph{order:0}}

/* Architecture second block */
.arch2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.arch2__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.arch2__img figcaption{margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink-soft)}
@media(max-width:760px){.arch2{grid-template-columns:1fr}}

/* Interior design & furnishings */
.idf__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-bottom:clamp(2.5rem,6vh,4rem)}
.idf__grid--rev .idf__img{order:2}
.idf__img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.idf__lead{margin-top:1.3rem;color:var(--ink-soft)}
/* Irtiqa collage — offset 2x2 cluster like the home "Fifty-eight…" section; on the left, heading right */
.idf__grid--collage{align-items:center;grid-template-columns:1.6fr .7fr}
.idf__grid--collage.idf__grid--cr{grid-template-columns:.7fr 1.6fr}
.idf__grid--collage.idf__grid--cr .idf__collage{order:2}
.idf__collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1rem);align-items:start;min-width:0}
.idf__c{min-width:0}
.idf__col{display:flex;flex-direction:column;gap:clamp(.7rem,1.4vw,1.1rem);min-width:0}
.idf__col--offset{margin-top:clamp(2rem,6vw,3.4rem)}
.idf__c{overflow:hidden;box-shadow:0 22px 48px -32px rgba(20,20,25,.42);aspect-ratio:4/5}
.idf__c img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.idf__c:hover img{transform:scale(1.04)}
@media(max-width:760px){.idf__col--offset{margin-top:0}}
.signatures{text-align:center;margin:clamp(2rem,5vh,3.5rem) 0}
.signatures .eyebrow::after{ margin-left:auto; margin-right:auto; }
.sigs{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem}
.sigs li{font-size:.72rem;letter-spacing:.05em;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;padding:.5rem 1.1rem}
@media(max-width:760px){.idf__grid{grid-template-columns:minmax(0,1fr)}.idf__grid--rev .idf__img{order:0}
.idf__grid--collage,.idf__grid--collage.idf__grid--cr{grid-template-columns:minmax(0,1fr)}
.idf__grid--collage.idf__grid--cr .idf__collage{order:0}}

/* Showcase */
.showrow{display:flex;gap:1.2rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}
.showcard{flex:0 0 clamp(240px,30vw,340px);scroll-snap-align:start}
.showcard img{width:100%;aspect-ratio:3/4;object-fit:cover}
.showcard figcaption{margin-top:.9rem}
.showcard b{font-family:var(--serif);font-weight:500;font-size:1.25rem;display:block;margin-bottom:.2rem}
.showcard span{color:var(--ink-soft);font-size:.9rem}

/* Payment plan (dark) */
.payplan{background:var(--graphite)}
.payplan .head--pad{padding:0}
.ppl{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:2rem}
.ppl li{background:var(--graphite);padding:1.7rem 1.4rem}
.ppl b{font-family:var(--serif);font-weight:500;font-size:2.3rem;color:var(--white);display:block}
.ppl span{color:rgba(255,253,249,.7);font-size:.82rem;margin-top:.4rem;display:block}
.ph--l{color:rgba(255,253,249,.6)}
@media(max-width:760px){.ppl{grid-template-columns:1fr 1fr}}

/* Resident services (inside dark amenities) */
.rserv{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:clamp(2.4rem,5.5vh,3.6rem) clamp(1.6rem,4vw,3rem);margin:clamp(2.5rem,6vh,4rem) var(--mx) 0}
.rserv__h{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--white);margin:.3rem 0}
.rserv__lead{color:rgba(255,253,249,.72);margin-bottom:2rem;max-width:52ch}
.rserv__list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem 1.8rem}
.rserv__list li{display:flex;gap:.75rem;align-items:flex-start}
.rserv__ic{width:20px;height:20px;color:#b1974a;flex-shrink:0;margin-top:.2rem}
.rserv__list b{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--white);display:block;margin-bottom:.35rem}
.rserv__list span{color:rgba(255,253,249,.66);font-size:.88rem;line-height:1.6}

/* Overseas buyers (inside light location) */
.overseas{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.overseas h4{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin-bottom:.7rem}
.overseas p{color:var(--ink-soft);max-width:62ch;margin-bottom:1.3rem}
.overseas__facts{list-style:none;margin-bottom:1.3rem}
.overseas__facts li{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}
.overseas__facts span{min-width:6rem;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.overseas__facts b{font-weight:500}

/* Footer CTA (dark, video), site-wide */
.visitcta{position:relative;padding:clamp(5rem,13vh,8.5rem) var(--mx);text-align:center;color:var(--paper);background:linear-gradient(160deg,#2b1f15 0%,#18110a 100%);border-top:1px solid rgba(177,151,74,.22)}
.visitcta__in{max-width:760px;margin:0 auto}
.visitcta .eyebrow{color:var(--brass)}
.visitcta .eyebrow::after{margin-left:auto;margin-right:auto}
.visitcta .display{color:var(--paper);max-width:20ch;margin:0 auto 1.4rem}
.visitcta__p{color:rgba(245,241,233,.72);font-size:1.05rem;max-width:56ch;margin:0 auto 2.6rem}
.footcta{position:relative;padding:clamp(5rem,14vh,9rem) var(--mx);text-align:center;overflow:hidden;color:var(--white)}
.footcta__media{position:absolute;inset:0;z-index:0}
.footcta__vid{width:100%;height:100%;object-fit:cover}
.footcta__scrim{position:absolute;inset:0;background:linear-gradient(rgba(31,22,14,.62),rgba(31,22,14,.8))}
.footcta__in{position:relative;z-index:1}
.footcta__p{color:rgba(255,253,249,.82);margin:.6rem 0 2rem}
.footcta__btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.footcta .eyebrow::after{margin-left:auto;margin-right:auto}
.footcta .display{max-width:26ch;margin-left:auto;margin-right:auto}
/* two-column variant: catalogue cover + heading over the video */
.footcta--split{text-align:left}
.footcta--split .footcta__in{display:grid;grid-template-columns:auto 1fr;gap:clamp(2.4rem,6vw,5rem);align-items:center;max-width:1000px;margin:0 auto}
.footcta--split .footcta__t{min-width:0}
.footcta--split .display{max-width:20ch;margin:0 0 1.6rem;line-height:1.08}
.footcta--split .footcta__p{margin:.6rem 0 2rem}
.footcta--split .eyebrow{margin-bottom:1.2rem}
.footcta--split .eyebrow::after{margin-left:0;margin-right:auto}
.footcta--split .footcta__btns{justify-content:flex-start}
@media(max-width:680px){.footcta--split .footcta__in{grid-template-columns:1fr;justify-items:start}}
.btn--ghost{background:transparent;color:var(--white);border-color:rgba(255,253,249,.6)}
.btn--ghost:hover{background:var(--white);color:var(--ink)}

/* Showcase, tabbed carousel */
.showtabs{display:flex;flex-wrap:wrap;gap:.3rem 1.6rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.showtab{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);background:none;border:0;border-bottom:2px solid transparent;padding:.8rem .2rem;margin-bottom:-1px;cursor:pointer;transition:.3s}
.showtab:hover{color:var(--ink)}
.showtab.is-active{color:var(--ink);border-bottom-color:var(--brass)}
.showpanel{display:none}
.showpanel.is-active{display:block;animation:showfade .5s var(--ease)}
@keyframes showfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.showpanel img{width:100%;aspect-ratio:16/9;object-fit:cover}
.showpanel figcaption{margin-top:1.2rem;display:flex;flex-direction:column;gap:.3rem}
.showpanel figcaption b{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.showpanel figcaption span{color:var(--ink-soft);font-size:1rem}
@media(max-width:640px){.showpanel img{aspect-ratio:4/3}}

/* confirmed-price footnote (replaces placeholder text) */
.pricenote{font-family:var(--sans);font-size:.82rem;color:var(--ink-soft);margin-top:1rem}
.pricenote--l{color:rgba(255,253,249,.75)}

/* Founders, real combined photo + two text blocks */
.founders-photo{margin:clamp(2rem,5vh,3.5rem) 0 clamp(1.5rem,4vh,2.5rem)}
.founders-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 28%}
.founders-photo figcaption{margin-top:1rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);text-align:center}
.founders-words{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);text-align:center}
.fword h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:.35rem}
.fword__role{font-family:var(--sans);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:1.1rem}
.fword p{margin-bottom:1.2rem;color:var(--ink-soft)}
.fword blockquote{font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.5;border-left:2px solid var(--brass);padding-left:1.1rem}
.fword__q.is-pending{font-style:normal;font-size:.82rem;letter-spacing:.02em;color:var(--ink-soft);opacity:.55;border-left:2px dashed var(--line)}
@media(max-width:760px){.founders-words{grid-template-columns:1fr;gap:1.6rem}}

/* ── brand palette · oxblood reserved for pull-quotes only ── */
:root{ --wine:#743430; }
.founder blockquote,.fword blockquote{ border-left-color:var(--wine); }
.pintro__quote blockquote{ border-left:2px solid var(--wine); padding-left:1.15rem; }

/* footer social icons */
.pf-social{display:flex;gap:16px;justify-content:center;align-items:center;padding:1.8rem 0 .2rem;margin-top:.4rem}
.pf-social a{color:var(--ink-soft);display:inline-flex;transition:color .3s}
.pf-social a:hover{color:var(--brass)}

/* brand red · chapter-accent rule under section eyebrows (max 5%) */
.eyebrow::after{ content:""; display:block; width:26px; height:2px; background:#743430; margin-top:.9rem; }
.eyebrow--l::after{ background:#743430; }

/* brand logo, stacked Reserve lockup (white over hero, dark when solid) */
.hd__logo{ width:auto; display:block; transition:filter .5s var(--ease); }
.hd__logo--stack{ height:56px; filter:brightness(0) invert(1); }
.hd.solid .hd__logo--stack{ filter:brightness(0); }
/* Cavalier developer mark, far right of the project header (before Menu) */
.hd__cavmark{ display:inline-flex; align-items:center; }
.hd__logo--cav{ height:19px; filter:brightness(0) invert(1); transition:filter .5s var(--ease); }
.hd.solid .hd__logo--cav{ filter:brightness(0); }
/* mobile: keep BOTH logos in the header, scaled to fit */
@media(max-width:600px){ .hd__logo--stack{ height:48px; } .hd__logo--cav{ height:17px; } }

/* wide (horizontal wordmark) partner logos, e.g. Solomia Home */
.plogo__img--wide{ max-width:66%; max-height:42px; width:auto; }

/* location map (branded, on the Reserve page) */
.loc2__map{ position:relative; border-radius:var(--r); overflow:hidden; height:clamp(440px,72vh,780px); margin:clamp(1.6rem,3.5vh,2.6rem) 0 clamp(2rem,4vh,3rem); background:#efe7d6; }
.loc2__gmap{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
/* footer + catalog brand logos (Reserve, cream on dark) */
.ft__logo{ width:auto; display:block; }
.ft__logo--stack{ height:40px; }
.pf-foot__brand{ text-align:center; }
.ft__logo--mark{ height:40px; margin:0 auto; filter:brightness(0) invert(1); }
.catrow__logo{ height:34px; width:auto; display:block; }


/* branded text selection (replaces default browser blue) */
::selection{ background:#b1974a; color:#2b1f15; }
::-moz-selection{ background:#b1974a; color:#2b1f15; }

.pf-foot__cols a.ft__phone{display:inline-block;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,"Liberation Mono",monospace}
