/* ============================================================
   INSPIRATION — Modern Living · Luxury Townhomes
   Palette: deep navy + brushed gold + warm cream
   Type: Playfair Display (display) · Jost (body / UI)
   ============================================================ */
:root{
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Jost','Helvetica Neue',Arial,sans-serif;

  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,5rem);

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

  --navy:#0B1B33;--navy-2:#122544;--navy-3:#1B325A;
  --gold:#C9A96E;--gold-2:#B08D4E;--gold-soft:rgba(201,169,110,.18);
  --cream:#F5F1E8;--paper:#FBF9F4;--sand:#EDE7DA;

  --color-bg:var(--paper);
  --color-surface:#fff;
  --color-surface-2:var(--cream);
  --color-text:#1B1F27;
  --color-text-muted:#666B75;
  --color-text-faint:#9A9EA6;
  --color-text-inverse:#F7F3EA;
  --color-gold:var(--gold);
  --color-border:rgba(27,31,39,.12);
  --color-border-inv:rgba(247,243,234,.16);

  --radius-sm:4px;--radius-md:8px;--radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(11,27,51,.06);
  --shadow-md:0 8px 24px rgba(11,27,51,.10);
  --shadow-lg:0 24px 60px rgba(11,27,51,.18);
  --ease:cubic-bezier(.16,1,.3,1);
  --content:1200px;--content-narrow:720px;
  --section:clamp(var(--space-16),8vw,var(--space-32));
}
[data-theme='dark']{
  --color-bg:#0E1626;--color-surface:#132039;--color-surface-2:#0B1B33;
  --color-text:#EDE7DA;--color-text-muted:#A9AFBC;--color-text-faint:#6E7585;
  --color-border:rgba(237,231,218,.14);--sand:#1B325A;--paper:#0E1626;--cream:#132039;
  --shadow-md:0 8px 24px rgba(0,0,0,.35);--shadow-lg:0 24px 60px rgba(0,0,0,.5);
}

/* ---------- layout ---------- */
.wrap{width:min(100% - 2*clamp(1.25rem,4vw,3rem),var(--content));margin-inline:auto}
.wrap--narrow{max-width:var(--content-narrow)}
.section{padding-block:var(--section)}
.section--tight{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.section--navy{background:var(--navy);color:var(--color-text-inverse)}
.section--cream{background:var(--color-surface-2)}
.grid{display:grid;gap:var(--space-6)}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
.flow>*+*{margin-top:var(--space-4)}

/* ---------- type ---------- */
.kicker{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}
.display{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:-.01em}
.display em{font-style:italic;color:var(--gold)}
h1.display{font-size:clamp(2.4rem,1rem + 3.6vw,4.6rem)}
h2.display{font-size:var(--text-2xl)}
h3.display{font-size:var(--text-xl)}
.lede{font-size:var(--text-lg);line-height:1.5;color:var(--color-text-muted);font-weight:300;max-width:60ch}
.section--navy .lede{color:rgba(247,243,234,.75)}
p{max-width:68ch}
.muted{color:var(--color-text-muted)}
.small{font-size:var(--text-sm)}
.xs{font-size:var(--text-xs)}
.center{text-align:center}
.center p,.center .lede{margin-inline:auto}
.rule{width:56px;height:1px;background:var(--gold);margin-block:var(--space-5)}
.center .rule{margin-inline:auto}
.section-head{margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}
.section-head .kicker{display:block;margin-bottom:var(--space-3)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.85em 1.6em;font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;font-weight:500;border:1px solid transparent;border-radius:2px;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn--gold{background:var(--gold);color:var(--navy)}
.btn--gold:hover{background:var(--gold-2)}
.btn--outline{border-color:currentColor;color:inherit}
.btn--outline:hover{background:rgba(255,255,255,.08)}
.btn--navy{background:var(--navy);color:var(--color-text-inverse)}
.btn--navy:hover{background:var(--navy-3)}
.btn--ghost{padding-inline:0;min-height:0;border:0;color:var(--gold);letter-spacing:.14em}
.btn--ghost::after{content:'→';transition:transform .2s var(--ease)}
.btn--ghost:hover::after{transform:translateX(4px)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(11,27,51,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-inverse);border-bottom:1px solid var(--color-border-inv);transition:transform .3s var(--ease)}
.header--hidden{transform:translateY(-100%)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:72px}
.logo{display:inline-flex;align-items:center;color:var(--gold)}
.logo svg{height:34px;width:auto}
.nav{display:none;gap:var(--space-8);align-items:center}
.nav a{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:rgba(247,243,234,.82);padding-block:var(--space-2);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--gold);border-color:var(--gold)}
.header__cta{display:none;white-space:nowrap;min-height:42px;padding:.7em 1.3em;font-size:var(--text-xs)}
@media(min-width:960px){.nav{display:flex}.header__cta{display:inline-flex}.menu-btn{display:none}}
.menu-btn{width:44px;height:44px;display:grid;place-items:center;color:var(--gold)}
@media(min-width:960px){.menu-btn{display:none}}
.mobile-nav{display:none;background:var(--navy);border-top:1px solid var(--color-border-inv)}
.mobile-nav.is-open{display:block}
.mobile-nav a{display:block;padding:var(--space-4) 0;font-size:var(--text-sm);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--color-border-inv);color:var(--color-text-inverse)}
.mobile-nav a:last-child{border:0}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(92dvh,900px);display:grid;align-items:end;color:var(--color-text-inverse);background:var(--navy);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,27,51,.25) 0%,rgba(11,27,51,.15) 40%,rgba(11,27,51,.88) 100%)}
.hero__content{padding-block:clamp(var(--space-12),8vw,var(--space-24)) clamp(var(--space-10),6vw,var(--space-16))}
.hero__content .kicker{margin-bottom:var(--space-4);display:block}
.hero h1{max-width:18ch;margin-bottom:var(--space-6)}
.hero .lede{color:rgba(247,243,234,.82);margin-bottom:var(--space-8)}
.hero__stats{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-10);margin-top:clamp(var(--space-10),5vw,var(--space-16));padding-top:var(--space-6);border-top:1px solid var(--color-border-inv)}
.stat{display:flex;flex-direction:column;gap:2px}
.stat b{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);line-height:1;color:#fff}
.stat span{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* page hero (interior) */
.page-hero{position:relative;min-height:min(56dvh,560px);display:grid;align-items:end;color:var(--color-text-inverse);background:var(--navy);overflow:hidden;isolation:isolate}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,27,51,.2),rgba(11,27,51,.85))}
.page-hero .wrap{padding-block:clamp(var(--space-12),6vw,var(--space-20)) var(--space-12)}
.page-hero h1{font-size:var(--text-2xl);max-width:20ch;margin-top:var(--space-3)}

