/* ═══════════════════════════════════════════════════════
   Boutique Apartments & Boardinghouse by Primo · Stade
   Stylesheet – styles.css
═══════════════════════════════════════════════════════ */

:root{
  --black:#1c1c1e;
  --black-soft:#232325;
  --black-card:#2a2a2c;
  --gold:#c8a96e;
  --gold-light:#e0c98a;
  --gold-dark:#9e7e45;
  --white:#f5f0e8;
  --white-dim:#c8c0b0;
  --nav-h:140px;
  --exp:cubic-bezier(0.16,1,0.3,1);
  --silk:cubic-bezier(0.25,0.46,0.45,0.94);
  --dur:.95s;
  --dur-fast:.5s;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:var(--black);
  color:var(--white);
  font-family:'Jost',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

button{
  cursor:pointer;
  font-family:'Jost',sans-serif;
}
a{
  text-decoration:none;
  color:inherit;
}

/* PAGES */
.page{
  display:none;
  min-height:100vh;
}
.page.active{
  display:block;
}

/* ── SCROLL ANIMATIONS – dynamic, expo-out ── */
[data-anim]{
  opacity:0;
}

[data-anim="up"]    {
  transform:translateY(72px);
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="down"]  {
  transform:translateY(-72px);
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="left"]  {
  transform:translateX(-80px);
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="right"] {
  transform:translateX(80px);
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="reveal"]{
  transform:translateY(44px) skewY(2.5deg);
  transform-origin:left top;
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="scale"] {
  transform:scale(0.88) translateY(28px);
  transition:opacity var(--dur) var(--exp),transform var(--dur) var(--exp);
}

[data-anim="fade"]  {
  transform:none;
  transition:opacity var(--dur) var(--silk);
}

[data-anim].vis{
  opacity:1;
  transform:none;
}

.d1{
  transition-delay:.06s!important;
}
.d2{
  transition-delay:.13s!important;
}
.d3{
  transition-delay:.20s!important;
}

.d4{
  transition-delay:.27s!important;
}
.d5{
  transition-delay:.34s!important;
}
.d6{
  transition-delay:.41s!important;
}

/* NAV */
nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  min-height:var(--nav-h);
  padding:1.4rem 3rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background var(--dur-fast) var(--silk),box-shadow var(--dur-fast) var(--silk),padding var(--dur-fast) var(--silk);
}
nav.sc{
  background:rgba(28,28,30,.97);
  backdrop-filter:blur(20px);
  box-shadow:0 1px 0 rgba(200,169,110,.12);
  padding:.9rem 3rem;
}
.nav-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.3rem;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

.nav-logo{
  font-family:'Cormorant Garamond',serif;
  text-align:center;
  cursor:pointer;
  line-height:1.05;
  transition:opacity var(--dur-fast) var(--silk);
}
.nav-logo:hover{
  opacity:.85;
}
.nav-logo-main{
  display:block;
  font-size:clamp(1.4rem,2.6vw,2.1rem);
  font-weight:400;
  letter-spacing:.08em;
  color:var(--gold);
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:0 0 30px rgba(200,169,110,.15);
}
.nav-logo-sub{
  display:block;
  margin-top:.55rem;
  font-size:.72rem;
  font-family:'Jost',sans-serif;
  font-weight:400;
  letter-spacing:.48em;
  color:var(--white-dim);
  text-transform:uppercase;
}
.nav-links{
  display:flex;
  gap:2.6rem;
  list-style:none;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:0;
  margin:0;
}
.nav-links a{
  color:var(--white-dim);
  font-size:.85rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:400;
  cursor:pointer;
  position:relative;
  padding-bottom:5px;
  transition:color var(--dur-fast) var(--silk);
}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:100%;
  height:1px;
  background:var(--gold);
  transition:right 0.45s var(--exp);
}
.nav-links a:hover,.nav-links a.active{
  color:var(--gold);
}
.nav-links a:hover::after,.nav-links a.active::after{
  right:0;
}
.btn-nav-book{
  background:var(--gold);
  color:var(--black);
  border:none;
  padding:.85rem 1.9rem;
  font-size:.78rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:600;
  transition:background var(--dur-fast) var(--silk),transform 0.45s var(--exp),box-shadow var(--dur-fast) var(--silk);
}
.btn-nav-book:hover{
  background:var(--gold-light);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(200,169,110,.32);
}

.nav-hb{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:7px;
  border:1px solid transparent;
  position:absolute;
  top:50%;
  right:1.5rem;
  transform:translateY(-50%);
  transition:border-color var(--dur-fast) var(--silk);
}

.nav-hb:hover{
  border-color:rgba(200,169,110,.3);
}
.nav-hb span{
  display:block;
  width:22px;
  height:1px;
  background:var(--gold);
  transition:all .38s var(--exp);
  transform-origin:center;
}

.nav-hb.op span:nth-child(1){
  transform:translateY(6px)rotate(45deg);
}
.nav-hb.op span:nth-child(2){
  opacity:0;
  transform:scaleX(0);
}
.nav-hb.op span:nth-child(3){
  transform:translateY(-6px)rotate(-45deg);
}

/* MOBILE MENU */
.mob-menu{
  display:none;
  position:fixed;
  inset:0;
  background:var(--black);
  z-index:999;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.8rem;
  padding:2rem;
}

.mob-menu.op{
  display:flex;
}

.mob-menu a{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:300;
  color:var(--white);
  cursor:pointer;
  transition:color var(--dur-fast) var(--silk),letter-spacing 0.45s var(--exp);
  text-align:center;
}

.mob-menu a:hover{
  color:var(--gold);
  letter-spacing:.07em;
}

.mob-book{
  margin-top:.4rem;
  background:var(--gold);
  color:var(--black);
  border:none;
  padding:.85rem 2.5rem;
  font-size:.7rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:600;
  transition:background var(--dur-fast) var(--silk);
}

.mob-book:hover{
  background:var(--gold-light);
}

/* TOAST */
.toast{
  position:fixed;
  bottom:2rem;
  right:2rem;
  z-index:2000;
  background:var(--gold);
  color:var(--black);
  padding:.9rem 1.6rem;
  font-size:.68rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:600;
  transform:translateY(130%);
  opacity:0;
  transition:transform 0.55s var(--exp),opacity 0.4s var(--silk);
  pointer-events:none;
}

.toast.on{
  transform:none;
  opacity:1;
}

/* SHARED */
.sl{
  font-size:.6rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:.85rem;
  display:block;
}

.st{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.9rem,3.8vw,3.3rem);
  font-weight:300;
  line-height:1.08;
  color:var(--white);
}

