:root{
  --burgundy:#5A1E2A; --burgundy-deep:#421520; --burgundy-light:#6d1a2d;
  --gold:#C0A062; --gold-deep:#A5854A; --gold-bright:#D9BC7F;
  --cream:#FAF7F1; --sand:#EFE8DC; --sand-deep:#E4D9C6;
  --silver:#AEB2B8; --silver-light:#D6D8DC; --ink:#26211E;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',Helvetica,Arial,sans-serif;
  --script:'Great Vibes',cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.5rem}
.kicker{font-family:var(--sans);font-weight:400;letter-spacing:.32em;text-transform:uppercase;font-size:.75rem;color:var(--gold-deep);margin-bottom:1rem}
.kicker-light{color:var(--gold-bright)}
.section-head{max-width:820px;margin:0 auto;padding:6rem 2rem 3rem;text-align:center}
.section-sub{color:#6b6259;max-width:560px;margin:1.2rem auto 0;font-weight:300}
.sub-light{color:var(--sand-deep)}

/* nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 2.5rem;transition:background .4s,padding .4s;color:var(--cream)}
#nav.solid{background:rgba(38,17,24,.92);backdrop-filter:blur(8px);padding:.7rem 2.5rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}
.brand-logo{height:44px;width:auto}
.brand-text{font-family:var(--sans);font-weight:400;letter-spacing:.28em;font-size:.95rem;align-items:center;gap:.5rem}
.brand-mark{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{color:var(--cream);text-decoration:none;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:300;opacity:.85;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-cta{border:1px solid var(--gold);padding:.5rem 1.2rem;color:var(--gold-bright)!important;opacity:1!important}
.nav-cta:hover{background:var(--gold);color:var(--burgundy-deep)!important}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream)}
.hero-bg{position:absolute;inset:0;background:url('../images/hero-1.jpg') center/cover no-repeat;z-index:-2}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,17,24,.55) 0%,rgba(66,21,32,.35) 45%,rgba(38,17,24,.78) 100%);z-index:-1}
.hero-inner{max-width:860px;padding:0 2rem}
.hero-script{font-family:var(--script);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--gold-bright);margin-bottom:.8rem}
.hero-sub{font-weight:300;font-size:1.1rem;max-width:540px;margin:1.4rem auto 2.4rem;color:var(--sand)}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.9rem 2rem;text-decoration:none;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;transition:all .25s;cursor:pointer;font-family:var(--sans)}
.btn-gold{background:var(--gold);color:var(--burgundy-deep);border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(250,247,241,.5)}
.btn-ghost:hover{border-color:var(--cream)}
.hero-scroll-hint{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%)}
.hero-scroll-hint span{display:block;width:1px;height:56px;background:linear-gradient(180deg,var(--gold),transparent);animation:drip 2.2s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* journey */
.journey-track{position:relative;height:680vh;background:var(--burgundy-deep)}
.journey-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.journey-dusk{position:absolute;inset:0;background:linear-gradient(180deg,#2A1018 0%,#421520 34%,#6E2A32 62%,#A5673F 86%,#C08A52 100%)}
#journey-canvas{position:absolute;inset:0;width:100%;height:100%}
.journey-head{position:absolute;top:7vh;left:5vw;max-width:520px;color:var(--cream);z-index:3}
.journey-head h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.journey-panel{position:absolute;right:4vw;top:50%;transform:translateY(-50%);width:min(370px,86vw);z-index:3}
.phase-card{position:absolute;top:0;left:0;width:100%;background:rgba(38,17,24,.78);backdrop-filter:blur(10px);border:1px solid rgba(192,160,98,.35);padding:1.8rem 2rem;color:var(--sand);opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s;pointer-events:none}
.phase-card.active{opacity:1;transform:translateY(0)}
.phase-card h3{color:var(--cream);margin:.3rem 0 .6rem}
.phase-card p{font-weight:300;font-size:.95rem}
.phase-num{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-bright)}
.phase-dots{position:absolute;top:calc(100% + 190px);left:0;display:flex;gap:.7rem}
.journey-panel{height:230px}
.phase-card{height:auto;min-height:210px}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(250,247,241,.25);transition:background .3s,transform .3s}
.dot.active{background:var(--gold);transform:scale(1.3)}

/* time lapse */
.tl{background:var(--cream)}
.tl-wrap{max-width:1100px;margin:0 auto 6.5rem;padding:0 2rem}
.tl-stage{position:relative;overflow:hidden;border:1px solid rgba(90,30,42,.18)}
.tl-stage img#tl-img{width:100%;height:min(64vh,600px);object-fit:cover;display:block;transition:opacity .5s}
.tl-fading img#tl-img{opacity:0}
.tl-layer{position:absolute;inset:0;pointer-events:none;opacity:0}
.tl-golden{background:linear-gradient(180deg,rgba(255,166,63,.6) 0%,rgba(255,110,40,.28) 55%,rgba(255,140,60,.15) 100%);mix-blend-mode:soft-light}
.tl-dusk{background:linear-gradient(180deg,rgba(122,74,120,.75) 0%,rgba(217,106,77,.55) 60%,rgba(90,50,80,.5) 100%);mix-blend-mode:multiply}
.tl-night{background:linear-gradient(180deg,#0A1630 0%,#16223E 55%,#0D1526 100%);mix-blend-mode:multiply}
.tl-glow{background:radial-gradient(ellipse 46% 34% at 50% 64%,rgba(255,190,110,.6) 0%,rgba(255,170,80,.22) 45%,transparent 72%);mix-blend-mode:screen}
.tl-badge{position:absolute;top:1.1rem;right:1.2rem;background:rgba(38,17,24,.78);color:var(--sand);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;padding:.5rem 1.1rem;backdrop-filter:blur(6px)}
.tl-controls{display:flex;align-items:center;gap:1rem;margin-top:1.1rem}
.tl-play{width:44px;height:44px;flex:none;border:1px solid var(--gold-deep);background:transparent;color:var(--burgundy);font-size:.85rem;cursor:pointer;transition:all .2s}
.tl-play:hover{background:var(--gold);border-color:var(--gold)}
.tl-icon{color:var(--gold-deep);font-size:1.1rem}
#tl-slider{flex:1;appearance:none;height:3px;background:linear-gradient(90deg,var(--gold) 0%,#C9762E 45%,#5A3A6E 70%,#16223E 100%);outline:none}
#tl-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--cream);border:2.5px solid var(--burgundy);cursor:pointer}
#tl-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cream);border:2.5px solid var(--burgundy);cursor:pointer}
.tl-homes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:1.4rem}
.tl-home{position:relative;border:2px solid transparent;background:none;padding:0;cursor:pointer;text-align:left;font-family:var(--sans);transition:border-color .25s}
.tl-home img{width:100%;height:96px;object-fit:cover;display:block;filter:saturate(.85)}
.tl-home.on{border-color:var(--gold-deep)}
.tl-home.on img{filter:none}
.tl-home-name{display:block;font-size:.82rem;font-weight:400;color:var(--ink);margin-top:.4rem}
.tl-home-sub{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8a8078;margin-bottom:.4rem}

/* plat */
.lots{background:var(--cream)}
.plat-wrap{position:relative;max-width:1200px;margin:0 auto 6rem;padding:0 2rem}
.plat-stage{position:relative;height:min(72vh,640px);overflow:hidden;background:#EFE6D2;border:1px solid rgba(90,30,42,.22)}
.plat-pan{position:absolute;top:0;left:0;width:100%;transform-origin:0 0;transition:transform .9s cubic-bezier(.4,0,.2,1)}
.plat-pan img{width:100%;display:block;filter:sepia(.3) contrast(.97) brightness(1.02)}
#plat-overlay{position:absolute;inset:0;width:100%;height:100%}
.lot-poly{cursor:pointer;transition:fill-opacity .25s}
.lot-avail,.lot-available{fill:#C0A062;fill-opacity:.38;stroke:#A5854A;stroke-width:1.6}
.lot-available:hover{fill-opacity:.62}
.lot-reserved{fill:#AEB2B8;fill-opacity:.42;stroke:#8A8F96;stroke-width:1.6;cursor:default}
.lot-sold{fill:#6d1a2d;fill-opacity:.34;stroke:#5A1E2A;stroke-width:1.6;cursor:default}
.lot-pending{fill:#AEB2B8;fill-opacity:.42;stroke:#8A8F96;stroke-width:1.6;cursor:default}
.lot-plan{cursor:pointer;stroke:#C0A062;stroke-width:2.2;stroke-dasharray:7 4}
.lot-plan:hover{fill-opacity:.55}
.lg-pend{background:#AEB2B8}
.lg-plan{background:#6d1a2d;border:1.5px dashed #C0A062;box-sizing:border-box}
.plat-toggle{position:absolute;top:1.1rem;right:1.1rem;z-index:6;background:rgba(38,17,24,.82);color:var(--sand);border:1px solid var(--gold);padding:.55rem 1.1rem;font-size:.72rem}
.plat-toggle:hover{background:var(--burgundy-deep)}
.plat-tooltip{position:absolute;display:none;background:rgba(38,17,24,.94);color:var(--sand);border:1px solid var(--gold);padding:.9rem 1.1rem;font-size:.85rem;pointer-events:none;z-index:5;min-width:190px;line-height:1.5}
.plat-tooltip strong{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--cream);font-weight:500}
.plat-tooltip .tt-status{letter-spacing:.2em;text-transform:uppercase;font-size:.68rem;color:var(--gold-bright)}
.plat-tooltip .tt-cta{margin-top:.4rem;font-size:.72rem;color:var(--gold);letter-spacing:.1em}
.plat-legend{position:absolute;bottom:1.1rem;left:1.2rem;display:flex;gap:1.4rem;color:var(--ink);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(250,247,241,.82);padding:.45rem .9rem;z-index:6}
.lg{display:inline-block;width:11px;height:11px;margin-right:.4rem;vertical-align:-1px}
.lg-avail{background:#C0A062}.lg-res{background:#AEB2B8}.lg-sold{background:#6d1a2d}

/* elevations */
.elevations{background:var(--sand);padding-bottom:6rem;transition:background .8s}
.elevations .btn-night{margin-top:1.6rem;color:var(--ink);border-color:rgba(38,33,30,.4)}
.elevations.night{background:#2A1420}
.elevations.night h2,.elevations.night .section-sub{color:var(--sand)}
.elevations.night .btn-night{color:var(--sand);border-color:rgba(250,247,241,.4)}
.elev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1300px;margin:0 auto;padding:0 2rem}
.elev-card{background:var(--cream);border:1px solid rgba(38,33,30,.08);transition:background .8s}
.elevations.night .elev-card{background:#3A1D2A;border-color:rgba(192,160,98,.25)}
.elev-card svg{width:100%;height:auto;display:block}
.elev-meta{padding:1.4rem 1.6rem 1.8rem}
.elev-meta h3{font-size:1.6rem}
.elevations.night .elev-meta h3{color:var(--cream)}
.elev-style{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.2rem}
.elev-desc{font-weight:300;font-size:.92rem;color:#6b6259;margin:.5rem 0 1rem}
.elevations.night .elev-desc{color:var(--sand-deep)}
.swatch-row{display:flex;gap:.6rem;align-items:center}
.swatch-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#8a8078;margin-right:.3rem}
.elevations.night .swatch-label{color:var(--silver)}
.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}
.swatch:hover{transform:scale(1.15)}
.swatch.on{border-color:var(--gold-deep)}

/* plan 2355 */
.plan{background:var(--cream);padding-bottom:7rem}
.plan-elev-wrap{max-width:1100px;margin:0 auto;padding:0 2rem}
#plan-elev-svg{width:100%;height:auto;display:block}
.plan-caption{text-align:center;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8078;margin-top:.8rem}
.plan-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;max-width:1100px;margin:3.5rem auto 0;padding:0 2rem;align-items:start}
.plan-fp-wrap{background:#FDFBF6;border:1px solid rgba(90,30,42,.14);padding:1rem}
#plan-fp-svg{width:100%;height:auto;display:block}
.fp-room{cursor:pointer;outline:none}
.fp-rect{transition:fill .25s,stroke .25s}
.fp-room:hover .fp-rect,.fp-room:focus .fp-rect{stroke:var(--gold-deep);stroke-width:2.6;fill:#EFDFB9}
.fp-label{font-family:var(--sans);font-size:9.5px;letter-spacing:.14em;fill:#7A6A5C;pointer-events:none}
.plan-side{position:sticky;top:90px}
.plan-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.4rem}
.plan-stats div{background:var(--sand);padding:.9rem 1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#7A6A5C}
.plan-stats span{display:block;font-family:var(--serif);font-size:1.7rem;letter-spacing:0;color:var(--burgundy);font-weight:500;text-transform:none}
.plan-info{border:1px solid rgba(90,30,42,.18);border-left:3px solid var(--gold);padding:1.4rem 1.6rem;min-height:190px;transition:border-color .3s}
.plan-info.active{border-left-color:var(--burgundy)}
.plan-info h3{color:var(--burgundy);margin:.25rem 0 .5rem}
.pi-kicker{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)}
.pi-ceil{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8078;margin-bottom:.35rem}
.pi-note{font-weight:300;font-size:.94rem;color:#57504a}
.plan-btn{width:100%;margin-top:1.4rem;border:none}
@media (max-width:920px){.plan-grid{grid-template-columns:1fr}.plan-side{position:static}}

/* story */
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;max-width:1300px;margin:0 auto;padding:7rem 2rem;align-items:center}
.story-media{position:relative}
.story-photo-main{width:100%;display:block}
.story-photo-inset{position:absolute;width:46%;right:-6%;bottom:-12%;border:6px solid var(--cream);box-shadow:0 22px 60px rgba(38,17,24,.28)}
.story-text blockquote{font-family:var(--serif);font-size:1.5rem;font-style:italic;color:var(--burgundy);border-left:2px solid var(--gold);padding-left:1.4rem;margin:1.6rem 0 .6rem;line-height:1.4}
.story-text>p{font-weight:300;color:#57504a;margin-top:1.2rem}
.story-attrib{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#8a8078}
.award-row{display:flex;gap:1.6rem;margin-top:2.2rem;align-items:center;flex-wrap:wrap}
.award-row img{height:52px;width:auto;filter:grayscale(35%);opacity:.85}

/* intake */
.intake{background:linear-gradient(180deg,var(--burgundy-deep),#31101A);color:var(--cream);padding:7rem 2rem}
.intake-inner{max-width:760px;margin:0 auto;text-align:center}
#intake-form{margin-top:3rem;text-align:left}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.4rem}
#intake-form label{display:flex;flex-direction:column;gap:.45rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright)}
#intake-form input,#intake-form select{background:rgba(250,247,241,.06);border:1px solid rgba(250,247,241,.25);color:var(--cream);padding:.85rem 1rem;font-family:var(--sans);font-size:.95rem;letter-spacing:.02em}
#intake-form input::placeholder{color:rgba(250,247,241,.4)}
#intake-form select option{color:var(--ink);background:var(--cream)}
#intake-form input:focus,#intake-form select:focus{outline:none;border-color:var(--gold)}
.btn-submit{width:100%;margin-top:.6rem;border:none}
.intake-note{text-align:center;margin-top:1rem;color:var(--gold-bright);font-size:.9rem;min-height:1.4em}

/* inventory page */
.inv-hero{background:linear-gradient(180deg,var(--burgundy-deep),#31101A);color:var(--cream);text-align:center;padding:9rem 2rem 4.5rem}
.inv-hero h1{font-size:clamp(2.4rem,5vw,3.6rem)}
.inv-hero-sub{font-weight:300;max-width:560px;margin:1.2rem auto 0;color:var(--sand-deep)}
.inv{max-width:1150px;margin:0 auto;padding:3rem 2rem 6rem}
.inv-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1rem}
#inv-search{flex:1;min-width:220px;padding:.75rem 1rem;border:1px solid rgba(38,33,30,.28);background:#FFFDF8;font-family:var(--sans);font-size:.95rem;color:var(--ink)}
#inv-search:focus{outline:none;border-color:var(--gold-deep)}
.inv-chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{border:1px solid rgba(38,33,30,.25);background:transparent;padding:.45rem 1rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#57504a;cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--gold-deep)}
.chip.on{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}
.inv-count{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#8a8078;margin:0 0 1rem}
.inv-wrap{overflow-x:auto;border:1px solid rgba(90,30,42,.16);background:#FFFDF8}
.inv-table{width:100%;border-collapse:collapse;min-width:1080px}
.inv-table th{text-align:left;font-weight:400;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);padding:1rem 1.2rem;border-bottom:1px solid rgba(90,30,42,.2);white-space:nowrap}
.inv-table th.sortable{cursor:pointer}
.inv-table th.sortable::after{content:' ↕';opacity:.45}
.inv-table th.sorted{color:var(--burgundy)}
.inv-table td{padding:1.05rem 1.2rem;border-bottom:1px solid rgba(38,33,30,.08);font-size:.93rem;font-weight:300;color:#453f39}
.inv-table tbody tr:hover{background:var(--sand)}
.inv-addr{font-family:var(--serif);font-size:1.12rem;font-weight:500;color:var(--ink);white-space:nowrap}
.st{display:inline-block;padding:.28rem .8rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
/* status colors match the printed inventory list */
.st-available{background:#EAF2EA;color:#2C6E2C;border:none}
.st-pending{background:#F7EFDD;color:#9A6A12;border:none}
.st-hold{background:#F6E9E2;color:#A04A2A;border:none}
.st-tba{background:#F0EDEF;color:#7A7376;border:none}
.st-model{background:#F2ECDD;color:#8A6A3B;border:none}
.st-sold{background:#ECEBEC;color:#77717A;border:none}
/* package medals */
.pkg{display:inline-block;padding:.24rem .7rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:3px;font-weight:500}
.pkg-gold{background:#FBF3DC;color:#8A6A12;border:1px solid #D9BC7F}
.pkg-silver{background:#F2F2F5;color:#6E7280;border:1px solid #C4C7CE}
.pkg-diamond{background:#EAF3FB;color:#1F6FAE;border:1px solid #9CC4E4}
/* section rows within a tab */
.inv-sect td{background:transparent!important;font-family:var(--serif);font-size:1.15rem;font-weight:600;padding:1.3rem 1.2rem .5rem;border-bottom:2px solid var(--gold-deep)}
.inv-sect-avail td{color:#2C6E2C;border-bottom-color:#7FA97F}
.inv-sect:not(.inv-sect-avail) td{color:var(--burgundy)}
.inv-unit{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-family:var(--sans);font-weight:400}
.inv-banner{display:inline-block;margin-top:1.6rem;padding:.6rem 1.5rem;border:1px solid var(--gold);color:var(--gold-bright);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}
.inv-group td{background:var(--burgundy-deep);color:var(--sand);font-family:var(--sans);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;padding:.7rem 1.2rem}
.inv-plan{display:block;font-weight:500;color:var(--ink);letter-spacing:.04em}
.inv-elev{display:block;font-size:.78rem;color:#8a8078}
.inv-noteline{display:block;font-size:.75rem;font-style:italic;color:var(--gold-deep);margin-top:.15rem}
.inv-price{font-weight:400;color:var(--ink);white-space:nowrap}
.inv-empty{text-align:center;color:#8a8078;padding:2.5rem!important}
@keyframes invflash{0%,60%{background:rgba(192,160,98,.32)}100%{background:transparent}}
.inv-flash td{animation:invflash 2.4s ease-out}
/* community tabs */
.inv-tabs{display:flex;justify-content:center;gap:.5rem;border-bottom:1px solid rgba(90,30,42,.18);margin-bottom:1.6rem;flex-wrap:wrap}
.itab{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;padding:1rem 1.6rem .9rem;cursor:pointer;text-align:center;font-family:var(--sans)}
.itab-name{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:#8b8590}
.itab-name em{font-style:normal;font-size:.85rem;color:#b5aca2}
.itab-sub{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#9a9295;margin-top:.2rem}
.itab.on{border-bottom-color:var(--gold-deep)}
.itab.on .itab-name{color:var(--burgundy)}
/* expandable rows */
.inv-row{cursor:pointer}
.inv-dim{opacity:.55}
.inv-open td{background:var(--sand)}
.inv-chev{color:#b5aca2;font-size:.7rem;text-align:right}
.inv-detail td{background:#FBF8F1;padding:1.2rem 1.4rem 1.6rem}
.inv-detail-flex{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:flex-start}
.inv-photo{width:300px;height:190px;object-fit:cover;border:1px solid rgba(90,30,42,.18);flex:none}
.inv-photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:var(--sand);color:#9a9082;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.inv-photo-ph span{color:var(--gold);font-size:1.2rem}
.inv-detail-info{flex:1;min-width:250px}
.inv-detail-title{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--burgundy)}
.inv-detail-note{font-weight:300;color:#57504a;margin:.4rem 0}
.inv-detail-meta{font-size:.88rem;color:#7a7376}
.inv-detail-lot{font-size:.72rem;letter-spacing:.14em;color:#9a9295;margin-top:.35rem}
.inv-detail-actions{display:flex;gap:.7rem;margin-top:1rem;flex-wrap:wrap}
.inv-gatebtn{cursor:pointer;background:transparent;font-family:var(--sans)}
/* lead gate modal */
.gate-modal{position:fixed;inset:0;background:rgba(30,12,18,.72);display:none;align-items:center;justify-content:center;z-index:100;padding:1.5rem}
.gate-modal.open{display:flex}
.gate-card{position:relative;background:var(--cream);max-width:380px;width:100%;padding:2.4rem 2.2rem 2rem;text-align:center;border-top:3px solid var(--gold)}
.gate-close{position:absolute;top:.6rem;right:.9rem;background:none;border:none;font-size:1.5rem;color:#8a8078;cursor:pointer}
.gate-kicker{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep)}
.gate-card h3{font-size:1.5rem;margin:.4rem 0 1.2rem;color:var(--ink)}
.gate-card input{display:block;width:100%;margin-bottom:.7rem;padding:.7rem .9rem;border:1px solid rgba(38,33,30,.28);background:#FFFDF8;font-family:var(--sans);font-size:.92rem;color:var(--ink);box-sizing:border-box}
.gate-card input:focus{outline:none;border-color:var(--gold-deep)}
.gate-go{width:100%;border:none;cursor:pointer;margin-top:.3rem}
.gate-err{color:#A32D2D;font-size:.82rem;margin-top:.7rem;min-height:1.1em}
.inv-act{text-align:right;white-space:nowrap}
.inv-btn{display:inline-block;padding:.5rem 1.1rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(38,33,30,.3);color:#453f39;transition:all .2s}
.inv-btn:hover{border-color:var(--burgundy);color:var(--burgundy)}
.inv-btn-gold{background:var(--gold);border-color:var(--gold);color:var(--burgundy-deep)}
.inv-btn-gold:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--burgundy-deep)}
.inv-dash{color:#b5aca2}
.inv-note{margin-top:1.6rem;font-size:.85rem;font-weight:300;color:#8a8078}

/* communities page */
.cm{max-width:1150px;margin:0 auto;padding:2.6rem 2rem 6rem}
.cm-stage{position:relative;height:min(74vh,660px);overflow:hidden;background:#EFE6D2;border:1px solid rgba(90,30,42,.22)}
.cm-pan{position:absolute;top:0;left:0;width:100%;transform-origin:0 0;transition:transform .9s cubic-bezier(.4,0,.2,1)}
.cm-pan img{width:100%;display:block;filter:sepia(.22) contrast(.97) brightness(1.02)}
#cm-overlay{position:absolute;inset:0;width:100%;height:100%}
.cm-lot{fill-opacity:.34;transition:fill-opacity .25s;cursor:default}
.cm-lot:hover{fill-opacity:.6}
.cm-lot.cm-click{cursor:pointer}
.cm-legend{flex-wrap:wrap;max-width:70%}
.cm-note{margin-top:1.1rem;font-size:.85rem;font-weight:300;color:#8a8078}
.cm-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:1.2rem;align-items:stretch}
.cm-list{background:#FFFDF8;border:1px solid rgba(90,30,42,.16);max-height:min(74vh,660px);overflow-y:auto;padding:.4rem}
.cm-list-head{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);padding:.8rem 1rem .5rem;position:sticky;top:0;background:#FFFDF8;z-index:2}
.cm-item{padding:.8rem 1rem;border-bottom:1px solid rgba(38,33,30,.07);cursor:pointer;transition:background .2s,border-color .2s;border-left:3px solid transparent}
.cm-item:hover,.cm-item.cm-hi{background:var(--sand);border-left-color:var(--gold)}
.cm-item-dim{opacity:.55}
.cm-item-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.cm-item-addr{font-family:var(--serif);font-weight:500;font-size:1.02rem;color:var(--ink)}
.cm-item .st{font-size:.6rem;padding:.2rem .55rem;flex:none}
.cm-item-sub{font-size:.78rem;color:#8a8078;margin-top:.15rem}
.cm-item-meta{font-size:.78rem;font-weight:300;color:#57504a;margin-top:.2rem}
.cm-item-meta strong{font-weight:500;color:var(--ink)}
.cm-list-all{display:block;text-align:center;margin:.8rem;text-decoration:none}
.cm-lot-hi{fill-opacity:.65!important}
@media (max-width:980px){.cm-split{grid-template-columns:1fr}.cm-list{max-height:340px}}
.cm-soon{text-align:center;padding:6rem 2rem;border:1px dashed rgba(90,30,42,.3);background:#FBF8F1}
.cm-soon span{color:var(--gold);font-size:1.6rem}
.cm-soon h3{margin:.8rem 0 .4rem;color:var(--burgundy)}
.cm-soon p{font-weight:300;color:#8a8078;max-width:420px;margin:0 auto}

footer{background:#1E0C12;color:var(--sand);text-align:center;padding:3.4rem 2rem;letter-spacing:.24em;font-size:.9rem}
.foot-sub{font-size:.75rem;letter-spacing:.18em;color:var(--silver);margin-top:.6rem}
.foot-fine{font-size:.68rem;letter-spacing:.08em;color:#6f5a60;margin-top:1.4rem}

@media (max-width:920px){
  .nav-links a:not(.nav-cta){display:none}
  .journey-panel{right:50%;transform:translate(50%,0);top:auto;bottom:8vh}
  .journey-head{top:10vh}
  .phase-dots{top:auto;bottom:-24px}
  .story{grid-template-columns:1fr;gap:5rem}
  .field-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-scroll-hint span{animation:none}
}
