/* ===== 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,iframe,video,svg{max-width:100%}
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}
.display--l{color:var(--white)}
.head{margin-bottom:clamp(2.6rem,6vh,4.5rem)}
.head--pad{padding:0 var(--mx)}
.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}
.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}
.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__c a{display:inline-block;vertical-align:top}
.enq__c a.enq__ph{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,"Liberation Mono",monospace;letter-spacing:0}
.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); gap:0; border-top:1px solid var(--line); }
.loc2__item{ display:flex; align-items:baseline; gap:1.1rem; padding:2.2rem 1.6rem 2.2rem 0; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.loc2__item:last-child{ border-right:0; }
.loc2__min{ font-family:var(--serif); font-weight:500; font-size:clamp(3rem,5vw,4.6rem); line-height:.8; color:var(--ink); }
.loc2__min::after{ content:"′"; font-size:.4em; color:var(--brass); vertical-align:super; margin-left:.1em; }
.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 } .loc2__item:nth-child(2){ border-right:0 } }
@media(max-width:560px){ .loc2__grid{ grid-template-columns:1fr } .loc2__item{ border-right: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); }
@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:1.15rem; color:var(--ink-soft); margin-top:1.4rem; max-width:52ch; }
.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; }

/* 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); 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(4,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; }

/* 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); }

/* 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; }
.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__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,12,8,.5), rgba(16,12,8,.18) 40%, rgba(16,12,8,.55)); }
.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__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:#d8b47a; }
.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; } }
/* ================= HOME overview page ================= */
.chero__cta{ display:flex; align-items:center; gap:1.8rem 2.4rem; flex-wrap:wrap; justify-content:center; margin-top:2.2rem; }
.chero__cta .chero__btn{ margin-top:0; }
.chero__btn2{ font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; border-bottom:1px solid rgba(255,253,249,.5); padding-bottom:.35rem; transition:.3s var(--ease); }
.chero__btn2:hover{ border-color:#fff; color:#d8b47a; }

/* amenities highlights footer row */
.life__more{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem 2rem; padding:clamp(2.2rem,5vh,3.4rem) var(--mx) 0; }
.life__more p{ color:rgba(245,241,233,.62); font-size:.92rem; letter-spacing:.02em; }

/* gallery strip, horizontal scroll */
.gstrip-sec{ overflow:hidden; }
.gstrip{ display:flex; gap:14px; overflow-x:auto; padding:.4rem var(--mx) 1rem; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.gstrip::-webkit-scrollbar{ display:none; }
.gstrip figure{ position:relative; flex:0 0 auto; width:min(82vw,440px); aspect-ratio:4/5; overflow:hidden; scroll-snap-align:start; box-shadow:0 30px 66px -46px rgba(20,20,25,.4); }
/* gallery cards must stay visible so the next one always peeks, never blank on the right */
.gstrip figure.reveal{ opacity:1; transform:none; }
.gstrip img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.gstrip figure:hover img{ transform:scale(1.05); }
.gstrip figcaption{ position:absolute; left:0; bottom:0; width:100%; padding:1.4rem 1.4rem 1.1rem; color:#fff; font-family:var(--serif); font-size:1.35rem; background:linear-gradient(transparent, rgba(12,10,7,.72)); }
.gstrip__hint{ padding:1.1rem var(--mx) 0; font-size:.64rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-soft); }

.partners-sec{ padding-top:clamp(3rem,7vh,5rem); padding-bottom:clamp(3rem,7vh,5rem); }
.partners-sec .partners{ border-top:0; padding-top:0; }

/* =================================================================
   HOME, distinct layout language (brand landing, not a Project clone)
   ================================================================= */

/* 1 · HERO, cover with bottom-left copy + fact rail */
/* CRO: not a full-viewport dead-end, hero sits ~88vh so the next section peeks above the fold and invites the scroll */
.hhero{ position:relative; min-height:88vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:#fff; padding-top:clamp(90px,11vh,120px); }
@media(max-width:760px){ .hhero{ min-height:92vh; } }
.hhero__img{ position:absolute; inset:0; } .hhero__img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.05); animation:kb 18s var(--ease) forwards; }
.hhero__img video{ width:100%; height:100%; object-fit:cover; display:block; }
.hhero__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,12,8,.2), rgba(16,12,8,.12) 38%, rgba(16,12,8,.85)); }
.hhero__in{ position:relative; padding:0 var(--mx); max-width:920px; margin-bottom:clamp(2.4rem,5vh,3.6rem); }
.hhero__eye{ font-size:.68rem; letter-spacing:.34em; text-transform:uppercase; color:rgba(255,253,249,.85); margin-bottom:1.2rem; }
.hhero__title{ font-family:var(--serif); font-weight:500; font-size:clamp(2.9rem,6.2vw,5.6rem); line-height:1; letter-spacing:-.02em; }
.hhero__title .hlogo{ display:block; width:clamp(230px,40vw,450px); height:auto; filter:brightness(0) invert(1); }
.hhero__lede{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,2.4vw,2rem); color:rgba(255,253,249,.94); max-width:32ch; margin-top:1.1rem; line-height:1.32; }
.hhero__lede em{ font-style:italic; color:#e3c48f; }
.hhero__cta{ display:flex; align-items:center; gap:1.4rem 2.2rem; flex-wrap:wrap; margin-top:2.1rem; }
.hhero__link{ font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; border-bottom:1px solid rgba(255,253,249,.5); padding-bottom:.35rem; transition:.3s var(--ease); }
.hhero__link:hover{ color:#e3c48f; border-color:#fff; }
.hhero__facts{ position:relative; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,253,249,.22); }
.hhero__facts li{ padding:1.25rem 1.4rem; border-right:1px solid rgba(255,253,249,.14); }
.hhero__facts li:first-child{ padding-left:var(--mx); } .hhero__facts li:last-child{ border-right:0; }
.hhero__facts b{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1; }
.hhero__facts span{ font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,253,249,.7); }