/* ---------- editorial split ---------- */
.split{display:grid;gap:var(--space-10);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1.05fr .95fr;gap:clamp(var(--space-10),6vw,var(--space-20))}.split--rev>.split__media{order:2}}
.split__media{position:relative}
.split__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}
.split__media--tall img{aspect-ratio:4/5}
.split__media--portrait img{aspect-ratio:4/5;object-position:center 40%}
@media(min-width:900px){.split__media--portrait{max-width:520px;justify-self:center}}
.split__caption{position:absolute;left:var(--space-4);bottom:var(--space-4);background:rgba(11,27,51,.85);color:var(--color-text-inverse);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;padding:.5em .9em;border-left:2px solid var(--gold)}

/* ---------- feature grid ---------- */
.features{display:grid;gap:var(--space-5)}
@media(min-width:640px){.features{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.features{grid-template-columns:repeat(3,1fr)}}
.feature{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.feature img{aspect-ratio:3/2;object-fit:cover;width:100%}
.feature__body{padding:var(--space-5) var(--space-5) var(--space-6)}
.feature__body h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);margin-bottom:var(--space-2)}
.feature__body p{font-size:var(--text-sm);color:var(--color-text-muted)}
.feature__num{position:absolute;top:var(--space-3);left:var(--space-3);background:rgba(11,27,51,.85);color:var(--gold);font-size:var(--text-xs);letter-spacing:.14em;padding:.35em .7em;border-radius:2px}
.feature--wide{grid-column:span 1}
@media(min-width:1024px){.feature--wide{grid-column:span 2}.feature--wide img{aspect-ratio:21/9}}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);grid-auto-flow:dense}
@media(min-width:768px){.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:var(--space-4)}}
@media(min-width:1200px){.gallery{grid-auto-rows:260px}}
.gallery a{position:relative;display:block;height:100%;overflow:hidden;border-radius:var(--radius-sm);background:var(--sand)}
.gallery figure{height:100%}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gallery a:hover img{transform:scale(1.03)}
.gallery .g-2x2{grid-column:span 2;grid-row:span 2}
.gallery .g-2x1{grid-column:span 2}
@media(max-width:767px){.gallery{grid-auto-rows:160px}.gallery .g-2x2{grid-column:span 2;grid-row:span 2}}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:var(--space-8) var(--space-4) var(--space-3);background:linear-gradient(transparent,rgba(11,27,51,.75));color:#fff;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .3s}
.gallery a:hover figcaption{opacity:1}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,12,24,.94);display:none;align-items:center;justify-content:center;padding:var(--space-6)}
.lightbox.is-open{display:flex}
.lightbox img{max-height:88vh;max-width:min(96vw,1500px);object-fit:contain;box-shadow:var(--shadow-lg)}
.lightbox__close,.lightbox__prev,.lightbox__next{position:absolute;color:#fff;width:48px;height:48px;display:grid;place-items:center;font-size:28px;background:rgba(255,255,255,.08);border-radius:50%}
.lightbox__close{top:var(--space-5);right:var(--space-5)}
.lightbox__prev{left:var(--space-4);top:50%;transform:translateY(-50%)}
.lightbox__next{right:var(--space-4);top:50%;transform:translateY(-50%)}
.lightbox__cap{position:absolute;bottom:var(--space-5);left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}

/* ---------- availability board ---------- */
.board{display:grid;gap:var(--space-4)}
@media(min-width:640px){.board{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.board{grid-template-columns:repeat(3,1fr)}}
.unit{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;display:flex;flex-direction:column}
.unit__img{position:relative;aspect-ratio:16/10;background:var(--sand)}
.unit__img img{width:100%;height:100%;object-fit:cover}
.unit__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}
.unit__addr{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}
.unit__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.unit__rent{font-size:var(--text-base);display:flex;align-items:baseline;gap:.4em}
.unit__rent b{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl)}
.unit__foot{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.pill{position:absolute;top:var(--space-3);left:var(--space-3);display:inline-flex;align-items:center;gap:.5em;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:.45em .9em;border-radius:2px;background:rgba(11,27,51,.88);color:#fff}
.pill::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.pill--available{color:#7FD1A5}
.pill--soon{color:var(--gold)}
.pill--leased{color:rgba(255,255,255,.65)}
.pill--office{color:#9DB7E8}
.board__note{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-6)}
.legend{display:inline-flex;align-items:center;gap:.5em}
.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-10)}
.summary div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-5);text-align:center}
.summary b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);line-height:1}
.summary span{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}