.st em{
  font-style:italic;
  color:var(--gold-light);
}

.sw{
  padding:7rem 3rem;
  max-width:1200px;
  margin:0 auto;
}

.sdiv{
  width:100%;
  height:1px;
  background:linear-gradient(to right,transparent,rgba(200,169,110,.18),transparent);
}

/* BUTTONS */
.bp{
  background:var(--gold);
  color:var(--black);
  border:none;
  padding:.95rem 2.4rem;
  font-size:.67rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:600;
  transition:background var(--dur-fast) var(--silk),transform 0.5s var(--exp),box-shadow var(--dur-fast) var(--silk);
}

.bp:hover{
  background:var(--gold-light);
  transform:translateY(-3px);
  box-shadow:0 12px 36px rgba(200,169,110,.32);
}

.bo{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,.22);
  padding:.95rem 2.4rem;
  font-size:.67rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:400;
  transition:border-color var(--dur-fast) var(--silk),color var(--dur-fast) var(--silk),transform 0.5s var(--exp);
}

.bo:hover{
  border-color:var(--gold);
  color:var(--gold);
  transform:translateY(-3px);
}

.bd{
  background:var(--black);
  color:var(--gold);
  border:none;
  padding:.95rem 2.4rem;
  font-size:.67rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:600;
  transition:background var(--dur-fast) var(--silk),transform 0.5s var(--exp);
}

.bd:hover{
  background:#34343a;
  transform:translateY(-3px);
}

/* IMAGE PLACEHOLDER */
.iph{
  width:100%;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  color:var(--gold);
  opacity:.5;
  transition:opacity var(--dur-fast) var(--silk),border-color var(--dur-fast) var(--silk);
}

.iph:hover{
  opacity:.75;
  border-color:rgba(200,169,110,.22);
}

.iph svg{
  width:34px;
  height:34px;
}

.iph span{
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--white-dim);
}

/* ──────────── HERO ──────────── */
#hero{
  position:relative;
  height:100vh;
  min-height:560px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding-bottom:8rem;
}

.h-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#1c1508 0%,#0d0d0d 45%,#1a1400 80%,#080808 100%);
}

.h-vid{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.h-vid-badge{
  border:1px solid rgba(200,169,110,.14);
  padding:1rem 1.8rem;
  display:flex;
  align-items:center;
  gap:.7rem;
  color:rgba(200,169,110,.28);
  font-size:.56rem;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.h-ov{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(28,28,30,.88) 0%,rgba(28,28,30,.2) 55%,transparent 100%);
}

.h-content{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
  padding:0 3rem;
  width:100%;
}

.h-eyebrow{
  font-size:.63rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.1rem;
  font-weight:400;
  opacity:0;
  animation:hup 1s cubic-bezier(0.16,1,0.3,1) .15s forwards;
}

.h-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,7.5vw,6.5rem);
  font-weight:300;
  line-height:1.03;
  color:var(--white);
  opacity:0;
  animation:hup 1.1s cubic-bezier(0.16,1,0.3,1) .3s forwards;
}

.h-title em{
  font-style:italic;
  color:var(--gold-light);
}

.h-sub{
  font-size:.78rem;
  letter-spacing:.2em;
  color:var(--white-dim);
  text-transform:uppercase;
  margin:.8rem 0 2.5rem;
  font-weight:300;
  opacity:0;
  animation:hup 1s cubic-bezier(0.16,1,0.3,1) .48s forwards;
}

.h-ctas{
  display:flex;
  gap:.9rem;
  align-items:center;
  flex-wrap:wrap;
  opacity:0;
  animation:hup 1s cubic-bezier(0.16,1,0.3,1) .64s forwards;
}

@keyframes hup{
  from{
    opacity:0;
    transform:translateY(52px) skewY(1.5deg);
  }
  to{
    opacity:1;
    transform:none;
  }
}

.h-scroll{
  position:absolute;
  bottom:2.5rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.45rem;
  opacity:0;
  animation:hfade 1s 1.1s forwards;
}

@keyframes hfade{
  to{
    opacity:.45;
  }
}

.h-scroll span{
  font-size:.54rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--white-dim);
}

.sline{
  width:1px;
  height:46px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:sp 2s ease-in-out infinite;
}

@keyframes sp{
  0%,100%{
    opacity:.3;
  }
  50%{
    opacity:1;
  }
}

/* ──────────── INTRO ──────────── */
.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7rem;
  align-items:center;
}

.intro-lead{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.2rem,1.8vw,1.5rem);
  font-weight:300;
  font-style:italic;
  color:var(--gold-light);
  line-height:1.5;
  margin-top:1.3rem;
  padding-left:1.2rem;
  border-left:2px solid var(--gold);
}
.intro-grid p{
  color:var(--white-dim);
  line-height:1.95;
  font-size:.9rem;
  margin-top:1.2rem;
}

.intro-img{
  position:relative;
}

.intro-img::before{
  content:'';
  position:absolute;
  top:-1.4rem;
  left:-1.4rem;
  right:1.4rem;
  bottom:1.4rem;
  border:1px solid rgba(200,169,110,.15);
  pointer-events:none;
  transition:border-color var(--silk);
}

.intro-img:hover::before{
  border-color:rgba(200,169,110,.35);
}

/* ──────────── STATS ──────────── */
#sbar{
  background:var(--black-card);
  border-top:1px solid rgba(200,169,110,.12);
  border-bottom:1px solid rgba(200,169,110,.12);
  padding:3.5rem 3rem;
}

.si{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  text-align:center;
}
.s-icon{
  width:64px;
  height:64px;
  margin:0 auto .35rem;
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform 0.5s var(--exp);
}
.sitem:hover .s-icon{
  transform:scale(1.08);
}
.s-icon svg{
  width:100%;
  height:100%;
}

.sitem{
  padding:.5rem 1rem;
}

.sitem+.sitem{
  border-left:1px solid rgba(200,169,110,.14);
}

.snum-suffix{
  font-size:0.55em;
  color:var(--gold);
  font-weight:300;
  margin-left:.02em;
}
.snum{
  font-family:'Cormorant Garamond',serif;
  font-size:3.8rem;
  font-weight:300;
  color:var(--gold);
  line-height:1;
  margin-bottom:.35rem;
}

.slb{
  font-size:.6rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--white-dim);
}

/* ──────────── AMENITIES ──────────── */
.amh{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:5rem;
  align-items:end;
  margin-bottom:3.5rem;
}

.amh p{
  color:var(--white-dim);
  line-height:1.85;
  font-size:.88rem;
}

.amg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(200,169,110,.12);
}

