/* =========================================================
   ALICE PROPERTIES — Design System
   Palette: Midnight Navy / Royal Gold / Ivory / Deep Maroon
   Display: Cormorant Garamond & Cinzel | Body: Jost
   Signature: pointed jharokha-arch frames + gold jali linework
   ========================================================= */

:root{
  --navy-950:#01101F;
  --navy-900:#071B2E;
  --navy-800:#0E2A46;
  --navy-700:#173251;
  --navy-600:#1E3A5C;

  --gold-300:#F2D98A;
  --gold-400:#E8C766;
  --gold-500:#D4AF37;
  --gold-600:#B4922B;

  --maroon-700:#6E1B27;
  --maroon-600:#8A2432;

  --ivory-50:#FBF8F1;
  --ivory-100:#F4EEE0;
  --ink-900:#1B2027;
  --ink-700:#3B4250;
  --ink-500:#6B7280;

  --line-gold: rgba(212,175,55,0.35);

  --font-display:'Cormorant Garamond', serif;
  --font-eyebrow:'Cinzel', serif;
  --font-body:'Jost', sans-serif;

  --container: 1240px;
  --radius-sm: 4px;
  --radius-md: 10px;
  --shadow-gold: 0 18px 40px -18px rgba(212,175,55,0.35);
  --shadow-dark: 0 20px 50px -20px rgba(1,16,31,0.55);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  overflow-x:hidden;
  font-family:var(--font-body);
  color:var(--ink-700);
  background:var(--ivory-50);
  -webkit-font-smoothing:antialiased;
  font-weight:300;
  line-height:1.7;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--navy-900);
  margin:0 0 .5em;
  font-weight:600;
  letter-spacing:.01em;
}
h1{ font-size:clamp(2.6rem,5vw,4.2rem); line-height:1.05; font-weight:600; }
h2{ font-size:clamp(2rem,3.4vw,2.9rem); line-height:1.15; }
h3{ font-size:1.5rem; }
p{ margin:0 0 1em; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:inherit; font-size:1rem; }

.container{ max-width:var(--container); margin:0 auto; padding:0 28px; }

.eyebrow{
  font-family:var(--font-eyebrow);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--gold-600);
  display:inline-flex;
  align-items:center;
  gap:.9em;
  margin-bottom:1.1em;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--gold-500); display:inline-block; }
.on-dark .eyebrow{ color:var(--gold-400); }
.on-dark .eyebrow::before{ background:var(--gold-400); }

/* ---- Ornamental divider (signature flourish, echoes logo emblem) ---- */
.flourish{ display:flex; align-items:center; justify-content:center; gap:14px; margin:22px 0 34px; }
.flourish::before,.flourish::after{ content:""; height:1px; width:64px; background:linear-gradient(90deg, transparent, var(--gold-500)); }
.flourish::after{ background:linear-gradient(90deg, var(--gold-500), transparent); }
.flourish i{ width:9px; height:9px; border:1px solid var(--gold-500); transform:rotate(45deg); display:block; }
.flourish.center-only::before,.flourish.center-only::after{ width:40px; }
.section-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.section-head p{ color:var(--ink-500); font-size:1.05rem; }

