:root{--navy:#07313b;--deep:#05242c;--teal:#4daeb6;--gold:#c69649;--gold2:#e1bc76;--cream:#f7f1e7;--paper:#fffdf8;--text:#0b3540;--muted:#6d7d82;--line:#e8dfd0;--shadow:0 22px 70px rgba(14,42,48,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf8f1;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{text-decoration:none;color:inherit}button,select,input{font:inherit}.site-header{position:sticky;top:0;z-index:50;height:74px;background:linear-gradient(90deg,#062832,#0a3a45);display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid rgba(225,188,118,.28);box-shadow:0 8px 28px rgba(0,0,0,.14)}.brand img{height:44px;width:auto;display:block}.nav{display:flex;align-items:center;gap:26px;color:#f8efe0;font-weight:650;font-size:14px}.nav a{opacity:.92}.nav a:hover{color:var(--gold2)}.nav .phone{border:1px solid rgba(255,255,255,.32);padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.06);font-weight:800}.hero{position:relative;min-height:620px;background:linear-gradient(180deg,#08313c,#0b404b);padding:72px 28px 36px;overflow:hidden}.hero-copy{max-width:660px;position:relative;z-index:2;color:#fff;margin:0 auto 26px;width:min(1520px,100%)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;color:var(--gold);margin:0 0 10px}.hero h1{font-family:Georgia,serif;font-size:clamp(38px,5.2vw,76px);line-height:1.02;margin:0 0 16px;color:#fff8eb}.hero p:last-child{font-size:19px;line-height:1.55;color:#d4e2e2;max-width:520px}.masterplan-card{width:min(1520px,100%);margin:0 auto;border-radius:26px;overflow:hidden;position:relative;box-shadow:var(--shadow);border:1px solid rgba(225,188,118,.22);background:#06242d}.masterplan-img{display:block;width:100%;height:auto}.tower-pins{position:absolute;inset:0}.tower-pin{position:absolute;transform:translate(-50%,-50%);border:none;background:#fff8ea;color:#10333c;border-radius:999px;min-width:50px;height:38px;padding:0 14px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.26);cursor:pointer}.tower-pin.active{background:linear-gradient(135deg,#c6974d,#f0ce87);animation:pulse 1.1s infinite alternate;box-shadow:0 0 0 5px rgba(231,202,136,.25),0 0 26px rgba(240,206,135,.9)}@keyframes pulse{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.1)}}.section{width:min(1520px,calc(100% - 42px));margin:34px auto;padding:38px;border-radius:30px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.section-title{margin-bottom:24px}.section-title h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,56px);line-height:1.05;margin:0;color:var(--text)}.section-title .sub,.section-title>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.55}.info-grid,.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-grid article,.policy-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 26px rgba(23,48,54,.06)}.info-grid span,.policy-grid span{display:block;color:var(--muted);font-weight:700}.info-grid strong,.policy-grid strong{display:block;color:var(--text);font-size:23px;margin:6px 0 8px}.info-grid p{margin:0;color:var(--muted);line-height:1.45}.inventory{background:#fbf6ed}.inventory-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.zalo-mini{background:linear-gradient(135deg,#b78036,#e0b96f);padding:13px 18px;border-radius:999px;font-weight:900;color:#062832;white-space:nowrap}.control-panel{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.4fr;gap:12px;margin-bottom:18px;background:#fff;padding:16px;border-radius:22px;border:1px solid var(--line)}label span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#748589;font-weight:900;margin-bottom:6px}select,input{width:100%;border:1px solid #d9d1c3;border-radius:13px;background:#fffdf8;color:var(--text);padding:12px 13px;font-weight:750;outline:none}select:focus,input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(198,150,73,.16)}.inventory-split{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(390px,.78fr);gap:18px;align-items:start}.floor-pane,.list-pane{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line)}.pane-head h3{margin:0;font-size:25px}.pane-head button{border:1px solid #d9d1c3;background:#fffaf0;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--text)}.floor-wrap{height:780px;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#fff;padding:20px}.floor-wrap img{display:block;max-width:none;width:1060px;height:auto}.list-pane{position:sticky;top:92px;max-height:calc(100vh - 110px);display:flex;flex-direction:column}.unit-list{padding:16px;overflow:auto;display:grid;grid-template-columns:1fr;gap:12px}.unit-card{border:1px solid var(--line);background:#fffdf9;border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(16,42,48,.06);cursor:pointer;transition:.16s}.unit-card:hover{border-color:var(--gold);transform:translateY(-1px)}.unit-card.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,150,73,.17)}.unit-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.unit-code{font-weight:900;color:#0b3540}.badge{font-size:12px;color:#116344;background:#e7f6ed;border-radius:999px;padding:5px 9px;font-weight:900}.unit-type{font-size:31px;font-weight:950;margin:9px 0 0}.price{font-size:23px;color:#b78036;font-weight:950;margin:0 0 12px}.unit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:13px}.unit-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800}.unit-actions{display:flex;gap:8px;margin-top:14px}.unit-actions a,.unit-actions button{flex:1;text-align:center;border-radius:12px;padding:10px;border:1px solid #d8d0c4;background:#fffaf0;font-weight:850;color:var(--text);cursor:pointer}.unit-actions a{background:linear-gradient(135deg,#b78036,#e0b96f);color:#062832;border:none}.sample-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sample-card{text-align:left;border:1px solid var(--line);border-radius:26px;background:#fff;overflow:hidden;padding:0;cursor:pointer;box-shadow:0 12px 28px rgba(16,42,48,.08)}.sample-card img{width:100%;height:320px;object-fit:cover;display:block}.sample-card strong{display:block;font-size:26px;margin:18px 20px 8px}.sample-card span{display:block;color:var(--muted);line-height:1.45;margin:0 20px 22px}.policy{background:linear-gradient(135deg,#08313b,#05242c);color:#fff}.policy .section-title h2{color:#fff8eb}.policy-grid{grid-template-columns:repeat(5,1fr)}.policy-grid article{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.policy-grid strong{color:#fff8eb}.policy-grid span{color:#d1dedf}.amenity-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.amenity-grid figure{margin:0;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(16,42,48,.08)}.amenity-grid img{width:100%;height:330px;object-fit:cover;display:block}.amenity-grid figcaption{padding:16px 18px;font-weight:900}.footer{margin-top:40px;background:radial-gradient(circle at 80% 20%,#13515c,#05242c 60%);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:52px max(28px,calc((100vw - 1520px)/2));align-items:center}.footer-logo{height:62px;width:auto;margin-bottom:24px}.footer-left p{font-size:20px;line-height:1.5;color:#e7eeee;max-width:690px}.contact-card{justify-self:end;display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);border-radius:28px;padding:24px;width:min(620px,100%)}.contact-card img{width:150px;height:150px;object-fit:cover;object-position:center;border-radius:22px}.contact-card h2{font-family:Georgia,serif;font-size:40px;margin:0 0 8px;color:#fff8eb}.contact-card p{margin:0 0 8px;color:#d4e3e3}.contact-card a{display:block;font-size:20px;font-weight:800;margin-top:5px}.contact-actions{display:flex;gap:12px;margin-top:18px}.contact-actions a{font-size:16px;padding:13px 16px;border-radius:15px;background:linear-gradient(135deg,#b78036,#e0b96f);color:#062832;text-align:center}.contact-actions a+ a{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.modal.open{display:flex}.modal img{max-width:96vw;max-height:92vh;border-radius:18px;background:#fff}.modal button{position:absolute;top:20px;right:22px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:30px;cursor:pointer}
@media(max-width:980px){.site-header{height:auto;align-items:flex-start;padding:14px 18px}.nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.brand img{height:38px}.hero{padding-top:38px}.section{width:calc(100% - 22px);padding:22px;border-radius:24px}.info-grid,.policy-grid,.amenity-grid,.inventory-split,.sample-grid,.footer{grid-template-columns:1fr}.control-panel{grid-template-columns:1fr 1fr}.list-pane{position:relative;top:auto;max-height:none}.floor-wrap{height:60vh;justify-content:flex-start}.footer{padding:34px 20px}.contact-card{justify-self:stretch}}
@media(max-width:560px){.nav a:not(.phone){display:none}.hero h1{font-size:38px}.control-panel{grid-template-columns:1fr}.floor-wrap img{width:900px}.unit-grid{grid-template-columns:1fr}.contact-card{grid-template-columns:90px 1fr}.contact-card img{width:90px;height:90px}.contact-card h2{font-size:28px}.contact-actions{flex-direction:column}.amenity-grid img,.sample-card img{height:230px}}

/* Custom fixes: remove hero text, replace zoom button with size slider, support all-tower/all-floor states */
.hero{min-height:auto;padding:24px 28px 36px}.hero .masterplan-card{margin-top:0}.zoom-control{display:flex;align-items:center;gap:10px;min-width:240px;justify-content:flex-end}.zoom-control span{margin:0;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}.zoom-control b{min-width:44px;text-align:right;color:var(--text);font-weight:950}.zoom-control input[type=range]{width:150px;border:none;border-radius:0;background:transparent;padding:0;box-shadow:none;accent-color:var(--gold)}.floor-wrap{--floor-scale:1}.floor-wrap img{width:calc(1060px * var(--floor-scale));max-width:none;height:auto;cursor:zoom-in}.floor-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.floor-thumb{border:1px solid var(--line);background:#fffdf8;border-radius:18px;padding:12px;box-shadow:0 8px 22px rgba(16,42,48,.07);text-align:left;cursor:pointer;overflow:hidden}.floor-thumb:hover{border-color:var(--gold)}.floor-thumb strong{display:block;margin:0 0 10px;font-size:16px;color:var(--text)}.floor-thumb img{width:min(100%,calc(430px * var(--floor-scale)));height:auto;display:block;border-radius:12px;cursor:pointer}.floor-empty{min-height:360px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--muted);padding:32px}.floor-empty strong{font-size:24px;color:var(--text)}.floor-empty span{font-size:16px;line-height:1.5}.badge{white-space:nowrap}
@media(max-width:980px){.hero{padding:16px 12px 24px}.zoom-control{min-width:200px}.zoom-control input[type=range]{width:118px}.floor-wrap img{width:calc(900px * var(--floor-scale))}.floor-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pane-head{align-items:flex-start;flex-direction:column}.zoom-control{width:100%;justify-content:space-between}.zoom-control input[type=range]{width:calc(100% - 90px)}}

/* Final text/header/social updates */
.masterplan-title{width:min(1520px,100%);margin:0 auto 18px;color:#fff;position:relative;z-index:2}
.masterplan-title h1{font-family:Georgia,serif;font-size:clamp(34px,4.8vw,72px);line-height:1.03;margin:0;color:#fff8eb;letter-spacing:-.02em}
.social-icons{display:flex;gap:10px;margin-top:14px;align-items:center}
.social-icon{width:42px;height:42px;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);margin:0!important;transition:.18s ease}
.social-icon svg{width:24px;height:24px;fill:#fff8eb;display:block}
.social-icon:hover{transform:translateY(-2px);background:linear-gradient(135deg,#b78036,#e0b96f)}
.social-icon:hover svg{fill:#062832}
.info-grid strong{line-height:1.18}


/* Final v8 refinements */
.section-title h2{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:900;
  letter-spacing:.05em;
  word-spacing:.06em;
}
.masterplan-title .eyebrow{display:none}
.info-grid strong{
  font-size:19px;
  line-height:1.25;
  font-weight:850;
}
.info-grid article.project-size strong{
  font-size:19px;
  font-weight:900;
  margin-bottom:6px;
}
.info-grid article.handover .handover-lines{
  margin:8px 0 0;
  color:var(--text);
  font-size:17px;
  font-weight:750;
  line-height:1.55;
}
.info-grid article.product-types p{
  color:var(--text);
  font-size:17px;
  font-weight:750;
  line-height:1.45;
}
.policy-grid article{
  text-align:left;
  padding:20px 18px;
}
.policy-grid strong{
  font-size:clamp(17px,1.2vw,20px);
  line-height:1.18;
  margin:0 0 6px;
  font-weight:900;
}
.policy-grid span{
  font-size:14px;
  line-height:1.25;
}
.amenity-grid figcaption{
  text-align:center;
}
.contact-card{
  grid-template-columns:220px 1fr;
  gap:28px;
  width:min(720px,100%);
}
.contact-card img{
  width:220px;
  height:220px;
  border-radius:26px;
}
@media(max-width:980px){
  .contact-card{grid-template-columns:180px 1fr;width:100%}
  .contact-card img{width:180px;height:180px}
}
@media(max-width:560px){
  .contact-card{grid-template-columns:100px 1fr;gap:16px}
  .contact-card img{width:100px;height:100px;border-radius:18px}
  .policy-grid article{padding:18px}
}


/* Lead capture form */
.lead-section{background:linear-gradient(135deg,#fffdf8,#f8efe2)}
.lead-box{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:center;background:linear-gradient(135deg,#08313b,#0b4650);border-radius:30px;padding:32px;border:1px solid rgba(225,188,118,.25);box-shadow:0 18px 46px rgba(16,42,48,.12);color:#fff}
.lead-copy h2{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:clamp(30px,3.2vw,48px);line-height:1.05;margin:0 0 14px;color:#fff8eb;font-weight:950;letter-spacing:.045em;word-spacing:.06em}
.lead-copy p{font-size:18px;line-height:1.55;color:#d7e5e5;margin:0;max-width:560px}
.lead-points{display:grid;gap:10px;margin-top:22px;color:#fff8eb;font-weight:850}
.lead-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:rgba(255,255,255,.92);border:1px solid rgba(225,188,118,.28);border-radius:24px;padding:22px;color:var(--text)}
.lead-form label{display:flex;flex-direction:column;gap:8px}
.lead-form label.full{grid-column:1/-1}
.lead-form span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#567078}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #dfd4c4;background:#fffdf8;border-radius:14px;padding:13px 14px;color:var(--text);outline:none;box-shadow:none}
.lead-form textarea{resize:vertical;min-height:86px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,150,73,.14)}
.lead-form button{grid-column:1/-1;border:0;border-radius:16px;background:linear-gradient(135deg,#b78036,#e0b96f);color:#062832;font-size:18px;font-weight:950;padding:15px 18px;cursor:pointer}
.lead-form button:disabled{opacity:.65;cursor:wait}
.lead-status{grid-column:1/-1;margin:0;font-size:14px;line-height:1.45;color:#567078;font-weight:750}
.lead-status.ok{color:#126b47}.lead-status.err{color:#a5402d}
.unit-actions .lead-unit-btn{background:#fff;color:var(--text);border:1px solid #d8d0c4}
@media(max-width:980px){.lead-box{grid-template-columns:1fr;padding:24px}.lead-form{grid-template-columns:1fr}}
@media(max-width:560px){.lead-section{padding:14px}.lead-box{padding:18px;border-radius:22px}.lead-form{padding:16px;border-radius:20px}.lead-copy h2{font-size:28px}}


/* Final v11 typography + lead form cleanup */
.section-title h2{
  font-family:Georgia,serif;
  font-size:clamp(27px,3.84vw,58px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-.01em;
  word-spacing:.03em;
}
.lead-copy{align-self:center}
.lead-copy .lead-points{margin-top:0}
.lead-form label span{text-transform:none;letter-spacing:0;font-size:13px}
@media(max-width:560px){.section-title h2{font-size:clamp(26px,8vw,38px)}}


/* Final v12 lead section visual updates */
.lead-copy .eyebrow{
  font-size:24px;
  line-height:1.2;
  margin:0 0 14px;
  letter-spacing:.08em;
}
.lead-visual{
  display:block;
  width:100%;
  max-width:560px;
  height:260px;
  object-fit:cover;
  border-radius:22px;
  margin:0 0 18px;
  border:1px solid rgba(225,188,118,.24);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
@media(max-width:980px){
  .lead-visual{max-width:100%;height:240px;}
}
@media(max-width:560px){
  .lead-copy .eyebrow{font-size:22px;}
  .lead-visual{height:200px;border-radius:18px;margin-bottom:16px;}
}


/* Final v13 mobile UI/UX fixes */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
img, video, svg{max-width:100%;}
@media(max-width:768px){
  body{font-size:15px;background:#fbf8f1;}
  .site-header{
    min-height:62px;
    height:auto;
    padding:10px 14px;
    align-items:center;
    gap:10px;
  }
  .brand img{height:32px;max-width:145px;object-fit:contain;}
  .nav{gap:8px;justify-content:flex-end;flex:1;min-width:0;}
  .nav a:not(.phone){display:none!important;}
  .nav .phone{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:8px 11px;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
  }
  .hero{
    padding:14px 10px 18px;
  }
  .masterplan-title{margin-bottom:10px;width:100%;padding:0 4px;}
  .masterplan-title h1{
    font-size:clamp(30px,10vw,44px);
    line-height:1.04;
    letter-spacing:-.025em;
  }
  .masterplan-card{
    border-radius:18px;
    width:100%;
  }
  .tower-pin{
    min-width:34px;
    height:28px;
    padding:0 8px;
    font-size:12px;
    box-shadow:0 7px 18px rgba(0,0,0,.22);
  }
  .section{
    width:calc(100% - 20px);
    margin:16px auto;
    padding:18px 16px;
    border-radius:20px;
  }
  .section-title{margin-bottom:16px;}
  .section-title h2{
    font-size:clamp(28px,8.2vw,38px)!important;
    line-height:1.08;
    letter-spacing:-.015em;
    word-spacing:.02em;
    max-width:100%;
  }
  .eyebrow{
    font-size:10px;
    letter-spacing:.11em;
    margin-bottom:7px;
  }
  .info-grid,
  .policy-grid,
  .amenity-grid,
  .sample-grid,
  .inventory-split,
  .footer{
    grid-template-columns:1fr!important;
    gap:12px;
  }
  .info-grid article,
  .policy-grid article{
    min-height:auto;
    padding:16px;
    border-radius:18px;
  }
  .info-grid strong,
  .info-grid article.project-size strong,
  .info-grid article.product-types p,
  .info-grid article.handover .handover-lines{
    font-size:15.5px;
    line-height:1.45;
  }
  .inventory-head{
    display:block;
  }
  .inventory-head .zalo-mini,
  .zalo-mini{
    display:flex;
    width:100%;
    justify-content:center;
    margin-top:12px;
    padding:12px 14px;
    font-size:14px;
  }
  .control-panel{
    grid-template-columns:1fr!important;
    gap:10px;
    padding:12px;
    border-radius:18px;
  }
  .control-panel input,
  .control-panel select{
    min-height:46px;
    font-size:15px;
  }
  .floor-pane,.list-pane{
    border-radius:20px;
  }
  .pane-head{
    padding:14px 14px;
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .pane-head h3{
    font-size:22px;
    line-height:1.1;
  }
  .pane-head button{
    width:100%;
    padding:11px 12px;
  }
  .zoom-control{
    width:100%;
    min-width:0;
    justify-content:space-between;
    gap:8px;
  }
  .zoom-control input[type=range]{
    flex:1;
    width:auto;
    min-width:130px;
  }
  .zoom-control b{min-width:42px;}
  .floor-wrap{
    height:58vh;
    min-height:430px;
    padding:12px;
    justify-content:flex-start;
    -webkit-overflow-scrolling:touch;
  }
  .floor-wrap img{
    width:calc(760px * var(--floor-scale));
  }
  .floor-grid{
    grid-template-columns:1fr!important;
    gap:12px;
  }
  .floor-thumb{
    border-radius:16px;
    padding:10px;
  }
  .list-pane{
    position:relative;
    top:auto;
    max-height:none;
  }
  .unit-list{
    padding:12px;
    gap:10px;
  }
  .unit-card{
    border-radius:18px;
    padding:14px;
  }
  .unit-type{
    font-size:24px;
    line-height:1.1;
  }
  .price{
    font-size:19px;
    line-height:1.2;
  }
  .unit-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .unit-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .unit-actions a,
  .unit-actions button{
    width:100%;
    min-height:42px;
    padding:11px 10px;
    font-size:14px;
  }
  .lead-section{
    padding:0;
    background:transparent;
  }
  .lead-box{
    grid-template-columns:1fr;
    gap:16px;
    padding:18px;
    border-radius:22px;
  }
  .lead-copy .eyebrow{
    font-size:20px;
    line-height:1.15;
    margin-bottom:12px;
  }
  .lead-visual{
    height:190px;
    border-radius:18px;
    margin-bottom:14px;
  }
  .lead-points{
    gap:8px;
    font-size:14px;
    line-height:1.35;
  }
  .lead-form{
    grid-template-columns:1fr!important;
    padding:14px;
    border-radius:18px;
    gap:11px;
  }
  .lead-form input,
  .lead-form select,
  .lead-form textarea{
    min-height:46px;
    padding:12px;
    font-size:15px;
  }
  .lead-form button{
    font-size:16px;
    padding:13px 14px;
  }
  .sample-card{
    border-radius:20px;
  }
  .sample-card img,
  .amenity-grid img{
    height:210px;
  }
  .sample-card strong{
    font-size:22px;
    margin:14px 16px 6px;
  }
  .sample-card span{
    margin:0 16px 16px;
    font-size:14px;
  }
  .policy-grid strong{
    font-size:18px;
    line-height:1.2;
  }
  .policy-grid span{
    font-size:14px;
  }
  .amenity-grid figure{
    border-radius:20px;
  }
  .amenity-grid figcaption{
    padding:13px 14px;
    font-size:15px;
  }
  .footer{
    margin-top:22px;
    padding:28px 14px;
  }
  .footer-logo{
    height:42px;
    margin-bottom:14px;
  }
  .footer-left p{
    font-size:15px;
    line-height:1.45;
  }
  .contact-card{
    justify-self:stretch;
    grid-template-columns:1fr!important;
    justify-items:center;
    text-align:center;
    gap:14px;
    width:100%;
    padding:18px;
    border-radius:22px;
  }
  .contact-card img{
    width:min(210px,70vw)!important;
    height:min(210px,70vw)!important;
    border-radius:22px;
  }
  .contact-card h2{
    font-size:34px;
    line-height:1;
    margin-bottom:6px;
  }
  .contact-card p{
    font-size:15px;
  }
  .contact-card a{
    font-size:18px;
  }
  .social-icons,
  .contact-actions{
    justify-content:center;
  }
  .contact-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    max-width:280px;
    gap:10px;
    margin:16px auto 0;
  }
  .contact-actions a{
    width:100%;
    font-size:15px;
    padding:12px 14px;
  }
  .modal{padding:12px;}
  .modal button{top:12px;right:12px;}
}
@media(max-width:390px){
  .section{width:calc(100% - 14px);padding:16px 12px;}
  .section-title h2{font-size:30px!important;}
  .masterplan-title h1{font-size:31px;}
  .floor-wrap{min-height:390px;height:55vh;}
  .floor-wrap img{width:calc(700px * var(--floor-scale));}
  .unit-grid{grid-template-columns:1fr;}
  .lead-visual{height:170px;}
}


/* Final v15: robust mobile UI/UX fix */
@media (max-width: 768px){
  html, body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  img, video{
    max-width:100%;
  }
  .site-header{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .section{
    width:calc(100% - 18px)!important;
    margin:18px auto!important;
    padding:18px 14px!important;
    border-radius:22px!important;
    overflow:hidden;
  }
  .section-title,
  .inventory-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
  }
  .section-title > div,
  .inventory-head > div{
    width:100%!important;
    min-width:0!important;
  }
  .section-title h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(30px,8.5vw,42px)!important;
    line-height:1.05!important;
    letter-spacing:-.015em!important;
    word-spacing:.02em!important;
    overflow-wrap:normal!important;
  }
  .inventory-head .zalo-mini,
  .zalo-mini{
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin:0!important;
    padding:13px 16px!important;
    border-radius:18px!important;
    white-space:normal!important;
    line-height:1.2!important;
    font-size:16px!important;
  }
  .control-panel{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:22px!important;
  }
  .control-panel label,
  .control-panel label.search{
    width:100%!important;
    min-width:0!important;
    grid-column:1/-1!important;
  }
  .control-panel select,
  .control-panel input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .inventory-split{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:14px!important;
    min-width:0!important;
  }
  .floor-pane,
  .list-pane{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .pane-head{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding:14px!important;
  }
  .pane-head h3{
    font-size:22px!important;
    line-height:1.15!important;
  }
  .zoom-control{
    width:100%!important;
    min-width:0!important;
    justify-content:space-between!important;
  }
  .floor-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:auto!important;
    justify-content:flex-start!important;
    padding:12px!important;
    height:58vh!important;
    min-height:360px!important;
    -webkit-overflow-scrolling:touch;
  }
  .floor-wrap img{
    width:calc(760px * var(--floor-scale))!important;
    max-width:none!important;
  }
  .floor-grid{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .floor-thumb,
  .floor-thumb img{
    max-width:100%!important;
  }
  .unit-list{
    padding:12px!important;
    gap:10px!important;
  }
  .unit-card{
    padding:14px!important;
    border-radius:18px!important;
  }
  .unit-type{
    font-size:26px!important;
    line-height:1.05!important;
  }
  .price{
    font-size:20px!important;
  }
  .unit-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px 10px!important;
  }
  .unit-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .unit-actions a,
  .unit-actions button{
    min-width:0!important;
    width:100%!important;
    padding:10px 6px!important;
    font-size:13px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .lead-section{
    padding:14px 9px!important;
  }
  .lead-box{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:16px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .lead-copy,
  .lead-form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .lead-copy .eyebrow{
    font-size:22px!important;
    line-height:1.15!important;
    margin-bottom:12px!important;
  }
  .lead-visual{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    object-fit:cover!important;
    border-radius:18px!important;
    margin:0 0 14px!important;
  }
  .lead-points{
    margin:0 0 14px!important;
    gap:8px!important;
  }
  .lead-points span{
    display:block!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .lead-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .lead-form label,
  .lead-form label.full,
  .lead-form button,
  .lead-status{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
  }
  .lead-form input,
  .lead-form select,
  .lead-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:15px!important;
  }
  .sample-grid,
  .amenity-grid,
  .policy-grid,
  .info-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
  }
  .sample-card,
  .amenity-grid figure,
  .policy-grid article,
  .info-grid article{
    width:100%!important;
    min-width:0!important;
  }
}

@media (max-width: 430px){
  .section{
    width:calc(100% - 14px)!important;
    padding:16px 12px!important;
  }
  .section-title h2{
    font-size:clamp(28px,8.2vw,36px)!important;
    line-height:1.06!important;
  }
  .inventory-head .zalo-mini,
  .zalo-mini{
    font-size:15px!important;
    min-height:46px!important;
  }
  .floor-wrap{
    height:56vh!important;
    min-height:330px!important;
  }
  .floor-wrap img{
    width:calc(700px * var(--floor-scale))!important;
  }
  .unit-grid{
    grid-template-columns:1fr!important;
  }
  .unit-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .unit-actions a,
  .unit-actions button{
    font-size:12px!important;
    padding:9px 5px!important;
  }
}