.ami{
  padding:2.1rem 1.7rem;
  border-right:1px solid rgba(200,169,110,.12);
  border-bottom:1px solid rgba(200,169,110,.12);
  display:flex;
  align-items:flex-start;
  gap:1.1rem;
  transition:background var(--silk);
  cursor:default;
}

.ami:hover{
  background:rgba(200,169,110,.04);
}

.ami:nth-child(3n){
  border-right:none;
}
.ami:nth-last-child(-n+2){
  border-bottom:none;
}

.ami-ic{
  width:34px;
  height:34px;
  flex-shrink:0;
  color:var(--gold);
  margin-top:2px;
  transition:transform 0.5s var(--exp),color var(--dur-fast) var(--silk);
}

.ami:hover .ami-ic{
  transform:scale(1.22) rotate(-6deg);
  color:var(--gold-light);
}

.ami-ic svg{
  width:100%;
  height:100%;
}

.ami h4{
  font-size:.67rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--white);
  font-weight:500;
  margin-bottom:.3rem;
}

.ami p{
  font-size:.78rem;
  color:var(--white-dim);
  line-height:1.65;
}

/* ──────────── ROOMS ──────────── */
.ri{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:3rem;
  gap:2rem;
  flex-wrap:wrap;
}

.ri p{
  color:var(--white-dim);
  max-width:360px;
  line-height:1.8;
  font-size:.87rem;
}

.rg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(200,169,110,.1);
}

.rc{
  background:var(--black-card);
  overflow:hidden;
  transition:transform 0.55s var(--exp),box-shadow 0.55s var(--exp);
}

.rc:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(200,169,110,.25);
}

.rc .iph{
  transition:transform 0.7s var(--exp),opacity var(--dur-fast) var(--silk),border-color var(--dur-fast) var(--silk);
}

.rc:hover .iph{
  transform:scale(1.04);
}

.rimg .iph{
  height:100%;
  aspect-ratio:3/2;
}

.rinfo{
  padding:1.7rem;
  border-top:1px solid rgba(200,169,110,.1);
}

.rcat{
  font-size:.55rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4rem;
}

.rname{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.45rem;
}

.rdesc{
  font-size:.78rem;
  color:var(--white-dim);
  line-height:1.7;
  margin-bottom:1.1rem;
}

.rprice{
  font-size:.66rem;
  color:var(--white-dim);
}

.rprice strong{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;
  color:var(--gold);
  font-weight:400;
}

.rlink{
  display:inline-block;
  margin-top:.8rem;
  font-size:.58rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  border-bottom:1px solid transparent;
  transition:border-color var(--silk);
  padding-bottom:1px;
}

.rc:hover .rlink{
  border-color:var(--gold);
}

/* ──────────── VIDEO ──────────── */
.vsec{
  position:relative;
  height:52vh;
  min-height:360px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.vs-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#1c1508,#0d0d0d,#1a1400);
}

.vs-ov{
  position:absolute;
  inset:0;
  background:rgba(28,28,30,.52);
}

.vc{
  position:relative;
  z-index:2;
  text-align:center;
  padding:2rem;
}

.vplay{
  width:76px;
  height:76px;
  border:1px solid rgba(200,169,110,.35);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 1.8rem;
  cursor:pointer;
  transition:border-color var(--silk),background var(--silk),transform var(--silk),box-shadow var(--silk);
}

.vplay:hover{
  border-color:var(--gold);
  background:rgba(200,169,110,.1);
  transform:scale(1.1);
  box-shadow:0 0 40px rgba(200,169,110,.18);
}

.vplay svg{
  color:var(--gold);
  margin-left:4px;
}

.vc h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.7rem,4vw,3rem);
  font-weight:300;
  color:var(--white);
  margin-bottom:.4rem;
}

.vc p{
  color:var(--white-dim);
  font-size:.78rem;
  letter-spacing:.2em;
  text-transform:uppercase;
}

/* ──────────── TESTIMONIALS ──────────── */
#tsec{
  background:var(--black-card);
  border-top:1px solid rgba(200,169,110,.12);
  border-bottom:1px solid rgba(200,169,110,.12);
  padding:6rem 3rem;
}

.tin{
  max-width:1200px;
  margin:0 auto;
}

.tgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
}

.tc{
  padding:2.1rem;
  border:1px solid rgba(200,169,110,.12);
  transition:border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp),box-shadow 0.5s var(--exp);
}

.tc:hover{
  border-color:rgba(200,169,110,.38);
  transform:translateY(-6px);
  box-shadow:0 18px 48px rgba(0,0,0,.45);
}

.tstars{
  color:var(--gold);
  font-size:.83rem;
  letter-spacing:.18em;
  margin-bottom:1rem;
}

.ttext{
  font-family:'Cormorant Garamond',serif;
  font-size:1rem;
  font-weight:300;
  line-height:1.75;
  color:var(--white);
  font-style:italic;
  margin-bottom:1.2rem;
}

.tauth{
  font-size:.6rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ──────────── CONTACT STRIP ──────────── */
.cstrip{
  background:var(--gold);
  padding:4.5rem 3rem;
}

.csi{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}

.csi h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,3vw,2.4rem);
  font-weight:300;
  color:var(--black);
  margin-bottom:.35rem;
}

.csi p{
  color:rgba(28,28,30,.6);
  font-size:.83rem;
}

/* ──────────── FOOTER ──────────── */
footer{
  background:var(--black-soft);
  padding:5rem 3rem 2.5rem;
  border-top:1px solid rgba(200,169,110,.1);
}

.fg{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:4rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(200,169,110,.1);
}

.flogo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:.8rem;
  line-height:1.3;
}

.ftag{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.8;
  max-width:250px;
}

.fc h5{
  font-size:.57rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:1.3rem;
}

.fc ul{
  list-style:none;
}

.fc li{
  margin-bottom:.6rem;
}

.fc li a{
  color:var(--white-dim);
  font-size:.8rem;
  cursor:pointer;
  transition:color var(--silk),padding-left var(--silk);
  display:inline-block;
}

.fc li a:hover{
  color:var(--gold);
  padding-left:4px;
}

.fbot{
  max-width:1200px;
  margin:2rem auto 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.68rem;
  color:rgba(200,192,176,.32);
}

/* ──────────── PAGE HERO ──────────── */
.ph{
  position:relative;
  min-height:calc(50vh + var(--nav-h));
  display:flex;
  align-items:flex-end;
  padding-top:var(--nav-h);
  padding-bottom:5rem;
  overflow:hidden;
}