/* ---- Buttons ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--font-eyebrow); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  padding:1.05em 2.1em; border-radius:2px; border:1px solid transparent; cursor:pointer;
  transition:all .35s var(--ease);
  white-space:nowrap;
}
.btn-gold{ background:linear-gradient(180deg,var(--gold-400),var(--gold-600)); color:var(--navy-950); box-shadow:var(--shadow-gold); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 22px 44px -16px rgba(212,175,55,0.55); }
.btn-outline{ border-color:var(--gold-500); color:var(--gold-600); background:transparent; }
.btn-outline:hover{ background:var(--gold-500); color:var(--navy-950); }
.on-dark .btn-outline{ border-color:var(--gold-400); color:var(--gold-300); }
.on-dark .btn-outline:hover{ background:var(--gold-400); color:var(--navy-950); }
.btn-ghost{ color:var(--navy-800); border-bottom:1px solid var(--gold-500); border-radius:0; padding:.4em 0; letter-spacing:.16em; }
.btn-ghost:hover{ color:var(--gold-600); }
.btn-sm{ padding:.75em 1.5em; font-size:.66rem; }
.btn-block{ width:100%; }

/* ================= HEADER ================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:20px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.site-header .topbar{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  font-family:var(--font-eyebrow); font-size:.68rem; letter-spacing:.14em; color:var(--gold-300);
  max-width:var(--container); margin:0 auto 16px; padding:0 28px; opacity:.85;
}
.topbar a{ color:inherit; }
.topbar .tb-links{ display:flex; gap:26px; }
.site-header.solid{ background:var(--navy-950); padding:12px 0; box-shadow:0 12px 30px -18px rgba(0,0,0,.5); }
.site-header.solid .topbar{ display:none; }

.nav-row{ display:flex; align-items:center; justify-content:space-between; max-width:var(--container); margin:0 auto; padding:0 28px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:52px; width:auto; transition:height .4s var(--ease); }
.site-header.solid .brand img{ height:42px; }

.main-nav{ display:flex; align-items:center; gap:40px; }
.main-nav ul{ display:flex; gap:34px; }
.main-nav a{
  font-family:var(--font-eyebrow); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ivory-100); position:relative; padding:6px 0;
}
.main-nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-400); transition:width .3s var(--ease); }
.main-nav a:hover::after,.main-nav a.active::after{ width:100%; }
.main-nav a.active{ color:var(--gold-400); }

.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; }
.nav-toggle span{ width:26px; height:1px; background:var(--gold-400); display:block; }

@media (max-width:960px){
  .topbar{ display:none !important; }
  .main-nav{ position:fixed; inset:0 0 0 auto; width:min(320px,86vw); height:100vh;
    background:var(--navy-950); flex-direction:column; align-items:flex-start; padding:110px 34px 40px;
    transform:translateX(100%); transition:transform .45s var(--ease); box-shadow:-20px 0 50px rgba(0,0,0,.4); }
  .main-nav.open{ transform:translateX(0); }
  .main-nav ul{ flex-direction:column; gap:26px; }
  .nav-toggle{ display:flex; }
  .nav-cta{ margin-top:30px; }
}

/* ================= HERO ================= */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse at 50% -10%, var(--navy-800) 0%, var(--navy-950) 62%);
  overflow:hidden; text-align:center; color:var(--ivory-100); padding-top:120px;
}
.hero::before{
  content:""; position:absolute; inset:0; opacity:.16;
  background-image:url('../assets/images/jali-pattern.svg'); background-size:200px;
  mask-image:radial-gradient(ellipse at 50% 30%, black 0%, transparent 72%);
}
.hero-inner{ position:relative; z-index:2; max-width:840px; padding:0 28px; }
.hero-emblem{ width:64px; margin:0 auto 26px; opacity:.9; }
.hero h1{ color:var(--ivory-50); }
.hero h1 em{ font-style:italic; color:var(--gold-400); }
.hero-sub{ color:#C9D2DE; font-size:1.15rem; max-width:560px; margin:20px auto 40px; }
.hero-cta{ display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
.hero-scroll{ position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--gold-400); font-family:var(--font-eyebrow); font-size:.62rem; letter-spacing:.3em; }
.hero-scroll .line{ width:1px; height:46px; background:linear-gradient(var(--gold-400), transparent); animation:scrollLine 2.2s infinite var(--ease); }
@keyframes scrollLine{ 0%{ transform:scaleY(0); transform-origin:top; } 50%{ transform:scaleY(1); transform-origin:top; } 51%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }
@media (max-width:640px){
  .hero{ padding-bottom:110px; }
  .hero-scroll{ display:none; }
}

.page-hero{
  position:relative; padding:210px 0 110px; text-align:center; color:var(--ivory-50);
  background:radial-gradient(ellipse at 50% 0%, var(--navy-800), var(--navy-950) 70%);
  overflow:hidden;
}
.page-hero::before{ content:""; position:absolute; inset:0; opacity:.14; background-image:url('../assets/images/jali-pattern.svg'); background-size:160px; }
.page-hero .container{ position:relative; z-index:2; }
.breadcrumb{ font-family:var(--font-eyebrow); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-300); }
.breadcrumb a{ color:var(--gold-400); }
.breadcrumb span{ opacity:.55; margin:0 8px; }
.page-hero h1{ color:var(--ivory-50); margin-top:14px; }
.page-hero p{ color:#C9D2DE; max-width:640px; margin:14px auto 0; }

/* ================= STATS STRIP ================= */
.stats-strip{ background:var(--navy-950); padding:64px 0; position:relative; }
.stats-strip::after{ content:""; position:absolute; inset:0; background-image:url('../assets/images/jali-pattern.svg'); background-size:220px; opacity:.06; }
.stats-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:30px; text-align:center; }
.stat-num{ font-family:var(--font-display); font-size:clamp(2.1rem,3.4vw,3rem); color:var(--gold-400); font-weight:600; }
.stat-label{ font-family:var(--font-eyebrow); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:#C9D2DE; margin-top:6px; }

/* ================= SECTIONS ================= */
.section{ padding:110px 0; }
.section-tight{ padding:80px 0; }
.bg-navy{ background:var(--navy-950); color:#C9D2DE; }
.bg-ivory{ background:var(--ivory-100); }
.bg-white{ background:#fff; }

/* ================= ABOUT / SPLIT ================= */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
@media (max-width:860px){ .split{ grid-template-columns:1fr; gap:40px; } }
.split-media{ position:relative; }
.arch-frame{
  position:relative; aspect-ratio:4/5; overflow:hidden;
  background:linear-gradient(155deg,var(--navy-800),var(--navy-950));
  clip-path:url(#jharokhaClip);
  display:flex; align-items:flex-end; justify-content:center;
}
.arch-frame img{ width:78%; opacity:.92; margin-bottom:8%; }
.arch-frame .frame-tag{
  position:absolute; bottom:24px; left:24px; right:24px; z-index:2;
  font-family:var(--font-eyebrow); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-300);
}
.split-media::before{
  content:""; position:absolute; top:22px; left:22px; right:-22px; bottom:-22px; z-index:-1;
  border:1px solid var(--line-gold);
}
.stat-mini-row{ display:flex; gap:34px; margin-top:34px; flex-wrap:wrap; }
.stat-mini b{ display:block; font-family:var(--font-display); font-size:2rem; color:var(--navy-900); }
.stat-mini span{ font-family:var(--font-eyebrow); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500); }

/* ================= CARDS: PROPERTY ================= */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:36px; }
@media (max-width:960px){ .grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .grid-3,.grid-2{ grid-template-columns:1fr; } }

.property-card{
  background:#fff; border:1px solid rgba(27,32,39,.06);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.property-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-dark); }
.pc-media{ position:relative; aspect-ratio:4/3; background:var(--ivory-100); }
.pc-media-visual{
  position:absolute; inset:0; background:linear-gradient(160deg,var(--navy-800),var(--navy-950));
  clip-path:url(#jharokhaClipWide);
  display:flex; align-items:flex-end; justify-content:center; overflow:hidden;
}
.pc-media img{ width:88%; margin-bottom:6%; opacity:.95; }
.pc-tag{
  position:absolute; top:18px; left:0; background:var(--gold-500); color:var(--navy-950);
  font-family:var(--font-eyebrow); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 16px 6px 14px; clip-path:polygon(0 0,100% 0,88% 100%,0 100%);
}
.pc-status{ position:absolute; top:18px; right:16px; font-family:var(--font-eyebrow); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-300); border:1px solid var(--line-gold); padding:5px 12px; background:rgba(1,16,31,.4);}
.pc-body{ padding:28px 26px 30px; }
.pc-loc{ font-family:var(--font-eyebrow); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-600); display:flex; align-items:center; gap:6px; margin-bottom:8px;}
.pc-body h3{ margin-bottom:6px; }
.pc-body h3 a{ transition:color .3s; }
.pc-body h3 a:hover{ color:var(--gold-600); }
.pc-specs{ display:flex; gap:18px; margin:16px 0 18px; padding-top:16px; border-top:1px solid rgba(27,32,39,.08); font-size:.86rem; color:var(--ink-500); }
.pc-specs span{ display:flex; align-items:center; gap:6px; }
.pc-foot{ display:flex; align-items:center; justify-content:space-between; }
.pc-price{ font-family:var(--font-display); font-size:1.3rem; color:var(--navy-900); font-weight:600; }
.pc-price small{ font-family:var(--font-body); font-size:.7rem; color:var(--ink-500); font-weight:300; }

/* ================= ICON FEATURE CARDS ================= */
.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(27,32,39,.08); border:1px solid rgba(27,32,39,.08);}
@media (max-width:860px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
.feature-card{ background:#fff; padding:44px 32px; text-align:center; }
.feature-icon{ width:52px; height:52px; margin:0 auto 22px; color:var(--gold-500); }
.feature-icon svg{ width:100%; height:100%; }
.feature-card h4{ font-family:var(--font-display); font-size:1.25rem; margin-bottom:10px; }
.feature-card p{ font-size:.92rem; color:var(--ink-500); margin:0; }

/* ================= TIMELINE ================= */
.timeline{ position:relative; max-width:900px; margin:0 auto; }
.timeline::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--line-gold); transform:translateX(-50%); }
.tl-item{ position:relative; width:50%; padding:0 50px 64px; }
.tl-item:nth-child(odd){ left:0; text-align:right; }
.tl-item:nth-child(even){ left:50%; text-align:left; }
.tl-dot{ position:absolute; top:2px; width:13px; height:13px; background:var(--gold-500); transform:rotate(45deg); }
.tl-item:nth-child(odd) .tl-dot{ right:-7px; }
.tl-item:nth-child(even) .tl-dot{ left:-7px; }
.tl-year{ font-family:var(--font-eyebrow); font-size:.7rem; letter-spacing:.16em; color:var(--gold-600); }
@media (max-width:720px){
  .timeline::before{ left:14px; }
  .tl-item, .tl-item:nth-child(even){ width:100%; left:0; text-align:left; padding:0 0 44px 44px; }
  .tl-item:nth-child(odd) .tl-dot,.tl-item:nth-child(even) .tl-dot{ left:8px; }
}

