:root{--bg:#171512;
  --bg-deep:#100f0d;
  --panel:#211d19;
  --panel-warm:#29221d;
  --cream:#f4eadb;
  --text:#e9dccb;
  --muted:#b1a497;
  --gold:#caa174;
  --gold-light:#e1bd91;
  --wine:#6d1730;
  --wine-hover:#85203d;
  --line:rgba(211,177,139,.22);
  --serif:Georgia,'Times New Roman',serif;
  --section-space:clamp(80px,7.2vw,112px);
  --heading-size:clamp(44px,4.1vw,60px);
  --sans:'Segoe UI',Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
  scroll-padding-top:0}
body{margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
img{display:block;
  max-width:100%}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;
  text-decoration:none}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold-light);
  outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
.container{width:min(1180px,calc(100% - 72px));
  margin-inline:auto}
.container-wide{width:min(1340px,calc(100% - 70px));
  margin-inline:auto}
.skip-link{position:absolute;
  top:-80px;
  left:20px;
  z-index:100;
  background:var(--cream);
  color:var(--bg);
  padding:10px 16px}
.skip-link:focus{top:12px}
.eyebrow{color:var(--gold);
  font-size:13px;
  font-weight:700;
  letter-spacing:.28em;
  line-height:1.4;
  text-transform:uppercase}
.section{padding:var(--section-space) 0}
.section h2,.amenities-intro h2,.panorama h2{font:normal var(--heading-size)/1.08 var(--serif);
  letter-spacing:-.025em;
  color:var(--cream)}
h1 em,h2 em{font-weight:normal}
.section-copy>.eyebrow,.section-heading>.eyebrow,.amenities-intro .eyebrow,.floorplans-heading .eyebrow{margin-bottom:20px}
.section-copy>p:not(.eyebrow){max-width:400px;
  margin-top:24px;
  color:var(--muted);
  line-height:1.7;
  font-size:17px}
.button{display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:48px;
  padding:12px 23px;
  border:1px solid var(--wine);
  border-radius:2px;
  background:var(--wine);
  color:#fff;
  font-size:15px;
  font-weight:650;
  letter-spacing:.035em;
  line-height:1.25;
  text-align:center;
  transition:background .2s,border-color .2s,transform .2s}
.button:hover{background:var(--wine-hover);
  border-color:var(--wine-hover);
  transform:translateY(-2px)}
.button span{font-size:17px;
  line-height:.7}
.button-small{min-height:42px;
  padding:9px 17px;
  font-size:14px}
.button-outline{background:transparent;
  border-color:var(--wine);
  color:var(--cream)}
.button-outline:hover{background:var(--wine)}
.text-link{display:inline-flex;
  align-items:center;
  gap:24px;
  color:var(--cream);
  font-size:15px;
  font-weight:650;
  border-bottom:1px solid var(--gold);
  padding-bottom:7px;
  transition:color .2s}
.text-link:hover{color:var(--gold-light)}
.text-link span{font-size:18px}
.split{display:grid;
  grid-template-columns:.83fr 1.17fr;
  gap:7%;
  align-items:center}