.ph-mini{
  position:relative;
  height:var(--nav-h);
  overflow:hidden;
}
.ph-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#1c1508 0%,#0d0d0d 60%,#1a1400 100%);
}

.ph-ov{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(28,28,30,.9) 0%,rgba(28,28,30,.2) 55%,transparent 100%);
}

.ph-c{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
  padding:0 3rem;
  width:100%;
}

.bc{
  font-size:.58rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.85rem;
  display:block;
}

.pht{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,6vw,4.8rem);
  font-weight:300;
  color:var(--white);
  line-height:1.04;
}

.pht em{
  font-style:italic;
  color:var(--gold-light);
}

/* ──────────── ÜBER UNS ──────────── */
.sg{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7rem;
  align-items:center;
}

.sg p{
  color:var(--white-dim);
  line-height:1.95;
  font-size:.9rem;
  margin-top:1.2rem;
}

.tl{
  margin-top:1.5rem;
  position:relative;
  padding-left:2rem;
}

.tl::before{
  content:'';
  position:absolute;
  left:6px;
  top:.3rem;
  bottom:.3rem;
  width:1px;
  background:linear-gradient(to bottom,var(--gold),rgba(200,169,110,.08));
}

.tli{
  position:relative;
  margin-bottom:2.8rem;
}

.tli:last-child{
  margin-bottom:0;
}

.tldot{
  position:absolute;
  left:calc(-2rem + 0.5px);
  top:.35rem;
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid var(--gold);
  background:var(--black);
  transition:background var(--silk),transform var(--silk);
}

.tli:hover .tldot{
  background:var(--gold);
  transform:scale(1.3);
}

.tly{
  font-size:.58rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:.35rem;
}

.tlt{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.45rem;
}

.tltx-teaser{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.8;
  font-style:italic;
  transition:opacity 0.4s var(--silk);
}
.tli.open .tltx-teaser{
  display:none;
}
.tltx-full{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height 0.6s var(--exp),opacity 0.5s var(--silk);
}
.tltx-full p{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.8;
  padding-top:.2rem;
}
.tli.open .tltx-full{
  max-height:500px;
  opacity:1;
}
.tli-toggle{
  margin-top:.7rem;
  background:transparent;
  border:none;
  color:var(--gold);
  cursor:pointer;
  font-family:'Jost',sans-serif;
  font-size:.58rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:500;
  padding:0;
  display:inline-flex;
  align-items:center;
  transition:color var(--dur-fast) var(--silk),letter-spacing var(--dur-fast) var(--silk);
}
.tli-toggle:hover{
  color:var(--gold-light);
  letter-spacing:.34em;
}

.vg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
  margin-top:3.2rem;
  align-items:stretch;
}

.vc2{
  padding:2.1rem;
  border:1px solid rgba(200,169,110,.12);
  transition:border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp),background var(--dur-fast) var(--silk);
}

.vc2:hover{
  border-color:rgba(200,169,110,.38);
  transform:translateY(-6px);
  background:rgba(200,169,110,.03);
}

.vnum{
  font-family:'Cormorant Garamond',serif;
  font-size:3.4rem;
  font-weight:300;
  color:rgba(200,169,110,.17);
  line-height:1;
  margin-bottom:.75rem;
}

.vc2 h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.5rem;
}

.vc2 p{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.8;
}

.teg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.2rem;
  margin-top:3.2rem;
}

.tec{
  text-align:center;
}

.teph{
  width:100%;
  aspect-ratio:3/4;
  background:var(--black);
  border:1px solid rgba(200,169,110,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.4rem;
  color:var(--gold);
  opacity:.42;
  margin-bottom:1.2rem;
  transition:opacity var(--silk),border-color var(--silk);
}

.tec:hover .teph{
  opacity:.68;
  border-color:rgba(200,169,110,.22);
}

.teph svg{
  width:30px;
  height:30px;
}

.ten{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.2rem;
}

.ter{
  font-size:.58rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ──────────── APARTMENTS ──────────── */
.ag{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:rgba(200,169,110,.1);
  margin-top:2.8rem;
}

.ac{
  background:var(--black-card);
  overflow:hidden;
  transition:transform 0.55s var(--exp),box-shadow 0.55s var(--exp);
}

.ac:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 0 1px rgba(200,169,110,.25);
}

.ac .iph{
  transition:transform 0.7s var(--exp),opacity var(--dur-fast) var(--silk),border-color var(--dur-fast) var(--silk);
}

.ac:hover .iph{
  transform:scale(1.04);
}

.aimg .iph{
  height:100%;
  aspect-ratio:16/9;
}

.ab{
  padding:2.1rem;
}

.acat{
  font-size:.54rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.35rem;
}

.aname{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.25rem;
}

.asize{
  font-size:.62rem;
  letter-spacing:.2em;
  color:var(--white-dim);
  text-transform:uppercase;
  margin-bottom:.9rem;
}

.afeat{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:1.1rem;
}

.atag{
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--white-dim);
  border:1px solid rgba(200,169,110,.14);
  padding:.28rem .65rem;
  transition:border-color var(--silk),color var(--silk);
}

.ac:hover .atag{
  border-color:rgba(200,169,110,.3);
  color:var(--gold);
}

.adesc{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.75;
  margin-bottom:1.4rem;
}

.apr{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.aprice{
  font-size:.66rem;
  color:var(--white-dim);
}

.aprice strong{
  font-family:'Cormorant Garamond',serif;
  font-size:1.65rem;
  color:var(--gold);
  font-weight:400;
  margin-right:.15rem;
}

/* ──────────── LAGE ──────────── */
.locsplit{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:start;
}

.maph{
  width:100%;
  aspect-ratio:4/3;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.9rem;
  color:var(--gold);
  opacity:.48;
  cursor:pointer;
  transition:opacity var(--silk),border-color var(--silk);
}

.maph:hover{
  opacity:.78;
  border-color:rgba(200,169,110,.25);
}

.maph svg{
  width:38px;
  height:38px;
}
.maph span{
  font-size:.6rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--white-dim);
}

.locinfo p{
  color:var(--white-dim);
  line-height:1.9;
  font-size:.88rem;
  margin-top:1.1rem;
}

.locl{
  margin-top:1.8rem;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

.locli{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
}

.locli svg{
  width:17px;
  height:17px;
  color:var(--gold);
  flex-shrink:0;
  margin-top:2px;
}

.locli span{
  font-size:.82rem;
  color:var(--white-dim);
  line-height:1.6;
}

.poig{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:3rem;
}

.poic{
  padding:1.7rem 1.4rem;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.1);
  transition:border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp);
}

.poic:hover{
  border-color:rgba(200,169,110,.3);
  transform:translateY(-5px);
}