/* ================= TESTIMONIALS ================= */
.testi-wrap{ max-width:760px; margin:0 auto; text-align:center; position:relative; }
.testi-slide{ display:none; }
.testi-slide.active{ display:block; animation:fadeUp .6s var(--ease); }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }
.testi-quote{ font-family:var(--font-display); font-size:1.6rem; font-style:italic; color:var(--ivory-50); line-height:1.5; }
.testi-name{ margin-top:26px; font-family:var(--font-eyebrow); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-400); }
.testi-role{ color:#93A0B2; font-size:.85rem; margin-top:4px; }
.testi-dots{ display:flex; gap:10px; justify-content:center; margin-top:36px; }
.testi-dots button{ width:8px; height:8px; border-radius:50%; border:1px solid var(--gold-500); background:transparent; padding:0; }
.testi-dots button.active{ background:var(--gold-500); }

/* ================= BLOG CARDS ================= */
.blog-card{ background:#fff; border:1px solid rgba(27,32,39,.06); display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.blog-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-dark); }
.bc-media{ aspect-ratio:16/10; background:linear-gradient(160deg,var(--navy-800),var(--navy-950)); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.bc-media::before{ content:""; position:absolute; inset:0; background-image:url('../assets/images/jali-pattern.svg'); background-size:110px; opacity:.18; }
.bc-media svg{ width:64px; height:64px; color:var(--gold-400); position:relative; z-index:1; }
.bc-cat{ position:absolute; bottom:14px; left:14px; z-index:1; font-family:var(--font-eyebrow); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; background:var(--gold-500); color:var(--navy-950); padding:5px 12px; }
.bc-body{ padding:26px; display:flex; flex-direction:column; flex:1; }
.bc-date{ font-family:var(--font-eyebrow); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-500); margin-bottom:10px; }
.bc-body h3{ font-size:1.3rem; margin-bottom:10px; }
.bc-body h3 a:hover{ color:var(--gold-600); }
.bc-body p{ color:var(--ink-500); font-size:.92rem; flex:1; }
.bc-more{ font-family:var(--font-eyebrow); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-600); border-bottom:1px solid var(--gold-500); align-self:flex-start; padding-bottom:3px; margin-top:10px; }

/* ================= CTA BANNER ================= */
.cta-banner{
  position:relative; text-align:center; padding:100px 0; color:var(--ivory-50);
  background:linear-gradient(150deg,var(--navy-950),var(--maroon-700) 140%);
  overflow:hidden;
}
.cta-banner::before{ content:""; position:absolute; inset:0; background-image:url('../assets/images/jali-pattern.svg'); background-size:180px; opacity:.1; }
.cta-banner .container{ position:relative; z-index:1; }
.cta-banner h2{ color:var(--ivory-50); max-width:640px; margin:0 auto 18px; }
.cta-banner p{ color:#D7DEE8; max-width:520px; margin:0 auto 36px; }
.cta-actions{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }

/* ================= FORMS ================= */
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:640px){ .form-row{ grid-template-columns:1fr; } }
.field{ margin-bottom:22px; }
.field label{ display:block; font-family:var(--font-eyebrow); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--navy-800); margin-bottom:10px; }
.field input,.field select,.field textarea{
  width:100%; border:1px solid rgba(27,32,39,.18); background:#fff; padding:14px 16px; color:var(--ink-900);
  border-radius:2px; transition:border-color .3s;
}
.on-dark .field label{ color:var(--gold-300); }
.on-dark .field input,.on-dark .field select,.on-dark .field textarea{ background:rgba(255,255,255,.04); border-color:rgba(232,199,102,.25); color:#fff; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--gold-500); }
.field textarea{ resize:vertical; min-height:130px; }
.field.error input,.field.error textarea,.field.error select{ border-color:#B3392E; }
.field .err-msg{ display:none; color:#B3392E; font-size:.78rem; margin-top:6px; font-family:var(--font-body); }
.field.error .err-msg{ display:block; }
.form-note{ font-size:.85rem; color:var(--ink-500); }
.form-success{ display:none; text-align:center; padding:50px 30px; }
.form-success.show{ display:block; }
.form-success svg{ width:50px; height:50px; color:var(--gold-500); margin:0 auto 18px; }

/* ================= FOOTER ================= */
.site-footer{ background:var(--navy-950); color:#A9B4C4; padding:90px 0 0; position:relative; }
.footer-flourish{ text-align:center; padding-bottom:60px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:60px; }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand img{ height:50px; margin-bottom:20px; }
.footer-brand p{ font-size:.9rem; line-height:1.8; max-width:320px; }
.foot-social{ display:flex; gap:14px; margin-top:20px; }
.foot-social a{ width:34px; height:34px; border:1px solid var(--line-gold); display:flex; align-items:center; justify-content:center; border-radius:50%; transition:background .3s; }
.foot-social a:hover{ background:var(--gold-500); }
.foot-social svg{ width:14px; height:14px; color:var(--gold-400); }
.foot-social a:hover svg{ color:var(--navy-950); }
.footer-col h4{ font-family:var(--font-eyebrow); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-400); margin-bottom:24px; }
.footer-col ul li{ margin-bottom:13px; font-size:.92rem; }
.footer-col ul li a:hover{ color:var(--gold-300); }
.footer-col address{ font-style:normal; font-size:.92rem; line-height:1.9; }
.foot-newsletter form{ display:flex; margin-top:16px; border:1px solid rgba(255,255,255,.15); }
.foot-newsletter input{ flex:1; background:transparent; border:0; padding:12px 14px; color:#fff; font-size:.85rem; }
.foot-newsletter input:focus{ outline:none; }
.foot-newsletter button{ background:var(--gold-500); border:0; padding:0 18px; color:var(--navy-950); font-family:var(--font-eyebrow); font-size:.65rem; letter-spacing:.1em; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); padding:26px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.8rem; }
.footer-bottom a:hover{ color:var(--gold-300); }

/* ================= UTIL / REVEAL ================= */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }
.d1{ transition-delay:.08s; } .d2{ transition-delay:.16s; } .d3{ transition-delay:.24s; } .d4{ transition-delay:.32s; }

.chip-row{ display:flex; gap:12px; flex-wrap:wrap; }
.chip{ font-family:var(--font-eyebrow); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; padding:9px 20px; border:1px solid rgba(27,32,39,.15); color:var(--ink-700); background:#fff; transition:all .3s; }
.chip:hover,.chip.active{ background:var(--navy-950); color:var(--gold-400); border-color:var(--navy-950); }

.amenity-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px 30px; }
@media (max-width:560px){ .amenity-grid{ grid-template-columns:1fr; } }
.amenity-grid li{ display:flex; align-items:center; gap:12px; font-size:.95rem; color:var(--ink-700); }
.amenity-grid svg{ width:16px; height:16px; color:var(--gold-500); flex-shrink:0; }

.spec-strip{ display:flex; flex-wrap:wrap; gap:0; border:1px solid rgba(27,32,39,.1); }
.spec-strip .spec{ flex:1; min-width:130px; text-align:center; padding:26px 16px; border-right:1px solid rgba(27,32,39,.1); }
.spec-strip .spec:last-child{ border-right:0; }
.spec b{ display:block; font-family:var(--font-display); font-size:1.5rem; color:var(--navy-900); }
.spec span{ font-family:var(--font-eyebrow); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-500); }

.back-to-top{ position:fixed; right:26px; bottom:26px; width:46px; height:46px; background:var(--navy-950); border:1px solid var(--gold-500); display:flex; align-items:center; justify-content:center; z-index:900; opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; }
.back-to-top.show{ opacity:1; pointer-events:auto; }
.back-to-top svg{ width:16px; height:16px; color:var(--gold-400); }
.back-to-top:hover{ transform:translateY(-3px); }