/* 2 · WHY, value pillars */
.hwhy__lead{ max-width:58ch; margin-top:1.4rem; color:var(--ink-soft); font-size:1.08rem; }
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(2.2rem,4.5vw,4.5rem); margin-top:clamp(2.6rem,5vh,3.6rem); }
.pillar{ }
.pillar::before{ content:""; display:block; width:38px; height:2px; background:var(--brass); margin-bottom:1.5rem; }
.pillar__n{ font-family:var(--serif); font-size:1.1rem; color:var(--ink-soft); }
.pillar h3{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.3vw,2rem); margin:.35rem 0 .7rem; }
.pillar p{ color:var(--ink-soft); font-size:.98rem; }
.hwhy__cta{ margin-top:clamp(2rem,4vh,3rem); }
@media(max-width:820px){ .pillars{ grid-template-columns:1fr; gap:0; } .pillar{ padding:1.9rem 0; border-top:1px solid var(--line); } .pillar:first-child{ border-top:0; } }

/* 3 · AMENITIES, feature tiles */
/* amenities one-at-a-time slider */
.amslider{ position:relative; overflow:hidden; margin:0 var(--mx); border-radius:3px; box-shadow:0 30px 66px -46px rgba(20,20,25,.5); }
.amslider__track{ display:flex; transition:transform .7s var(--ease); will-change:transform; }
.amslide{ position:relative; flex:0 0 100%; height:clamp(420px,60vh,660px); overflow:hidden; margin:0; }
.amslide img{ width:100%; height:100%; object-fit:cover; }
.amslide::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%, rgba(9,7,4,.86)); pointer-events:none; }
.amslide figcaption{ position:absolute; left:0; bottom:0; z-index:2; padding:clamp(1.6rem,3vw,3rem); color:#fff; }
.amslide figcaption b{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.6vw,2.3rem); }
.amslide figcaption span{ font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,253,249,.75); }
.amslider__nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%;
  background:rgba(20,16,11,.45); border:1px solid rgba(255,255,255,.28); color:#fff; font-size:1.2rem; line-height:1; cursor:pointer; z-index:3; transition:.25s; }