/* ---------- pricing / options ---------- */
.price-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.price-table th,.price-table td{text-align:left;padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}
.price-table th{font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:var(--text-xs);color:var(--color-text-muted)}
.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-table td b{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg)}
.option{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-inv)}
.option:last-child{border:0}
.option small{display:block;color:rgba(247,243,234,.6);font-size:var(--text-xs);margin-top:2px}
.option b{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);white-space:nowrap}

/* ---------- drive times ---------- */
.times{display:grid;gap:var(--space-3)}
@media(min-width:640px){.times{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.times{grid-template-columns:repeat(5,1fr)}}
.time{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}
.time b{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);line-height:1}
.time b small{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-left:.3em}
.time span{font-size:var(--text-sm);color:var(--color-text-muted)}
.section--navy .time{color:var(--color-text-inverse);background:rgba(255,255,255,.04);border-color:var(--color-border-inv)}
.section--navy .time span{color:rgba(247,243,234,.7)}
.section--navy .place{color:var(--color-text-inverse);background:rgba(255,255,255,.04);border-color:var(--color-border-inv)}
.section--navy .place p{color:rgba(247,243,234,.72)}
.section--navy .place__meta{color:rgba(247,243,234,.5)}

/* ---------- place cards ---------- */
.places{display:grid;gap:var(--space-5)}
@media(min-width:640px){.places{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.places{grid-template-columns:repeat(3,1fr)}}
.place{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.place__tag{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}
.place h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);line-height:1.2}
.place p{font-size:var(--text-sm);color:var(--color-text-muted)}
.place__meta{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:auto;padding-top:var(--space-3)}
.place a.link{color:var(--gold);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500}