.poiic{
  width:30px;
  height:30px;
  color:var(--gold);
  margin-bottom:.8rem;
  transition:transform var(--silk);
}

.poic:hover .poiic{
  transform:scale(1.12);
}

.poiic svg{
  width:100%;
  height:100%;
}

.poin{
  font-size:.67rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--white);
  font-weight:500;
  margin-bottom:.25rem;
}

.poid{
  font-size:.74rem;
  color:var(--white-dim);
}

/* ──────────── KONTAKT ──────────── */
.kg{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:6rem;
  align-items:start;
}

.kinfo{
  margin-top:1.8rem;
}

.kb{
  margin-bottom:2.3rem;
}

.kb h4{
  font-size:.6rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:.6rem;
}

.kb p,.kb a{
  font-size:.86rem;
  color:var(--white-dim);
  line-height:1.8;
  display:block;
}

.kb a{
  transition:color var(--silk);
}
.kb a:hover{
  color:var(--gold);
}

.kform{
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.15);
  padding:2.8rem;
}

.ff{
  display:flex;
  flex-direction:column;
  margin-bottom:.9rem;
}

.ff label{
  font-size:.57rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4rem;
}

.ff input,.ff select,.ff textarea{
  background:rgba(200,169,110,.04);
  border:1px solid rgba(200,169,110,.15);
  color:var(--white);
  padding:.82rem .95rem;
  font-family:'Jost',sans-serif;
  font-size:.83rem;
  font-weight:300;
  outline:none;
  transition:border-color var(--silk),background var(--silk);
  resize:vertical;
}

.ff input:focus,.ff select:focus,.ff textarea:focus{
  border-color:var(--gold);
  background:rgba(200,169,110,.07);
}

.ff textarea{
  min-height:110px;
}

.ff input::placeholder{
  color:var(--white-dim);
}

.ff select option{
  background:var(--black);
}

.fr{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
}

/* ──────────── BOOKING ──────────── */
.bwrap{
  margin-top:2.8rem;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.18);
  padding:3.2rem 2.8rem;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  transition:box-shadow var(--silk);
}

.bwrap:hover{
  box-shadow:0 0 60px rgba(200,169,110,.06);
}

.bpl{
  font-size:.58rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.75rem;
  display:block;
}

.bfr{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:.9rem;
  margin-top:1.3rem;
}

.bff{
  display:flex;
  flex-direction:column;
}

.bff label{
  font-size:.56rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4rem;
}

.bff input,.bff select{
  background:rgba(200,169,110,.04);
  border:1px solid rgba(200,169,110,.16);
  color:var(--white);
  padding:.8rem .9rem;
  font-family:'Jost',sans-serif;
  font-size:.82rem;
  font-weight:300;
  outline:none;
  transition:border-color var(--silk),background var(--silk);
}

.bff input:focus,.bff select:focus{
  border-color:var(--gold);
  background:rgba(200,169,110,.07);
}

.bff select option{
  background:var(--black);
}

/* ──────────── LEGAL ──────────── */
.lw{
  max-width:800px;
  margin:0 auto;
  padding:5rem 3rem;
}

.lw h2{
  font-family:'Cormorant Garamond',serif;
  font-size:1.9rem;
  font-weight:300;
  color:var(--white);
  margin:2.3rem 0 .7rem;
}

.lw h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:400;
  color:var(--gold-light);
  margin:1.8rem 0 .4rem;
}

.lw p,.lw li{
  font-size:.83rem;
  color:var(--white-dim);
  line-height:1.95;
  margin-bottom:.65rem;
}

.lw ul{
  padding-left:1.4rem;
  margin-bottom:.9rem;
}
.lw ul li{
  list-style:disc;
}

.ldiv{
  height:1px;
  background:rgba(200,169,110,.12);
  margin:2rem 0;
}


/* ═══════════════════════════════════════════
   IMAGE SLIDER (auto-rotating with Ken-Burns)
═══════════════════════════════════════════ */
.slider{
  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--black-soft);
}
.slider-track{
  position:absolute;
  inset:0;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1.4s var(--silk);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  color:var(--gold);
  border:1px solid rgba(200,169,110,.06);
}
.slide.active{
  opacity:1;
  transform:scale(1);
  transition:opacity 1.4s var(--silk), transform 6s ease-out;
}
.slide-icon{
  width:34px;
  height:34px;
  opacity:.4;
}
.slide-label{
  font-size:.58rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--white-dim);
  opacity:.7;
}
/* Gradient variants so slides feel like different scenes */
.slide-v1{background:linear-gradient(135deg,#2c2520 0%,#1f1c1a 100%);}
.slide-v2{background:linear-gradient(135deg,#22221e 0%,#2d2823 100%);}
.slide-v3{background:linear-gradient(135deg,#2a2421 0%,#1a1816 60%,#2e2620 100%);}
.slide-v4{background:linear-gradient(135deg,#1e1d1a 0%,#2a2520 100%);}
.slide-v5{background:linear-gradient(135deg,#2d2622 0%,#23211e 100%);}

/* Indicator dots */
.slider-dots{
  position:absolute;
  bottom:1rem;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:.45rem;
  z-index:2;
}
.slider-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.3);
  cursor:pointer;
  transition:background 0.45s var(--silk),transform 0.45s var(--exp);
}
.slider-dot.active{
  background:var(--gold);
  transform:scale(1.4);
}

/* Subtle overlay for label readability */
.slide::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.45));
  pointer-events:none;
}



/* ═══════════════════════════════════════════
   APARTMENTS – ZIGZAG ROWS (alternating)
═══════════════════════════════════════════ */
.apt-rows{
  display:flex;
  flex-direction:column;
  gap:5rem;
}
.apt-row{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:3rem;
  align-items:center;
}
.apt-row-right .apt-row-img{
  order:2;
}
.apt-row-right .apt-row-info{
  order:1;
}
.apt-row-img{
  position:relative;
}
.apt-row-info{
  padding:2.2rem;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.18);
  display:flex;
  flex-direction:column;
  gap:.55rem;
  transition:border-color var(--dur-fast) var(--silk),box-shadow 0.6s var(--exp);
}
.apt-row:hover .apt-row-info{
  border-color:rgba(200,169,110,.35);
  box-shadow:0 14px 40px rgba(0,0,0,.35);
}
.apt-row-cat{
  font-size:.58rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
}
.apt-row-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.85rem;
  font-weight:400;
  color:var(--white);
  line-height:1.1;
}
.apt-row-meta{
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--white-dim);
  margin-bottom:.4rem;
}
.apt-row-tagline{
  font-size:.88rem;
  color:var(--white-dim);
  line-height:1.7;
  font-style:italic;
  margin-bottom:.4rem;
}
.apt-row-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.55rem .9rem;
  margin:.6rem 0 .8rem;
  padding:1rem 0;
  border-top:1px solid rgba(200,169,110,.12);
  border-bottom:1px solid rgba(200,169,110,.12);
}
.apt-feat-item{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-size:.78rem;
  color:var(--white-dim);
}
.apt-feat-dot{
  width:5px;
  height:5px;
  background:var(--gold);
  border-radius:50%;
  flex-shrink:0;
}
.apt-row-selling h5{
  font-size:.55rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:.55rem;
}
.apt-row-selling ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.apt-row-selling li{
  font-size:.78rem;
  color:var(--white-dim);
  line-height:1.55;
  padding-left:1rem;
  position:relative;
}
.apt-row-selling li::before{
  content:'›';
  position:absolute;
  left:0;
  color:var(--gold);
  font-weight:600;
}
.apt-row-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:.9rem;
  padding-top:1rem;
  border-top:1px solid rgba(200,169,110,.12);
}
.apt-row-price{
  font-size:.7rem;
  color:var(--white-dim);
}
.apt-row-price strong{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  color:var(--gold);
  font-weight:400;
  margin-right:.1rem;
}

