:root{--ivory:#f6f1e9;--sand:#ece4d6;--ink:#25211c;--mute:#4d463d;--bronze:#8a6d3b;--deep:#2b2620}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:300 17px/1.7 Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo,.price{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.01em}
a{color:inherit}
.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:linear-gradient(rgba(20,16,12,.55),transparent);color:#fff}
.logo{text-decoration:none;font-size:26px;letter-spacing:.32em}.logo span{display:block;font:300 10px Jost;letter-spacing:.3em;opacity:.8;margin-top:-4px}
.nav nav{display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase}.nav nav a{text-decoration:none}
.hero{position:relative;min-height:min(92vh,760px);display:flex;align-items:flex-end;color:#fff}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(20,16,12,.7))}
.hero-copy{position:relative;z-index:1;padding:0 5vw 9vh;max-width:760px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);margin:0 0 14px}.hero .eyebrow{color:#e6d6b6}
h1{font-size:clamp(42px,7vw,84px);line-height:1;margin:0 0 18px;font-weight:400}
h2{font-size:clamp(32px,4.6vw,52px);line-height:1.1;margin:0 0 22px;font-weight:400}
.lede{font-size:20px;max-width:520px;margin:0 0 30px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--bronze);color:#fff;border:1px solid var(--bronze);padding:15px 30px;font:400 13px Jost;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;border-color:#fff}.btn.small{padding:9px 18px;font-size:11px}
section{padding:110px 0}.wrap{max-width:1120px;margin:0 auto;padding:0 5vw}.narrow{max-width:760px}
.intro{text-align:center}.stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;margin:50px 0 0}
.stats b{display:block;font:500 34px "Cormorant Garamond",serif;color:var(--bronze)}.stats span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gallery{padding:0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;height:360px}.gallery img,.duo img{width:100%;height:100%;object-fit:cover}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}
.card{background:var(--sand);padding:34px 30px}.card.wide{grid-column:1/-1}
.card h3{margin:0;font-size:26px}.price{margin:6px 0 0;font-size:44px;color:var(--deep)}.price small{font:300 12px Jost;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-right:6px}
.note{font-size:13px;color:var(--mute);margin-top:18px}
.dark{background:var(--deep);color:#efe8db}.dark h2{color:#fff}
.amen{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;margin:26px 0 40px}.amen ul{list-style:none;margin:0;padding:0}.amen li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;height:300px}
table{width:100%;border-collapse:collapse;margin-top:24px}td{padding:18px 0;border-bottom:1px solid #d8cdb9}td:last-child{text-align:right;font:500 26px "Cormorant Garamond",serif;color:var(--bronze)}
.narrowp{max-width:640px}figure{margin:34px 0 0}figure img{width:100%;display:block}figcaption{font-size:13px;opacity:.7;margin-top:8px}
form{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
input,select{font:300 17px Jost;padding:14px 12px;border:1px solid #cfc3ad;background:#fff;color:var(--ink);border-radius:0}
.chk{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px}.chk input{margin-top:5px}
.status{min-height:24px;font-size:14px}.or{margin-top:24px}.or a{color:var(--bronze)}
footer{background:#1c1814;color:#a89f90;padding:44px 5vw;font-size:12px;line-height:1.7}footer p{max-width:900px;margin:0 0 8px}
.float{position:fixed;right:18px;bottom:18px;z-index:20;background:var(--deep);color:#fff;padding:13px 22px;text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--bronze)}
@media(max-width:720px){.nav nav a:not(.btn){display:none}section{padding:72px 0}.stats{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;height:auto}.gallery img{height:200px}.cards,.amen,.duo{grid-template-columns:1fr}.duo{height:auto}.duo img{height:200px}.card.wide{grid-column:auto}.hero{min-height:min(88vh,700px)}.lede{font-size:18px}}
.duo.r{margin-top:30px}
.hero-img{background-position:center 60%}
.hero::after{background:linear-gradient(rgba(20,16,12,.25),rgba(20,16,12,.3) 30%,rgba(20,16,12,.82))}
.hero-copy{text-shadow:0 1px 18px rgba(0,0,0,.45)}.hero .eyebrow{color:#f0e2c4}
.hero-img{background-position:center 40%}
/* contrast pass */
.nav{background:linear-gradient(rgba(20,16,12,.85),rgba(20,16,12,.55));text-shadow:0 1px 8px rgba(0,0,0,.6)}
.logo span{opacity:1;font-weight:400}
.hero::after{background:linear-gradient(rgba(20,16,12,.45),rgba(20,16,12,.45) 35%,rgba(20,16,12,.88))}
.hero-copy{text-shadow:0 2px 20px rgba(0,0,0,.7)}.hero .eyebrow{color:#fff}.lede{font-weight:400}
.btn{background:#8a6d3b;border-color:#8a6d3b;font-weight:500}.btn.ghost{background:rgba(20,16,12,.35);color:#fff}
.nav .btn{background:#8a6d3b}
body{font-weight:400}
.dark,.dark p,.dark li{color:#f6f1e9}
.stats span,.note,label{color:#3f392f}
td:last-child,.stats b{color:#7a5f30}
figcaption{opacity:1;color:#3f392f}.dark figcaption{color:#f6f1e9}
.card{background:#e8dfce}
footer{color:#d8d0c2}
.or a{color:#7a5f30;font-weight:500}
.status{font-size:15px;color:#25211c;padding:10px 14px;border-left:3px solid #8a6d3b;background:#ece4d6;display:none}
.status.show{display:block}
.eyebrow{color:#6b522a;font-weight:500}.hero .eyebrow{color:#fff}.dark .eyebrow{color:#e6d2a6}

/* ===== Round 3: brochure palette, bolder hero, interactivity ===== */
:root{--saffron:#f5b34a;--saffdk:#d98f1f;--cream:#fbf4e4;--burg:#5a1e2b;--sage:#8d9b7d;--sagedk:#6b3a44}
body{background:var(--cream);color:#3a2a2a}
.eyebrow{color:var(--burg);font-weight:500}
.btn{background:var(--burg);border-color:var(--burg)}.btn:hover{background:var(--saffdk);border-color:var(--saffdk)}
.nav{background:linear-gradient(rgba(35,10,16,.7),transparent)}
.logo span{opacity:1;letter-spacing:.34em;color:var(--saffron);font-weight:500;font-size:11px}
.nav nav a.btn.small{background:var(--saffron);border-color:var(--saffron);color:#3a1a14;font-weight:500}
.hero{min-height:100vh;align-items:flex-end}
.hero-img{animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero{overflow:hidden}
.hero::after{background:linear-gradient(rgba(30,8,12,.45),rgba(30,8,12,.05) 35%,rgba(30,8,12,.55) 62%,rgba(30,8,12,.88))}
.hero-copy{max-width:900px;padding-bottom:12vh}
.hero h1{font-weight:700;font-size:clamp(48px,8.4vw,108px);line-height:.98;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.55)}
.hero .eyebrow{color:var(--saffron);font-weight:500;font-size:14px;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.hero .lede{font-weight:400;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.lockup{display:flex;align-items:center;gap:14px;margin-bottom:22px}.mlogo{height:38px;width:auto}
.lockup span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#fff;border-left:1px solid rgba(255,255,255,.6);padding-left:14px}
.hero .btn.ghost{border-color:#fff;color:#fff}
.hero .btn:not(.ghost){background:var(--saffron);border-color:var(--saffron);color:#3a1a14;font-weight:500}
.scrollcue{position:absolute;z-index:2;left:50%;bottom:22px;color:#fff;text-decoration:none;font-size:26px;animation:bob 1.8s infinite}
@keyframes bob{50%{transform:translateY(8px)}}
.intro{background:var(--cream)}.stats b{color:var(--burg);font-weight:600}
#residences{background:var(--saffron)}#residences .eyebrow{color:var(--burg)}#residences h2{color:#3a1018}
.cards{display:none}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 26px}
.tabs button{font:400 13px Jost;letter-spacing:.12em;text-transform:uppercase;padding:12px 22px;border:1px solid var(--burg);background:transparent;color:var(--burg);cursor:pointer;transition:.25s}
.tabs button.on,.tabs button:hover{background:var(--burg);color:#fff}
.tabview{background:var(--cream);padding:46px 40px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;box-shadow:0 20px 50px rgba(90,30,43,.25);min-height:200px}
.tabview h3{font-size:44px;margin:0;color:var(--burg)}.tabview .price{font-size:clamp(40px,6vw,70px);color:var(--burg);margin:0;line-height:1}
.tabview small{display:block;font:400 12px Jost;letter-spacing:.2em;text-transform:uppercase;color:var(--sagedk)}
.tabview ul{list-style:none;padding:0;margin:0}.tabview li{padding:8px 0;border-bottom:1px solid rgba(90,30,43,.2)}
.tabview .swap{animation:fadein .5s}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1}}
#residences .note{color:#3a1018}
#amenities.dark{background:var(--burg);color:#fbeed2}#amenities .eyebrow{color:var(--saffron)}
#plan{background:var(--cream)}#plan table td{border-color:rgba(90,30,43,.25)}#plan td:last-child{color:var(--burg);font-weight:600}
.loc.dark{background:#2e0f17;color:#fbeed2}.loc .eyebrow{color:var(--saffron)}
.mapgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;margin:30px 0}
.mapbox{background:#f3e3bf;border:1px solid rgba(245,179,74,.5);position:relative}
#map{width:100%;height:auto;display:block}.mapnote{position:absolute;right:10px;bottom:4px;margin:0;font-size:11px;color:#6b4a30}
#map .sea{fill:#9ec3c4}#map .land{fill:#f3e3bf}#map .coast{fill:none;stroke:#fff;stroke-width:3}
#map .pin{cursor:pointer}#map .pin circle{fill:var(--burg);stroke:#fff;stroke-width:3;transition:.2s}#map .pin:hover circle,#map .pin.on circle{fill:var(--saffdk);r:15}
#map .pin text{font:500 17px Jost;fill:#3a1018;paint-order:stroke;stroke:#f3e3bf;stroke-width:4px}
#map .home circle{fill:var(--saffron);stroke:var(--burg);stroke-width:4}#map .home text{font:700 20px "Cormorant Garamond",serif;fill:var(--burg);paint-order:stroke;stroke:#f3e3bf;stroke-width:5px}
#map .ring{fill:none;stroke:var(--saffdk);stroke-width:2;animation:ping 2.4s infinite;transform-box:fill-box;transform-origin:center}
@keyframes ping{from{transform:scale(.4);opacity:1}to{transform:scale(2.4);opacity:0}}
#map .route{stroke:var(--burg);stroke-width:4;stroke-dasharray:10 8;fill:none;animation:dash 1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-18}}
.info{background:rgba(245,179,74,.14);border-left:3px solid var(--saffron);padding:22px 26px;min-height:150px}
.info h3{font-size:34px;margin:0 0 6px;color:#fff}.info .t{font:600 44px "Cormorant Garamond",serif;color:var(--saffron);line-height:1}
.chips{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:400 13px Jost;padding:9px 14px;border:1px solid rgba(245,179,74,.6);background:transparent;color:#fbeed2;cursor:pointer;transition:.2s}
.chips button:hover,.chips button.on{background:var(--saffron);color:#3a1018}
.fine{font-size:13px;opacity:.8;max-width:760px}
.why{background:var(--sage);color:#17210f}.why .eyebrow{color:#2c3a22}.why h2{color:#17210f}
.whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.wc{background:var(--cream);padding:34px 28px;position:relative;box-shadow:0 14px 34px rgba(30,45,20,.25);transition:transform .3s}.wc:hover{transform:translateY(-6px)}
.wc i{font:italic 500 46px "Cormorant Garamond",serif;color:var(--saffdk);font-style:normal}.wc h3{font-size:28px;margin:6px 0 10px;color:var(--burg)}.wc p{margin:0;font-size:15px;color:#3a2a2a}
#register{background:var(--saffron)}#register input,#register select{background:#fff9ea}
#register .btn{background:var(--burg)}.status.show{color:var(--burg);font-weight:500}
footer{background:#2e0f17;color:#e9d9b8}.flogo{height:30px;margin-bottom:14px;display:block}
.float{background:var(--sagedk)!important}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(max-width:800px){.mapgrid,.whygrid,.tabview{grid-template-columns:1fr}.tabview{padding:28px 22px}.hero h1{font-size:clamp(44px,13vw,70px)}.nav nav a:not(.btn){display:none}.mlogo{height:28px}.hero-copy{padding-bottom:14vh}#map .pin text{font-size:22px}}
@media(prefers-reduced-motion:reduce){.hero-img,.scrollcue,#map .ring,#map .route{animation:none}.reveal{opacity:1;transform:none}}
.hero::after{background:linear-gradient(rgba(30,8,12,.35),rgba(30,8,12,0) 30%,rgba(30,8,12,.35) 55%,rgba(30,8,12,.8))}
.hero .eyebrow{color:#ffd98a;font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.hero h1{font-weight:700;-webkit-text-stroke:.6px rgba(255,255,255,.5)}
.hero-img{background-position:center 55%}
.nav{transition:background .3s,padding .3s,box-shadow .3s}
.nav.solid{background:rgba(46,15,23,.97);box-shadow:0 2px 18px rgba(0,0,0,.35);padding-top:10px;padding-bottom:10px}
.nav.solid .logo{font-size:22px}.nav.solid .logo span{color:var(--saffron)}
.float{transition:opacity .3s}.float.hide{opacity:0;pointer-events:none}
.cur{display:inline-flex;margin:-8px 0 22px;border:1px solid var(--burg)}.cur button{font:500 12px Jost;letter-spacing:.14em;padding:9px 16px;border:0;background:transparent;color:var(--burg);cursor:pointer}.cur button.on{background:var(--burg);color:#fff}
/* round 4 */
.hero-img{background-position:center 40%}
.mosaic{padding:0 0 80px;background:var(--cream)}
.mgrid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:8px;padding:0 8px}
.mgrid figure{margin:0;position:relative;overflow:hidden}.mgrid img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.mgrid figure:hover img{transform:scale(1.06)}
.mgrid .m1{grid-row:span 2}.mgrid figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font:500 12px Jost;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.8)}

.interiors{background:var(--cream);padding:90px 0 80px}
.hscroll{display:flex;gap:10px;overflow-x:auto;padding:30px 5vw 10px;scroll-snap-type:x mandatory}.hscroll img{height:360px;width:auto;scroll-snap-align:start;flex:none}
.night{position:relative;min-height:80vh;max-height:900px;display:flex;align-items:flex-end;padding:0;color:#fff;overflow:hidden}
.nightimg{position:absolute;inset:0;background-size:cover;background-position:center}
.night::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(20,5,10,.85))}
.nightcopy{position:relative;z-index:1;padding:0 5vw 9vh;max-width:760px}.nightcopy h2{font-weight:600;text-shadow:0 2px 18px rgba(0,0,0,.6)}.nightcopy .eyebrow{color:var(--saffron)}
.mp{margin:40px 0 0}.mp img{width:100%;display:block}.mp figcaption{font-size:13px;opacity:.85;padding-top:10px}
@media(max-width:800px){.mgrid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mgrid .m1{grid-column:span 2;grid-row:auto;height:240px}.mgrid figure{height:170px}.hscroll img{height:240px}.night{min-height:70vh}}

#map{height:520px;width:100%;z-index:0}.mapbox{border:1px solid rgba(245,179,74,.5)}
.leaflet-container{font-family:Jost,sans-serif;background:#cfe0e3}
.mk{width:26px;height:26px;border-radius:50%;background:#5a1e2b;border:2px solid #fff;color:#fff;font:500 12px/22px Jost;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.mk.on{background:#f5b34a;color:#3a1018;transform:scale(1.2)}
.mk.sol{width:40px;height:40px;border:3px solid #5a1e2b;background:#f5b34a;color:#5a1e2b;font:600 22px/34px "Cormorant Garamond",serif}
.lbl{background:rgba(251,244,228,.95);border:1px solid #f5b34a;color:#3a1018;font:500 12px Jost;padding:2px 7px;box-shadow:none;border-radius:2px}
.lbl.leaflet-tooltip-left:before,.lbl.leaflet-tooltip-right:before{display:none}
.lbl.s{background:#5a1e2b;color:#fbeed2;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.behind{background:var(--cream);padding:90px 0}.behind h2{text-align:center}.behind .eyebrow{text-align:center}
.bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:40px}.bgrid h3{font:500 26px "Cormorant Garamond",serif;color:var(--burg);margin:0 0 10px;border-top:1px solid #f5b34a;padding-top:16px}.bgrid p{font-size:15px;margin:0}
.film{background:#2a0e15;color:#fbeed2;padding:90px 0;text-align:center}.fframe{max-width:860px;margin:30px auto 0;border:1px solid rgba(245,179,74,.6);padding:10px}.fframe video{width:100%;display:block;background:#000}
@media(max-width:800px){#map{height:420px}.bgrid{grid-template-columns:1fr 1fr;gap:26px}.film,.behind{padding:60px 0}}@media(max-width:520px){.bgrid{grid-template-columns:1fr}}
.mapgrid{grid-template-columns:1fr!important}#map{height:560px}.mapside{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:start}.mapside .chips{margin:0}@media(max-width:800px){.mapside{grid-template-columns:1fr}#map{height:440px}}
@media(max-width:600px){.lbl.opt{display:none}}
.film .eyebrow{color:var(--saffron)}
/* ===== Round 5: calmer, more refined ===== */
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-img{animation:none}
.hero::after{z-index:0;background:linear-gradient(rgba(24,10,12,.38),rgba(24,10,12,.12) 30%,rgba(24,10,12,.5) 65%,rgba(24,10,12,.82))}
.hero-copy{z-index:1;text-shadow:none!important}
.hero .eyebrow{color:#efe6d2!important;font-weight:400;letter-spacing:.34em;font-size:11px;display:flex;align-items:center;gap:16px;text-shadow:none}
.hero .eyebrow::before{content:"";width:34px;height:1px;background:#efe6d2;opacity:.7}
.hero h1,.hero h1{font-weight:400!important;-webkit-text-stroke:0!important;text-shadow:none!important;color:#fbf6ea;letter-spacing:.005em}
.hero .lede{text-shadow:none!important;color:#eee4cf;font-weight:300}
.hero .btn:not(.ghost){background:#fbf6ea!important;border-color:#fbf6ea!important;color:#3a1018!important;font-weight:400}
.hero .btn.ghost{background:transparent!important;border-color:rgba(251,246,234,.7)!important;color:#fbf6ea!important}
.nav .btn.small{background:transparent!important;border:1px solid rgba(251,246,234,.75)!important;color:#fbf6ea!important}
.nav.solid .btn.small{border-color:rgba(251,246,234,.75)!important}
.lockup span{color:#efe6d2}
@media(prefers-reduced-motion:reduce){.hero-vid{display:none}}
/* prices */
.pricegrid{margin:26px 0 0;background:var(--cream);box-shadow:0 20px 50px rgba(90,30,43,.2)}
.pricegrid .avg{margin:0;padding:18px 36px 0;font:400 11px Jost;letter-spacing:.3em;text-transform:uppercase;color:var(--sagedk)}
.prow{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:16px;align-items:center;padding:26px 36px;border-top:1px solid rgba(90,30,43,.15)}
.pricegrid .avg+.prow{border-top:0}
.pn h3{margin:0;font-size:30px;color:var(--burg);font-weight:500}.pn span{font-size:13px;color:#6b5a50}
.pc small{display:block;font:400 10px Jost;letter-spacing:.25em;color:var(--sagedk);margin-bottom:2px}
.pc b{font:500 26px "Cormorant Garamond",serif;color:var(--burg)}.pc.main b{font-size:32px;font-weight:600}
@media(max-width:800px){.prow{grid-template-columns:1fr 1fr;padding:22px 22px;gap:14px 10px}.pn{grid-column:1/-1}.pricegrid .avg{padding:18px 22px 0}.pc b{font-size:24px}.pc.main b{font-size:24px}}
/* map */
#map{height:560px}.mapbox{margin-top:28px}.chips,#info{display:none!important}
.j1{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center;margin-top:70px}
.j1 h3{font-size:44px;margin:0 0 12px;color:#fbeed2;font-weight:400}.j1 p{color:#ead9b7;font-size:16px;max-width:460px}
.j1i{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}.j1i img{width:100%;height:240px;object-fit:cover;display:block}
@media(max-width:800px){.j1{grid-template-columns:1fr;gap:24px}.j1i img{height:130px}}
/* form */
#register{background:#2a0e15;color:#efe6d2;padding:110px 0}
#register .eyebrow{color:#cdb37a;text-align:center}#register h2{color:#fbf6ea;text-align:center;font-weight:400;font-size:clamp(34px,5vw,52px)}
#register .narrowp{color:#d9ccb2}
#register form{gap:26px;margin-top:40px}
#register label{color:#cdb37a;font-size:11px;letter-spacing:.24em}
#register input,#register select{background:transparent!important;border:0;border-bottom:1px solid rgba(239,230,210,.45);color:#fbf6ea;padding:10px 2px;font:300 18px Jost;outline:0;transition:border-color .25s}
#register input:focus,#register select:focus{border-bottom-color:#f5b34a}
#register select option{color:#2a0e15}
#register .chk{color:#d9ccb2;font-size:13px}.chk input{accent-color:#f5b34a}
#register .btn{background:#fbf6ea;color:#2a0e15;border:0;padding:17px 30px;letter-spacing:.24em;font-size:12px;margin-top:6px}#register .btn:hover{background:#f5b34a}
#register .or{text-align:center;color:#d9ccb2}#register .or a{color:#f5b34a}#register .status.show{color:#f5b34a}

.atiles{list-style:none;margin:30px 0 34px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.atiles li{border:1px solid rgba(245,179,74,.35);padding:22px 16px;text-align:center;font:400 12px/1.5 Jost;letter-spacing:.16em;text-transform:uppercase;color:#fbeed2;display:flex;align-items:center;justify-content:center;min-height:84px}
#amenities .duo{height:260px}#amenities .duo img{height:100%}
.nav .logo span{color:#efe6d2!important}
@media(max-width:800px){.atiles{grid-template-columns:1fr 1fr;gap:8px}.atiles li{padding:14px 8px;min-height:62px;font-size:11px;letter-spacing:.12em}#amenities .duo{grid-template-columns:1fr 1fr;height:140px}}
.hero::after{background:linear-gradient(rgba(24,10,12,.4),rgba(24,10,12,.2) 28%,rgba(24,10,12,.5) 55%,rgba(24,10,12,.85))}
#residences{background:#efe6d2}#residences .eyebrow{color:var(--burg)}
.pricegrid{background:#fbf6ea;box-shadow:0 14px 40px rgba(90,30,43,.1)}
.prow{grid-template-columns:1.5fr 1fr 1fr}
@media(max-width:800px){.prow{grid-template-columns:1fr 1fr}}
#register select{-webkit-appearance:none;appearance:none;padding-right:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1.5l7 7 7-7' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 6px center/16px 10px!important}
.why{background:#efe6d2;color:#2a0e15}.why .eyebrow{color:var(--burg)}.why h2{color:#2a0e15}
.whygrid{gap:16px;margin-top:22px}
.wc{padding:22px 24px;box-shadow:0 10px 26px rgba(90,30,43,.1)}
.wc i{display:block;font-size:34px;line-height:1}.wc h3{font-size:25px;line-height:1.2;margin:8px 0 8px}.wc p{line-height:1.6}
.float{background:var(--burg)!important}
.maplibregl-map,.leaflet-maplibre-gl{font-family:Jost,sans-serif}
.leaflet-maplibre-gl canvas,.maplibregl-canvas{filter:grayscale(.88) contrast(.96) brightness(1.04)}

.privacy{font-size:12px;color:#6b5a50;text-align:center;margin:14px 0 0}

/* prices - editorial list (replaces card) */
.pricegrid{margin:44px 0 0;background:none;box-shadow:none;border-top:1px solid rgba(58,16,24,.45)}
.pricegrid .avg{margin:0;padding:16px 0 14px;font:400 11px Jost;letter-spacing:.3em;text-transform:uppercase;color:#8a6d3b;border-bottom:1px solid rgba(58,16,24,.18)}
.prow{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;align-items:baseline;padding:24px 2px;border-bottom:1px solid rgba(58,16,24,.18);border-top:0}
.pn h3{margin:0;font:500 30px "Cormorant Garamond",serif;color:#5a1e2b;font-weight:500}
.pn span{display:block;margin-top:3px;font:italic 400 15px "Cormorant Garamond",serif;color:#6b5a50}
.pc{text-align:right}
.pc small{display:block;font:400 10px Jost;letter-spacing:.25em;text-transform:uppercase;color:#8a6d3b;margin-bottom:4px}
.pc b{font:400 30px "Cormorant Garamond",serif;color:#3a1018;font-weight:400}
.pc.main b{font-size:34px;font-weight:500;color:#5a1e2b}
@media(max-width:800px){.prow{grid-template-columns:1fr 1fr;padding:20px 0;gap:8px 12px}.pn{grid-column:1/-1}.pc{text-align:left}.pc b{font-size:26px}.pc.main b{font-size:30px}}

/* mobile overflow + aspect fix: HTML width/height attrs must never force size; keep aspect via attrs, cap at container */
img{max-width:100%;height:auto}

/* hard lock: page itself never scrolls sideways (interior galleries keep their own scroll) */
html,body{overflow-x:clip}

/* logo aspect fix: never let the HTML width attr stretch it */
.flogo{height:30px;width:auto}

/* phone country dropdown + inline thank-you */
.phonewrap{display:flex;gap:16px;align-items:flex-end}
.phonewrap .cc{flex:0 0 auto;min-width:170px}
.phonewrap input{flex:1 1 auto;min-width:0}
#thanks{margin-top:44px;text-align:center}
#thanks h3{color:#fbf6ea;font-weight:400;font-size:clamp(26px,6vw,34px);margin:0 0 10px}
#thanks p{color:#d9ccb2;font-size:16px;margin:0 0 28px}
#thanks .btn{display:inline-block}
@media(max-width:480px){.phonewrap{gap:10px}.phonewrap .cc{min-width:128px}}

/* hidden attr must beat the grid display */
#register form[hidden]{display:none}

/* iOS overflow cage: the form column can never exceed its container */
#register form{grid-template-columns:minmax(0,1fr)}
#register form>*{min-width:0}
.phonewrap{min-width:0;max-width:100%}
.phonewrap .cc{flex:0 0 auto}
#register .cf-turnstile{width:100%;max-width:100%;min-width:0;overflow:hidden}
#register .cf-turnstile iframe{max-width:100%!important}

.hero-img{background-image:url(img/hero-1200.webp)}@media(min-width:801px){.hero-img{background-image:url(img/hero.webp)}}@media(min-width:1701px){.hero-img{background-image:url(img/hero.jpg)}}
