:root{
  --bg:#041f1b;
  --bg-2:#082d26;
  --bg-3:#0d372f;
  --line:rgba(224,183,103,.34);
  --line-soft:rgba(224,183,103,.18);
  --gold:#dcb66d;
  --gold-2:#f2d79b;
  --ivory:#f5ecd8;
  --muted:#b9c9bd;
  --text:#f8f1df;
  --dark:#021412;
  --shadow:0 24px 70px rgba(0,0,0,.34);
  --radius:22px;
  --left-col:62%;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 10%, rgba(213,175,100,.15), transparent 24rem),
    radial-gradient(circle at 88% 20%, rgba(23,94,77,.45), transparent 30rem),
    linear-gradient(180deg,#041d19 0%,#062821 42%,#041b18 100%);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select{font:inherit}
.container{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  height:76px;padding:0 36px;
  display:grid;grid-template-columns:auto 1fr auto auto;gap:24px;align-items:center;
  background:rgba(3,24,21,.72);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(220,182,109,.16);
}
.brand{display:inline-flex;flex-direction:column;line-height:.9;color:var(--gold-2);letter-spacing:.08em;text-transform:uppercase}
.brand-mark{font-family:Georgia, 'Times New Roman', serif;font-size:30px;font-weight:500;letter-spacing:.09em}
.brand-sub{font-size:10px;letter-spacing:.16em;text-align:center;margin-top:5px;text-transform:none;color:#f1d390}
.main-nav{display:flex;justify-content:center;gap:28px;font-size:13px;color:rgba(248,241,223,.82)}
.main-nav a{position:relative;padding:28px 0}
.main-nav a:after{content:"";position:absolute;left:0;bottom:20px;width:0;height:1px;background:var(--gold);transition:.25s}
.main-nav a:hover:after{width:100%}
.advisor-chip{display:flex;align-items:center;gap:11px;padding:8px 13px;border:1px solid var(--line-soft);border-radius:999px;background:rgba(255,255,255,.045)}
.advisor-chip img{width:38px;height:38px;border-radius:999px;object-fit:cover;border:1px solid rgba(242,215,155,.5)}
.advisor-chip strong{display:block;font-size:13px;color:var(--ivory);line-height:1.1}.advisor-chip span{font-size:11px;color:var(--muted)}
.header-cta,.btn{border:1px solid var(--line);border-radius:12px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.25s ease;cursor:pointer;white-space:nowrap}
.header-cta,.btn-primary{background:linear-gradient(135deg,#f2d79b,#c79543);color:#10211d;font-weight:700;box-shadow:0 12px 32px rgba(218,174,88,.22)}
.btn-ghost,.btn-outline{background:rgba(255,255,255,.045);color:var(--ivory)}
.btn:hover{transform:translateY(-1px);filter:saturate(1.08)}
.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line-soft)}
.hero-bg{position:absolute;inset:0;background:url('../images/project-header.jpg?v=20260523-v3') center/cover no-repeat;transform:scale(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,18,.92) 0%,rgba(3,25,22,.72) 32%,rgba(3,25,22,.32) 58%,rgba(2,20,18,.35) 100%),linear-gradient(180deg,rgba(2,20,18,.1) 0%,rgba(2,20,18,.82) 100%)}
.hero-inner{position:relative;z-index:1;padding-top:44px}.eyebrow,.section-kicker{color:var(--gold-2);letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin:0 0 18px}
.hero h1{font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;letter-spacing:.105em;font-size:clamp(38px,6vw,76px);font-weight:500;line-height:.98;margin:0;color:#f5dfac;text-shadow:0 20px 50px rgba(0,0,0,.44)}
.hero-tagline{font-size:clamp(22px,2.8vw,38px);font-family:Georgia,'Times New Roman',serif;color:var(--ivory);margin:20px 0 34px;letter-spacing:.03em}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.project-facts{display:grid;grid-template-columns:1.15fr 1.1fr 2fr 1fr;gap:14px;margin-top:-52px;position:relative;z-index:3}.fact-card{background:linear-gradient(180deg,rgba(12,61,51,.92),rgba(6,38,32,.88));border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);min-height:104px}.fact-label{display:block;color:var(--gold-2);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.fact-card strong{font-size:15px;line-height:1.45;color:var(--ivory);font-weight:600}
section{scroll-margin-top:90px}.section-heading{margin:80px auto 24px;text-align:center}.section-heading.align-left{text-align:left;margin-left:0}.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:#f5dfac;font-size:clamp(30px,4.4vw,56px);line-height:1.08;margin:0 0 14px}.section-heading p{max-width:650px;color:var(--muted);line-height:1.7;margin:0}
.location-grid{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:stretch}.location-copy,.map-panel,.masterplan-card,.inventory-left,.unit-detail,.floorplan-stage,.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(9,50,43,.82),rgba(4,29,25,.88));box-shadow:var(--shadow)}.location-copy{padding:24px}.connect-row{padding:18px 0;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:44px 1fr;column-gap:12px}.connect-row span{font-family:Georgia,serif;color:var(--gold-2);font-size:24px}.connect-row strong{font-size:16px}.connect-row em{grid-column:2;color:var(--muted);font-style:normal;font-size:13px;margin-top:3px}.location-copy .btn{margin-top:22px;width:100%}.map-panel{position:relative;overflow:hidden;aspect-ratio:16/9;background:#062620}.map-panel img{width:100%;height:100%;object-fit:contain;padding:10px}.map-star{position:absolute;left:49.2%;top:48.5%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:999px;display:grid;place-items:center;color:#fff2c2;background:rgba(226,180,88,.22);border:1px solid rgba(255,228,160,.85);filter:drop-shadow(0 0 18px rgba(242,215,155,.95));animation:pulseStar 1.8s infinite ease-in-out}.road-lines{position:absolute;inset:10px;pointer-events:none}.road-lines path{fill:none;stroke:rgba(245,211,140,.82);stroke-width:.42;stroke-linecap:round;stroke-dasharray:4 3;animation:dashRoad 2.4s linear infinite;filter:drop-shadow(0 0 4px rgba(245,211,140,.75))}@keyframes dashRoad{to{stroke-dashoffset:-22}}@keyframes pulseStar{0%,100%{transform:scale(.9);opacity:.68}50%{transform:scale(1.22);opacity:1}}
.masterplan-card{position:relative;overflow:hidden;padding:8px}.masterplan-card img{width:100%;border-radius:16px}.tower-hotspot{position:absolute;bottom:8.5%;border:1px solid rgba(242,215,155,.85);border-radius:12px;background:rgba(2,24,20,.84);color:#f9e3ad;padding:13px 28px;font-weight:700;font-size:20px;box-shadow:0 0 0 0 rgba(242,215,155,.55);animation:towerPulse 2.2s infinite}.tower-hotspot:hover,.tower-hotspot.active{transform:scale(1.04);background:linear-gradient(135deg,#f2d79b,#be8a38);color:#0b211c}.peak-1{left:35.5%}.peak-2{right:29%}@keyframes towerPulse{0%{box-shadow:0 0 0 0 rgba(242,215,155,.45)}70%{box-shadow:0 0 0 12px rgba(242,215,155,0)}100%{box-shadow:0 0 0 0 rgba(242,215,155,0)}}
.inventory-head{margin-bottom:16px}.split-control{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-bottom:16px;color:var(--muted);font-size:13px}.split-control input{accent-color:#dcb66d;width:220px}.inventory-workspace{display:grid;grid-template-columns:var(--left-col) 1fr;gap:18px;align-items:stretch}.inventory-left{padding:18px;min-width:0}.filter-panel{display:grid;gap:12px}.filter-row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:7px;color:var(--gold-2);font-size:12px;text-transform:uppercase;letter-spacing:.08em}select,input{width:100%;height:44px;border:1px solid rgba(220,182,109,.32);border-radius:11px;background:rgba(3,22,19,.74);color:var(--ivory);padding:0 13px;outline:none}.inventory-count{margin:16px 0 12px;color:var(--muted);font-size:13px}.unit-list{display:grid;gap:10px;max-height:640px;overflow:auto;padding-right:4px}.unit-list::-webkit-scrollbar{width:7px}.unit-list::-webkit-scrollbar-thumb{background:rgba(220,182,109,.45);border-radius:99px}.unit-card{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid rgba(220,182,109,.2);background:rgba(255,255,255,.035);border-radius:16px;padding:14px;cursor:pointer;transition:.2s ease}.unit-card:hover,.unit-card.active{border-color:rgba(242,215,155,.82);background:rgba(221,183,107,.08);transform:translateY(-1px)}.unit-card h3{margin:0;font-size:17px;color:var(--ivory)}.unit-card p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.unit-price{text-align:right;color:var(--gold-2);font-weight:800;font-size:20px}.unit-price small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px}.pill-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pill{font-size:11px;color:#f0d69a;background:rgba(220,182,109,.11);border:1px solid rgba(220,182,109,.18);border-radius:999px;padding:5px 8px}
.unit-detail{padding:18px;display:flex;flex-direction:column;min-width:0}.selected-summary{display:grid;grid-template-columns:1fr auto;gap:14px;border-bottom:1px solid var(--line-soft);padding-bottom:14px;margin-bottom:14px}.selected-summary h3{font-family:Georgia,serif;font-size:40px;line-height:1;margin:0;color:#f5dfac;font-weight:500}.selected-summary p{margin:8px 0 0;color:var(--muted);line-height:1.55}.selected-summary .summary-price{font-size:32px;color:var(--gold-2);font-weight:800;text-align:right}.axis-panel{flex:1;min-height:360px;border:1px solid var(--line-soft);border-radius:16px;background:rgba(0,0,0,.22);overflow:hidden;display:grid;place-items:center}.axis-panel img{width:100%;height:100%;max-height:640px;object-fit:contain;background:#0a251f}.detail-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.detail-actions .btn{flex:1}.floorplan-stage{margin-top:18px;padding:18px}.floorplan-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.floorplan-title span{color:var(--gold-2);letter-spacing:.12em;text-transform:uppercase;font-size:12px}.floorplan-title strong{color:var(--ivory)}.floorplan-viewport{border-radius:16px;overflow:auto;border:1px solid var(--line-soft);background:#08231f}.floorplan-viewport img{width:100%;min-width:760px;height:auto}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line-soft);background:rgba(255,255,255,.04);aspect-ratio:4/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{position:absolute;left:12px;bottom:10px;font-size:11px;color:rgba(255,245,218,.86);letter-spacing:.03em;text-shadow:0 2px 12px rgba(0,0,0,.85)}
.contact-section{margin:84px auto}.contact-card{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;padding:24px}.advisor-profile{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}.advisor-profile>img{width:180px;height:240px;object-fit:cover;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow)}.advisor-profile h2{font-family:Georgia,serif;font-size:44px;margin:0 0 4px;color:#f5dfac}.advisor-profile strong{color:var(--gold-2)}.advisor-profile p{color:var(--muted)}.contact-benefits{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px;color:var(--ivory)}.lead-form{display:grid;gap:14px;background:rgba(255,255,255,.035);border:1px solid var(--line-soft);border-radius:18px;padding:18px}.lead-form .btn{width:100%}.form-note{font-size:12px;color:var(--muted);line-height:1.45;margin:0}.site-footer{border-top:1px solid var(--line-soft);padding:34px 0 42px;background:rgba(2,20,18,.7)}.footer-inner{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.site-footer p{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.6}.footer-brand .brand-mark{font-size:24px}
@media (max-width:1080px){.site-header{grid-template-columns:auto 1fr auto}.main-nav{display:none}.advisor-chip{display:none}.project-facts{grid-template-columns:1fr 1fr;margin-top:-32px}.fact-wide{grid-column:1/-1}.location-grid,.contact-card{grid-template-columns:1fr}.inventory-workspace{grid-template-columns:1fr}.axis-panel{min-height:520px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.split-control{display:none}.peak-1{left:31%}.peak-2{right:20%}}
@media (max-width:680px){.container{width:min(100% - 28px,1280px)}.site-header{height:66px;padding:0 14px;gap:12px}.brand-mark{font-size:22px}.header-cta{padding:10px 12px}.hero{min-height:610px}.hero h1{font-size:40px}.project-facts{grid-template-columns:1fr}.location-copy{padding:18px}.tower-hotspot{font-size:14px;padding:9px 14px}.peak-1{left:33%;bottom:8%}.peak-2{right:21%;bottom:8%}.filter-row.two{grid-template-columns:1fr}.selected-summary{grid-template-columns:1fr}.selected-summary .summary-price{text-align:left}.gallery-grid{grid-template-columns:1fr}.advisor-profile{grid-template-columns:1fr}.advisor-profile>img{width:100%;height:340px}.footer-inner{grid-template-columns:1fr}.map-panel{aspect-ratio:1/1}.map-panel img{padding:6px}.floorplan-viewport img{min-width:680px}}

/* === LEP v4 focused refinements — based on v3 layout, no concept reset === */
.hero-content h1{font-size:clamp(2.7rem,5vw,5.15rem);line-height:1.02;letter-spacing:.055em;white-space:normal;max-width:980px}
.hero-tagline{font-size:clamp(1.22rem,2.1vw,2.05rem);font-family:var(--font-serif);font-style:italic;letter-spacing:.11em;opacity:.96}
.hero-content .eyebrow{display:none}
.header-advisor{box-shadow:0 16px 46px rgba(0,0,0,.28)}
.fact-card{position:relative;padding-left:54px}
.fact-icon{position:absolute;left:20px;top:23px;width:24px;height:24px;border:1px solid rgba(220,178,104,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.9rem;background:rgba(221,184,116,.08)}
.fact-label{font-weight:900;color:var(--gold);letter-spacing:.11em;font-size:.76rem}
.fact-card strong{font-weight:780;color:#fffbe8;line-height:1.55}
.section-head h2{font-size:calc(clamp(1.85rem,3vw,3.1rem) * 1.15);font-weight:800;letter-spacing:.05em}.section-head p{font-size:1.02rem}
.location-grid{grid-template-columns:.72fr 1.28fr;align-items:stretch}.location-copy{padding:28px;border:1px solid rgba(219,180,111,.28);border-radius:22px;background:linear-gradient(140deg,rgba(218,174,98,.10),rgba(2,58,52,.18));display:flex;flex-direction:column;justify-content:space-between;min-height:100%}.location-lead{font-size:1.02rem;line-height:1.78;color:rgba(253,242,216,.84);margin:0 0 24px}.map-panel{min-height:530px}.map-panel img{height:100%;min-height:530px;object-fit:cover;object-position:center;transform:scale(1.08)}.road-lines{display:none!important}.map-star{left:50.4%;top:48%;font-size:2rem;text-shadow:0 0 12px rgba(242,203,132,.95),0 0 36px rgba(242,203,132,.45);z-index:3}
.masterplan-buttons{pointer-events:none}.tower-button{pointer-events:auto;animation:buttonPulse 2.4s ease-in-out infinite;box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 1px rgba(246,207,139,.26)}.tower-peak-i{left:36.5%;bottom:3.8%;min-width:132px}.tower-peak-ii{left:74.5%;bottom:3.8%;min-width:142px}@keyframes buttonPulse{0%,100%{transform:translate(-50%,0) scale(1);filter:brightness(1)}50%{transform:translate(-50%,0) scale(1.035);filter:brightness(1.1)}}
.inventory-section .section-head p{display:none}.inventory-grid{grid-template-columns:minmax(285px,.75fr) 5px minmax(0,1.7fr)}.unit-detail{gap:16px}.selected-summary{display:none!important}.media-toolbar,.floorplan-title{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.media-toolbar{padding:4px 4px 0;color:var(--gold);font-size:.86rem;letter-spacing:.07em;text-transform:uppercase}.media-toolbar label,.floorplan-title label{display:flex;align-items:center;gap:8px;color:rgba(255,244,218,.72);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.02em;text-transform:none}.media-toolbar input,.floorplan-title input{accent-color:#ddb874;width:130px}.zoom-panel{overflow:auto;cursor:grab}.zoom-panel img{transform-origin:top left;transition:transform .18s ease}.axis-panel{min-height:430px;max-height:640px;background:rgba(3,36,32,.82)}.axis-panel img{width:100%;min-width:100%;height:auto;display:block;object-fit:contain}.floorplan-viewport{max-height:720px;min-height:380px;background:rgba(3,36,32,.82)}.floorplan-viewport img{width:100%;height:auto;display:block;object-fit:contain}.resizer{background:linear-gradient(180deg,rgba(220,178,104,.25),rgba(220,178,104,.8),rgba(220,178,104,.25));border-radius:999px;cursor:col-resize;position:relative}.resizer:after{content:"";position:absolute;inset:45% -4px;border-radius:999px;background:rgba(255,242,216,.3)}
.gallery-section .section-head h2{font-size:clamp(1.8rem,3vw,3rem)}.gallery-carousel{position:relative;border:1px solid rgba(220,178,104,.3);border-radius:28px;overflow:hidden;background:rgba(5,45,40,.75);box-shadow:0 28px 80px rgba(0,0,0,.28)}.gallery-slide{margin:0;position:relative;height:min(72vh,720px);min-height:410px;display:grid}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.gallery-slide figcaption{position:absolute;left:24px;bottom:20px;padding:10px 16px;border:1px solid rgba(220,178,104,.32);border-radius:999px;background:rgba(2,29,27,.72);backdrop-filter:blur(12px);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#fff4dc}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(220,178,104,.45);background:rgba(2,34,31,.78);color:var(--gold);font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center}.gallery-nav:hover{background:rgba(220,178,104,.2)}.gallery-nav.prev{left:18px}.gallery-nav.next{right:18px}.gallery-dots{position:absolute;right:24px;bottom:24px;display:flex;gap:8px}.gallery-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,244,218,.35)}.gallery-dots span.active{background:var(--gold);box-shadow:0 0 14px rgba(220,178,104,.65)}
.footer-socials{display:flex;justify-content:center;gap:12px;margin:18px 0}.footer-socials a{padding:10px 18px;border:1px solid rgba(220,178,104,.35);border-radius:999px;color:var(--gold);text-decoration:none;background:rgba(220,178,104,.07)}.cross-link{font-size:.92rem}.cross-link a{color:var(--gold);text-decoration:none}
@media(max-width:980px){.hero-content h1{font-size:clamp(2rem,9vw,3.6rem);white-space:normal}.location-grid{grid-template-columns:1fr}.map-panel,.map-panel img{min-height:420px}.inventory-grid{grid-template-columns:1fr}.resizer{display:none}.axis-panel{min-height:300px}.gallery-slide{height:480px}.tower-peak-i{left:36%;bottom:3%;min-width:104px}.tower-peak-ii{left:74%;bottom:3%;min-width:112px}}
@media(max-width:640px){.hero-tagline{font-size:1.12rem}.fact-card{padding-left:48px}.fact-icon{left:16px;top:20px}.map-panel,.map-panel img{min-height:330px}.gallery-slide{height:360px;min-height:320px}.gallery-nav{width:38px;height:38px}.gallery-slide figcaption{left:14px;bottom:14px;font-size:.72rem}.media-toolbar input,.floorplan-title input{width:105px}}


/* v5 gallery update */
.gallery-section{padding-top:12px}
.gallery-showcase{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}
.gallery-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;align-items:start}
.gallery-card{margin:0}
.gallery-media{position:relative;aspect-ratio:4/5;border:1px solid rgba(223,190,132,.22);background:rgba(255,255,255,.03);overflow:hidden}
.gallery-media img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-number{position:absolute;left:20px;bottom:-10px;font-family:Georgia,serif;font-style:italic;font-size:6rem;line-height:.9;color:#fff4dc;text-shadow:0 8px 22px rgba(0,0,0,.3)}
.gallery-card figcaption{margin-top:18px;font-size:2rem;line-height:1.15;font-weight:700;color:#f8f0de}
.gallery-arrow{width:58px;height:58px;border:none;background:#eef0eb;color:#102e2a;font-size:2.8rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.16);align-self:center}
.gallery-arrow:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.gallery-arrow.left{justify-self:start}
.gallery-arrow.right{justify-self:end}
.gallery-dots-row{position:static;display:flex;justify-content:center;gap:10px;margin-top:20px}
.gallery-dots-row span{width:9px;height:9px;border-radius:999px;background:rgba(255,244,218,.3)}
.gallery-dots-row span.active{background:var(--gold);box-shadow:0 0 12px rgba(220,178,104,.55)}
@media (max-width: 980px){
  .gallery-showcase{grid-template-columns:auto 1fr auto;gap:12px}
  .gallery-cards{gap:16px}
  .gallery-number{font-size:4.5rem;left:14px;bottom:-8px}
  .gallery-card figcaption{font-size:1.5rem}
}
@media (max-width: 760px){
  .gallery-cards{grid-template-columns:1fr}
  .gallery-card-secondary{display:none}
  .gallery-arrow{width:46px;height:46px;font-size:2.2rem}
  .gallery-media{aspect-ratio:4/5}
  .gallery-number{font-size:4rem}
  .gallery-card figcaption{font-size:1.3rem;margin-top:14px}
}


/* v6 gallery refinements */
.gallery-cards{gap:42px}
.gallery-media{aspect-ratio:1/1; overflow:visible; background:transparent; border:none}
.gallery-media::after{content:''; position:absolute; inset:0; border:1px solid rgba(223,190,132,.18); pointer-events:none}
.gallery-media img{width:100%; height:100%; object-fit:cover; display:block}
.gallery-number{left:18px; bottom:-46px; font-size:6.6rem; line-height:.85; z-index:3; color:#f9f1df; text-shadow:0 10px 24px rgba(0,0,0,.26)}
.gallery-card figcaption{margin-top:66px; font-size:1.45rem; line-height:1.2; font-weight:600; color:#f5e8cd; letter-spacing:.01em}
.gallery-card figcaption::before{content:''; display:block; width:44px; height:1px; background:rgba(223,190,132,.55); margin-bottom:12px}
@media (max-width: 980px){
  .gallery-cards{gap:24px}
  .gallery-number{font-size:5rem; bottom:-34px; left:14px}
  .gallery-card figcaption{margin-top:50px; font-size:1.18rem}
}
@media (max-width: 760px){
  .gallery-media{aspect-ratio:1/1}
  .gallery-number{font-size:4.25rem; bottom:-28px; left:12px}
  .gallery-card figcaption{margin-top:42px; font-size:1.08rem}
}


/* v7 layout refinements */
.hero{min-height:680px;align-items:flex-start;overflow:visible;border-bottom:none}
.hero-bg{transform:none;filter:contrast(1.05) saturate(1.07) brightness(1.03);image-rendering:-webkit-optimize-contrast}
.hero-shade{display:none!important}
.hero-inner{position:relative;z-index:2;padding-top:56px;display:flex;align-items:flex-start;min-height:680px}
.hero h1{display:none!important}
.hero-tagline-only{margin:0;max-width:480px;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.35;font-style:italic;font-weight:600;color:#fff5dc;text-shadow:0 8px 30px rgba(0,0,0,.45),0 0 18px rgba(0,0,0,.28);background:linear-gradient(90deg,rgba(2,23,21,.12),rgba(2,23,21,0));padding:8px 14px 8px 0;border-radius:0}
.hero-actions-floating{position:absolute;left:0;right:0;bottom:-28px;z-index:4;display:flex;gap:14px;align-items:center;padding-left:max(24px,calc((100vw - min(1280px,calc(100% - 48px)))/2 + 4px));}
.hero-actions-floating .btn{min-width:184px;min-height:56px;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.hero-actions-floating .btn-ghost{background:rgba(255,255,255,.92);color:#0a2a25;border-color:rgba(255,255,255,.9)}
.location-section{padding-top:72px}
.location-section .section-heading{margin-bottom:18px}
.location-section .section-heading p{display:none}
.location-grid.location-grid-split{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:stretch}
.map-panel-large{min-height:520px;aspect-ratio:auto;background:#092923;position:relative;overflow:hidden}
.map-panel-large img{width:100%;height:100%;min-height:520px;object-fit:contain;object-position:center;transform:scale(var(--map-zoom,1));transform-origin:center center;padding:12px;transition:transform .18s ease}
.map-star{left:50.4%;top:48%;width:30px;height:30px;margin:-15px 0 0 -15px;z-index:3}
.map-zoom-controls{position:absolute;right:16px;bottom:16px;z-index:4;display:flex;gap:8px}
.map-zoom-controls button{width:42px;height:42px;border-radius:12px;border:1px solid rgba(242,215,155,.55);background:rgba(4,34,30,.82);color:#f6dfaa;font-size:1.5rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.26)}
.map-zoom-controls button:hover{background:rgba(220,182,109,.18)}
.location-info-panel{display:grid;gap:14px}
.location-info-card{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(10,52,45,.9),rgba(4,29,25,.88));box-shadow:var(--shadow);padding:18px 18px 16px}
.location-info-icon{width:38px;height:38px;border-radius:12px;border:1px solid rgba(220,178,104,.42);display:grid;place-items:center;color:var(--gold-2);font-size:1rem;background:rgba(220,178,104,.1)}
.location-info-card strong{display:block;font-size:1rem;font-weight:800;color:#fff4d5;margin-bottom:7px}
.location-info-card p{margin:0;color:rgba(248,241,223,.86);line-height:1.55;font-size:.95rem}
.location-copy{display:none!important}
.unit-detail .media-toolbar strong{font-size:.86rem}
.zoom-panel{display:flex;align-items:flex-start;justify-content:center;padding:10px;overflow:auto}
.zoom-panel img{transform-origin:center top;transition:transform .18s ease;max-width:100%;height:auto;width:100%;object-fit:contain;display:block}
.axis-panel{min-height:420px;max-height:620px;background:rgba(3,36,32,.82)}
.axis-panel img{width:100%;height:auto;max-height:none;object-fit:contain;background:#0a251f}
.floorplan-title{align-items:flex-end}
.floorplan-title > div{display:grid;gap:6px}
.floorplan-viewport{max-height:700px;min-height:380px;display:flex;align-items:flex-start;justify-content:center;padding:10px;overflow:auto}
.floorplan-viewport img{width:100%;height:auto;min-width:0;max-width:100%;transform-origin:center top;transition:transform .18s ease;object-fit:contain}
.gallery-media,.gallery-media img{border-radius:16px}
.gallery-media::after{border-radius:16px}
@media (max-width:980px){
  .hero{min-height:560px}.hero-inner{min-height:560px;padding-top:42px}
  .hero-actions-floating{position:relative;left:auto;right:auto;bottom:auto;padding-left:0;justify-content:flex-start;width:min(1280px,calc(100% - 48px));margin:18px auto 0}
  .location-grid.location-grid-split{grid-template-columns:1fr}
  .map-panel-large,.map-panel-large img{min-height:420px}
}
@media (max-width:640px){
  .hero{min-height:460px}.hero-inner{min-height:460px;padding-top:28px}
  .hero-tagline-only{max-width:280px;font-size:1rem}
  .hero-actions-floating{width:min(100% - 28px,1280px);flex-wrap:wrap}
  .hero-actions-floating .btn{flex:1;min-width:0}
  .map-panel-large,.map-panel-large img{min-height:320px}
}


/* v8 refinements */
.eyebrow,.section-kicker{font-size:24px;font-weight:800;letter-spacing:.03em;text-transform:none;color:#f0d59a;margin:0 0 10px}
.section-heading h2{font-size:clamp(2rem,3.2vw,3.35rem);font-weight:700;line-height:1.16}
.hero-tagline-only{max-width:520px;padding:0;background:none!important;border-radius:0;color:#4a4f54;text-shadow:0 2px 12px rgba(255,255,255,.18);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:clamp(2.2rem,5vw,4.25rem);font-weight:300;letter-spacing:.035em;line-height:1.06;text-transform:uppercase}
.hero-actions-floating{justify-content:flex-end;padding-left:0;padding-right:max(24px,calc((100vw - min(1280px,calc(100% - 48px)))/2 + 4px))}
.hero-actions-floating .btn{border-radius:999px;padding:0 26px;backdrop-filter:blur(10px);border:1px solid rgba(216,182,112,.58);background:linear-gradient(180deg,rgba(252,241,215,.95),rgba(230,202,142,.95));color:#17322e;box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.6)}
.hero-actions-floating .btn.btn-ghost{background:rgba(7,35,31,.78);color:#f6dfaa;border:1px solid rgba(246,223,170,.45)}
.location-info-panel{grid-template-columns:1fr}
.location-info-card{padding:16px 18px 15px}
.location-info-card p{font-size:.96rem}
.map-panel-large{z-index:0}
.map-panel-large img{position:relative;z-index:1}
.map-star{pointer-events:none;z-index:2}
.map-zoom-controls{z-index:5}
.map-zoom-controls button{pointer-events:auto}
.split-control label{font-weight:700;color:#f1d99d}
.advisor-profile>img{object-position:center center}
.site-footer{padding:36px 0 44px}
.footer-inner{grid-template-columns:220px 1fr;gap:30px;align-items:start}
.footer-brand-col{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-copy-col{display:grid;gap:10px;align-content:start}
.footer-socials{display:flex;justify-content:flex-start;gap:12px;margin:0}
.social-icon{width:42px;height:42px;border-radius:999px;border:1px solid rgba(220,178,104,.38);display:grid;place-items:center;background:rgba(220,178,104,.08);color:#e7cd93;text-decoration:none;transition:transform .2s ease, background .2s ease, border-color .2s ease}
.social-icon:hover{transform:translateY(-2px);background:rgba(220,178,104,.15);border-color:rgba(220,178,104,.58)}
.social-icon svg{width:19px;height:19px;display:block}
@media (max-width:980px){.hero-actions-floating{padding-right:0;justify-content:flex-start}.footer-inner{grid-template-columns:1fr}.footer-brand-col{align-items:flex-start}.footer-socials{justify-content:flex-start}}
@media (max-width:640px){.eyebrow,.section-kicker{font-size:18px}.hero-tagline-only{font-size:clamp(1.6rem,9vw,2.6rem);max-width:310px}.hero-actions-floating{justify-content:flex-start}}


.floorplan-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:18px;align-items:stretch}
.floorplan-main{min-width:0}
.floorplan-sidebar{border:1px solid var(--line-soft);border-radius:16px;background:rgba(3,36,32,.82);padding:14px;display:flex;flex-direction:column;min-height:380px}
.floorplan-sidebar-head{display:flex;flex-direction:column;gap:4px;padding:4px 2px 12px;border-bottom:1px solid var(--line-soft);margin-bottom:12px}
.floorplan-sidebar-head strong{color:var(--ivory);font-size:1rem}
.floorplan-sidebar-head span{color:var(--gold-2);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.floorplan-list{display:grid;gap:10px;overflow:auto;padding-right:2px}
.floorplan-item{width:100%;text-align:left;border:1px solid rgba(220,178,104,.16);background:rgba(255,255,255,.03);border-radius:14px;padding:12px 12px 11px;color:var(--ivory);cursor:pointer;transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease}
.floorplan-item:hover{transform:translateY(-1px);border-color:rgba(220,178,104,.45);background:rgba(220,178,104,.08)}
.floorplan-item.active{border-color:rgba(220,178,104,.7);background:linear-gradient(180deg,rgba(220,178,104,.18),rgba(220,178,104,.08));box-shadow:0 12px 24px rgba(0,0,0,.16)}
.floorplan-item strong{display:block;font-size:.96rem;color:var(--ivory);margin-bottom:4px}
.floorplan-item span{display:block;font-size:.8rem;line-height:1.45;color:var(--muted)}
@media (max-width: 980px){.floorplan-split{grid-template-columns:1fr}.floorplan-sidebar{min-height:unset}.floorplan-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.floorplan-list{grid-template-columns:1fr}.floorplan-sidebar{padding:12px}.floorplan-item{padding:11px 12px}}


/* v10 refinements */
.hero-bg{background-image:url('../images/hero-header-v10.png?v=20260524-v10') !important;background-position:center center !important;background-size:cover !important}
.hero{min-height:660px !important}
.hero-inner{min-height:660px !important;padding-top:42px !important}
.hero-tagline-only{position:relative;max-width:700px !important;padding:0 !important;background:none !important;color:#ffffff !important;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif !important;font-size:clamp(2.1rem,5vw,4.1rem) !important;font-weight:300 !important;letter-spacing:.05em !important;line-height:1.05 !important;text-transform:uppercase !important;text-shadow:0 2px 0 rgba(214,219,225,.85),0 0 10px rgba(185,194,206,.38),0 12px 30px rgba(0,0,0,.12) !important;-webkit-text-stroke:.7px rgba(214,219,225,.9)}
.hero-actions-floating{bottom:-24px !important;justify-content:flex-end !important;padding-right:max(8px,calc((100vw - min(1280px,calc(100% - 48px)))/2)) !important;gap:12px !important}
.hero-actions-floating .btn{min-width:168px !important;padding:0 22px !important}
.location-section{padding-top:38px !important}
.location-section .section-heading{margin-bottom:12px !important}
.location-section .section-kicker,.inventory-head .section-kicker{display:none !important}
.location-section .section-heading h2,.masterplan-section .section-heading h2,.inventory-section .section-heading h2,.gallery-section .section-heading h2{font-size:clamp(2rem,3vw,3.1rem);font-weight:800;line-height:1.12}
.map-panel-large{min-height:560px !important}
.map-panel-large img{min-height:560px !important;transform:scale(var(--map-zoom,1.1)) !important;padding:6px !important}
.location-info-icon{width:22px !important;height:22px !important;border:none !important;background:none !important;padding:0 !important;color:#dcb66d !important;display:grid;place-items:center;align-self:start;margin-top:4px}
.location-info-icon svg{width:22px;height:22px;display:block}
.location-info-card{grid-template-columns:22px 1fr !important;gap:12px !important;padding:16px 18px 15px !important}
.location-info-card strong{font-size:1.05rem !important}
.inventory-head{margin-bottom:12px !important}
.unit-list{max-height:560px !important;overflow-y:auto !important;overflow-x:hidden !important}
.axis-panel{overflow:hidden !important;min-height:460px !important;max-height:660px !important}
.axis-panel img{width:100% !important;height:100% !important;object-fit:contain !important;transform-origin:center center !important}
.floorplan-viewport img{transform-origin:center top}
.masterplan-card{padding:8px !important}
.tower-hotspot{bottom:3.7% !important;padding:10px 26px !important;font-size:18px !important;transform:translateX(-50%) !important}
.tower-hotspot:hover,.tower-hotspot.active{transform:translateX(-50%) scale(1.04) !important}
.peak-1{left:31.7% !important;right:auto !important}
.peak-2{left:67.6% !important;right:auto !important}
.advisor-profile{grid-template-columns:220px 1fr !important;align-items:center !important}
.advisor-profile>img{width:220px !important;height:220px !important;aspect-ratio:1/1 !important;object-fit:cover !important;object-position:center center !important}
.footer-socials{display:flex;justify-content:flex-start;gap:12px;margin-top:16px !important}
.social-icon{display:flex !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;padding:0 !important}
.social-icon svg{margin:0 auto !important}
@media (max-width: 980px){
  .hero{min-height:520px !important}
  .hero-inner{min-height:520px !important;padding-top:26px !important}
  .hero-actions-floating{padding-right:0 !important;justify-content:flex-end !important}
  .map-panel-large{min-height:420px !important}
  .map-panel-large img{min-height:420px !important}
  .advisor-profile{grid-template-columns:1fr !important}
  .advisor-profile>img{width:220px !important;height:220px !important}
}
@media (max-width: 640px){
  .hero-tagline-only{font-size:clamp(1.5rem,9vw,2.5rem) !important;max-width:320px !important}
  .hero-actions-floating{justify-content:flex-end !important;width:min(100% - 28px,1280px) !important}
  .hero-actions-floating .btn{min-width:0 !important;flex:0 1 auto !important}
  .map-panel-large{min-height:320px !important}
  .map-panel-large img{min-height:320px !important}
}


/* v11 header spacing + tagline refinement */
.hero{min-height:560px !important}
.hero-inner{min-height:560px !important;padding-top:36px !important}
.hero-tagline-only{
  max-width:430px !important;
  font-family: Georgia, "Times New Roman", "Palatino Linotype", serif !important;
  font-size: clamp(1.15rem, 2.6vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  line-height: 1.08 !important;
  text-transform: none !important;
  text-shadow: 0 1px 0 rgba(218,222,228,.95), 0 0 8px rgba(205,212,222,.28), 0 8px 18px rgba(0,0,0,.12) !important;
  -webkit-text-stroke: .35px rgba(222,226,232,.92) !important;
}
.hero-actions-floating{bottom:-18px !important}
.location-section{padding-top:16px !important}
@media (max-width:980px){
  .hero{min-height:480px !important}
  .hero-inner{min-height:480px !important;padding-top:24px !important}
  .hero-actions-floating{margin-top:8px !important}
}
@media (max-width:640px){
  .hero{min-height:420px !important}
  .hero-inner{min-height:420px !important}
  .hero-tagline-only{max-width:240px !important;font-size:clamp(1rem,6vw,1.45rem) !important;line-height:1.12 !important}
}


/* v12 refinement per user feedback */
.hero{min-height:500px !important}
.hero-inner{min-height:500px !important;padding-top:32px !important}
.hero-actions-floating{bottom:-24px !important;right:0 !important}
.location-section{padding-top:4px !important;margin-top:0 !important}
.location-section .section-heading{margin:18px auto 18px !important}
.location-section .section-heading h2{font-size:clamp(2.2rem,3.35vw,3.5rem) !important;font-weight:800 !important;max-width:1200px}
.location-title-lines span{display:block}
.location-title-lines span+span{margin-top:.22em}
.hero-tagline-only{
  max-width:560px !important;
  color:#fffefb !important;
  font-family: Georgia, "Times New Roman", "Palatino Linotype", serif !important;
  font-size:clamp(1.55rem,3.15vw,2.75rem) !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  line-height:1.02 !important;
  text-transform:uppercase !important;
  text-shadow:0 0 1px rgba(255,255,255,.92),0 0 10px rgba(227,232,240,.5),0 8px 30px rgba(0,0,0,.18) !important;
  -webkit-text-stroke:.7px rgba(226,232,239,.95) !important;
}
.map-panel-large img{transform:scale(var(--map-zoom,1.1)) !important}
.map-star{
  left:50.2% !important;
  top:46.4% !important;
  width:26px !important;height:26px !important;margin:-13px 0 0 -13px !important;
  font-size:1rem !important;
}
.bridge-pulse{position:absolute;z-index:3;width:12px;height:12px;border-radius:50%;background:rgba(243,212,142,.92);box-shadow:0 0 0 0 rgba(243,212,142,.65),0 0 12px rgba(243,212,142,.92);animation:bridgePulse 1.8s infinite ease-out}
.bridge-pulse::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(243,212,142,.55);border-radius:50%;animation:bridgeRing 1.8s infinite ease-out}
.bridge-1{left:33.8%;top:56.8%;animation-delay:.1s}.bridge-1::after{animation-delay:.1s}
.bridge-2{left:40.6%;top:59.2%;animation-delay:.35s}.bridge-2::after{animation-delay:.35s}
.bridge-3{left:63.2%;top:58.4%;animation-delay:.6s}.bridge-3::after{animation-delay:.6s}
.bridge-4{left:73.2%;top:66.2%;animation-delay:.85s}.bridge-4::after{animation-delay:.85s}
@keyframes bridgePulse{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.12);opacity:1}}
@keyframes bridgeRing{0%{transform:scale(.65);opacity:.7}70%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}
.location-info-panel{display:grid;gap:14px;align-content:stretch}
.location-info-card{align-items:center !important}
.location-info-card > div{display:flex;flex-direction:column;justify-content:center;min-height:74px;text-align:left}
.masterplan-section .section-heading,.gallery-section .section-heading{margin-top:46px !important}
.masterplan-section .section-kicker,.gallery-section .section-kicker{display:none !important}
@media (max-width:980px){
  .hero{min-height:430px !important}
  .hero-inner{min-height:430px !important}
  .location-section .section-heading{margin-top:12px !important}
  .hero-tagline-only{font-size:clamp(1.2rem,6vw,2.1rem) !important;max-width:330px !important}
}


/* v13 refinement */
.hero{aspect-ratio:16/9 !important;min-height:0 !important;max-height:none !important;height:auto !important}
.hero-inner{min-height:100% !important;height:100% !important;padding-top:34px !important}
.hero-bg{background-position:center center !important;background-size:cover !important}
.location-section .section-heading h2{font-size:clamp(1.75rem,2.65vw,2.8rem) !important;font-weight:800 !important;line-height:1.15 !important;max-width:none !important;white-space:nowrap !important}
.location-title-lines span{display:inline !important}
.location-title-lines span+span{margin-top:0 !important}
.location-section .section-heading{margin:12px auto 16px !important}
@media (max-width:980px){
  .hero{aspect-ratio:16/9 !important;min-height:0 !important}
  .hero-inner{padding-top:22px !important}
  .location-section .section-heading h2{white-space:normal !important;font-size:clamp(1.3rem,4.8vw,2rem) !important}
}
@media (max-width:640px){
  .hero{aspect-ratio:16/9 !important}
  .hero-inner{padding-top:18px !important}
}


/* v14: center icons vertically in location info cards */
.location-info-card{
  grid-template-columns:72px 1fr !important;
  align-items:stretch !important;
}
.location-info-icon{
  width:100% !important;
  height:auto !important;
  min-height:100% !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:22px !important;
  padding:0 !important;
}
.location-info-icon svg{
  width:24px;
  height:24px;
  flex:0 0 auto;
}
.location-info-card > div{
  min-height:92px !important;
}
@media (max-width:980px){
  .location-info-card{grid-template-columns:60px 1fr !important;}
  .location-info-card > div{min-height:84px !important;}
}
@media (max-width:640px){
  .location-info-card{grid-template-columns:54px 1fr !important;}
  .location-info-icon svg{width:22px;height:22px;}
  .location-info-card > div{min-height:78px !important;}
}


/* v15: larger info icons + better headline spacing */
.location-section .section-heading{
  margin: 56px auto 30px !important;
}
.location-section .section-heading h2{
  line-height: 1.14 !important;
}
.location-info-card{
  grid-template-columns: 86px 1fr !important;
  gap: 16px !important;
}
.location-info-icon{
  border-radius: 24px !important;
}
.location-info-icon svg{
  width: 36px !important;
  height: 36px !important;
}
.location-info-card > div{
  min-height: 96px !important;
}
@media (max-width:980px){
  .location-section .section-heading{margin: 36px auto 22px !important;}
  .location-info-card{grid-template-columns:72px 1fr !important;}
  .location-info-icon svg{width:32px !important;height:32px !important;}
  .location-info-card > div{min-height:88px !important;}
}
@media (max-width:640px){
  .location-section .section-heading{margin: 26px auto 18px !important;}
  .location-info-card{grid-template-columns:64px 1fr !important;}
  .location-info-icon svg{width:28px !important;height:28px !important;}
  .location-info-card > div{min-height:80px !important;}
}


/* v17 map + scale refinements */
.location-grid.location-grid-split{grid-template-columns:1.8fr 1.2fr !important;gap:18px !important;}
.location-info-panel{gap:12px !important;}
.location-info-card{grid-template-columns:52px 1fr !important;gap:14px !important;padding:16px 18px !important;min-height:96px;align-content:center;}
.location-info-icon{width:40px !important;height:40px !important;}
.location-info-icon svg{width:40px !important;height:40px !important;}
.map-panel-large img{transform:scale(var(--map-zoom,1.1)) !important;padding:6px !important;}
.map-star{left:50.0% !important;top:45.2% !important;width:32px !important;height:32px !important;margin:-16px 0 0 -16px !important;font-size:1.25rem !important;background:rgba(226,180,88,.16) !important;}
.bridge-pulse{display:none !important;}
.hero-inner{min-height:0 !important;padding-top:0 !important;}
.hero-tagline,.hero-tagline-only{display:none !important;}
.hero-actions-floating{bottom:-18px !important;gap:0 !important;}
.hero-actions-floating .btn-ghost{display:none !important;}
.hero-actions-floating .btn{min-width:184px !important;}
label{font-weight:800 !important;}
.inventory-count{font-size:13px !important;margin:14px 0 10px !important;}
.unit-list{max-height:560px !important;overflow-y:auto !important;overflow-x:hidden !important;padding:2px 10px 2px 2px !important;box-sizing:border-box;}
.unit-card{position:relative;overflow:hidden;box-sizing:border-box;border-radius:24px !important;padding:18px 20px !important;border:1px solid rgba(220,182,109,.34) !important;}
.unit-card h3{font-weight:800 !important;}
.unit-card p{font-size:11.5px !important;}
.unit-price{font-size:18px !important;}
.pill{font-size:10.5px !important;padding:5px 9px !important;}
.floorplan-title span{font-weight:800 !important;font-size:13px !important;color:#f5dfac !important;}
.floorplan-title strong{font-weight:800 !important;}
.gallery-arrow{background:transparent !important;border:1px solid rgba(220,182,109,.45) !important;box-shadow:none !important;color:#f2d79b !important;display:grid !important;place-items:center !important;padding:0 !important;}
.gallery-arrow:hover{background:rgba(220,182,109,.08) !important;box-shadow:none !important;}
@media (max-width: 980px){
  .location-grid.location-grid-split{grid-template-columns:1fr !important;}
}


/* v18 requested refinements */
.hero-bg{background-image:url('../images/hero-header-v18.png?v=20260524-v18') !important;background-position:center center !important;background-size:cover !important;}
.location-info-card:first-child p{font-size:1.18rem !important;font-weight:800 !important;color:#fff5d6 !important;letter-spacing:.01em !important;}
.location-info-card:first-child strong{font-size:1.02rem !important;}
.map-panel-large img{transform:scale(var(--map-zoom,1.1)) !important;}
.map-star{left:53.1% !important;top:40.7% !important;width:30px !important;height:30px !important;margin:-15px 0 0 -15px !important;font-size:1.15rem !important;}
.axis-panel{padding:0 !important;min-height:unset !important;max-height:none !important;aspect-ratio:4 / 5 !important;width:min(100%, 760px) !important;margin:0 auto !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;background:#0a251f !important;}
.axis-panel img{width:100% !important;height:100% !important;max-width:100% !important;max-height:100% !important;object-fit:contain !important;display:block !important;background:#0a251f !important;}
.zoom-panel{padding:0 !important;overflow:auto !important;justify-content:center !important;align-items:center !important;}
@media (max-width: 980px){
  .axis-panel{width:100% !important;aspect-ratio:4 / 5 !important;}
}


/* v19 refinements */
.advisor-chip{text-decoration:none !important;cursor:pointer;}
.hero{position:relative !important;}
.hero-actions-floating{left:8% !important;right:auto !important;bottom:10% !important;padding:0 !important;justify-content:flex-start !important;width:auto !important;margin:0 !important;z-index:6 !important;}
.hero-actions-floating .btn{min-width:190px !important;min-height:54px !important;border-radius:999px !important;padding:0 28px !important;}
.location-section .section-heading{margin-bottom:18px !important;}
.location-section .section-heading h2{margin:0 !important;}
.location-grid.location-grid-split{grid-template-columns:minmax(0,1.72fr) minmax(330px,.92fr) !important;gap:18px !important;align-items:stretch !important;}
.map-panel-large{aspect-ratio:1 / 1 !important;min-height:auto !important;height:auto !important;overflow:hidden !important;}
.map-panel-large img{width:100% !important;height:100% !important;min-height:100% !important;object-fit:cover !important;object-position:center center !important;padding:0 !important;transform:scale(var(--map-zoom,1.1)) !important;display:block !important;}
.map-star{left:53.2% !important;top:41.6% !important;width:28px !important;height:28px !important;margin:-14px 0 0 -14px !important;}
.location-info-panel{gap:16px !important;}
.inventory-left{display:flex !important;flex-direction:column !important;min-height:0 !important;overflow:hidden !important;}
.inventory-count{flex:0 0 auto !important;}
.unit-list{display:flex !important;flex-direction:column !important;gap:10px !important;flex:1 1 auto !important;min-height:0 !important;max-height:580px !important;overflow-y:auto !important;overflow-x:hidden !important;padding:2px 10px 18px 2px !important;align-content:flex-start !important;box-sizing:border-box !important;}
.unit-card{flex:0 0 auto !important;}
@media (max-width:980px){
  .hero-actions-floating{left:20px !important;bottom:16px !important;width:auto !important;}
  .location-grid.location-grid-split{grid-template-columns:1fr !important;}
  .map-panel-large{aspect-ratio:1 / 1 !important;}
}
@media (max-width:640px){
  .hero-actions-floating{left:14px !important;bottom:14px !important;}
  .hero-actions-floating .btn{min-width:160px !important;min-height:48px !important;padding:0 22px !important;}
}


/* v20 location spacing fix */
.location-grid.location-grid-split{grid-template-columns:minmax(0,1.68fr) minmax(0,.92fr) !important;gap:24px !important;align-items:stretch !important;}
.map-panel-large{width:100% !important;min-width:0 !important;}
.location-info-panel{width:100% !important;min-width:0 !important;max-width:100% !important;display:grid !important;gap:16px !important;align-content:start !important;}
.location-info-card{width:100% !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;}
.location-info-card strong,.location-info-card p{min-width:0 !important;max-width:100% !important;overflow-wrap:anywhere !important;word-break:break-word !important;}
@media (max-width: 980px){
  .location-grid.location-grid-split{grid-template-columns:1fr !important;gap:18px !important;}
}


/* v22 header tighter top crop */
.hero-bg{background-image:url('../images/hero-header-v22.png?v=20260524-v22') !important;background-position:center top !important;background-size:cover !important;}


/* v23 tighter hero crop per latest feedback */
.hero-bg{background-image:url('../images/hero-header-v23.png?v=20260524-v23') !important;background-position:center top !important;background-size:cover !important;}


/* v23-fix: tighten hero/location spacing, center headline, inventory topbar, and fix unit list */
.hero{aspect-ratio:16/9 !important;overflow:hidden !important;}
.hero-bg{background-image:url('../images/hero-header-v23.png?v=20260524-v23') !important;background-position:center top !important;background-size:cover !important;}
.hero-actions-floating{bottom:12px !important;left:8% !important;}
.location-section{padding-top:0 !important;margin-top:0 !important;}
.location-section .section-heading.location-heading-centered{margin:10px auto 14px !important;text-align:center !important;}
.location-section .section-heading.location-heading-centered h2{display:block !important;width:100% !important;text-align:center !important;margin:0 auto !important;}
.inventory-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 10px 0;}
.inventory-topbar .inventory-head{margin:0 !important;flex:1 1 auto;}
.inventory-topbar .inventory-head h2{margin:0 !important;}
.inventory-topbar .split-control{margin:0 !important;flex:0 0 auto;white-space:nowrap;align-self:center;}
.inventory-topbar .split-control label{margin:0;}
.inventory-workspace{align-items:start !important;}
.inventory-left{display:flex !important;flex-direction:column !important;min-height:0 !important;overflow:visible !important;}
.unit-list{display:flex !important;flex-direction:column !important;gap:10px !important;max-height:560px !important;min-height:0 !important;overflow-y:auto !important;overflow-x:hidden !important;padding:2px 10px 26px 2px !important;scrollbar-gutter:stable;box-sizing:border-box !important;}
.unit-card{flex:0 0 auto !important;position:relative !important;z-index:1 !important;}
@media (max-width:980px){
  .inventory-topbar{display:block;}
  .inventory-topbar .inventory-head{margin-bottom:10px !important;}
  .inventory-topbar .split-control{justify-content:flex-start !important;}
  .location-section .section-heading.location-heading-centered{margin:8px auto 12px !important;}
}
@media (max-width:640px){
  .hero-actions-floating{bottom:10px !important;left:14px !important;}
  .inventory-topbar .split-control{display:block !important;}
  .inventory-topbar .split-control input{width:100% !important;max-width:220px;}
}


/* v23-fix2: transition box, inventory spacing, selected-unit meta, closer CTA */
.hero-actions-floating{bottom:18% !important;}
.location-section{padding-top:6px !important;}
.location-section .section-heading.location-heading-centered{margin:6px auto 14px !important;position:relative;}
.location-section .section-heading.location-heading-centered h2{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:14px 30px !important;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(9,50,43,.92),rgba(4,29,25,.92));
  border:1px solid rgba(220,182,109,.28);
  box-shadow:0 16px 36px rgba(0,0,0,.14);
}
.location-section .section-heading.location-heading-centered::before,
.location-section .section-heading.location-heading-centered::after{
  content:"";
  position:absolute;
  top:50%;
  width:min(22vw,180px);
  height:1px;
  background:linear-gradient(90deg,rgba(220,182,109,0),rgba(220,182,109,.55));
}
.location-section .section-heading.location-heading-centered::before{left:0;}
.location-section .section-heading.location-heading-centered::after{right:0;transform:scaleX(-1);}

.inventory-topbar{align-items:center !important;margin:0 0 14px 0 !important;}
.inventory-topbar .inventory-head h2{line-height:1.28 !important;padding:8px 0 !important;}
.inventory-topbar .split-control{padding:8px 0 !important;}

.axis-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:10px 0 14px;
}
.axis-meta-item{
  border:1px solid rgba(220,182,109,.22);
  background:rgba(255,255,255,.035);
  border-radius:14px;
  padding:12px 14px;
}
.axis-meta-item span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(245,223,172,.72);
  margin-bottom:5px;
}
.axis-meta-item strong{
  display:block;
  color:#fff2cf;
  font-size:14px;
  line-height:1.45;
  font-weight:800;
}
@media (max-width:980px){
  .hero-actions-floating{bottom:14% !important;}
  .location-section .section-heading.location-heading-centered::before,
  .location-section .section-heading.location-heading-centered::after{display:none;}
}
@media (max-width:640px){
  .hero-actions-floating{bottom:12% !important;}
  .location-section .section-heading.location-heading-centered h2{padding:12px 16px !important;}
  .axis-meta{grid-template-columns:1fr;gap:10px;}
}


/* v23-fix3: refined divider heading, inventory spacing, hero CTA, Peak II axis images */
.hero-actions-floating{bottom:23% !important;}
.location-section{padding-top:2px !important;}
.location-section .section-heading.location-heading-centered{
  margin:18px auto 22px !important;
  padding:18px 0 16px !important;
  border-top:1px solid rgba(220,182,109,.28) !important;
  text-align:center !important;
  position:relative !important;
}
.location-section .section-heading.location-heading-centered::before,
.location-section .section-heading.location-heading-centered::after{display:none !important;content:none !important;}
.location-section .section-heading.location-heading-centered h2{
  display:block !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  font-size:clamp(1.8rem,3vw,3.2rem) !important;
  line-height:1.22 !important;
  color:#ecd7a1 !important;
  text-align:center !important;
}
.inventory-topbar{align-items:flex-end !important;margin:0 0 18px !important;gap:16px !important;}
.inventory-topbar .inventory-head{margin:0 !important;flex:1 1 auto !important;}
.inventory-topbar .inventory-head h2{
  margin:0 !important;
  padding:14px 0 14px !important;
  line-height:1.32 !important;
  white-space:nowrap !important;
  font-size:clamp(1.55rem,2.15vw,2.35rem) !important;
}
.inventory-topbar .split-control{margin:0 !important;padding:10px 0 12px !important;flex:0 0 auto !important;}
.inventory-topbar .split-control label{white-space:nowrap !important;}
.unit-list{padding-bottom:12px !important;}
@media (max-width:1100px){
  .inventory-topbar{align-items:flex-start !important;}
  .inventory-topbar .inventory-head h2{white-space:normal !important;}
}
@media (max-width:980px){
  .hero-actions-floating{bottom:18% !important;}
  .location-section .section-heading.location-heading-centered{margin:14px auto 18px !important;padding:14px 0 14px !important;}
}
@media (max-width:640px){
  .hero-actions-floating{bottom:14% !important;}
  .location-section .section-heading.location-heading-centered h2{font-size:clamp(1.35rem,7vw,2rem) !important;}
  .inventory-topbar .inventory-head h2{white-space:normal !important;font-size:clamp(1.2rem,5.5vw,1.6rem) !important;padding:10px 0 12px !important;}
  .inventory-topbar .split-control{padding:0 0 10px !important;}
}

/* =========================================================
   Mobile responsive refinement - LEP v23 mobile app
   Scope: mobile/tablet only, desktop layout stays untouched
   ========================================================= */
@media (max-width: 860px) {
  :root {
    --mobile-x: clamp(16px, 4.6vw, 22px);
    --mobile-section-gap: 34px;
  }

  html { scroll-padding-top: 72px; }
  body {
    overflow-x: hidden;
    font-size: 15px;
  }

  .section,
  .hero,
  .project-info,
  .location,
  .siteplan,
  .inventory,
  .floorplan-section,
  .gallery,
  .contact-footer {
    padding-left: var(--mobile-x) !important;
    padding-right: var(--mobile-x) !important;
  }

  .section {
    padding-top: var(--mobile-section-gap) !important;
    padding-bottom: var(--mobile-section-gap) !important;
  }

  .hero {
    min-height: auto !important;
    height: min(78vh, 620px) !important;
    padding-top: max(18px, env(safe-area-inset-top)) !important;
    padding-bottom: 24px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    background-position: 63% center !important;
    background-size: cover !important;
  }

  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(2, 36, 28, .08) 0%, rgba(2, 36, 28, .10) 38%, rgba(2, 36, 28, .82) 100%),
      linear-gradient(90deg, rgba(2, 36, 28, .42) 0%, rgba(2, 36, 28, .08) 50%, rgba(2, 36, 28, .12) 100%);
    pointer-events: none;
    z-index: 1;
  }

  .hero-inner {
    position: relative;
    z-index: 2;
    width: 100% !important;
    max-width: 520px !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: none !important;
    padding: 18px 16px 17px !important;
    border: 1px solid rgba(230, 193, 119, .34) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, rgba(3, 45, 35, .78), rgba(3, 33, 27, .58)) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, .24) !important;
  }

  .eyebrow {
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin-bottom: 8px !important;
  }

  .hero h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: .95 !important;
    letter-spacing: .01em !important;
    margin: 0 0 10px !important;
  }

  .hero-subtitle {
    font-size: 13px !important;
    line-height: 1.48 !important;
    max-width: 92% !important;
    margin-bottom: 12px !important;
  }

  .hero-actions {
    gap: 9px !important;
    margin-top: 10px !important;
  }

  .btn,
  .btn-primary,
  .btn-outline,
  .btn-ghost,
  .advisor-card,
  .zalo-link {
    min-height: 44px !important;
    touch-action: manipulation;
  }

  .hero-actions .btn,
  .btn-primary {
    padding: 11px 16px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }

  .hero-actions .btn-primary,
  .hero .btn-primary[href="#inventory"] {
    margin-top: -6px !important;
  }

  .advisor-card {
    margin-top: 12px !important;
    padding: 12px 13px !important;
    gap: 12px !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    align-items: center !important;
  }

  .advisor-avatar {
    width: 44px !important;
    height: 44px !important;
  }

  .advisor-card strong { font-size: 14px !important; }
  .advisor-card span { font-size: 12px !important; line-height: 1.35 !important; }

  .section-head {
    margin-bottom: 18px !important;
    text-align: left !important;
  }

  .section-head.center-mobile,
  .location .section-head,
  .siteplan .section-head {
    text-align: center !important;
  }

  .section-head .eyebrow { margin-bottom: 8px !important; }
  .section-head h2,
  .headline-divider h2 {
    font-size: clamp(26px, 7.1vw, 36px) !important;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  .section-head p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-top: 10px !important;
  }

  .headline-divider {
    padding: 22px var(--mobile-x) 21px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: 1px solid rgba(230, 193, 119, .35) !important;
    border-bottom: 1px solid rgba(230, 193, 119, .18) !important;
    background: linear-gradient(180deg, rgba(6, 56, 45, .46), rgba(2, 34, 28, .14)) !important;
  }

  .headline-divider h2,
  .headline-divider .section-title,
  .location-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .project-info-grid,
  .location-grid,
  .siteplan-grid,
  .floorplan-grid,
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .info-card,
  .project-card,
  .stat-card,
  .location-card,
  .siteplan-card,
  .floorplan-card,
  .contact-card,
  .inventory-panel {
    border-radius: 22px !important;
    padding: 16px !important;
  }

  .info-card h3,
  .project-card h3,
  .stat-card h3,
  .location-card h3 {
    font-size: 17px !important;
    line-height: 1.25 !important;
  }

  .info-card p,
  .project-card p,
  .stat-card p,
  .location-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .map-shell,
  .siteplan-visual,
  .tower-plan-visual,
  .unit-image-panel,
  .gallery-card {
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .map-shell img,
  .siteplan-visual img,
  .gallery-card img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .map-shell {
    min-height: 0 !important;
  }

  .siteplan-visual {
    padding: 0 !important;
  }

  .tower-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .tower-hotspot {
    width: 100% !important;
    min-height: 44px !important;
    padding: 11px 14px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
  }

  .inventory {
    padding-top: 34px !important;
  }

  .inventory-head {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  .inventory-head h2 {
    font-size: clamp(24px, 6.5vw, 32px) !important;
    line-height: 1.16 !important;
  }

  .inventory-head p,
  .inventory-subtitle,
  .inventory-note {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }


  .inventory-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .filters {
    position: sticky !important;
    top: 8px !important;
    z-index: 15 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 13px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgba(4, 49, 39, .94), rgba(3, 34, 29, .92)) !important;
    border: 1px solid rgba(230, 193, 119, .28) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22) !important;
    backdrop-filter: blur(14px) !important;
  }

  .filter-group {
    margin: 0 !important;
    gap: 6px !important;
  }

  .filter-group label {
    font-size: 11px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    opacity: .78 !important;
  }

  .filter-group select,
  .filter-group input,
  .filters select,
  .filters input {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 11px !important;
    font-size: 13px !important;
    border-radius: 14px !important;
  }

  .filter-group.search,
  .search-filter,
  .filter-search,
  .filters .wide,
  .filters [data-wide="true"] {
    grid-column: 1 / -1 !important;
  }

  #searchInput,
  input[type="search"] {
    grid-column: 1 / -1 !important;
  }

  .splitter,
  .split-control,
  .resize-handle {
    display: none !important;
  }

  .inventory-results,
  .unit-list {
    max-height: none !important;
    overflow: visible !important;
  }

  .unit-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 4px !important;
  }

  .unit-card {
    min-height: auto !important;
    padding: 15px !important;
    border-radius: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .unit-card h3 {
    font-size: 18px !important;
    line-height: 1.2 !important;
    margin: 0 0 7px !important;
  }

  .unit-card p {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }

  .unit-price {
    justify-self: start !important;
    text-align: left !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
  }

  .unit-price small { font-size: 12px !important; }

  .pill-row {
    gap: 7px !important;
    margin-top: 10px !important;
  }

  .pill {
    font-size: 12px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
  }

  .selected-visuals,
  .visual-grid,
  .axis-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .selected-summary,
  .axis-meta {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 10px 0 12px !important;
  }

  .axis-meta-item {
    padding: 10px 11px !important;
    border-radius: 15px !important;
  }

  .axis-meta-item span { font-size: 11px !important; }
  .axis-meta-item strong { font-size: 13px !important; line-height: 1.3 !important; }

  .unit-image-panel {
    padding: 10px !important;
    background: rgba(1, 28, 23, .34) !important;
  }

  .unit-axis-img,
  .tower-plan-img,
  #unitAxisImage,
  #floorPlanImage {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform-origin: center top !important;
  }

  .zoom-control,
  .zoom-row,
  .image-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 10px 0 12px !important;
  }

  .zoom-control input[type="range"],
  .zoom-row input[type="range"] {
    flex: 1 1 160px !important;
    min-width: 150px !important;
  }

  .floorplan-list {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(154px, 72%) !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
  }

  .floorplan-item {
    scroll-snap-align: start !important;
    min-height: 74px !important;
    padding: 12px !important;
  }

  .floorplan-item strong { font-size: 13px !important; }
  .floorplan-item span { font-size: 12px !important; }

  .gallery-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 86% !important;
    overflow-x: auto !important;
    gap: 12px !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .gallery-card {
    scroll-snap-align: start !important;
  }

  .gallery-card img {
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  .gallery-caption {
    padding: 11px 12px !important;
    font-size: 13px !important;
  }

  .footer-inner,
  .contact-footer .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .contact-actions,
  .footer-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .floating-social,
  .side-social,
  .social-fixed,
  .sticky-icons {
    display: none !important;
  }
}

@media (max-width: 480px) {
  :root {
    --mobile-x: 18px;
    --mobile-section-gap: 30px;
  }

  .hero {
    height: min(76vh, 560px) !important;
    background-position: 64% center !important;
  }

  .hero-content {
    padding: 16px 14px 15px !important;
    border-radius: 22px !important;
  }

  .hero h1 {
    font-size: clamp(32px, 11vw, 43px) !important;
  }

  .hero-subtitle {
    max-width: 100% !important;
    font-size: 12.8px !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .section-head h2,
  .headline-divider h2 {
    font-size: clamp(25px, 7.6vw, 32px) !important;
  }

  .headline-divider {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .filters {
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    padding: 12px !important;
  }

  .filter-group label {
    font-size: 10.5px !important;
  }

  .filter-group select,
  .filter-group input,
  .filters select,
  .filters input {
    font-size: 12.5px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .inventory-head p,
  .inventory-subtitle,
  .inventory-note {
    white-space: nowrap !important;
    font-size: clamp(12.2px, 3.6vw, 14px) !important;
  }

  .unit-card h3 { font-size: 17px !important; }
  .unit-price { font-size: 21px !important; }

  .selected-summary,
  .axis-meta {
    grid-template-columns: 1fr !important;
  }

  .floorplan-list {
    grid-auto-columns: minmax(148px, 82%) !important;
  }

  .gallery-grid {
    grid-auto-columns: 92% !important;
  }
}

@media (max-width: 374px) {
  :root { --mobile-x: 16px; }

  .hero { height: min(74vh, 530px) !important; }
  .hero h1 { font-size: 31px !important; }
  .section-head h2,
  .headline-divider h2 { font-size: 24px !important; }
  .inventory-head p,
  .inventory-subtitle,
  .inventory-note {
    white-space: normal !important;
  }

  .filters {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 481px) and (max-width: 860px) {
  .hero {
    height: min(72vh, 660px) !important;
    background-position: 62% center !important;
  }

  .hero-content {
    max-width: 580px !important;
  }

  .project-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .filter-group.search,
  .search-filter,
  .filter-search,
  #searchInput {
    grid-column: span 3 !important;
  }

  .unit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =========================================================
   Actual LEP v23 mobile selectors - final overrides
   ========================================================= */
@media (max-width: 860px) {
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--mobile-x, 18px) !important;
    padding-right: var(--mobile-x, 18px) !important;
  }

  .hero {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
  }

  .hero-bg {
    background-size: cover !important;
    background-position: center top !important;
    transform: none !important;
  }

  .hero::after {
    background: linear-gradient(180deg, rgba(0, 30, 23, .04) 0%, rgba(0, 30, 23, .08) 63%, rgba(0, 30, 23, .34) 100%) !important;
  }

  .hero-actions-floating {
    left: var(--mobile-x, 18px) !important;
    right: auto !important;
    bottom: clamp(24px, 10vw, 54px) !important;
    z-index: 5 !important;
  }

  .hero-actions-floating .btn {
    min-height: 44px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
    letter-spacing: .045em !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24) !important;
  }

  .location-section {
    padding: 0 !important;
  }

  .location-section > .container {
    padding-top: 22px !important;
    padding-bottom: 28px !important;
    border-top: 1px solid rgba(230, 193, 119, .32) !important;
    border-bottom: 1px solid rgba(230, 193, 119, .14) !important;
    background: linear-gradient(180deg, rgba(6, 50, 41, .34), rgba(5, 39, 33, .06)) !important;
  }

  .location-section .location-title {
    text-align: center !important;
    font-size: clamp(21px, 5.45vw, 30px) !important;
    line-height: 1.22 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
  }

  .location-map-wrap {
    margin-top: 18px !important;
    border-radius: 22px !important;
  }

  .location-map-img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .section-heading {
    font-size: clamp(24px, 6.5vw, 34px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.01em !important;
    margin-bottom: 9px !important;
  }

  .section-subtitle {
    font-size: 14px !important;
    line-height: 1.58 !important;
    margin-top: 9px !important;
    margin-bottom: 18px !important;
  }

  .inventory {
    padding-top: 30px !important;
    padding-bottom: 32px !important;
  }

  .inventory-head {
    margin-bottom: 17px !important;
    text-align: left !important;
  }

  .inventory-head .section-subtitle,
  .inventory-head p {
    margin-top: 12px !important;
    margin-bottom: 14px !important;
    line-height: 1.55 !important;
  }

  .inventory-head .section-subtitle {
    white-space: nowrap !important;
    font-size: clamp(13px, 3.65vw, 14.5px) !important;
  }

  .inventory-topbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .inventory-workspace {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }

  .filter-panel {
    position: sticky !important;
    top: 8px !important;
    z-index: 20 !important;
    padding: 13px !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, rgba(4, 48, 39, .96), rgba(3, 32, 27, .94)) !important;
    border: 1px solid rgba(230, 193, 119, .30) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .25) !important;
    backdrop-filter: blur(14px) !important;
  }

  .filter-panel .filter-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
  }

  .filter-panel label {
    gap: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    opacity: .84 !important;
  }

  .filter-panel select,
  .filter-panel input {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    border-radius: 14px !important;
  }

  .filter-panel label:last-child {
    grid-column: 1 / -1 !important;
  }

  .unit-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .unit-card {
    padding: 15px !important;
    border-radius: 22px !important;
    min-height: 0 !important;
  }

  .unit-card-top {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .unit-code {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  .unit-meta {
    font-size: 12.7px !important;
    line-height: 1.55 !important;
  }

  .unit-price {
    font-size: 22px !important;
    line-height: 1.05 !important;
    text-align: right !important;
  }

  .unit-price span {
    font-size: 11px !important;
    display: block !important;
    margin-top: 4px !important;
  }

  .unit-badges {
    gap: 7px !important;
    margin-top: 10px !important;
  }

  .unit-badge {
    padding: 6px 9px !important;
    font-size: 11.5px !important;
    border-radius: 999px !important;
  }

  .zalo-mini {
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
    margin-top: 11px !important;
  }

  .workspace-divider {
    display: none !important;
  }

  .floor-plan-panel,
  .axis-panel {
    padding: 15px !important;
    border-radius: 24px !important;
  }

  .floor-plan-head,
  .axis-head {
    gap: 12px !important;
    align-items: flex-start !important;
    margin-bottom: 12px !important;
  }

  .floor-plan-head h3,
  .axis-head h3 {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  .floor-plan-head p,
  .axis-head p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .axis-meta {
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    margin: 0 0 13px !important;
  }

  .axis-meta div {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .axis-meta span {
    font-size: 10.5px !important;
  }

  .axis-meta strong {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .plan-scroll,
  .axis-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 6px !important;
    border-radius: 18px !important;
  }

  .floor-plan-img,
  .axis-img {
    width: max(100%, 720px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: none !important;
  }

  .axis-scroll .axis-img {
    width: 100% !important;
    min-width: 360px !important;
  }

  .zoom-row {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 0 12px !important;
  }

  .zoom-row label,
  .zoom-row span {
    font-size: 12px !important;
  }

  .gallery-showcase {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .gallery-main,
  .gallery-side {
    border-radius: 22px !important;
  }

  .gallery-main img,
  .gallery-side img {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  .hero-actions-floating {
    bottom: clamp(18px, 7.2vw, 34px) !important;
  }

  .hero-actions-floating .btn {
    min-height: 42px !important;
    padding: 10px 16px !important;
    font-size: 12.5px !important;
  }

  .location-section .location-title {
    font-size: clamp(20px, 5.25vw, 24px) !important;
  }

  .section-heading {
    font-size: clamp(23px, 6.25vw, 30px) !important;
  }

  .filter-panel .filter-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .unit-card-top {
    grid-template-columns: 1fr !important;
  }

  .unit-price {
    text-align: left !important;
    font-size: 21px !important;
  }

  .axis-meta {
    grid-template-columns: 1fr !important;
  }

  .floor-plan-img {
    width: max(100%, 620px) !important;
  }

  .axis-scroll .axis-img {
    min-width: 330px !important;
  }
}

@media (max-width: 374px) {
  .filter-panel .filter-grid {
    grid-template-columns: 1fr !important;
  }

  .inventory-head .section-subtitle {
    white-space: normal !important;
  }

  .floor-plan-img {
    width: max(100%, 560px) !important;
  }
}

/* =========================================================
   V24 MOBILE FIX PACK — compact mobile, no long 800-unit scroll
   Desktop rules above are intentionally preserved.
   ========================================================= */
@media (max-width: 768px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
  }
  *, *::before, *::after{box-sizing:border-box;}
  img, video, canvas, svg{max-width:100%;height:auto;}
  body{font-size:14px;line-height:1.55;background:#002b25;}
  .container{width:calc(100% - 36px) !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;}
  section{max-width:100vw !important;overflow-x:clip;}

  /* Header: smaller, tappable, premium */
  .site-header{
    height:74px !important;
    min-height:74px !important;
    padding:0 16px !important;
    gap:14px !important;
    position:sticky !important;
    top:0 !important;
    z-index:50 !important;
    border-bottom:1px solid rgba(233,201,132,.24) !important;
    background:linear-gradient(90deg,rgba(0,43,37,.97),rgba(0,31,27,.97)) !important;
  }
  .brand-logo,.brand img,.site-logo{width:138px !important;max-width:42vw !important;height:auto !important;object-fit:contain !important;}
  .brand-mark{font-size:24px !important;letter-spacing:.14em !important;line-height:1 !important;}
  .brand-sub{font-size:12px !important;letter-spacing:.16em !important;}
  .header-cta,.top-cta,.site-header .btn{
    min-height:44px !important;
    height:44px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    font-size:15px !important;
    line-height:44px !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }

  /* Hero: remove cropped CTA / keep subject visible */
  .hero{
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    border-bottom:1px solid rgba(233,201,132,.22) !important;
    margin-bottom:34px !important;
  }
  .hero-bg{
    inset:0 !important;
    background-position:center center !important;
    background-size:cover !important;
    transform:none !important;
  }
  .hero-inner{min-height:100% !important;height:100% !important;padding:0 !important;}
  .hero-tagline,.hero-tagline-only{display:none !important;}
  .hero-actions-floating{
    left:50% !important;
    right:auto !important;
    bottom:-23px !important;
    width:calc(100% - 36px) !important;
    padding:0 !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    display:flex !important;
    justify-content:center !important;
    z-index:6 !important;
  }
  .hero-actions-floating .btn{
    width:100% !important;
    max-width:420px !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 20px !important;
    border-radius:999px !important;
    font-size:16px !important;
    line-height:48px !important;
  }
  .hero-actions-floating .btn-ghost{display:none !important;}

  /* Section rhythm / typography */
  .project-info,.location-section,.masterplan-section,.inventory-section,.floorplan-section,.gallery-section,.advisor-section,.site-footer{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
  .section-kicker,.eyebrow{
    font-size:12px !important;
    letter-spacing:.16em !important;
    margin-bottom:10px !important;
  }
  .section-title,
  .location-section .section-title,
  .masterplan-section .section-title,
  .inventory-section .section-title,
  .gallery-section .section-title{
    font-size:clamp(28px,7.4vw,38px) !important;
    line-height:1.12 !important;
    letter-spacing:.015em !important;
    margin:0 0 18px !important;
    text-wrap:balance;
  }
  .section-desc,.lead,.project-info p,.location-section p,.masterplan-section p,.inventory-section p{
    font-size:14.5px !important;
    line-height:1.65 !important;
    margin-bottom:16px !important;
  }

  /* Map and master plan stay inside viewport */
  .map-panel,.map-card,.location-map,.masterplan-media,.masterplan-card{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }
  .map-panel img,.map-card img,.location-map img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    padding:0 !important;
  }
  .location-grid,.masterplan-grid,.inventory-grid,.floorplan-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }
  .tower-toggle,.tower-selector,.peak-toggle{
    width:100% !important;
    max-width:100% !important;
    height:54px !important;
    border-radius:999px !important;
    overflow:hidden !important;
  }
  .tower-toggle button,.tower-selector button,.peak-toggle button{
    min-height:48px !important;
    font-size:15px !important;
  }

  /* Inventory filter: compact form, not a giant block */
  .filters-panel,.inventory-filters,.filter-panel{
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
    margin:18px 0 18px !important;
    border-radius:22px !important;
  }
  .filters-panel label,.inventory-filters label,.filter-panel label{
    display:block !important;
    font-size:11px !important;
    letter-spacing:.14em !important;
    margin:0 0 7px !important;
  }
  select,input[type="search"],input[type="text"],.filters-panel select,.inventory-filters select,.filter-panel select,.filter-panel input,.inventory-filters input{
    min-height:46px !important;
    height:46px !important;
    padding:0 14px !important;
    border-radius:16px !important;
    font-size:15px !important;
    line-height:46px !important;
  }
  .filter-row,.filter-grid,.filters-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  /* Unit cards: render only first batch on mobile via JS; card style stays clean */
  .unit-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  .unit-card{
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
    border-radius:22px !important;
    min-height:auto !important;
  }
  .unit-card h3,.unit-card h4{font-size:19px !important;line-height:1.24 !important;margin-bottom:8px !important;}
  .unit-card p{font-size:14px !important;line-height:1.55 !important;margin:0 0 10px !important;}
  .unit-price,.unit-card strong{font-size:28px !important;line-height:1.05 !important;margin-top:12px !important;display:block !important;}
  .unit-price small,.unit-card small{font-size:13px !important;margin-top:4px !important;display:block !important;}
  .pill-row,.unit-tags{gap:8px !important;flex-wrap:wrap !important;}
  .pill,.unit-tags span{font-size:12.5px !important;padding:7px 10px !important;border-radius:999px !important;}
  .mobile-load-more{
    width:100% !important;
    min-height:46px !important;
    border-radius:999px !important;
    border:1px solid rgba(233,201,132,.45) !important;
    background:linear-gradient(180deg,rgba(252,241,215,.96),rgba(229,196,124,.94)) !important;
    color:#0a302a !important;
    font-weight:700 !important;
    font-size:14px !important;
    letter-spacing:.01em !important;
    box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
  }

  /* Axis/floorplan: no page-level horizontal overflow; scroll inside the frame only */
  .axis-panel,.floorplan-panel,.floorplan-card,.floorplan-viewer{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }
  .axis-scroll,.floorplan-viewport,.plan-scroll,.floorplan-image-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    contain:layout paint !important;
  }
  .axis-scroll img,.floorplan-viewport img,.plan-scroll img,.floorplan-img,.floorplan-image{
    width:auto !important;
    max-width:none !important;
    min-width:640px !important;
    height:auto !important;
    display:block !important;
    object-fit:contain !important;
    transform:none !important;
  }
  .floorplan-tabs,.plan-tabs{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    gap:10px !important;
    padding-bottom:8px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .floorplan-tabs button,.plan-tabs button{flex:0 0 132px !important;min-height:76px !important;font-size:13px !important;}
  .floorplan-toolbar,.media-toolbar{gap:10px !important;align-items:center !important;flex-wrap:wrap !important;}
  .floorplan-toolbar input[type="range"],.media-toolbar input[type="range"]{max-width:170px !important;}

  /* Gallery: one clear card, centered; no off-canvas page */
  .gallery-shell,.gallery-track,.gallery-slide,.gallery-card,.gallery-grid{
    width:100% !important;
    max-width:100% !important;
  }
  .gallery-track{overflow:hidden !important;}
  .gallery-slide,.gallery-card{
    min-width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }
  .gallery-slide img,.gallery-card img{
    width:100% !important;
    aspect-ratio:4/3 !important;
    height:auto !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:18px !important;
  }
  .gallery-nav{width:38px !important;height:38px !important;min-width:38px !important;}

  /* Sticky/fixed elements safe area */
  .sticky-cta,.mobile-cta-bar{
    min-height:56px !important;
    padding-bottom:max(10px,env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 380px){
  .container{width:calc(100% - 32px) !important;}
  .site-header{padding:0 14px !important;gap:10px !important;}
  .brand-logo,.brand img,.site-logo{width:124px !important;}
  .header-cta,.top-cta,.site-header .btn{padding:0 16px !important;font-size:14px !important;}
  .section-title,.location-section .section-title,.masterplan-section .section-title,.inventory-section .section-title,.gallery-section .section-title{font-size:clamp(26px,7.8vw,34px) !important;}
  .axis-scroll img,.floorplan-viewport img,.plan-scroll img,.floorplan-img,.floorplan-image{min-width:600px !important;}
}

@media (max-width: 768px){
  .location-heading-centered h2,
  .section-heading h2,
  .inventory-head h2,
  .floorplan-head h2,
  .gallery-head h2{
    font-size:clamp(28px,7.4vw,38px) !important;
    line-height:1.12 !important;
    letter-spacing:.01em !important;
    margin:0 0 16px !important;
    text-wrap:balance;
  }
  .location-heading-centered{padding:0 18px !important;margin-bottom:22px !important;}
  .site-header .header-cta{display:inline-flex !important;align-items:center !important;justify-content:center !important;}
  .site-header .logo-img{width:138px !important;max-width:42vw !important;height:auto !important;}
  .site-header .site-brand{min-width:0 !important;flex:0 1 auto !important;}
  .site-header .header-cta span{font-size:15px !important;}
  .inventory-panel,.inventory-results,.result-panel,.results-panel{width:100% !important;max-width:100% !important;overflow:visible !important;}
  .inventory-count,.count-badge{font-size:13px !important;padding:7px 10px !important;border-radius:999px !important;}
  .axis-stage,.axis-image-wrap{width:100% !important;max-width:100% !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;}
  .axis-stage img,.axis-image-wrap img,#axisImage{width:auto !important;max-width:none !important;min-width:560px !important;height:auto !important;display:block !important;}
}

@media (max-width: 380px){
  .location-heading-centered h2,.section-heading h2,.inventory-head h2,.floorplan-head h2,.gallery-head h2{font-size:clamp(25px,7.4vw,32px) !important;}
  .site-header .logo-img{width:124px !important;}
  .axis-stage img,.axis-image-wrap img,#axisImage{min-width:520px !important;}
}

/* v25 mobile correction: tower selector + floorplan containment */
@media (max-width: 768px) {
  .tower-section,
  .inventory-section,
  .floorplan-section,
  .gallery-section {
    overflow-x: hidden;
  }

  /* Keep the Peak I / Peak II selector readable and fully inside the masterplan card on mobile */
  .masterplan-card {
    position: relative !important;
    display: block !important;
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    padding: 10px 10px 64px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .masterplan-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2.55 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 15px !important;
    transform: none !important;
  }

  .tower-hotspot {
    position: absolute !important;
    top: auto !important;
    bottom: 10px !important;
    width: calc(50% - 14px) !important;
    height: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    border-radius: 999px !important;
    border: 1px solid rgba(238, 207, 145, .62) !important;
    background: rgba(0, 36, 29, .82) !important;
    color: rgba(255, 236, 189, .76) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    z-index: 5 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  .tower-hotspot.peak-1 {
    left: 10px !important;
    right: auto !important;
  }

  .tower-hotspot.peak-2 {
    left: auto !important;
    right: 10px !important;
  }

  .tower-hotspot.active {
    background: linear-gradient(135deg, #ffe9ad, #dba33e) !important;
    color: #052b23 !important;
    border-color: rgba(255, 238, 184, .95) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
  }

  .inventory-head h2,
  .inventory-section .section-title,
  #inventory h2 {
    white-space: nowrap;
    font-size: clamp(21px, 5.6vw, 27px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.015em !important;
  }

  /* Keep the corresponding floorplan image inside its frame on mobile. The image can be panned/zoomed inside the card. */
  .floorplan-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .floorplan-stage {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 18px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .floorplan-split,
  .floorplan-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .floorplan-main {
    display: block !important;
  }

  .floorplan-viewport {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 300px !important;
    max-height: 64vh !important;
    overflow: auto !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-x pan-y;
  }

  .floorplan-viewport img {
    display: block !important;
    width: min(820px, 210vw) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    transform-origin: top left !important;
    will-change: transform;
  }

  .floorplan-controls {
    gap: 12px !important;
    align-items: center !important;
  }

  .floorplan-controls input[type="range"] {
    width: min(260px, 70vw) !important;
  }

  .floorplan-sidebar,
  .floorplan-list,
  .floorplan-tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 380px) {
  .inventory-head h2,
  .inventory-section .section-title,
  #inventory h2 {
    font-size: 20px !important;
  }

  .masterplan-card {
    width: calc(100% - 28px) !important;
    padding-bottom: 60px !important;
  }

  .tower-hotspot {
    height: 42px !important;
    min-height: 42px !important;
    font-size: 14px !important;
  }

  .floorplan-stage {
    padding: 14px !important;
  }
}

/* v26 - mobile-only fixes: tower selector, floorplan zoom/containment, floor card consistency */
@media (max-width: 768px){
  html, body{ overflow-x:hidden; }

  /* tighten and normalize section rhythm on mobile only */
  .container{ padding-left:18px !important; padding-right:18px !important; }
  section.container,
  .hero,
  .location-section,
  .masterplan-section,
  .inventory-section,
  .gallery-section,
  .contact-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
  .section-heading{ margin-bottom:22px !important; }
  .section-heading h2{ margin-bottom:0 !important; }
  .masterplan-section{ padding-top:38px !important; padding-bottom:34px !important; }
  .inventory-section{ padding-top:34px !important; }
  .floorplan-card{ margin-top:24px !important; }
  .gallery-section{ padding-top:40px !important; }

  /* mobile: do not show/click Peak I / Peak II overlay buttons; desktop remains unchanged */
  .masterplan-card .tower-hotspot{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .masterplan-card{
    overflow:hidden !important;
    padding-bottom:0 !important;
    border-radius:28px !important;
  }
  .masterplan-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
  }

  /* floorplan must stay inside its frame and pan/zoom within the frame */
  .floorplan-card{
    overflow:hidden !important;
    border-radius:30px !important;
    max-width:100% !important;
  }
  .floorplan-stage{
    max-width:100% !important;
    overflow:hidden !important;
  }
  .floorplan-viewport{
    width:100% !important;
    max-width:100% !important;
    min-height:360px !important;
    max-height:min(66vh, 620px) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(218,183,104,.34) !important;
    padding:0 !important;
    touch-action:pan-x pan-y !important;
  }
  .floorplan-viewport #floorPlanImage{
    display:block !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    transform:none !important;
    transform-origin:center top !important;
    border-radius:22px !important;
    margin:0 auto !important;
    will-change:width !important;
  }
  .zoom-row{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    margin:18px 0 18px !important;
  }
  .zoom-row input[type="range"]{
    width:min(270px, calc(100vw - 150px)) !important;
    min-width:150px !important;
  }

  /* floorplan picker cards: equal widths, no narrow first card */
  .floorplan-picker{
    overflow:hidden !important;
    max-width:100% !important;
  }
  .floorplan-list{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    padding:4px 4px 10px !important;
    grid-template-columns:none !important;
  }
  .floorplan-item,
  .floorplan-item.active{
    flex:0 0 168px !important;
    width:168px !important;
    min-width:168px !important;
    max-width:168px !important;
    min-height:126px !important;
    padding:16px 16px !important;
    border-radius:20px !important;
    white-space:normal !important;
    scroll-snap-align:start !important;
    text-align:left !important;
  }
  .floorplan-item strong{
    display:block !important;
    margin-bottom:8px !important;
    font-size:1rem !important;
    line-height:1.22 !important;
  }
  .floorplan-item span{
    display:block !important;
    font-size:.88rem !important;
    line-height:1.35 !important;
  }
}

@media (max-width: 380px){
  .floorplan-item,
  .floorplan-item.active{
    flex-basis:152px !important;
    width:152px !important;
    min-width:152px !important;
    max-width:152px !important;
    min-height:118px !important;
  }
  .floorplan-viewport{ min-height:330px !important; }
}

/* v27 - mobile-only rhythm + gallery controls refinements */
@media (max-width: 768px){
  /* Co lại khoảng cách giữa các section khoảng 50% so với bản mobile trước, desktop không ảnh hưởng */
  section.container,
  .hero,
  .project-info,
  .location-section,
  .masterplan-section,
  .inventory-section,
  .floorplan-section,
  .gallery-section,
  .advisor-section,
  .contact-section{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  .section-heading,
  .location-heading-centered,
  .inventory-head,
  .floorplan-head,
  .gallery-head{
    margin-top:0 !important;
    margin-bottom:14px !important;
  }
  .masterplan-section{ padding-top:20px !important; padding-bottom:20px !important; }
  .inventory-section{ padding-top:20px !important; }
  .floorplan-card{ margin-top:14px !important; }
  .gallery-section{ padding-top:20px !important; }

  /* Giảm các khoảng trống lớn quanh masterplan để không bị rời rạc */
  .masterplan-section .section-heading h2{ margin-bottom:12px !important; }
  .masterplan-card{ margin-top:10px !important; margin-bottom:14px !important; }
  .masterplan-tools,
  .width-control,
  .range-control{ margin-top:12px !important; margin-bottom:12px !important; }

  /* Gallery mobile: hai nút mũi tên nằm song song trên vùng ảnh, không một nút trên/một nút dưới */
  .gallery-showcase{
    display:block !important;
    position:relative !important;
    padding-top:0 !important;
  }
  .gallery-cards{
    display:block !important;
    width:100% !important;
  }
  .gallery-card-secondary{ display:none !important; }
  .gallery-card-primary{ width:100% !important; }
  .gallery-media{ position:relative !important; }
  .gallery-arrow{
    position:absolute !important;
    top:14px !important;
    z-index:8 !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:0 !important;
    background:rgba(2,42,36,.72) !important;
    border:1px solid rgba(220,182,109,.55) !important;
    color:#f2d79b !important;
    font-size:1.8rem !important;
    line-height:1 !important;
    backdrop-filter:blur(8px) !important;
  }
  .gallery-arrow.left{ left:auto !important; right:58px !important; justify-self:auto !important; }
  .gallery-arrow.right{ right:12px !important; justify-self:auto !important; }
  .gallery-dots-row{ margin-top:14px !important; }
}

@media (max-width: 430px){
  section.container,
  .hero,
  .project-info,
  .location-section,
  .masterplan-section,
  .inventory-section,
  .floorplan-section,
  .gallery-section,
  .advisor-section,
  .contact-section{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  .section-heading{ margin-bottom:12px !important; }
}


/* v28 - mobile-only final tightening: unit list max 5 + gallery green space reduction */
@media (max-width: 768px) {
  .inventory-actions,
  .inventory-load-more,
  #loadMoreUnits {
    display: none !important;
  }

  .gallery-section {
    padding-top: clamp(26px, 8vw, 40px) !important;
    padding-bottom: clamp(30px, 8vw, 44px) !important;
    margin-top: clamp(20px, 6vw, 32px) !important;
    min-height: 0 !important;
  }

  .gallery-section .container,
  .gallery-layout,
  .gallery-wrap,
  .gallery-showcase {
    min-height: 0 !important;
  }

  .gallery-head {
    margin-bottom: clamp(14px, 4vw, 20px) !important;
  }

  .gallery-title,
  .gallery-head h2 {
    margin-bottom: clamp(12px, 4vw, 18px) !important;
  }

  .gallery-stage,
  .gallery-card,
  .gallery-frame {
    margin-bottom: clamp(12px, 4vw, 18px) !important;
  }

  .gallery-meta,
  .gallery-caption,
  .gallery-info {
    margin-top: clamp(10px, 3vw, 14px) !important;
    margin-bottom: clamp(8px, 2.5vw, 12px) !important;
  }

  .gallery-dots,
  .gallery-dots-row {
    margin-top: clamp(10px, 3vw, 14px) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .gallery-nav-row {
    margin-top: 0 !important;
    margin-bottom: clamp(10px, 3vw, 14px) !important;
  }

  .gallery-section + section,
  .gallery-section + .section,
  .gallery-section + .contact-section,
  .gallery-section + footer {
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  .gallery-section {
    padding-top: 24px !important;
    padding-bottom: 32px !important;
    margin-top: 22px !important;
  }

  .gallery-card {
    padding-bottom: 18px !important;
  }

  .gallery-dots,
  .gallery-dots-row {
    gap: 10px !important;
  }
}

/* =========================================================
   v29 – inventory list behavior + Peak II direction data
   Scope: responsive/layout only. Desktop layout is preserved,
   but unit list height is tuned to avoid empty green area.
   ========================================================= */
.unit-list{
  scrollbar-width: thin;
  overscroll-behavior: contain;
}
.unit-list::-webkit-scrollbar{ width: 8px; }
.unit-list::-webkit-scrollbar-track{ background: rgba(255,255,255,.06); border-radius: 999px; }
.unit-list::-webkit-scrollbar-thumb{ background: rgba(227,182,96,.72); border-radius: 999px; }

@media (min-width: 861px){
  .inventory-grid{ align-items: start !important; }
  .inventory-sidebar{
    align-self: start !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .unit-list{
    height: 1120px !important;
    max-height: 1120px !important;
    overflow-y: auto !important;
    padding-right: 8px !important;
    padding-bottom: 8px !important;
  }
  .unit-list .unit-card{
    min-height: 126px !important;
  }
}

@media (max-width: 860px){
  .unit-list{
    display: flex !important;
    flex-direction: column !important;
    max-height: min(820px, 74dvh) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-right: 4px !important;
    padding-bottom: 12px !important;
  }
  .unit-list .unit-card{
    flex: 0 0 auto !important;
  }
  .mobile-load-more{ display: none !important; }
}

/* ================================
   v30 - desktop inventory height sync
   Align the left unit list panel with the right unit detail card/button row.
   Mobile rules are intentionally untouched.
================================ */
@media (min-width: 861px) {
  #inventory .inventory-grid {
    align-items: flex-start;
  }

  #inventory .inventory-sidebar {
    display: flex;
    flex-direction: column;
    height: var(--inventory-sidebar-height, auto);
    max-height: var(--inventory-sidebar-height, none);
    overflow: hidden;
  }

  #inventory .unit-list {
    flex: 1 1 auto;
    min-height: 0;
    max-height: var(--inventory-unit-list-height, 760px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 10px;
  }
}


/* ================================
   v31 - desktop inventory panel exact fit
   Keep desktop result list inside the left card and match the card
   height to the right unit visual/action panel. Mobile rules unchanged.
================================ */
@media (min-width: 861px) {
  #inventory .inventory-grid {
    align-items: flex-start !important;
  }

  #inventory .inventory-sidebar {
    align-self: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    height: var(--inventory-sidebar-height, auto) !important;
    max-height: var(--inventory-sidebar-height, none) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #inventory .unit-list {
    flex: 0 0 var(--inventory-unit-list-height, 520px) !important;
    height: var(--inventory-unit-list-height, 520px) !important;
    max-height: var(--inventory-unit-list-height, 520px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    padding-right: 8px !important;
    padding-bottom: 8px !important;
  }

  #inventory .unit-list .unit-card {
    min-height: 116px !important;
  }
}