/* Image zoom effect on row hover */
.apt-row-img .slider{
  transition:transform 0.7s var(--exp),box-shadow 0.7s var(--exp);
}
.apt-row:hover .apt-row-img .slider{
  transform:translateY(-4px);
  box-shadow:0 18px 50px rgba(0,0,0,.4);
}

/* Corporate banner */
.apt-corporate{
  margin-top:4rem;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.15);
  padding:2.2rem 2rem;
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.apt-corporate-text{flex:1;min-width:200px;}
.apt-corporate-eyebrow{
  font-size:.58rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.4rem;
}
.apt-corporate-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
  font-weight:400;
  color:var(--white);
  margin-bottom:.4rem;
}
.apt-corporate p{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.7;
}

@media(max-width:960px){
  .apt-row{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .apt-row-right .apt-row-img,
  .apt-row-right .apt-row-info{order:initial;}
  .apt-rows{gap:4rem;}
}
@media(max-width:640px){
  .apt-row-info{padding:1.7rem;}
  .apt-row-features{grid-template-columns:1fr;}
  .apt-rows{gap:3rem;}
}


/* Header responsive — smaller, hamburger appears */
@media(max-width:960px){
  nav{padding:.9rem 1.5rem;min-height:auto;}
  nav.sc{padding:.7rem 1.5rem;}
  .nav-logo-main{white-space:normal;font-size:clamp(1.2rem,4.5vw,1.7rem);line-height:1.15;letter-spacing:.05em;}
  .nav-logo-sub{margin-top:.35rem;font-size:.62rem;letter-spacing:.32em;}
  .nav-inner{align-items:center;gap:.8rem;}
  .nav-logo{text-align:center;}
}
@media(max-width:640px){
  nav{padding:.8rem 1.1rem;}
  .nav-logo-main{font-size:1rem;letter-spacing:.07em;}
  .nav-logo-sub{letter-spacing:.32em;font-size:.5rem;}
}


/* ═══════════════════════════════════════════
   LONGSTAY PAGE
═══════════════════════════════════════════ */
.ls-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin:0 auto 5rem;
  max-width:1100px;
}
.ls-benefit{
  padding:1.8rem 1.5rem;
  border:1px solid rgba(200,169,110,.15);
  background:var(--black-card);
  transition:border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp),background var(--dur-fast) var(--silk);
}
.ls-benefit:hover{
  border-color:rgba(200,169,110,.4);
  transform:translateY(-4px);
  background:rgba(200,169,110,.03);
}
.ls-benefit-icon{
  width:32px;
  height:32px;
  color:var(--gold);
  margin-bottom:.9rem;
  transition:transform 0.5s var(--exp);
}
.ls-benefit:hover .ls-benefit-icon{
  transform:scale(1.12);
}
.ls-benefit-icon svg{width:100%;height:100%;}
.ls-benefit h4{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--white);
  font-weight:500;
  margin-bottom:.5rem;
  line-height:1.3;
}
.ls-benefit p{
  font-size:.78rem;
  color:var(--white-dim);
  line-height:1.6;
}

/* Form wrapper */
.ls-form-wrap{
  max-width:780px;
  margin:0 auto;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.2);
  padding:3rem 2.5rem;
  position:relative;
}
.ls-form-wrap::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
}
.ls-form-header{
  text-align:center;
  margin-bottom:2.2rem;
}
.ls-form-header .sl,.ls-form-header .st{display:inline-block;}
.ls-form-header p{margin-left:auto;margin-right:auto;}

/* Tabs */
.ls-tabs{
  display:flex;
  gap:0;
  border:1px solid rgba(200,169,110,.2);
  margin-bottom:2.2rem;
  background:rgba(28,28,30,.6);
}
.ls-tab{
  flex:1;
  background:transparent;
  border:none;
  color:var(--white-dim);
  padding:1rem 1.4rem;
  font-family:'Jost',sans-serif;
  font-size:.7rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:500;
  cursor:pointer;
  position:relative;
  transition:color 0.4s var(--silk),background 0.4s var(--exp);
}
.ls-tab + .ls-tab{
  border-left:1px solid rgba(200,169,110,.15);
}
.ls-tab:hover{color:var(--gold);}
.ls-tab.active{
  color:var(--black);
  background:var(--gold);
}

/* Forms */
.ls-form{
  display:none;
  flex-direction:column;
  gap:0;
}
.ls-form-active{display:flex;}
.ls-form .ff{margin-bottom:1rem;}
.ls-form .fr{margin-bottom:0;}
.ls-form .fr .ff{margin-bottom:1rem;}
.req{color:var(--gold);opacity:.7;font-size:.75em;}

/* Success state */
.ls-success{
  text-align:center;
  padding:2rem 1rem;
}
.ls-success svg{
  width:48px;height:48px;color:var(--gold);margin:0 auto 1.2rem;
}
.ls-success h4{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;font-weight:300;color:var(--white);
  margin-bottom:.7rem;
}
.ls-success p{
  font-size:.88rem;color:var(--white-dim);line-height:1.7;
}