/* Header and hero */
.site-header{position:relative;
  z-index:20;
  width:100%;
  height:90px;
  border-bottom:1px solid rgba(218,169,113,.2);
  background:linear-gradient(105deg,#75142f 0%,#4a1025 52%,#280918 100%)}
.header-inner{height:100%;
  display:flex;
  align-items:center;
  gap:24px}
.brand{display:inline-flex;
  flex-direction:column;
  align-items:center;
  line-height:1;
  color:var(--cream);
  min-width:73px}
.header-brand{min-width:136px;
  flex:0 0 136px}
.header-logo{display:block;
  width:136px;
  height:auto;
  max-height:80px;
  object-fit:contain}
.brand-name{font:normal 37px/.75 var(--serif);
  letter-spacing:.07em}
.brand-caption{margin-top:8px;
  font-size:7px;
  letter-spacing:.34em;
  font-weight:700}
.site-nav{display:flex;
  align-items:center;
  gap:23px;
  margin-left:auto}
.site-nav a{color:#eee7df;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  transition:color .2s}
.site-nav a:hover{color:var(--gold-light)}
.header-cta{margin-left:8px;
  white-space:nowrap;
  border-color:var(--gold);
  background:transparent}
.header-cta:hover{border-color:var(--gold-light);
  background:rgba(255,255,255,.09)}
.menu-toggle{display:none}
.hero{position:relative;
  min-height:680px;
  height:max(680px,56.28vw);
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  background:#201a17}
.hero-image,.hero-shade{position:absolute;
  inset:0;
  width:100%;
  height:100%}
.hero-image{object-fit:cover;
  object-position:center 15%}
.hero-shade{background:linear-gradient(90deg,rgba(9,9,10,.78) 0%,rgba(10,10,12,.49) 39%,rgba(10,10,12,.08) 72%),linear-gradient(0deg,rgba(13,11,10,.48),transparent 30%)}
.hero-content{z-index:1;
  position:relative;
  padding-top:clamp(112px,7.5vw,145px)}
.hero-eyebrow{margin-bottom:26px;
  color:#f1d6b4}
.hero h1{max-width:640px;
  color:#fff6e9;
  font:normal clamp(64px,7vw,96px)/1.01 var(--serif);
  letter-spacing:-.035em;
  text-wrap:balance}
.hero h1 em{font-style:italic}
.hero-description{max-width:390px;
  margin-top:25px;
  color:#e8d9c6;
  font-size:18px;
  line-height:1.65}
.button-row{display:flex;
  align-items:center;
  gap:28px;
  margin-top:29px}
.hero-secondary{border-color:var(--gold);
  background:rgba(23,18,16,.36);
  color:var(--cream)}
.hero-secondary:hover{border-color:var(--gold-light);
  background:rgba(23,18,16,.7)}
.facts-bar{background:#161310;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.facts-grid{display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:25px 0}
.fact{display:flex;
  align-items:center;
  gap:16px;
  min-height:54px;
  padding:0 24px;
  border-right:1px solid var(--line)}
.fact:first-child{padding-left:0}
.fact:last-child{border-right:0;
  padding-right:0}
.fact i{color:var(--gold);
  font-size:28px;
  line-height:1}
.fact span,.fact strong{display:block}
.fact span{margin-bottom:4px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em}
.fact strong{color:var(--cream);
  font-size:16px;
  font-weight:600;
  line-height:1.35}

/* Progress and value */
.progress-section{background:radial-gradient(circle at 75% 20%,#30251e 0,#1b1714 44%,#171512 78%)}
.progress-layout{grid-template-columns:.78fr 1.22fr}
.progress-section .section-copy{padding:15px 0}
.progress-section .button{margin-top:27px}
.progress-media{position:relative;
  display:block;
  width:100%;
  height:400px;
  padding:0;
  border:1px solid var(--line);
  background:#342820;
  overflow:hidden;
  text-align:left}
.progress-media img{width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s}
.progress-media:hover img{transform:scale(1.035)}
.progress-media:after{content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 45%);
  pointer-events:none}
.play-badge{position:absolute;
  z-index:1;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  background:rgba(109,23,48,.92);
  color:white;
  font-size:30px;
  transition:background .2s,scale .2s}
.progress-media:hover .play-badge{background:var(--wine-hover);
  scale:1.08}
.media-caption{position:absolute;
  z-index:1;
  left:22px;
  bottom:20px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em}
.media-caption span{font-weight:400}
.features-section{padding-block:var(--section-space);
  background:#171512}
.section-heading.center{text-align:center}
.features-section h2{font-size:var(--heading-size)}
.feature-grid{display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:48px}
.feature{min-height:150px;
  padding:0 24px;
  border-left:1px solid var(--line)}
.feature:last-child{border-right:1px solid var(--line)}
.feature i{display:block;
  margin-bottom:23px;
  color:#b9765f;
  font-size:28px;
  line-height:1}
.feature h3,.amenity h3{color:var(--cream);
  font:normal 22px/1.18 var(--serif)}
.feature p,.amenity p{margin-top:11px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55}

/* Amenities */
.amenities-section{padding-top:var(--section-space);
  background:#211b17}
.amenities-intro{display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  padding-bottom:36px}
.amenities-intro h2{font-size:var(--heading-size)}
.amenities-intro>p{padding-bottom:5px;
  color:var(--muted);
  font-size:17px}
.amenities-image{width:min(1180px,calc(100% - 72px));
  margin-inline:auto;
  height:clamp(320px,28vw,420px);
  min-height:320px;
  overflow:hidden}
.amenities-image img{width:100%;
  height:100%;
  object-fit:cover;
  object-position:center}
.amenities-bottom{display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:36px;
  padding-bottom:var(--section-space)}
.amenity-grid{display:grid;
  grid-template-columns:repeat(4,1fr);
  width:100%;
  margin-bottom:32px}
.amenity{padding:6px 25px 8px;
  border-right:1px solid var(--line)}
.amenity:first-child{padding-left:0}
.amenity:last-child{border-right:0;
  padding-right:0}
.amenity i{display:block;
  margin-bottom:16px;
  color:var(--gold);
  font-size:26px}
.amenity-icon{display:block;
  width:26px;
  height:26px;
  margin-bottom:16px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round}
.amenity h3{font-size:21px}
.amenity p{line-height:1.6}

/* Floor plans */
.floorplans-section{background:#171411;
  border-top:1px solid var(--line)}
.floorplans-heading{display:flex;
  align-items:end;
  justify-content:space-between;
  gap:35px;
  margin-bottom:36px}
.floorplans-heading h2{font-size:var(--heading-size)}
.plan-tabs{display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
  max-width:550px}
.plan-tabs button{min-width:66px;
  min-height:44px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:2px;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  font-weight:650;
  transition:background .2s,color .2s,border-color .2s}
.plan-tabs button:hover,.plan-tabs button.is-active{background:var(--wine);
  color:#fff;
  border-color:var(--wine)}
.plan-card{display:grid;
  grid-template-columns:.42fr .58fr;
  align-items:stretch;
  background:#251e19;
  border:1px solid var(--line)}
.plan-copy{padding:40px 46px}
.plan-kicker{margin-bottom:11px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.2em}
.plan-copy h3{color:var(--cream);
  font:normal 52px/.95 var(--serif)}
.plan-area{margin-top:10px;
  color:var(--gold-light);
  font-size:16px;
  letter-spacing:.08em}
.plan-specs{display:flex;
  gap:24px;
  margin-top:26px;
  padding:20px 0 0;
  border-top:1px solid var(--line)}
.plan-specs span{display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--cream);
  font-size:16px}
.plan-specs svg{flex:none;
  width:20px;
  height:20px;
  fill:none;
  stroke:var(--gold);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round}
.plan-specs b{font-weight:400}
.plan-copy .button{margin-top:16px;
  gap:10px;
  padding-inline:16px}
.plan-visual{display:flex;
  align-items:center;
  min-width:0;
  overflow:hidden;
  background:#f6f6f6}
.plan-visual img{display:block;
  width:100%;
  height:auto;
  filter:contrast(1.05)}

/* Gallery and location */
.gallery-section{background:#1e1915}
.gallery-heading{margin-bottom:36px}
.gallery-heading .eyebrow{margin-bottom:20px}
.gallery-grid{display:grid;
  grid-template-columns:1fr .5fr .5fr;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  height:clamp(390px,34vw,490px)}
.gallery-card{position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#3b2d23}
.gallery-mobile-extra{display:none}
.gallery-main{grid-column:1;
  grid-row:1/3}
.gallery-wide{grid-column:2/4}
.gallery-card img{position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .8s ease,transform .6s ease}
.gallery-card .gallery-alternate{opacity:0}
.gallery-grid.is-alternate .gallery-primary{opacity:0}
.gallery-grid.is-alternate .gallery-alternate{opacity:1}
.gallery-card:hover img{transform:scale(1.025)}
.gallery-card:after{content:'';
  position:absolute;
  inset:30% 0 0;
  background:linear-gradient(0deg,rgba(0,0,0,.73),transparent);
  pointer-events:none}
.gallery-card figcaption{position:absolute;
  z-index:1;
  left:18px;
  bottom:15px;
  color:#fff;
  font:normal 20px/1.15 var(--serif);
  text-shadow:0 1px 5px rgba(0,0,0,.7)}
.artist-badge{position:absolute;
  z-index:1;
  top:13px;
  right:13px;
  padding:5px 9px;
  border:1px solid rgba(222,196,155,.42);
  border-radius:3px;
  background:rgba(20,24,22,.8);
  color:#f6e8d6;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap}
.gallery-footer{margin-top:26px}
.location-section{background:#171512;
  border-top:1px solid var(--line)}
.location-layout{grid-template-columns:.77fr 1.23fr;
  gap:7%}
.location-list{display:grid;
  gap:14px;
  margin-top:30px}
.location-list>div{display:flex;
  align-items:center;
  gap:14px}
.location-list i{display:grid;
  place-items:center;
  flex:0 0 39px;
  width:39px;
  height:39px;
  border:1px solid var(--gold);
  border-radius:50%;
  color:var(--gold);
  font-size:18px}
.location-list strong,.location-list span{display:block}
.location-list strong{color:var(--gold-light);
  font-size:14px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase}
.location-list span{margin-top:2px;
  color:var(--muted);
  font-size:15px;
  line-height:1.45}
.location-section .button{margin-top:30px}
.map-frame img{width:100%;
  height:auto}

/* Closing view */
.panorama{position:relative;
  min-height:480px;
  display:grid;
  place-items:start center;
  overflow:hidden;
  background:#b3b1a1;
  text-align:center}
.panorama>img,.panorama-shade{position:absolute;
  inset:0;
  width:100%;
  height:100%}
.panorama>img{object-fit:cover;
  object-position:center 55%}
.panorama-shade{background:linear-gradient(180deg,rgba(236,219,190,.88),rgba(236,219,190,.2) 52%,rgba(10,16,21,.24))}
.panorama-content{position:relative;
  z-index:1;
  max-width:680px;
  padding:50px 30px}
.panorama .eyebrow{color:var(--wine)}
.panorama h2{margin-top:10px;
  color:#3c2220;
  font-size:var(--heading-size)}
.panorama-content>p:not(.eyebrow){margin-top:12px;
  color:#4b3b35;
  font-size:17px}
.panorama .button{margin-top:25px}

/* Footer and dialog */
.site-footer{background:#281519;
  border-top:1px solid #512c35}
.footer-top{display:grid;
  grid-template-columns:1.2fr .75fr .75fr 1.25fr;
  gap:50px;
  padding:60px 0 48px}
.footer-brand{align-self:start}
.footer-brand .brand{align-items:flex-start}
.footer-logo{display:block;
  width:155px;
  max-width:100%;
  height:auto}
.footer-brand p{margin-top:19px;
  color:#c8b2aa;
  font-size:15px}
.footer-links,.footer-disclaimer{display:flex;
  flex-direction:column;
  gap:8px}
.footer-links strong,.footer-disclaimer strong{margin-bottom:8px;
  color:var(--gold);
  font-size:13px;
  letter-spacing:.16em}
.footer-links a,.footer-disclaimer p{color:#c8b2aa;
  font-size:15px;
  line-height:1.5}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;
  justify-content:space-between;
  padding:17px 0;
  border-top:1px solid #59313a;
  color:#b69e97;
  font-size:13px}
.footer-bottom a:hover{color:#fff}
.progress-dialog{position:fixed;
  inset:0;
  width:min(760px,calc(100% - 30px));
  max-height:min(92vh,800px);
  margin:auto;
  padding:0;
  border:1px solid var(--gold);
  background:#211b17;
  color:var(--text);
  box-shadow:0 20px 90px #000a}
.progress-dialog::backdrop{background:rgba(0,0,0,.82)}
.progress-dialog>img{width:100%;
  max-height:360px;
  object-fit:cover}
.progress-dialog>div{padding:28px 34px 35px}
.progress-dialog h2{margin-top:9px;
  color:var(--cream);
  font:normal 34px/1.1 var(--serif)}
.progress-dialog p:not(.eyebrow){max-width:580px;
  margin-top:14px;
  color:var(--muted);
  font-size:14px}
.progress-dialog .button{margin-top:22px}
.dialog-close{position:absolute;
  right:12px;
  top:12px;
  z-index:1;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  background:var(--wine);
  color:#fff;
  font-size:28px;
  line-height:1}

@media(max-width:1050px){.site-nav{gap:13px}
.site-nav a{font-size:15px}
.header-inner{gap:18px}
.fact{padding-inline:14px}
.fact i{font-size:22px}
.fact strong{font-size:15px}
.location-layout{gap:4%}
.plan-tabs{max-width:470px}
.plan-tabs button{min-width:59px}
.floorplans-heading{align-items:start;
  flex-direction:column}
.plan-tabs{justify-content:flex-start;
  max-width:none}
.plan-card{grid-template-columns:1fr}
.plan-copy{padding:32px}
}

@media(max-width:860px){.container,.container-wide{width:min(100% - 40px,680px)}
.site-header{height:76px}
.header-inner{justify-content:space-between}
.header-brand{min-width:118px;
  flex-basis:118px}
.header-logo{width:118px;
  max-height:68px}
.header-cta{margin-left:auto}
.menu-toggle{display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  order:3;
  padding:7px;
  border:1px solid var(--line);
  background:#231b18}
.menu-toggle span{height:1px;
  width:100%;
  background:var(--cream)}
.site-nav{position:absolute;
  top:76px;
  left:0;
  right:0;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  margin:0;
  padding:10px 20px 18px;
  background:#1b1614;
  border-bottom:1px solid var(--line)}
.site-nav.is-open{display:flex}
.site-nav a{padding:13px 2px;
  font-size:16px}
.hero{height:624px;
  min-height:524px;
  align-items:center}
.hero-image{object-position:58% center}
.hero-shade{background:linear-gradient(90deg,rgba(8,8,10,.79),rgba(8,8,10,.2)),linear-gradient(0deg,rgba(8,8,10,.6),transparent 45%)}
.hero h1{font-size:clamp(62px,10vw,95px)}
.hero-content{padding-top:0}
.facts-grid{grid-template-columns:repeat(2,1fr);
  gap:0;
  padding:0}
.fact{padding:19px 10px!important;
  border-bottom:1px solid var(--line)}
.fact:nth-child(2){border-right:0}
.fact:nth-child(n+3){border-bottom:0}
:root{--section-space:76px;--heading-size:clamp(42px,6vw,54px)}
.split,.progress-layout,.location-layout{grid-template-columns:1fr;
  gap:36px}
.progress-media{height:360px}
.feature-grid,.amenity-grid{grid-template-columns:repeat(2,1fr);
  row-gap:30px}
.feature:nth-child(odd){border-left:0;
  padding-left:0}
.feature:nth-child(even){padding-right:0;
  border-right:0}
.amenity:nth-child(2){border-right:0}
.amenity:nth-child(3){padding-left:0}
.amenities-intro{align-items:start;
  flex-direction:column;
  gap:14px}
.amenities-image{height:360px}
.gallery-grid{height:430px}
.location-layout{gap:40px}
.footer-top{grid-template-columns:repeat(2,1fr);
  gap:35px}
}

@media(max-width:540px){:root{--section-space:64px;--heading-size:clamp(36px,9.5vw,43px)}
html{scroll-padding-top:0}
.container,.container-wide{width:calc(100% - 34px)}
.header-cta{display:none}
.hero{height:574px;
  min-height:500px}
.hero-image{object-position:61% center}
.hero-content{padding-top:0}
.hero h1{font-size:clamp(57px,14vw,77px)}
.hero-eyebrow{font-size:12px}
.hero-description{max-width:290px;
  font-size:16px}
.button-row{align-items:flex-start;
  flex-direction:column;
  gap:17px}
.facts-grid{grid-template-columns:1fr}
.fact{gap:16px;
  min-height:72px;
  padding:15px 10px!important;
  border-right:0;
  border-bottom:1px solid var(--line)!important}
.fact:last-child{border-bottom:0!important}
.fact i{font-size:24px}
.fact span{font-size:12px;
  letter-spacing:.08em}
.fact strong{font-size:16px;
  line-height:1.35}
.section h2,.amenities-intro h2{font-size:var(--heading-size)}
.progress-media{height:245px}
.play-badge{width:54px;
  height:54px;
  font-size:25px}
.features-section h2{font-size:var(--heading-size)}
.feature-grid{grid-template-columns:1fr;
  margin-top:32px;
  row-gap:0}
.feature{display:grid;
  grid-template-columns:38px minmax(0,1fr);
  column-gap:14px;
  min-height:0;
  padding:18px 0!important;
  border-left:0;
  border-bottom:1px solid var(--line)}
.feature:last-child{border-bottom:0;
  border-right:0}
.feature i{grid-row:1/3;
  align-self:start;
  margin:0;
  font-size:26px}
.feature h3,.amenity h3{font-size:20px}
.feature p,.amenity p{grid-column:2;
  margin-top:5px;
  font-size:16px;
  line-height:1.5}
.amenities-section{padding-top:var(--section-space)}
.amenities-image{min-height:0;
  height:290px}
.amenities-bottom{padding-bottom:var(--section-space)}
.amenity-grid{grid-template-columns:1fr;
  row-gap:0}
.amenity{display:grid;
  grid-template-columns:38px minmax(0,1fr);
  column-gap:14px;
  padding:18px 0!important;
  border-right:0;
  border-bottom:1px solid var(--line)}
.amenity:last-child{border-bottom:0}
.amenity i{grid-row:1/3;
  align-self:start;
  margin:0}
.amenity-icon{grid-row:1/3;
  align-self:start;
  margin:0}
.floorplans-heading h2{font-size:var(--heading-size)}
.plan-tabs{gap:4px}
.plan-tabs button{min-width:57px;
  min-height:44px;
  font-size:14px}
.plan-copy{padding:27px 23px}
.plan-copy h3{font-size:46px}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  height:auto;
  gap:8px}
.gallery-card,.gallery-main,.gallery-wide{grid-column:auto;
  grid-row:auto;
  aspect-ratio:4/3;
  order:var(--gallery-order,0)}
.gallery-mobile-extra{display:block}
.gallery-card[data-page="25"]{grid-column:1/-1;
  aspect-ratio:16/9}
.gallery-card figcaption{left:9px;
  bottom:8px;
  font-size:16px}
.artist-badge{top:8px;
  right:8px;
  padding:4px 6px;
  font-size:10px}
.panorama{min-height:430px}
.panorama-content{padding-top:40px}
.panorama h2{font-size:var(--heading-size)}
.footer-top{grid-template-columns:1fr 1fr;
  gap:33px 20px}
.footer-brand,.footer-disclaimer{grid-column:1/-1}
.footer-top{padding-top:50px}
.progress-dialog>div{padding:23px}
}

@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}
.gallery-card,.gallery-main,.gallery-wide,.gallery-card[data-page="25"]{grid-column:1;
  aspect-ratio:16/10}
.gallery-card figcaption,.gallery-card:not(.gallery-main):not(.gallery-wide) figcaption{font-size:18px}
}

@media(max-width:360px){.plan-copy .button{gap:6px;
  padding-inline:14px;
  font-size:14px;
  letter-spacing:0;
  white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition-duration:.01ms!important;
  animation-duration:.01ms!important}
}

.gallery-section h2{font-size:var(--heading-size)}

.panorama-strip{background:#e9dccc;
  color:#6f493f;
  border-top:1px solid #d2bdab}
.panorama-strip-grid{display:grid;
  grid-template-columns:repeat(6,1fr);
  min-height:105px;
  align-items:center}
.panorama-strip-grid>div{display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:61px;
  border-right:1px solid #cfb9a8;
  text-align:center}
.panorama-strip-grid>div:last-child{border-right:0}
.panorama-strip-grid i{color:var(--wine);
  font-size:22px;
  line-height:1}
.panorama-strip-grid span{font-size:12px;
  font-weight:700;
  letter-spacing:.1em}

@media(max-width:860px){.panorama-strip-grid{grid-template-columns:repeat(3,1fr);
  padding:15px 0}
.panorama-strip-grid>div{padding:11px 4px}
.panorama-strip-grid>div:nth-child(3){border-right:0}
}

@media(max-width:540px){.panorama-strip-grid{grid-template-columns:repeat(2,1fr)}
.panorama-strip-grid>div:nth-child(3){border-right:1px solid #cfb9a8}
.panorama-strip-grid>div:nth-child(even){border-right:0}
}


/* REN refinement — 18 October 2026. Shared rhythm across project sections. */
::selection{background:var(--gold-light);color:var(--bg-deep)}
html{scrollbar-color:#80624d var(--bg-deep)}
h1,h2{text-wrap:balance}
.section-copy>p:not(.eyebrow){max-width:42ch}
.button{min-height:50px}
.button-small{min-height:44px}
.button-outline{border-color:#927352}
.feature i{color:var(--gold)}
.feature h3,.amenity h3{line-height:1.3}
.feature p,.amenity p{max-width:28ch}
.plan-tabs{gap:8px}
.plan-tabs button{border-color:#80634b;color:var(--text)}
.plan-visual{justify-content:center;min-height:360px}
.plan-visual img{max-height:430px;width:100%;object-fit:contain}
.plan-copy{display:flex;flex-direction:column;justify-content:center;padding:40px}
.plan-copy .button{align-self:flex-start;margin-top:28px}
.map-frame{padding:16px;background:#f4eadb}
.map-frame img{max-height:500px;object-fit:contain}
.gallery-card figcaption{left:20px;bottom:20px}
.gallery-card:after{background:linear-gradient(0deg,rgba(0,0,0,.8),transparent)}
.panorama-content{padding-top:64px}
@media(min-width:861px){
  .progress-section,.features-section{min-height:620px;display:flex;align-items:center}
  .progress-section .section-copy{padding:0}
  .feature{padding-inline:28px;min-height:164px}
  .feature:first-child{padding-left:0;border-left:0}
  .feature:last-child{padding-right:0;border-right:0}
  .amenities-intro{align-items:center}
  .amenities-intro h2{font-size:var(--heading-size)}
  .amenities-intro>p{max-width:240px}
  .floorplans-heading{align-items:flex-start;flex-direction:column;gap:28px}
  .plan-card{grid-template-columns:.38fr .62fr}
  .gallery-footer{margin-top:28px}
  .site-footer .footer-top{padding:64px 0 56px}
  .footer-bottom{padding:24px 0}
}
@media(min-width:861px) and (max-width:1050px){
  .header-brand{min-width:110px;flex-basis:110px}
  .header-logo{width:110px}
  .header-inner{gap:14px}
  .site-nav{gap:12px}
  .site-nav a{font-size:14px}
  .header-cta{font-size:12px;padding-inline:12px;gap:12px;margin-left:0}
  .plan-copy{padding:28px}
  .feature{padding-inline:18px}
}
@media(max-width:860px){
  .amenities-image{width:min(100% - 40px,680px);height:340px}
  .amenities-intro{padding-bottom:32px}
  .floorplans-heading,.gallery-heading{margin-bottom:32px}
  .plan-copy{padding:32px}
  .plan-visual{min-height:0}
  .plan-visual img{max-height:480px}
  .feature-grid{margin-top:40px}
}
@media(max-width:540px){
  .container,.container-wide{width:calc(100% - 44px)}
  .hero{height:600px;min-height:600px}
  .hero h1{font-size:clamp(48px,13vw,66px);line-height:1.02}
  .hero-eyebrow{letter-spacing:.2em;margin-bottom:22px}
  .hero-description{margin-top:22px;max-width:30ch}
  .button-row{gap:14px;margin-top:28px}
  .hero .button{gap:20px;font-size:14px;padding-inline:18px}
  .section-copy>.eyebrow,.section-heading>.eyebrow,.amenities-intro .eyebrow,.floorplans-heading .eyebrow,.gallery-heading .eyebrow{margin-bottom:16px}
  .section-copy>p:not(.eyebrow){font-size:16px;margin-top:20px;line-height:1.7}
  .eyebrow{font-size:11px;letter-spacing:.2em}
  .progress-layout,.location-layout{gap:32px}
  .progress-media{height:auto;aspect-ratio:3/2}
  .feature-grid{margin-top:32px}
  .feature,.amenity{padding-block:22px!important}
  .amenities-intro{gap:18px;padding-bottom:32px}
  .amenities-intro>p{font-size:16px}
  .amenities-image{width:calc(100% - 44px);height:auto;aspect-ratio:4/3}
  .amenities-bottom{padding-top:18px}
  .amenity-grid{margin-bottom:28px}
  .floorplans-heading{gap:24px}
  .plan-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
  .plan-tabs button{min-width:0;min-height:46px}
  .plan-copy{padding:28px 24px}
  .plan-copy h3{font-size:42px}
  .plan-area{font-size:14px;letter-spacing:.04em}
  .plan-specs{gap:22px}
  .plan-visual img{max-height:420px}
  .gallery-grid{gap:16px}
  .gallery-card figcaption{left:16px;bottom:16px;font-size:18px}
  .map-frame{padding:10px}
  .panorama{min-height:420px}
  .panorama-content{padding:48px 22px}
  .footer-top{padding:48px 0;gap:32px 24px}
}

/* Desktop compositions share a viewport-aware canvas, with room for browser chrome. */
@media(min-width:1100px){
  :root{--section-space:clamp(48px,6svh,72px);--section-canvas:clamp(620px,90svh,880px);--heading-size:clamp(44px,5.8svh,58px)}
  .hero{height:calc(100svh - 90px);min-height:640px}
  .hero-content{padding-top:clamp(88px,12svh,132px)}
  .section{min-height:var(--section-canvas);display:flex;align-items:center}
  .section>.container{width:min(1180px,calc(100% - 72px))}
  .progress-media{height:clamp(320px,49svh,440px)}
  .features-section>.container{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8%}
  .features-section .section-heading.center{text-align:left}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px;margin-top:0}
  .feature,.feature:first-child,.feature:last-child{padding:0 0 24px;min-height:150px;border:0;border-bottom:1px solid var(--line)}
  .feature i{margin-bottom:18px}
  .feature h3{font-size:24px}
  .feature p{max-width:24ch}
  .floorplans-heading{flex-direction:row;align-items:flex-end;gap:32px;margin-bottom:28px}
  .plan-tabs{flex-wrap:nowrap;gap:6px}
  .plan-tabs button{min-width:62px;padding-inline:10px;font-size:13px}
  .plan-visual{height:clamp(320px,46svh,410px);min-height:0}
  .plan-visual img{height:100%;max-height:100%;object-fit:contain}
  .plan-copy{padding:32px 36px}
  .gallery-section>.container{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:28px;align-items:end}
  .gallery-heading{margin:0}
  .gallery-grid{grid-column:1/-1;grid-row:2;height:clamp(350px,46svh,470px)}
  .gallery-footer{grid-column:2;grid-row:1;margin:0}
  .location-list{gap:14px;margin-top:24px}
  .location-section .button{margin-top:24px}
  .map-frame img{max-height:460px}
}

/* Facilities: curved, edge-to-edge pool composition. LOCAL PREVIEW ONLY. */
.amenities-section{display:block;min-height:0;padding:0;background:var(--panel);overflow:hidden}
.amenities-intro{width:min(1180px,calc(100% - 72px));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 0 20px;text-align:center}
.amenities-intro h2{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;font:normal clamp(30px,3vw,44px)/1.15 var(--serif);letter-spacing:-.015em;text-transform:uppercase}
.amenities-intro h2::before,.amenities-intro h2::after{content:'';flex:0 1 88px;height:1px;background:var(--gold)}
.amenities-intro>p{max-width:none;padding:0;color:var(--text);font-size:16px;line-height:1.5}
.amenities-image{position:relative;width:100%;height:clamp(280px,30vw,440px);min-height:0;margin:0;overflow:hidden}
.amenities-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.amenities-curve{position:absolute;z-index:1;top:-1px;left:0;display:block;width:100%;height:clamp(32px,4.8vw,64px);color:var(--panel);pointer-events:none}
.amenities-bottom{width:min(1180px,calc(100% - 72px));display:flex;flex-direction:column;align-items:center;padding:26px 0 30px}
.amenity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin-bottom:24px}
.amenity,.amenity:first-child,.amenity:last-child{display:block;min-width:0;padding:0 24px;border:0;border-right:1px solid var(--line);text-align:center}
.amenity:last-child{border-right:0}
.amenity i,.amenity-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border:1px solid var(--gold);border-radius:50%;background:rgba(109,23,48,.12);color:var(--gold-light);font-size:27px;line-height:1}
.amenity-icon{padding:16px;stroke:var(--gold-light)}
.amenity h3{color:var(--gold-light);font:normal clamp(18px,1.4vw,21px)/1.25 var(--serif);text-transform:uppercase}
.amenity p{max-width:26ch;margin:10px auto 0;color:var(--text);font-size:15px;line-height:1.55}
.amenities-bottom>.button{margin:0}
@media(min-width:1100px){
  .amenities-section{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(220px,1fr) auto;gap:0;align-content:stretch;min-height:var(--section-canvas);height:var(--section-canvas);padding:0}
  .amenities-intro{grid-column:auto}
  .amenities-intro h2{font-size:clamp(32px,4.5svh,44px)}
  .amenities-image{height:100%;min-height:0}
  .amenities-bottom{justify-content:center}
}
@media(max-width:860px){
  .amenities-intro,.amenities-bottom{width:calc(100% - 40px)}
  .amenities-intro{padding:36px 0 20px;gap:12px}
  .amenities-intro h2{gap:16px;font-size:32px}
  .amenities-intro h2::before,.amenities-intro h2::after{flex-basis:44px}
  .amenities-image{height:320px}
  .amenities-bottom{padding:32px 0}
  .amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .amenity:nth-child(even){border-right:0}
  .amenity h3{font-size:20px}
}
@media(max-width:540px){
  .amenities-intro,.amenities-bottom{width:calc(100% - 44px)}
  .amenities-intro{padding:32px 0 16px;gap:12px}
  .amenities-intro h2{gap:12px;font-size:27px}
  .amenities-intro h2::before,.amenities-intro h2::after{flex-basis:24px;flex-shrink:0}
  .amenities-intro>p{max-width:29ch;font-size:15px}
  .amenities-image{width:100%;height:270px;aspect-ratio:auto}
  .amenities-image img{object-position:60% center}
  .amenities-curve{height:30px}
  .amenities-bottom{padding:28px 0 36px}
  .amenity,.amenity:first-child,.amenity:last-child{display:block;padding:0 12px!important;border-bottom:0;border-right:1px solid var(--line)}
  .amenity:nth-child(even){border-right:0}
  .amenity i,.amenity-icon{width:54px;height:54px;margin:0 auto 14px;font-size:24px}
  .amenity-icon{padding:14px}
  .amenity h3{font-size:18px}
  .amenity p{margin:10px auto 0;font-size:14px;line-height:1.6}
  .amenity-grid{margin-bottom:28px;row-gap:30px}
}

/* Reviewed refinements — local design preview, pending approval. */
.features-section{position:relative;isolation:isolate;overflow:hidden;background:#1c1813}
.features-section::before{content:'';position:absolute;z-index:-1;inset:-16px;background:linear-gradient(90deg,#1c1813 12%,rgba(28,24,19,.7) 62%,rgba(28,24,19,.36)),url('../images/gallery-page-27-landscape-garden-view.jpg') right 18%/cover no-repeat;filter:grayscale(1) blur(6px);opacity:.3;pointer-events:none}
.features-section>.container{display:block}
.features-section .section-heading.center{text-align:left;max-width:620px;margin-bottom:52px}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:0}
.feature,.feature:first-child,.feature:last-child{display:flex;flex-direction:column;align-items:center;min-height:0;padding:0 24px;border:0;border-right:1px solid var(--line);text-align:center}
.feature:last-child{border-right:0}
.feature i{display:grid;place-items:center;width:72px;height:72px;margin:0 0 22px;border:1px solid rgba(202,161,116,.55);border-radius:50%;background:rgba(109,23,48,.28);color:var(--gold-light);font-size:30px;line-height:1}
.feature h3{display:flex;align-items:center;justify-content:center;min-height:2.6em;max-width:15ch;color:var(--cream);font:normal 23px/1.3 var(--serif);text-transform:uppercase}
.feature p{max-width:24ch;margin:12px 0 0;color:#d0c0af;font-size:16px;line-height:1.6}
.image-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:var(--cream);cursor:zoom-in}
.image-open-label{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;background:rgba(23,21,18,.9);color:var(--cream);font-size:12px;font-weight:600;line-height:1}
.image-open-label i{color:var(--gold-light);font-size:14px}
.plan-open{height:100%}
.plan-open img{height:100%;object-fit:contain}
.map-open img{width:100%}
.image-open:focus-visible{outline:2px solid var(--gold-light);outline-offset:-4px}
.progress-media .play-badge{font-size:24px}
.icon-button{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #8c6d50;border-radius:50%;background:transparent;color:var(--cream);font-size:18px;line-height:1;transition:background .2s,border-color .2s}
.icon-button:hover{background:var(--wine);border-color:var(--gold-light)}
.icon-button:disabled{opacity:.35;cursor:default}
[hidden]{display:none!important}
.gallery-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:20px;align-self:end}
.gallery-controls{display:flex;gap:10px}
.gallery-status{color:var(--gold-light);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.gallery-open{position:absolute;inset:0;height:100%}
.gallery-card figcaption,.artist-badge,.gallery-expand{pointer-events:none}
.gallery-expand{position:absolute;z-index:2;right:16px;bottom:16px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(244,234,219,.45);border-radius:50%;background:rgba(23,21,18,.75);color:var(--cream);font-size:15px;opacity:0;transition:opacity .2s}
.gallery-card:hover .gallery-expand,.gallery-card:focus-within .gallery-expand{opacity:1}
.gallery-card figcaption{right:56px}
.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.gallery-more{border:0;border-bottom:1px solid var(--gold);background:none;padding:12px 0;min-height:44px;cursor:pointer}
.gallery-more i{font-size:15px}
.gallery-error{width:100%;color:var(--gold-light);font-size:14px}
@media(min-width:1100px){
 .gallery-section>.container{row-gap:24px}
 .gallery-toolbar{grid-column:2;grid-row:1;justify-self:end}
 .gallery-grid{grid-row:2;height:clamp(300px,40svh,400px)}
 .gallery-footer{grid-column:1/-1;grid-row:3;margin:0}
}
.image-dialog{position:fixed;inset:0;display:flex;flex-direction:column;width:min(1200px,calc(100% - 48px));height:min(90svh,960px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #80634b;background:var(--bg-deep);color:var(--cream);box-shadow:0 24px 80px rgba(0,0,0,.4)}
.image-dialog:not([open]){display:none}
.image-dialog::backdrop{background:rgba(9,8,7,.9)}
.image-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line)}
.image-dialog-heading{min-width:0}
.image-dialog-heading h2{font:normal 26px/1.2 var(--serif)}
.image-dialog-subtitle{margin-top:5px;color:var(--muted);font-size:13px}
.image-dialog-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;border-bottom:1px solid var(--line)}
.image-zoom-controls{display:flex;align-items:center;gap:12px}
.image-zoom-controls .icon-button{width:36px;height:36px;flex-basis:36px;font-size:15px}
.image-zoom-reset{min-width:62px;min-height:40px;padding:0 8px;border:0;background:none;color:var(--gold-light);font:600 13px var(--sans);font-variant-numeric:tabular-nums}
.image-original{display:inline-flex;align-items:center;gap:10px;min-height:40px;color:var(--gold-light);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.image-dialog-stage{position:relative;flex:1;min-height:0;overflow:auto;background:#161411;scrollbar-color:#80634b #161411}
.image-dialog-canvas{display:grid;place-items:center;width:max-content;min-width:100%;min-height:100%;padding:24px}
.image-dialog-photo{display:block;max-width:none;max-height:none;object-fit:contain}
.image-loading{color:var(--text);font-size:15px}
.image-dialog-navigation{display:flex;align-items:center;justify-content:center;gap:28px;padding:12px 24px;border-top:1px solid var(--line)}
.image-dialog-navigation p{min-width:64px;text-align:center;color:var(--gold-light);font-size:14px;font-variant-numeric:tabular-nums}
@media(max-width:1099px){
 .features-section .section-heading.center{margin-bottom:44px}
 .feature h3{font-size:20px}
 .feature,.feature:first-child,.feature:last-child{padding-inline:18px}
 .feature p{font-size:15px}
 .gallery-toolbar{margin-bottom:24px}
 .gallery-footer{margin-top:24px}
}
@media(max-width:860px){
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 0}
 .feature:nth-child(even){border-right:0}
 .gallery-heading{margin-bottom:24px}
 .gallery-toolbar{justify-content:space-between}
}
@media(max-width:600px){
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;height:auto;gap:14px}
 .gallery-card,.gallery-main,.gallery-wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3;order:0}
 .gallery-toolbar{margin-bottom:20px;justify-content:flex-start}
 .gallery-status{font-size:12px;letter-spacing:.04em}
 .gallery-footer{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
 .gallery-expand{opacity:1;width:30px;height:30px;right:12px;bottom:12px}
 .gallery-card figcaption{font-size:16px;left:12px;bottom:14px;right:48px}
 .image-dialog{width:calc(100% - 20px);height:94svh}
 .image-dialog-header{padding:16px;gap:12px}
 .image-dialog-heading h2{font-size:22px}
 .image-dialog-tools{padding:8px 12px;gap:10px}
 .image-dialog-subtitle{font-size:12px}
 .image-dialog-canvas{padding:12px}
 .image-dialog-navigation{padding:10px 16px}
 .image-original{font-size:12px;gap:6px}
 .image-open-label{right:10px;bottom:10px;font-size:11px}
 .image-zoom-controls{gap:6px}
 .image-zoom-controls .icon-button{width:44px;height:44px;flex-basis:44px}
}
@media(max-width:540px){
 .features-section .section-heading.center{margin-bottom:36px;text-align:left}
 .features-section::before{opacity:.22;background-position:center,right top}
 .feature,.feature:first-child,.feature:last-child{display:flex;min-height:0;padding:0 14px!important;border-bottom:0;border-right:1px solid var(--line)}
 .feature:nth-child(even){border-right:0}
 .feature i{width:60px;height:60px;margin:0 0 18px;font-size:26px}
 .feature h3{display:flex;min-height:3.9em;font-size:18px;line-height:1.3}
 .feature p{margin:10px 0 0;font-size:14px;line-height:1.6}
 .feature-grid{row-gap:32px;margin-top:0}
}
@media(max-width:420px){
 .gallery-grid{grid-template-columns:1fr}
 .gallery-card,.gallery-main,.gallery-wide{aspect-ratio:16/10}
 .gallery-card figcaption{font-size:18px}
}

/* Approved garden-light atmosphere extended across the remaining sections. Local only. */
.progress-section,.floorplans-section,.gallery-section,.location-section,.site-footer{
  position:relative;isolation:isolate;overflow:hidden;
  --ambient-image:url('../images/gallery-page-27-landscape-garden-view.jpg');
  --ambient-position:right center;
  --ambient-direction:90deg;
  --ambient-opacity:.22;
  --ambient-surface:#1c1813;
  background:var(--ambient-surface);
}
.progress-section::before,.floorplans-section::before,.gallery-section::before,.location-section::before,.site-footer::before{
  content:'';position:absolute;z-index:-1;inset:-18px;pointer-events:none;
  background:linear-gradient(var(--ambient-direction),var(--ambient-surface) 12%,rgba(28,24,19,.72) 60%,rgba(28,24,19,.15)),var(--ambient-image) var(--ambient-position)/cover no-repeat;
  filter:grayscale(1) blur(6px);opacity:var(--ambient-opacity);
}
.progress-section{--ambient-position:left 38%;--ambient-direction:270deg;--ambient-opacity:.32}
.progress-section .section-copy{max-width:410px}
.progress-media{border-color:rgba(202,161,116,.5)}
.media-caption{left:24px;bottom:24px;font-size:11px;letter-spacing:.16em}
.progress-media .play-badge{background:rgba(50,26,26,.8);border-color:var(--gold-light);color:var(--gold-light)}
.floorplans-section{--ambient-position:right 15%;--ambient-opacity:.2;border-top-color:rgba(202,161,116,.12)}
.plan-card{background:rgba(42,32,26,.94);border-color:rgba(202,161,116,.3)}
.plan-tabs button{border-color:rgba(202,161,116,.4);background:rgba(23,20,17,.48)}
.plan-tabs button.is-active,.plan-tabs button:hover{background:var(--wine);border-color:var(--wine)}
.gallery-section{--ambient-surface:#211b16;--ambient-position:right 65%;--ambient-direction:105deg;--ambient-opacity:.16}
.gallery-grid{gap:12px}
.gallery-toolbar{padding-bottom:4px}
.gallery-controls .icon-button[aria-pressed="false"]{background:rgba(109,23,48,.35)}
.gallery-card figcaption{font-size:21px}
.gallery-card .artist-badge{background:rgba(23,20,17,.78);border-color:rgba(202,161,116,.4);border-radius:0}
.location-section{--ambient-position:left bottom;--ambient-direction:270deg;--ambient-opacity:.27;border-top-color:rgba(202,161,116,.12)}
.location-list{gap:0}
.location-list>div{padding:13px 0;border-bottom:1px solid rgba(202,161,116,.15)}
.location-list>div:first-child{padding-top:0}
.location-list>div:last-child{border-bottom:0;padding-bottom:0}
.location-list i{background:rgba(109,23,48,.24);border-color:rgba(202,161,116,.55)}
.location-list span{color:#c6b7a5}
.map-frame{padding:10px;border:1px solid rgba(202,161,116,.6);background:#d7bea0}
.site-footer{--ambient-surface:#3a1420;--ambient-position:right center;--ambient-direction:90deg;--ambient-opacity:.12;border-top:1px solid #68422f}
.site-footer::before{background:linear-gradient(90deg,#3a1420 10%,rgba(58,20,32,.6)),var(--ambient-image) right center/cover no-repeat}
.footer-top{column-gap:48px}
.footer-links a{width:fit-content;text-underline-offset:5px}
.footer-links a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.footer-bottom{border-top-color:rgba(202,161,116,.22)}
@media(min-width:1100px){
 .location-section{padding-block:48px}
 .location-layout{grid-template-columns:.85fr 1.15fr;gap:8%}
 .location-list strong{font-size:12px;letter-spacing:.1em}
 .location-list span{font-size:14px}
 .map-frame img{max-height:480px}
}
@media(max-width:860px){
 .progress-section::before,.floorplans-section::before,.gallery-section::before,.location-section::before{opacity:.17}
 .progress-section .section-copy{max-width:520px}
 .location-list{margin-top:28px}
 .gallery-grid{gap:10px}
}
@media(max-width:600px){
 .gallery-section{padding-block:64px}
 .gallery-heading{margin-bottom:26px}
 .gallery-toolbar{justify-content:space-between;margin-bottom:20px;padding:0}
 .gallery-controls{display:flex;gap:8px}
 .gallery-status{font-size:13px;letter-spacing:.08em}
 .gallery-grid{display:block;height:auto}
 .gallery-card,.gallery-main,.gallery-wide{width:100%;aspect-ratio:4/3}
 .gallery-card figcaption{font-size:21px;left:18px;bottom:20px;right:56px}
 .gallery-expand{right:16px;bottom:16px}
 .gallery-footer{margin-top:24px;gap:0}
 .map-frame{padding:7px}
 .location-list strong{font-size:12px}
 .location-list span{font-size:14px}
 .media-caption{left:18px;bottom:18px;font-size:10px}
}

/* Motion study: architectural arrival, pool depth, and precise state feedback. */
.hero-line{display:block}
.hero-image{transform-origin:68% 55%}
.amenities-image.has-depth img{height:calc(100% + 48px);margin-top:-24px;transform:translate3d(0,var(--pool-shift,0px),0)}
.amenities-image.depth-active img{will-change:transform}
.button span{display:inline-block;transition:transform .22s cubic-bezier(.16,1,.3,1)}
.button:hover span,.button:focus-visible span{transform:translate(3px,-2px)}
.site-nav a{position:relative}
.site-nav a::after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:1px;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.16,1,.3,1)}
.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}
@media(max-width:860px){.site-nav a::after{bottom:6px;right:auto;width:32px}}
@media(prefers-reduced-motion:reduce){
 .amenities-image.has-depth img{height:100%;margin-top:0;transform:none;will-change:auto}
 .button:hover span,.button:focus-visible span{transform:none}
 .site-nav a::after{transition:none}
}

/* Scroll-entry compositions: enabled only by the local enhancement script. */
[data-scroll-motion="pending"]{opacity:.04;transform:var(--scene-transform,translate3d(0,44px,0));clip-path:var(--scene-clip,inset(0 0 0 0))}
[data-scroll-motion="pending"]:focus-within{opacity:1;transform:none;clip-path:none}
@media(prefers-reduced-motion:reduce){
 [data-scroll-motion]{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* Continuous section atmosphere: a shared surface with feathered photographic edges. */
:root{--journey-surface:#1c1813;--ambient-feather:clamp(100px,15svh,156px)}
.facts-bar,.progress-section,.features-section,.amenities-section,.floorplans-section,.gallery-section,.location-section{
  background-color:var(--journey-surface);border-top:0;border-bottom:0;
}
.progress-section,.floorplans-section,.gallery-section,.location-section{--ambient-surface:var(--journey-surface)}
.amenities-section{--panel:var(--journey-surface)}
.progress-section::before,.features-section::before,.floorplans-section::before,.gallery-section::before,.location-section::before{
  inset:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--ambient-feather),#000 calc(100% - var(--ambient-feather)),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 var(--ambient-feather),#000 calc(100% - var(--ambient-feather)),transparent 100%);
}
.hero::after{content:'';position:absolute;inset:auto 0 0;height:112px;background:linear-gradient(to bottom,transparent,var(--journey-surface));pointer-events:none}
.panorama::before{content:'';position:absolute;z-index:1;inset:0 0 auto;height:88px;background:linear-gradient(to bottom,var(--journey-surface),rgba(28,24,19,.5) 36%,transparent);pointer-events:none}
.panorama::after{content:'';position:absolute;z-index:1;inset:auto 0 0;height:72px;background:linear-gradient(to bottom,transparent,#e9dccc);pointer-events:none}
.panorama-content{z-index:2;padding-top:112px}
.panorama{min-height:540px}
.panorama-strip{position:relative;z-index:1;border-top:0}
.panorama-strip::after{content:'';position:absolute;z-index:1;inset:100% 0 auto;height:64px;background:linear-gradient(to bottom,#e9dccc,rgba(233,220,204,.45) 40%,rgba(58,20,32,0));pointer-events:none}
.site-footer{border-top:0}
.site-footer .footer-top{padding-top:112px}
@media(max-width:860px){
 :root{--ambient-feather:100px}
 .hero::after{height:88px}
 .panorama{min-height:500px}
 .panorama-content{padding-top:104px}
 .panorama::before{height:72px}
 .panorama::after{height:56px}
 .site-footer .footer-top{padding-top:96px}
}
@media(max-width:540px){
 :root{--ambient-feather:80px}
 .panorama-content{padding-top:88px}
 .panorama::before{height:60px}
 .panorama-strip::after{height:48px}
 .site-footer .footer-top{padding-top:88px}
}

/* User-selected mosaic, balanced between the compact and oversized previews. */
@media(min-width:861px){
 .gallery-section{min-height:0;padding-block:clamp(48px,6svh,64px)}
 .gallery-section>.container{width:min(1180px,calc(100% - 72px));display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:24px;align-items:end}
 .gallery-heading{grid-column:1;grid-row:1;margin:0}
 .gallery-section h2{font-size:var(--heading-size)}
 .gallery-toolbar{grid-column:2;grid-row:1;justify-self:end;margin:0;padding:0 0 4px}
 .gallery-grid{grid-column:1/-1;grid-row:2;grid-template-columns:1fr .5fr .5fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(400px,54svh,500px);min-height:0;aspect-ratio:auto;gap:14px}
 .gallery-main{grid-column:1;grid-row:1/3}
 .gallery-wide{grid-column:2/4;grid-row:auto}
 .gallery-footer{grid-column:1/-1;grid-row:3;margin:0}
 .gallery-card figcaption{font-size:clamp(20px,1.55vw,26px);left:22px;bottom:22px}
}
@media(min-width:861px) and (max-width:1050px){
 .gallery-section>.container{width:calc(100% - 64px);column-gap:20px}
 .gallery-controls{gap:8px}
 .gallery-toolbar{gap:14px}
 .gallery-grid{gap:12px}
 .gallery-card figcaption{font-size:19px;left:16px;bottom:18px}
}

/* Local A View of Everything composition, layered over the captured live CSS. */
.panorama{display:block;position:relative;min-height:0;overflow:hidden;background:#e8ded2}
.panorama::before{display:none}
.panorama-content{position:absolute;z-index:2;top:0;left:50%;width:100%;max-width:800px;min-height:0;margin:0;transform:translateX(-50%);padding:clamp(36px,5vw,90px) 24px 0;text-align:center}
.panorama h2{font-size:clamp(50px,5.2vw,78px);line-height:1.03}
.panorama-content>p:not(.eyebrow){max-width:680px;margin:14px auto 0;line-height:1.55}
.panorama-photo{position:relative;width:100%;overflow:hidden}
.panorama-photo img{display:block;width:100%;height:auto;object-fit:contain}
.panorama-strip{background:#f4e3d6;color:#693846;overflow:visible}
.panorama-strip-grid{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:0;min-height:140px;margin-block:0;padding:25px 0 24px;list-style:none}
.panorama-strip-grid::before{content:"";position:absolute;top:43px;left:calc(100% / 14);right:calc(100% / 14);border-top:1px solid #d8b9b6}
.panorama-strip-grid li{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:0 7px;text-align:center;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}
.panorama-number{display:grid;place-items:center;width:37px;height:37px;border:2px solid #89374c;border-radius:50%;background:#f4e3d6;color:#89374c;font:700 18px/1 var(--serif)}
@media(max-width:1100px){.panorama-content{padding-top:38px}.panorama h2{font-size:clamp(43px,5.2vw,58px)}}
@media(max-width:860px){.panorama-content{padding:54px 20px 0}.panorama h2{font-size:clamp(42px,10vw,58px)}.panorama-photo img{height:730px;object-fit:cover;object-position:44% top}.panorama-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px;min-height:0;padding:24px 0 30px}.panorama-strip-grid::before{display:none}.panorama-strip-grid li{font-size:11px}}

.panorama-expand{display:none}
@media(max-width:860px){
  .panorama-expand{position:absolute;z-index:3;right:16px;bottom:18px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(244,227,214,.75);border-radius:50%;background:rgba(28,22,22,.86);color:#fff8ef;font-size:18px;line-height:1;cursor:pointer}
  .panorama-expand:focus-visible{outline:3px solid #fff8ef;outline-offset:3px}
  .panorama-strip-grid{grid-template-columns:1fr;gap:0;min-height:0;padding:14px 0 18px}
  .panorama-strip-grid li{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-height:41px;padding:5px 0;border-bottom:1px solid rgba(137,55,76,.18);text-align:left}
  .panorama-strip-grid li:last-child{border-bottom:0}
  .panorama-strip-grid .panorama-number{flex:none;width:29px;height:29px;border-width:1px;font-size:15px;line-height:1}
  .panorama-strip-grid li>span:last-child{font-size:14px;line-height:1.3;letter-spacing:0;text-transform:none}
}

/* Additional local design changes can go here without editing the captured live CSS. */
/* Brochure-based towers set against an extended, natural dusk sky. */
.hero {
  background: #24354f;
}

@media (min-width: 1100px) {
  .hero {
    height: max(calc(100svh - 90px), min(54vw, 900px));
  }
}

.hero::after {
  height: 44px;
}

.hero-image {
  left: 0;
  right: 0;
  width: 100%;
  object-position: center 35%;
  border: 0;
}

.hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(15, 20, 34, .73) 0%, rgba(20, 25, 39, .53) 30%, rgba(20, 25, 39, .15) 51%, transparent 72%),
    linear-gradient(0deg, rgba(17, 21, 30, .08), transparent 18%);
}

.hero-content {
  z-index: 2;
}

.hero h1 {
  max-width: min(560px, 48vw);
  font-size: clamp(60px, 6.7vw, 96px);
}

.hero-image-note {
  position: absolute;
  z-index: 2;
  right: clamp(24px, 3vw, 56px);
  bottom: 30px;
  color: #fff8ef;
  font: 600 11px/1.3 var(--sans);
  letter-spacing: .08em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .8);
}

@media (min-width: 861px) and (max-width: 1100px) {
  .hero .button-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
}

@media (max-width: 860px) {
  .hero {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    height: 700px;
    min-height: 700px;
    background: #24354f;
  }

  .hero-content {
    width: min(100% - 40px, 680px);
    padding: 112px 0 0;
  }

  .hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% top;
  }

  .hero-shade {
    display: block;
    background:
      linear-gradient(90deg, rgba(11, 17, 31, .78), rgba(15, 22, 36, .52) 58%, rgba(15, 22, 36, .12)),
      linear-gradient(0deg, rgba(13, 16, 23, .35), transparent 28%);
  }

  .hero h1 {
    max-width: none;
    font-size: clamp(52px, 9vw, 75px);
  }

  .hero-image-note {
    right: 24px;
    bottom: 24px;
  }
}

@media (max-width: 540px) {
  .hero {
    height: 640px;
    min-height: 640px;
  }

  .hero-content {
    width: calc(100% - 40px);
    padding: 112px 0 0;
  }

  .hero h1 {
    font-size: clamp(52px, 13vw, 66px);
  }

  .hero-image {
    height: 100%;
    object-position: 70% top;
  }
}

.amenities-image .amenities-artist-badge {
  z-index: 2;
  top: auto;
  right: clamp(12px, 1.5vw, 24px);
  bottom: clamp(12px, 1.5vw, 24px);
  padding: 7px 10px;
  font-size: 12px;
}

.image-dialog-tools {
  justify-content: center;
}

.map-frame .image-open-label,
.plan-visual .image-open-label {
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-height: 0;
  padding: 0;
  border: 1px solid rgba(244, 227, 214, .75);
  border-radius: 50%;
  background: rgba(28, 22, 22, .86);
}

.map-frame .image-open-label i,
.plan-visual .image-open-label i {
  color: #fff8ef;
  font-size: 18px;
}

/* Footer layout and copy based on the approved REN reference. */
.site-footer {
  border: 0;
  background: radial-gradient(ellipse at 52% 110%, #620f25 0%, #3e0d1d 58%, #280b15 100%);
  color: #f5e7dd;
}

.site-footer::before {
  content: none;
}

.footer-agency-note {
  border-bottom: 1px solid rgba(218, 172, 140, .28);
}

.footer-agency-inner {
  width: min(1180px, calc(100% - 72px));
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 26px 0 24px;
}

.footer-agency-inner > i {
  color: var(--gold);
  font-size: 25px;
  line-height: 1;
}

.footer-agency-inner h2 {
  margin: 0 0 5px;
  color: var(--gold);
  font: 700 15px/1.4 var(--sans);
}

.footer-agency-inner p {
  margin: 0;
  color: #c8b2aa;
  font: 400 13px/1.5 var(--sans);
}

.site-footer .footer-top {
  width: min(1180px, calc(100% - 72px));
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.17fr) minmax(0, 1.6fr);
  gap: 0;
  padding: 54px 0 56px;
}

.footer-column {
  min-width: 0;
}

.footer-column + .footer-column {
  border-left: 1px solid rgba(218, 172, 140, .38);
  padding-left: clamp(30px, 3.4vw, 48px);
}

.footer-logo {
  width: 168px;
}

.footer-brand-place {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 168px;
  margin-top: 3px;
  color: #d8af92;
  font-size: 10px;
  letter-spacing: .35em;
  white-space: nowrap;
}

.footer-brand-place::before,
.footer-brand-place::after {
  content: '';
  height: 1px;
  flex: 1;
  background: rgba(216, 175, 146, .75);
}

.footer-brand p {
  margin-top: 19px;
  color: #c8b2aa;
  font: 400 15px/1.5 var(--sans);
}

.footer-quick {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.footer-quick h2,
.footer-legal h2 {
  margin: 0 0 8px;
  color: var(--gold);
  font: 700 13px/1.5 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.footer-quick a {
  color: #c8b2aa;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 4px;
}

.footer-quick a:hover,
.footer-quick a:focus-visible {
  color: #fff7ef;
  text-decoration: underline;
}

.footer-legal p {
  margin: 0 0 14px;
  color: #c8b2aa;
  font-size: 15px;
  line-height: 1.5;
}

.footer-legal .footer-copyright {
  margin-top: 17px;
  margin-bottom: 0;
}

@media (max-width: 860px) {
  .footer-agency-inner {
    width: min(720px, calc(100% - 48px));
  }

  .site-footer .footer-top {
    width: min(720px, calc(100% - 48px));
    grid-template-columns: 1fr 1fr;
    gap: 36px 0;
    padding: 50px 0;
  }

  .footer-legal {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(218, 172, 140, .38);
    padding-top: 30px;
  }

  .footer-column + .footer-legal {
    border-left: 0;
    padding-left: 0;
  }
}

@media (max-width: 600px) {
  .footer-agency-inner {
    width: calc(100% - 40px);
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    padding: 26px 0;
  }

  .footer-agency-inner > i {
    font-size: 22px;
  }

  .footer-agency-inner p {
    font-size: 13px;
  }

  .site-footer .footer-top {
    width: calc(100% - 40px);
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 46px 0 52px;
  }

  .footer-column + .footer-column {
    border-left: 0;
    border-top: 1px solid rgba(218, 172, 140, .38);
    padding: 28px 0 0;
  }

  .footer-brand p {
    margin-top: 19px;
  }

  .footer-quick {
    gap: 0;
  }

  .footer-quick a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    font-size: 15px;
  }

  .footer-legal p {
    font-size: 15px;
  }
}

/* Each enquiry button hops as it enters view, then rests before repeating. */
@keyframes cta-attention-hop {
  0%, 15%, 100% { transform: translateY(0) scale(1); }
  3% { transform: translateY(-10px) scale(1.03); }
  7% { transform: translateY(2px) scale(1); }
  11% { transform: translateY(-5px) scale(1.015); }
}

a.button[data-wa-intent].cta-visible {
  animation: cta-attention-hop 5.8s ease-in-out infinite;
}

body.cta-page-hidden a.button[data-wa-intent].cta-visible {
  animation-play-state: paused;
}

a.button[data-wa-intent]:hover,
a.button[data-wa-intent]:focus-visible,
a.button[data-wa-intent]:active {
  animation: none;
}

a.button[data-wa-intent]:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  a.button[data-wa-intent].cta-visible {
    animation: none;
  }

  a.button[data-wa-intent]:hover,
  a.button[data-wa-intent]:focus-visible,
  a.button[data-wa-intent]:active {
    transform: none;
  }
}

@media (max-width: 600px) {
  .features-section .feature i {
    align-self: center;
    margin-inline: auto;
  }
}