.amslider__nav:hover{ background:rgba(177,151,74,.32); border-color:#b1974a; }
.amslider__prev{ left:clamp(.8rem,2vw,1.6rem); } .amslider__next{ right:clamp(.8rem,2vw,1.6rem); }
.amslider__dots{ position:absolute; bottom:clamp(1rem,2.4vh,1.6rem); left:50%; transform:translateX(-50%); display:flex; gap:.5rem; z-index:3; }
.amslider__dots button{ width:8px; height:8px; border-radius:50%; border:0; background:rgba(255,255,255,.4); cursor:pointer; padding:0; transition:.3s var(--ease); }
.amslider__dots button.on{ background:#b1974a; width:22px; border-radius:4px; }
@media(max-width:600px){ .amslider__nav{ width:42px; height:42px; } }
.hamen__more{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; margin-top:clamp(2rem,4vh,3rem); padding-left:var(--mx); padding-right:var(--mx); }
.hamen__more p{ color:var(--ink-soft); font-size:.95rem; max-width:62ch; }
@media(max-width:820px){ .amgrid{ grid-template-columns:1fr; height:auto; } .amtile{ aspect-ratio:16/10; } }

/* 4 · LOCATION teaser, image + drive-times */
.locteaser{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.locteaser__img{ position:relative; overflow:hidden; min-width:0; width:100%; aspect-ratio:4/5; box-shadow:0 34px 70px -46px rgba(20,20,25,.45); }
.locteaser__img img{ width:100%; height:100%; object-fit:cover; }
.locteaser__map iframe{ width:100%; height:100%; border:0; display:block; }
.locteaser__map{ min-height:clamp(340px,48vh,560px); }
.locteaser__gmap{ position:absolute; inset:0; width:100%; height:100%; background:#efe7d6; }
.locteaser__map .locteaser__pin{ z-index:2; pointer-events:none; }
.locteaser__pin{ position:absolute; left:1.2rem; top:1.2rem; background:rgba(20,19,15,.72); color:#fff; font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; padding:.5rem .9rem; }
.locteaser__sub{ font-family:var(--serif); font-weight:500; font-size:clamp(1.35rem,2.3vw,1.9rem); line-height:1.15; color:var(--ink); margin-top:.6rem; }
.locteaser__p{ color:var(--ink-soft); margin:1.2rem 0 1.7rem; max-width:44ch; }
.drives{ list-style:none; border-top:1px solid var(--line); margin-bottom:1.7rem; }
.drives li{ display:flex; align-items:baseline; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.drives b{ font-family:var(--serif); font-weight:500; font-size:1.3rem; color:var(--ink); min-width:3.4ch; }
.drives b::after{ content:" min"; font-size:.52rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.drives span{ color:var(--ink-soft); font-size:.95rem; }
@media(max-width:820px){ .locteaser{ grid-template-columns:1fr; gap:2rem; } .locteaser__img{ aspect-ratio:16/10; } }

/* 6 · PARTNERS, framed logo placeholder boxes */
.hpartners{ text-align:center; }
.hpartners__lbl{ font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:clamp(2.2rem,4vh,3rem); }
.plogos{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.4rem,3vw,2.6rem); max-width:960px; margin:0 auto; }
.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){ .plogos{ grid-template-columns:1fr; } }

/* 8 · CATALOG, cover placeholder box + copy */
.catalog--home{ 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--home .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; } }

/* hero fact rail, 2x2 on phones */
@media(max-width:560px){
  .hhero__facts{ grid-template-columns:1fr 1fr; }
  .hhero__facts li:nth-child(2){ border-right:0; }
  .hhero__facts li:nth-child(3){ padding-left:var(--mx); border-top:1px solid rgba(255,253,249,.14); }
  .hhero__facts li:nth-child(4){ border-top:1px solid rgba(255,253,249,.14); }
}

/* About, founders pull quote (company) */
.hquote{ margin-top:clamp(3rem,7vh,5rem); max-width:920px; border-top:1px solid var(--line); padding-top:clamp(2rem,4vh,3rem); }
.hquote blockquote{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.3; color:var(--ink); letter-spacing:-.01em; }
.hquote figcaption{ margin-top:1.4rem; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); }
.hquote figcaption span{ display:block; margin-top:.3rem; letter-spacing:.14em; color:var(--ink-soft); }

/* Flagship spotlight, CTA row on the dark amenities band */
.flag__more{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem 2.5rem; padding:clamp(2.2rem,5vh,3.4rem) var(--mx) 0; }
.flag__more p{ color:rgba(245,241,233,.66); font-size:.95rem; max-width:60ch; }

/* hero scroll cue (full-screen hero, CRO: signal there's more below) */
.hhero__cue{ position:absolute; right:var(--mx); bottom:calc(clamp(70px,9vh,96px) + 18px); width:23px; height:38px; border:1px solid rgba(255,253,249,.5); border-radius:13px; z-index:2; }
.hhero__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; }
@media(max-width:560px){ .hhero__cue{ display:none; } }

/* strict-sitemap Home, intro & key stats + hero cue (no fact rail on this hero) */
.hhero__cue{ bottom:2.2rem; }
.hintro__lead{ max-width:60ch; margin-top:.4rem; color:var(--ink-soft); font-size:1.1rem; }
.hintro__cta{ margin-top:2rem; display:inline-block; }
/* intro + right-side offset collage */
.hintro__grid{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hintro__t{ min-width:0; }
.hintro__t .display{ margin-bottom:.4rem; }
.hintro__collage{ min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:clamp(.8rem,1.6vw,1.3rem); align-items:start; }
.hintro__collage--left{ margin-top:clamp(2.6rem,5.5vh,4.2rem); }
.hintro__col{ min-width:0; display:flex; flex-direction:column; gap:clamp(.8rem,1.6vw,1.3rem); }
.hintro__col--offset{ margin-top:clamp(2.2rem,7vw,4.5rem); }
.hintro__c{ overflow:hidden; box-shadow:0 26px 54px -34px rgba(20,20,25,.42); }
.hintro__c img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s var(--ease); }
.hintro__c:hover img{ transform:scale(1.04); }
.hintro__c--tall{ aspect-ratio:3/4.4; }
.hintro__c--sq{ aspect-ratio:4/5; }
.hintro__c--wide{ grid-column:1 / -1; aspect-ratio:16/10; }
@media(max-width:820px){
  .hintro__grid{ grid-template-columns:1fr; gap:2.4rem; }
  .hintro__col--offset{ margin-top:0; }
  .hintro__c--tall{ aspect-ratio:4/5; }
}
/* ================= 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; }
}


/* 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{ font-size:.62rem; letter-spacing:.13em; } }
@media(max-width:360px){ .hd__cat{ display:none; } }
/* hero credential line + site-wide footer CTA */
.hhero__cred{font-family:var(--sans);text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;color:var(--brass,#b1974a);margin-top:1rem}
.footcta{position:relative;padding:clamp(4.5rem,13vh,8rem) var(--mx,7vw);text-align:center;overflow:hidden;color:#fffdf9}
.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:#fffdf9;border-color:rgba(255,253,249,.6)}
.btn--ghost:hover{background:#fffdf9;color:var(--ink,#2b1f15)}

/* ── 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.6rem 0 .2rem;border-top:1px solid var(--line);margin-top:1.6rem}
.pf-social a{color:var(--ink-soft);display:inline-flex;transition:color .3s}
.pf-social a:hover{color:var(--brass)}

/* gallery slider arrows (modern) */
.gstrip__nav{display:flex;gap:10px;justify-content:flex-end;margin-top:1.5rem}
.gnav{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.05rem;line-height:1;cursor:pointer;transition:.3s var(--ease);display:inline-flex;align-items:center;justify-content:center}
.gnav:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-2px)}
.gnav:disabled{opacity:.3;cursor:default;pointer-events:none}

/* 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 (white over hero, dark when solid) */
.hd__logo{ height:24px; width:auto; display:block; filter:brightness(0) invert(1); transition:filter .5s var(--ease); }
.hd.solid .hd__logo{ filter:brightness(0); }
@media(max-width:600px){ .hd__logo{ height:20px; } }

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

/* HQ address list (no drive-time numbers) */
.drives--addr li b{ display:none; }
.drives--addr li{ padding-left:0; }
.drives--addr a{ color:var(--ink); text-decoration:underline; text-decoration-color:rgba(177,151,74,.55); text-underline-offset:3px; transition:color .25s,text-decoration-color .25s; }
.drives--addr a:hover{ color:var(--brass); text-decoration-color:var(--brass); }
/* expandable Karachi office row */
.drives__acc{ display:block; padding:0; }
.drives__acc{ position:relative; }
.drives__acc::before{ content:""; position:absolute; left:0; top:.85rem; bottom:0; width:2px; background:var(--brass,#b1974a); opacity:.55; }
.drives__acc details summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0 .85rem 1rem; color:var(--ink-soft); font-size:.95rem; }
.drives__lbl{ display:inline-flex; align-items:center; gap:.6rem; }
.drives__tag{ font-style:normal; font-size:.55rem; letter-spacing:.16em; text-transform:uppercase; color:var(--brass,#b1974a); border:1px solid rgba(177,151,74,.5); border-radius:2px; padding:.18em .5em; line-height:1; }
.drives__acc .drives__body{ padding-left:1rem; }
.drives__acc details summary::-webkit-details-marker{ display:none; }
.drives__chev{ width:.5rem; height:.5rem; border-right:1.5px solid var(--brass,#b1974a); border-bottom:1.5px solid var(--brass,#b1974a); transform:rotate(45deg); transition:transform .25s ease; flex:none; }
.drives__acc details[open] .drives__chev{ transform:rotate(-135deg); }
.drives__body{ color:var(--ink-soft); font-size:.9rem; line-height:1.6; padding:0 0 .95rem; }

/* footer + catalog brand logos */
.pf-foot__brand{ text-align:center; }
.ft__logo{ height:34px; width:auto; display:block; margin:0 auto; filter:brightness(0) invert(1); }
.ft__blurb{ margin:1.5rem auto 0; max-width:34ch; font-size:.88rem; line-height:1.7; color:rgba(245,241,233,.58); }
.pf-foot__cols .ft__cloc{ display:block; font-size:.9rem; color:rgba(245,241,233,.5); padding:.5rem 0 .3rem; }
.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}