/* ---------- video ---------- */
.video-frame{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#000;box-shadow:var(--shadow-lg)}
.video-frame video,.video-frame iframe{width:100%;aspect-ratio:16/9;display:block;border:0}
.yt-grid{display:grid;gap:var(--space-4)}
@media(min-width:768px){.yt-grid{grid-template-columns:repeat(3,1fr)}}
.yt{border-radius:var(--radius-sm);overflow:hidden;background:#000}
.yt iframe{width:100%;aspect-ratio:16/9;display:block;border:0}
.yt figcaption{padding:var(--space-3) 0 0;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}

/* ---------- reel (portrait clips) ---------- */
.reel{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
@media(max-width:767px){.reel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--space-4);padding-bottom:var(--space-3);-webkit-overflow-scrolling:touch}.reel__item{flex:0 0 72%;scroll-snap-align:start}}
.reel__item{margin:0}
.reel__item video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius-md);background:#000;box-shadow:var(--shadow-lg);display:block}
.reel__item figcaption{margin-top:var(--space-3);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* ---------- form ---------- */
.form{display:grid;gap:var(--space-4)}
@media(min-width:640px){.form{grid-template-columns:1fr 1fr}.form .span-2{grid-column:span 2}}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,234,.7)}
.field input,.field select,.field textarea{background:rgba(255,255,255,.05);border:1px solid var(--color-border-inv);border-radius:2px;padding:.85em 1em;color:var(--color-text-inverse);min-height:48px;transition:border-color .2s}
.field select option{color:#111}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none}
.field textarea{min-height:120px;resize:vertical}
.form__note{font-size:var(--text-xs);color:rgba(247,243,234,.55);max-width:none}
.form__success{display:none;padding:var(--space-6);border:1px solid var(--gold);border-radius:2px;background:var(--gold-soft)}
.form.is-done{display:none}
.form.is-done+.form__success{display:block}

/* ---------- misc ---------- */
.marquee{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3) var(--space-8);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-block:var(--space-6);border-block:1px solid var(--color-border)}
.section--navy .marquee{border-color:var(--color-border-inv)}
.quote{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;line-height:1.35;max-width:28ch}
.card-cta{background:var(--navy);color:var(--color-text-inverse);padding:clamp(var(--space-8),5vw,var(--space-16));border-radius:var(--radius-sm);display:grid;gap:var(--space-8);align-items:center}
@media(min-width:900px){.card-cta{grid-template-columns:1.2fr .8fr}}
.footer{background:#071224;color:rgba(247,243,234,.75);padding-block:var(--space-16) var(--space-10);font-size:var(--text-sm)}
.footer__grid{display:grid;gap:var(--space-10)}
@media(min-width:768px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer h4{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-4);font-weight:500}
.footer a:hover{color:var(--gold)}
.footer li{margin-bottom:var(--space-2)}
.footer__bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border-inv);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center;font-size:var(--text-xs);color:rgba(247,243,234,.5)}
.eho{display:inline-flex;align-items:center;gap:.6em}
.theme-toggle{display:inline-flex;align-items:center;gap:.5em;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,234,.6)}
.theme-toggle:hover{color:var(--gold)}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy);padding:.5em 1em;z-index:200}
.skip:focus{left:8px}

/* ---------- listing page ---------- */
.hero--listing{min-height:78vh}
.hero--listing .hero__media img{width:100%;height:100%;object-fit:cover}
.listing-grid{display:grid;gap:var(--space-10);align-items:start}
@media(min-width:1024px){.listing-grid{grid-template-columns:1.4fr 1fr;gap:var(--space-16)}}
.listing-grid p{margin-bottom:var(--space-4);color:var(--color-text-muted)}
.price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-8);position:sticky;top:96px;box-shadow:var(--shadow-md)}
.price-opt{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
.price-opt b{font-weight:500;display:block}
.price-opt small{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.15em}
.price-opt__amt{font-family:var(--font-display);font-size:var(--text-xl);white-space:nowrap;font-variant-numeric:tabular-nums}
.price-opt__amt small{display:inline;font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);margin-left:.15em}
.price-opt--muted .price-opt__amt{font-size:var(--text-lg);color:var(--color-text-muted)}
.icons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media(min-width:768px){.icons{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.icons{grid-template-columns:repeat(4,1fr)}}
.icon-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-5)}
.icon-tile svg{width:34px;height:34px;color:var(--gold);margin-bottom:var(--space-4)}
.icon-tile b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);margin-bottom:var(--space-1)}
.icon-tile span{font-size:var(--text-sm);color:var(--color-text-muted)}
.hero--listing::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,27,51,.82) 0%,rgba(11,27,51,.55) 55%,rgba(11,27,51,.25) 100%)}

.area-table td:last-child{font-variant-numeric:tabular-nums}
.area-table tr:last-child td{border-bottom:0;font-family:var(--font-display);font-size:var(--text-xl);padding-top:var(--space-5)}

/* ---- neighborhood map ---- */
.map-frame{position:relative;margin-top:var(--space-8);border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(201,169,110,.45);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.map-frame iframe{display:block;border:0;filter:grayscale(1) contrast(1.08) brightness(.92) sepia(.18);transition:filter .6s ease}
.map-frame:hover iframe{filter:grayscale(.2) contrast(1.02) brightness(1) sepia(0)}
.map-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -120px 160px -80px rgba(11,22,40,.85)}
.map-card{position:absolute;left:var(--space-6);bottom:var(--space-6);z-index:2;background:rgba(11,22,40,.92);backdrop-filter:blur(8px);border:1px solid rgba(201,169,110,.5);border-radius:2px;padding:var(--space-5) var(--space-6);color:var(--cream,#F7F3EA);display:flex;flex-direction:column;gap:4px;max-width:min(360px,calc(100% - 2*var(--space-6)))}
.map-card b{font-family:var(--font-display,'Playfair Display',serif);font-size:var(--text-lg);font-weight:400;line-height:1.1}
.map-card>span:not(.kicker){font-size:var(--text-sm);color:rgba(247,243,234,.7)}
@media (max-width:640px){.map-frame iframe{height:380px}.map-card{position:static;max-width:none;border-radius:0;border-width:1px 0 0}}