@media(max-width:960px){
  .ls-benefits{grid-template-columns:1fr 1fr;gap:.9rem;}
  .ls-form-wrap{padding:2.4rem 1.8rem;}
}
@media(max-width:640px){
  .ls-benefits{grid-template-columns:1fr;}
  .ls-tabs{flex-direction:column;}
  .ls-tab + .ls-tab{border-left:none;border-top:1px solid rgba(200,169,110,.15);}
  .ls-form-wrap{padding:2rem 1.4rem;}
}

/* ──────────── RESPONSIVE ──────────── */
@media(max-width:1100px){
  .nav-links{
    gap:1.1rem;
  }
}

@media(max-width:960px){
  nav{
    padding:0 1.5rem;
  }
  .nav-links{
    display:none;
  }
  .nav-hb{
    display:flex;
  }
  .intro-grid,.sg,.locsplit,.kg{
    grid-template-columns:1fr;
    gap:3rem;
  }
  .intro-img::before{
    display:none;
  }
  .amh{
    grid-template-columns:1fr;
    gap:1.4rem;
  }
  .amg{
    grid-template-columns:repeat(2,1fr);
  }
  .ami:nth-child(3n){
    border-right:1px solid rgba(200,169,110,.12);
  }
  .ami:nth-child(2n){
    border-right:none;
  }
  .ami:nth-last-child(-n+2){
    border-bottom:1px solid rgba(200,169,110,.12);
  }
  .ami:nth-last-child(-n+2){
    border-bottom:none;
  }
  .rg{
    grid-template-columns:1fr 1fr;
  }
  .ag{
    grid-template-columns:1fr;
  }
  .si{
    grid-template-columns:repeat(3,1fr);
  }
  .fg{
    grid-template-columns:1fr 1fr;
    gap:2.5rem;
  }
  .tgrid{
    grid-template-columns:1fr 1fr;
  }
  .vg{
    grid-template-columns:1fr 1fr;
  }
  .teg{
    grid-template-columns:1fr 1fr;
  }
  .poig{
    grid-template-columns:1fr 1fr;
  }
  .bfr{
    grid-template-columns:1fr 1fr;
  }
}

/* ──────────── INQUIRY FORM ──────────── */
.inq-outer{
  padding:3.5rem 3rem 0;
  max-width:1200px;
  margin:0 auto;
}

.inq-intro{
  margin-bottom:2.2rem;
}

.inq-intro-eyebrow{
  font-size:.58rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  display:block;
  margin-bottom:.6rem;
}

.inq-intro-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:300;
  color:var(--white);
  line-height:1.1;
}

.inq-intro-title em{
  font-style:italic;
  color:var(--gold-light);
}

.inq-intro-sub{
  font-size:.84rem;
  color:var(--white-dim);
  line-height:1.8;
  margin-top:.7rem;
  max-width:560px;
}

.inq-layout{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:3.5rem;
  align-items:start;
}

.inq-contact{
  padding-top:.5rem;
}

.inq-contact-items{
  display:flex;
  flex-direction:column;
  gap:1.8rem;
  margin-top:1rem;
}

.inq-ci{
  display:flex;
  align-items:flex-start;
  gap:1.1rem;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform 0.5s var(--exp);
}

.inq-ci:hover{
  transform:translateX(4px);
}

.inq-ci-icon{
  width:42px;
  height:42px;
  flex-shrink:0;
  border:1px solid rgba(200,169,110,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  margin-top:2px;
  transition:background 0.45s var(--exp),border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp);
}

.inq-ci:hover .inq-ci-icon{
  background:rgba(200,169,110,.1);
  border-color:rgba(200,169,110,.45);
  transform:scale(1.08);
}

.inq-ci-icon svg{
  width:18px;
  height:18px;
}

.inq-ci-icon-wa svg{
  width:22px;
  height:22px;
}

.inq-ci-text{
  display:flex;
  flex-direction:column;
}

.inq-ci-h{
  font-size:.6rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:400;
  margin-bottom:.3rem;
}

.inq-ci-d{
  font-size:.84rem;
  color:var(--white-dim);
  line-height:1.65;
  display:block;
  transition:color var(--dur-fast) var(--silk);
}

.inq-ci:hover .inq-ci-d{
  color:var(--gold);
}

.inq-card{
  width:100%;
  background:var(--black-card);
  border:1px solid rgba(200,169,110,.22);
  padding:2.4rem 2.2rem;
  position:relative;
  transition:box-shadow 0.6s var(--exp);
}

.inq-card:hover{
  box-shadow:0 0 60px rgba(200,169,110,.09);
}

.inq-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
}

.inq-label{
  font-size:.58rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.4rem;
  display:block;
}

.inq-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:300;
  color:var(--white);
  margin-bottom:1.6rem;
  line-height:1.2;
}

.inq-title em{
  font-style:italic;
  color:var(--gold-light);
}

.inq-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  margin-bottom:.7rem;
}

.inq-field{
  display:flex;
  flex-direction:column;
}

.inq-field label{
  font-size:.54rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.38rem;
  display:flex;
  align-items:center;
  gap:.3rem;
}

.inq-field label .req{
  color:var(--gold);
  opacity:.6;
  font-size:.7rem;
}

.inq-field input,.inq-field textarea{
  background:rgba(200,169,110,.04);
  border:1px solid rgba(200,169,110,.15);
  color:var(--white);
  padding:.75rem .9rem;
  font-family:'Jost',sans-serif;
  font-size:.82rem;
  font-weight:300;
  outline:none;
  transition:border-color var(--silk),background var(--silk);
  -webkit-appearance:none;
}

.inq-field input::placeholder,.inq-field textarea::placeholder{
  color:rgba(200,192,176,.35);
}

.inq-field input:focus,.inq-field textarea:focus{
  border-color:var(--gold);
  background:rgba(200,169,110,.07);
}

.inq-field input.err,.inq-field textarea.err{
  border-color:#c0504a!important;
  background:rgba(192,80,74,.05)!important;
}

.inq-field textarea{
  min-height:88px;
  resize:vertical;
  margin-bottom:.7rem;
}

.inq-note{
  font-size:.65rem;
  color:rgba(200,192,176,.38);
  margin-bottom:.8rem;
  line-height:1.6;
}

/* checkbox */
.inq-check-wrap{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  cursor:pointer;
  margin-bottom:1.1rem;
  padding:.7rem .8rem;
  border:1px solid rgba(200,169,110,.12);
  transition:border-color var(--silk),background var(--silk);
}

.inq-check-wrap:hover{
  border-color:rgba(200,169,110,.3);
  background:rgba(200,169,110,.03);
}

.inq-check-wrap.err{
  border-color:#c0504a!important;
  background:rgba(192,80,74,.05)!important;
}

.inq-check-wrap input[type="checkbox"]{
  display:none;
}

.inq-checkmark{
  flex-shrink:0;
  width:16px;
  height:16px;
  border:1px solid rgba(200,169,110,.35);
  background:transparent;
  margin-top:1px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background var(--silk),border-color var(--silk);
  position:relative;
}

.inq-check-wrap input:checked + .inq-checkmark{
  background:var(--gold);
  border-color:var(--gold);
}

.inq-check-wrap input:checked + .inq-checkmark::after{
  content:'';
  display:block;
  width:4px;
  height:7px;
  border-right:1.5px solid var(--black);
  border-bottom:1.5px solid var(--black);
  transform:rotate(42deg);
  margin-top:-2px;
}

.inq-check-label{
  font-size:.7rem;
  color:var(--white-dim);
  line-height:1.6;
}

.inq-check-label a{
  color:var(--gold);
  transition:opacity var(--silk);
}
.inq-check-label a:hover{
  opacity:.7;
}

.inq-check-label .req{
  color:var(--gold);
  opacity:.6;
  font-size:.7rem;
}

.inq-submit{
  width:100%;
  background:var(--gold);
  color:var(--black);
  border:none;
  padding:.9rem 1rem;
  font-size:.64rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:600;
  transition:background var(--silk),transform var(--silk),box-shadow var(--silk);
  position:relative;
}

.inq-submit:hover{
  background:var(--gold-light);
  transform:translateY(-1px);
  box-shadow:0 6px 22px rgba(200,169,110,.28);
}

.inq-submit:disabled{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}

.inq-success{
  display:none;
  text-align:center;
  padding:1.5rem 0 .5rem;
}

.inq-success svg{
  width:40px;
  height:40px;
  color:var(--gold);
  margin:0 auto 1rem;
}

.inq-success h4{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  font-weight:300;
  color:var(--white);
  margin-bottom:.5rem;
}

.inq-success p{
  font-size:.8rem;
  color:var(--white-dim);
  line-height:1.7;
}

@media(max-width:960px){
  .inq-outer{
    padding:3rem 1.5rem 0;
  }
  .inq-layout{
    grid-template-columns:1fr;
  }
  .inq-contact{
    order:2;
    padding-top:0;
  }
  .inq-card{
    order:1;
  }
  .inq-contact-items{
    flex-direction:row;
    flex-wrap:wrap;
    gap:1.2rem;
  }
  .inq-ci{
    flex:1;
    min-width:180px;
  }
}

@media(max-width:640px){
  .inq-outer{
    padding:2.5rem 1.5rem 0;
  }
  .inq-row{
    grid-template-columns:1fr;
  }
  .inq-contact-items{
    flex-direction:column;
  }
}

@media(max-width:640px){
  :root{
    --nav-h:62px;
  }
  .sw{
    padding:5rem 1.5rem;
  }
  .h-content{
    padding:0 1.5rem;
  }
  #hero{
    padding-bottom:5rem;
  }
  .h-ctas{
    flex-direction:column;
    align-items:flex-start;
  }
  .amg{
    grid-template-columns:1fr;
  }
  .ami{
    border-right:none!important;
    border-bottom:1px solid rgba(200,169,110,.12)!important;
  }
  .ami:last-child{
    border-bottom:none!important;
  }
  .rg,.ag{
    grid-template-columns:1fr;
  }
  .tgrid{
    grid-template-columns:1fr;
  }
  .vg{
    grid-template-columns:1fr;
  }
  .teg{
    grid-template-columns:1fr 1fr;
  }
  .poig{
    grid-template-columns:1fr;
  }
  .fg{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .fbot{
    flex-direction:column;
    gap:.7rem;
    text-align:center;
  }
  .csi{
    flex-direction:column;
    text-align:center;
  }
  .bfr{
    grid-template-columns:1fr;
  }
  .fr{
    grid-template-columns:1fr;
  }
  nav{
    padding:0 1.1rem;
  }
  #sbar{
    padding:2.5rem 1.5rem;
  }
  .si{
    grid-template-columns:1fr;
  }
  .sitem+.sitem{
    border-left:none;
    border-top:1px solid rgba(200,169,110,.14);
    padding-top:2rem;
    margin-top:2rem;
  }
  .mob-menu a{
    font-size:1.75rem;
  }
  .lw{
    padding:4rem 1.5rem;
  }
  .kg{
    grid-template-columns:1fr;
  }
  .ph-c{
    padding:0 1.5rem;
  }
}

/* Apartments grid: full-width Deluxe card behavior on mobile */
@media(max-width:960px){
  .ag .ac[style*="grid-column:1/-1"]{
    max-width:100%!important;
    width:auto!important;
    margin:0!important;
  }
}
/* ── VALUE CARDS (icon + accordion text) ── */
.val-card{
  padding:2rem 1.8rem;
  border:1px solid rgba(200,169,110,.18);
  background:var(--black-card);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  transition:border-color var(--dur-fast) var(--silk),transform 0.5s var(--exp),box-shadow 0.5s var(--exp);
}
.val-card:hover{
  border-color:rgba(200,169,110,.4);
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(0,0,0,.35);
}
.val-icon{
  width:38px;
  height:38px;
  color:var(--gold);
  margin-bottom:.6rem;
  transition:transform 0.5s var(--exp);
}
.val-card:hover .val-icon{
  transform:scale(1.08);
}
.val-icon svg{
  width:100%;
  height:100%;
}
.val-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;
  font-weight:400;
  color:var(--white);
}
.val-desc{
  font-size:.82rem;
  color:var(--white-dim);
  line-height:1.8;
  max-height:0;
  opacity:0;
  overflow:hidden;
  margin-top:0;
  transition:max-height 0.55s var(--exp),opacity 0.45s var(--silk),margin-top 0.5s var(--exp);
}
.val-card.open .val-desc{
  max-height:400px;
  opacity:1;
  margin-top:.4rem;
}
.val-toggle{
  margin-top:.9rem;
  background:transparent;
  border:none;
  color:var(--gold);
  cursor:pointer;
  font-family:'Jost',sans-serif;
  font-size:.58rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:0;
  transition:color var(--dur-fast) var(--silk);
}
.val-toggle:hover{
  color:var(--gold-light);
}
.val-toggle-icon{
  width:22px;
  height:22px;
  border:1px solid var(--gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.95rem;
  font-weight:300;
  font-family:'Cormorant Garamond',serif;
  transition:background 0.4s var(--exp),color 0.4s var(--silk),transform 0.5s var(--exp);
}
.val-card.open .val-toggle-icon{
  background:var(--gold);
  color:var(--black);
  transform:rotate(45deg);
}

