:root{--g:#2D5A1B;--gl:#3d7a25;--au:#C9A96E;--aul:#e2c898;--cr:#F9F6F0;--dk:#141414;--border:rgba(201,169,110,.2);--fd:'Cormorant Garamond',Georgia,serif;--fb:'Inter',sans-serif;--fu:'Montserrat',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--dk);color:var(--cr);font-family:var(--fb);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,padding .4s}
nav.sc{background:rgba(20,20,20,.97);padding:10px 40px;border-bottom:1px solid var(--border)}
.nl{display:flex;align-items:center;gap:10px}
.nl img{height:40px;width:auto}
.nl span{font-family:var(--fu);font-size:10px;letter-spacing:.35em;color:var(--au);text-transform:uppercase}
.nr{display:flex;gap:24px;align-items:center}
.nr a{font-family:var(--fu);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(249,246,240,.65);transition:color .2s}
.nr a:hover,.nr a:focus{color:var(--au)}
.nc{background:var(--au)!important;color:var(--dk)!important;padding:9px 22px!important;font-weight:700!important;border-radius:0!important}
.nc:hover{background:var(--aul)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{width:24px;height:2px;background:var(--cr);display:block;transition:.3s}
.mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;background:rgba(20,20,20,.98);z-index:999;flex-direction:column;padding:20px 24px;gap:16px;border-bottom:1px solid var(--border)}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--fu);font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:rgba(249,246,240,.75);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}

/* HERO */
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#0a1506}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.38}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,20,.98) 0%,rgba(20,20,20,.5) 45%,rgba(10,10,10,.1) 100%)}
.hc{position:relative;z-index:2;padding:0 40px 80px;max-width:820px}
.hew{font-family:var(--fu);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--au);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.hew::before{content:'';width:36px;height:1px;background:var(--au)}
.ht{font-family:var(--fd);font-size:clamp(52px,8vw,108px);font-weight:300;line-height:.92;letter-spacing:-.02em;color:var(--cr);margin-bottom:6px}
.ht em{font-style:italic;color:var(--au)}
.hs{font-family:var(--fd);font-size:clamp(18px,2.5vw,28px);font-weight:300;color:rgba(249,246,240,.55);margin-bottom:36px;letter-spacing:.05em}
.ha{display:flex;gap:14px;flex-wrap:wrap}
.hst{position:absolute;right:40px;bottom:80px;z-index:2;display:flex;flex-direction:column;gap:24px}
.sta{text-align:right}
.sn{font-family:var(--fd);font-size:44px;font-weight:300;color:var(--au);line-height:1}
.sl{font-family:var(--fu);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(249,246,240,.4);margin-top:3px}

/* BUTTONS */
.bp{background:var(--au);color:var(--dk);font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;display:inline-block;transition:background .2s,transform .1s}
.bp:hover{background:var(--aul);transform:translateY(-1px)}
.bo{background:transparent;color:var(--cr);font-family:var(--fu);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:13px 32px;border:1px solid rgba(249,246,240,.3);cursor:pointer;display:inline-block;transition:border-color .2s,color .2s}
.bo:hover{border-color:var(--au);color:var(--au)}

/* SECTIONS */
section{padding:88px 40px}
.se{font-family:var(--fu);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--au);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.se::before{content:'';width:28px;height:1px;background:var(--au)}
.st{font-family:var(--fd);font-size:clamp(34px,4.5vw,60px);font-weight:300;line-height:1.08;color:var(--cr)}
.st em{font-style:italic;color:var(--au)}

/* ABOUT */
.about{background:var(--dk)}
.ag{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1160px;margin:0 auto}
.ab{font-size:16px;line-height:1.85;color:rgba(249,246,240,.72);margin-top:24px}
.ab strong{color:var(--au);font-weight:500}
.ad{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.di{border-left:1px solid var(--border);padding-left:13px}
.dn{font-family:var(--fd);font-size:32px;font-weight:300;color:var(--au)}
.dd{font-family:var(--fu);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(249,246,240,.4);margin-top:3px}
.aim{width:100%;height:460px;object-fit:cover}

/* MODELOS */
.mods{background:#0f0f0f}
.mh{max-width:1160px;margin:0 auto 44px}
.mg{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2px}
.mc{background:#1a1a1a;overflow:hidden;cursor:pointer;transition:transform .3s;position:relative}
.mc:hover{transform:translateY(-4px);z-index:2}
.mi{width:100%;height:280px;object-fit:cover;transition:transform .5s}
.mc:hover .mi{transform:scale(1.04)}
.mov{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,90,27,.9),transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:20px}
.mc:hover .mov{opacity:1}
.mob{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:white;background:var(--au);padding:9px 18px;border:none;cursor:pointer}
.minf{padding:20px 22px}
.mn{font-family:var(--fd);font-size:24px;font-weight:600;color:var(--cr)}
.ms{display:flex;gap:12px;margin-top:5px;flex-wrap:wrap}
.msp{font-family:var(--fu);font-size:10px;color:#777;letter-spacing:.07em}
.msp span{color:var(--au);font-weight:600}
.mp{font-family:var(--fd);font-size:20px;color:var(--au);margin-top:9px}
.mf{margin-top:8px}
.mfe{font-size:12px;color:rgba(249,246,240,.5);display:flex;align-items:center;gap:5px;margin-top:2px}
.mfe::before{content:'—';color:var(--au);font-size:9px}
.mtag{position:absolute;top:12px;right:12px;background:var(--au);color:var(--dk);font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:3px 9px}

/* MODAL */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:2000;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.modal-ov.open{display:flex}
.modal-box{background:#1a1a1a;max-width:860px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.modal-x{position:sticky;top:0;float:right;margin:12px 12px 0 0;background:rgba(0,0,0,.7);color:white;border:1px solid rgba(255,255,255,.2);width:34px;height:34px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;z-index:10;flex-shrink:0}
.modal-x:hover{background:var(--au);color:var(--dk)}
.modal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.modal-gallery img{width:100%;height:260px;object-fit:cover}
.modal-gallery.single img{height:420px}
.mc-inner{padding:24px 28px 32px}
.mc-ew{font-family:var(--fu);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--au);margin-bottom:7px}
.mc-title{font-family:var(--fd);font-size:38px;font-weight:300;color:var(--cr)}
.mc-title em{font-style:italic;color:var(--au)}
.mc-specs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.mc-pill{background:rgba(201,169,110,.1);color:var(--au);font-family:var(--fu);font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:5px 12px}
.mc-desc{font-size:15px;color:rgba(249,246,240,.68);margin-top:18px;line-height:1.75}
.mc-fg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:16px}
.mc-f{font-size:13px;color:rgba(249,246,240,.62);display:flex;align-items:center;gap:7px}
.mc-f::before{content:'✓';color:var(--au);font-weight:700}
.mc-acts{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}

/* ACABADOS */
.acab{background:var(--dk)}
.acab-in{max-width:1160px;margin:0 auto}
.acab-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin-top:48px;background:var(--border)}
.acab-i{background:var(--dk);padding:28px 24px}
.acab-ic{width:32px;height:32px;margin-bottom:13px;color:var(--au)}
.acab-t{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--cr);margin-bottom:7px}
.acab-d{font-size:12px;line-height:1.65;color:rgba(249,246,240,.5)}

/* AMENIDADES */
.amen{background:#0a0a0a}
.amen-in{max-width:1160px;margin:0 auto}
.amen-hero{position:relative;margin-top:48px}
.amen-main-img{width:100%;height:420px;object-fit:cover}
.amen-hero-badge{position:absolute;bottom:0;left:0;background:var(--g);color:white;font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:10px 20px}
.amen-two-col{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px}
.amen-sec-img{width:100%;height:100%;object-fit:cover;min-height:300px}
.amen-list{background:#111;padding:8px 0}
.ar{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}
.ar:last-child{border-bottom:none}
.ai{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--au)}
.at h4{font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--cr);margin-bottom:3px;text-transform:uppercase}
.at p{font-size:12px;color:rgba(249,246,240,.48);line-height:1.5}

/* COTIZADOR */
.cot{background:var(--cr);color:var(--dk);padding:88px 40px}
.cot-in{max-width:1100px;margin:0 auto}
.cot-h{margin-bottom:36px}
.cot-h .se{color:var(--g)}.cot-h .se::before{background:var(--g)}
.cot-h .st{color:var(--dk)}.cot-h .st em{color:var(--g)}
.cot-h p{margin-top:12px;color:#666;font-size:14px;max-width:500px;line-height:1.6}

.plano-ref{position:relative;margin-bottom:40px;border:1px solid #ddd;background:#fff}
.plano-ref-label{font-family:var(--fu);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#999;padding:10px 14px;background:#f8f8f8;border-bottom:1px solid #eee}
.plano-ref-img{width:100%;max-height:60vh;object-fit:contain;display:block}
.plano-compass{position:absolute;top:50px;right:12px;background:rgba(255,255,255,.92);border:1px solid #ddd;padding:8px 12px;font-family:var(--fu);font-size:10px;text-align:center}
.comp-n{font-size:18px;font-weight:700;color:var(--g);line-height:1}
.comp-dirs{display:flex;flex-direction:column;gap:2px;color:#888;margin-top:4px}
.plano-orient{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px;background:#f8f8f8;border-top:1px solid #eee;font-family:var(--fu);font-size:10px;color:#555}
.orient-item{display:flex;align-items:center;gap:6px}
.orient-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}

.stbar{display:flex;align-items:center;margin-bottom:32px}
.si{display:flex;align-items:center;gap:9px}
.sn2{width:34px;height:34px;border-radius:50%;background:#ddd;color:#aaa;font-family:var(--fu);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.sn2.ac{background:var(--g);color:white}.sn2.dn{background:var(--au);color:var(--dk)}
.sl2{font-family:var(--fu);font-size:10px;letter-spacing:.1em;color:#bbb;text-transform:uppercase;transition:color .3s}
.sl2.ac{color:var(--g);font-weight:700}.sl2.dn{color:var(--au)}
.sc2{flex:1;height:1px;background:#ddd;margin:0 8px;transition:background .3s}
.sc2.dn{background:var(--au)}
.cpanel{display:none}.cpanel.active{display:block;animation:fadeUp .3s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.selector-card{background:white;border:1px solid #e8e8e8;padding:32px;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.sel-row{margin-bottom:24px}
.sel-group{display:flex;flex-direction:column;gap:10px}
.sel-label{font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--g)}
.mz-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.mz-btn{font-family:var(--fu);font-size:12px;font-weight:600;letter-spacing:.1em;padding:10px 20px;border:2px solid #ddd;background:white;color:#555;cursor:pointer;transition:all .2s}
.mz-btn:hover{border-color:var(--g);color:var(--g)}
.mz-btn.sel{border-color:var(--g);background:var(--g);color:white}
.lote-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.lot-btn{width:52px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--fu);font-size:11px;font-weight:700;border:2px solid #ddd;background:white;color:#333;cursor:pointer;transition:all .2s;line-height:1.2}
.lot-btn .lot-num{font-size:13px;font-weight:700}
.lot-btn .lot-m2{font-size:8px;color:#999;font-weight:400}
.lot-btn.disponible{border-color:#2D5A1B;background:white;color:#2D5A1B}
.lot-btn.disponible:hover{background:#2D5A1B;color:white}
.lot-btn.disponible.sel{background:#2D5A1B;color:white;transform:scale(1.1);box-shadow:0 4px 12px rgba(45,90,27,.3)}
.lot-btn.vendido{border-color:#2D5A1B;background:#2D5A1B;color:rgba(255,255,255,.6);cursor:not-allowed;opacity:.7}
.lot-btn.apartado{border-color:#c9a000;background:#F5C842;color:#7a6000;cursor:not-allowed}
.lot-btn.entregado{border-color:#b02020;background:#E03B2E;color:rgba(255,255,255,.7);cursor:not-allowed}
.lot-btn.muestra{border-color:#1a4db8;background:#2563EB;color:rgba(255,255,255,.8);cursor:not-allowed}
.lote-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-family:var(--fu);font-size:10px;color:#666}
.leg-i{display:flex;align-items:center;gap:5px}
.leg-dot{width:12px;height:12px;border:1px solid #ccc;flex-shrink:0}
.sel-info{background:#f0f7ee;border:1px solid #b8ddb8;padding:14px 18px;margin-top:16px;font-family:var(--fu);font-size:13px;color:var(--dk);animation:fadeUp .3s ease}
.sel-info strong{color:var(--g)}

.sel-lote-bar{background:#f0f7ee;border:1px solid #b8ddb8;padding:12px 16px;margin-bottom:20px;font-family:var(--fu);font-size:12px;color:var(--dk)}
.sel-lote-bar strong{color:var(--g)}

.mod-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.mod-card{border:2px solid #e0e0e0;background:white;cursor:pointer;transition:all .25s;text-align:center;padding:0;overflow:hidden}
.mod-card:hover{border-color:var(--g);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.mod-card.sel{border-color:var(--g);background:#f0f7ee}
.mod-card.dis{opacity:.3;cursor:not-allowed;pointer-events:none}
.mod-card-img{width:100%;height:110px;object-fit:cover}
.mod-card-body{padding:14px}
.mod-card-name{font-family:var(--fd);font-size:22px;font-weight:600;color:var(--dk)}
.mod-card-m2{font-family:var(--fu);font-size:9px;color:#888;letter-spacing:.1em;margin-top:3px}
.mod-card-price{font-family:var(--fd);font-size:16px;color:var(--g);margin-top:6px;font-weight:600}
.mod-card-tag{font-size:8px;background:var(--g);color:white;padding:2px 7px;letter-spacing:.15em;display:inline-block;margin-bottom:6px}

.btn-back{background:transparent;color:var(--g);font-family:var(--fu);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:10px 0;border:none;cursor:pointer;text-decoration:underline}

.qr{background:var(--dk);color:var(--cr);padding:40px}
.ql{font-family:var(--fu);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--au);margin-bottom:5px}
.qv{font-family:var(--fd);font-size:clamp(36px,6vw,56px);font-weight:300;color:var(--cr)}
.qbd{margin-top:24px}
.qbr{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px;color:rgba(249,246,240,.62)}
.qbr strong{color:var(--cr)}.qbv{font-family:var(--fd);font-size:17px;color:var(--au)}
.qtot{border-top:1px solid rgba(201,169,110,.3)!important;border-bottom:none!important;padding-top:14px!important}
.qsel{margin-top:16px;padding:14px;border:1px solid rgba(201,169,110,.18);font-size:13px;color:rgba(249,246,240,.68);line-height:1.8}
.qdis{margin-top:15px;font-size:10px;color:rgba(249,246,240,.32);line-height:1.6}
.qca{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.bwa{background:#25D366;color:white;font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:14px 24px;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.bwa:hover{background:#1db954}
.brs{background:transparent;color:rgba(20,20,20,.5);font-family:var(--fu);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:14px 20px;border:1px solid rgba(20,20,20,.2);cursor:pointer;transition:all .2s;margin-top:0}
.brs:hover{border-color:var(--g);color:var(--g)}

/* ASESOR */
.asr{background:linear-gradient(135deg,#0a1506 0%,#182c10 50%,#0a1506 100%);padding:88px 40px}
.asr-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:360px 1fr;gap:72px;align-items:center}
.asr-pw{position:relative}
.asr-ph{width:100%;max-width:360px;object-fit:cover;display:block}
.asr-badge{background:var(--au);padding:13px 18px;text-align:center}
.asr-bn{font-family:var(--fd);font-size:22px;font-weight:600;color:var(--dk);line-height:1}
.asr-bt{font-family:var(--fu);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(20,20,20,.65);margin-top:3px}
.asr-t .se{color:var(--aul)}.asr-t .se::before{background:var(--aul)}
.asr-t .st{color:white}.asr-t .st em{color:var(--aul)}
.asr-bio{font-size:15px;line-height:1.8;color:rgba(255,255,255,.62);margin-top:22px}
.asr-bio strong{color:var(--aul)}
.asr-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.baw{background:var(--au);color:var(--dk);font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:14px 26px;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}
.baw:hover{background:var(--aul)}
.asr-soc{display:flex;gap:10px;margin-top:20px}
.asr-soc a{width:38px;height:38px;border:1px solid rgba(201,169,110,.3);display:flex;align-items:center;justify-content:center;color:rgba(249,246,240,.5);transition:all .2s}
.asr-soc a:hover{border-color:var(--au);color:var(--au)}

.cta-s{background:var(--g);padding:80px 40px;text-align:center}
.cta-s h2{font-family:var(--fd);font-size:clamp(34px,5vw,62px);font-weight:300;color:white;margin-bottom:13px}
.cta-s h2 em{font-style:italic;color:var(--aul)}
.cta-s p{font-size:15px;color:rgba(255,255,255,.68);max-width:460px;margin:0 auto 32px}

footer{background:#0a0a0a;padding:52px 40px 32px}
.fi{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:52px}
.fl{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.fl img{height:30px;width:auto}
.fl span{font-family:var(--fu);font-size:9px;letter-spacing:.32em;color:var(--au);text-transform:uppercase}
.ftag{font-size:12px;color:rgba(249,246,240,.38);line-height:1.6}
.fct{font-family:var(--fu);font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--au);margin-bottom:16px}
.flinks{display:flex;flex-direction:column;gap:8px}
.flinks a{font-size:12px;color:rgba(249,246,240,.48);transition:color .2s}
.flinks a:hover{color:var(--au)}
.fsoc{display:flex;gap:10px;margin-bottom:16px}
.fsoc a{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:rgba(249,246,240,.45);transition:all .2s}
.fsoc a:hover{border-color:var(--au);color:var(--au)}
.fbot{max-width:1160px;margin:32px auto 0;padding-top:18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:11px;color:rgba(249,246,240,.22)}

@media(max-width:900px){
  nav{padding:12px 18px}
  nav.sc{padding:8px 18px}
  .nr{display:none}
  .hamburger{display:flex}
  section{padding:64px 18px}
  .hc{padding:0 18px 64px}
  .hst{display:none}
  .ag,.amen-two-col,.asr-in,.fi{grid-template-columns:1fr;gap:32px}
  .cot{padding:64px 18px}
  .asr{padding:64px 18px}
  .mc-fg{grid-template-columns:1fr}
  .modal-gallery{grid-template-columns:1fr}
  .modal-gallery img{height:220px}
  .fbot{flex-direction:column;gap:5px}
  .amen-main-img{height:260px}
  .amen-sec-img{min-height:200px}
  .selector-card{padding:20px}
  .mz-buttons{gap:8px}
  .mz-btn{padding:8px 14px;font-size:11px}
  .lot-btn{width:46px;height:46px}
}

/* ============================================================
   GALLERY IN MODAL
============================================================ */
.gal-wrap{position:relative;background:#000;user-select:none}
.gal-stage{width:100%;aspect-ratio:700/905;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}
.gal-img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .3s}
.gal-img:hover{transform:scale(1.02)}
.gal-vid-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}
.gal-vid{width:100%;max-height:100%;object-fit:contain}
.gal-vid-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;text-align:center;padding:24px;font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.6;background:#111}
.gal-vid-ph div:first-child{font-size:40px}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);color:white;border:none;cursor:pointer;font-size:32px;width:44px;height:64px;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10;line-height:1}
.gal-arrow:hover{background:rgba(201,169,110,.8)}
.gal-prev{left:0;border-radius:0 4px 4px 0}
.gal-next{right:0;border-radius:4px 0 0 4px}
.gal-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10}
.gal-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:background .2s}
.gal-dot.active{background:var(--au)}
.gal-caption{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);pointer-events:none;z-index:9}
/* Single X button — placed by JS inside modal-body */
.modal-x{position:sticky;top:0;float:right;margin:10px 10px 0 0;background:rgba(0,0,0,.65);color:white;border:1px solid rgba(255,255,255,.2);width:34px;height:34px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;z-index:20;flex-shrink:0;line-height:1}
.modal-x:hover{background:var(--au);color:var(--dk)}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center}
.lb-bg{position:absolute;inset:0;background:rgba(0,0,0,.92);cursor:pointer}
.lb-img{position:relative;z-index:1;max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 8px 48px rgba(0,0,0,.6)}
.lb-close{position:absolute;top:16px;right:16px;z-index:2;background:rgba(0,0,0,.6);color:white;border:1px solid rgba(255,255,255,.3);width:40px;height:40px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.lb-close:hover{background:var(--au);color:var(--dk)}

/* COTIZADOR tweaks — prevent legend duplication */
#loteRow{margin-top:20px}
.lote-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.lote-legend{display:flex;gap:14px;flex-wrap:wrap;font-family:'Montserrat',sans-serif;font-size:10px;color:#666}

/* ============================================================
   COTIZADOR v5 — estilos financieros
============================================================ */
.cot-doc { background: white; }
.cot-header-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; border-bottom:2px solid #2D5A1B; padding-bottom:14px; }
.cot-section { margin-bottom:20px; }
.cot-section-title { font-family:'Montserrat',sans-serif; font-weight:700; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:#2D5A1B; margin-bottom:10px; border-bottom:1px solid #e8e8e8; padding-bottom:6px; }
.cot-row { display:flex; justify-content:space-between; align-items:center; padding:6px 4px; font-size:13px; border-bottom:1px solid #f5f5f5; gap:12px; }
.cot-lbl { color:#666; font-size:13px; }
.cot-val { font-weight:600; text-align:right; }
.cot-subtotal { font-weight:700 !important; background:#f9f6f0; padding:8px 6px !important; }
.cot-subtotal .cot-lbl { font-weight:700; color:#141414; }
.cot-subtotal .cot-val { color:#2D5A1B; font-size:16px; }

/* Tabs esquema */
.esquema-tabs { display:flex; gap:8px; margin-bottom:20px; margin-top:12px; flex-wrap:wrap; }
.esq-tab { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; padding:10px 20px; border:2px solid #ddd; background:white; color:#888; cursor:pointer; transition:all .2s; border-radius:0; }
.esq-tab.active { border-color:#2D5A1B; background:#2D5A1B; color:white; }
.esq-tab:hover:not(.active) { border-color:#2D5A1B; color:#2D5A1B; }

/* Inputs crédito */
.cred-inputs { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:16px 0; background:#f9f6f0; padding:20px; }
.cred-input-group { display:flex; flex-direction:column; gap:8px; }
.cred-label { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#444; }
.cred-slider { width:100%; accent-color:#2D5A1B; height:4px; cursor:pointer; }
.cred-slider-labels { display:flex; justify-content:space-between; font-family:'Montserrat',sans-serif; font-size:10px; color:#aaa; }
.cred-input-row { display:flex; align-items:center; border:2px solid #ddd; background:white; }
.cred-prefix, .cred-suffix { padding:10px 12px; font-family:'Montserrat',sans-serif; font-size:13px; color:#888; background:#f5f5f5; }
.cred-number-input { border:none; outline:none; padding:10px 8px; font-size:14px; font-family:'Montserrat',sans-serif; width:100%; min-width:0; }
.cred-hint { font-size:10px; color:#aaa; font-family:'Montserrat',sans-serif; }
.cred-number-input:focus { background:#fafff9; }

/* Resumen */
.cred-resumen { background:#f9f6f0; padding:16px 20px; margin:16px 0; border-left:3px solid #2D5A1B; }
.cred-res-row { display:flex; justify-content:space-between; padding:5px 0; font-size:13px; color:#555; }
.cred-res-row.accent { font-weight:700; color:#141414; font-size:14px; border-bottom:1px solid #e0e0e0; padding-bottom:8px; margin-bottom:4px; }
.cred-res-row.highlight { font-weight:700; color:#2D5A1B; font-size:16px; border-top:1px solid #ddd; padding-top:10px; margin-top:6px; }
.cred-res-row.small { font-size:10px; color:#aaa; }

/* Tabla de pagos */
.pagos-section { margin-top:24px; }
.pago-row { display:grid; grid-template-columns:36px 1fr 130px 120px; gap:8px; padding:8px 6px; font-size:12px; border-bottom:1px solid #f0f0f0; align-items:center; font-family:'Montserrat',sans-serif; }
.pago-row.header { font-weight:700; font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:#2D5A1B; color:white; }
.pago-row.ap { background:#e8f5e3; color:#1a4010; }
.pago-row.firma { background:#fff8e8; }
.pago-row.eng { background:white; }
.pago-row.credito-row { background:#f0f4ff; }
.pago-row.total-row { font-weight:700; background:#f0f7ee; border-top:2px solid #2D5A1B; }
.pago-row span:last-child { text-align:right; font-weight:600; }
.pago-row.total-row span:last-child { color:#2D5A1B; font-size:14px; }

/* Acciones */
.cot-actions { display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; align-items:center; padding-top:16px; border-top:1px solid #eee; }
.btn-guardar { background:#141414; color:white; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; padding:14px 24px; border:none; cursor:pointer; transition:background .2s; }
.btn-guardar:hover { background:#2D5A1B; }

/* Responsive cotizador */
@media (max-width:700px) {
  .cred-inputs { grid-template-columns:1fr; }
  .pago-row { grid-template-columns:28px 1fr 90px; font-size:11px; }
  .pago-row span:nth-child(3) { display:none; }
}

/* ── NAV SOCIAL ICONS ── */
.nav-social{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(249,246,240,.2);color:rgba(249,246,240,.65);transition:all .2s;border-radius:0}
.nav-social:hover{border-color:var(--au);color:var(--au)}
.nav-wa{background:rgba(37,211,102,.15);border-color:rgba(37,211,102,.4);color:#25D366}
.nav-wa:hover{background:#25D366;color:white!important;border-color:#25D366}

/* ── ABOUT PLUS ── */
.about-plus{display:flex;align-items:flex-start;gap:16px;margin-top:28px;padding:20px;border:1px solid var(--border);background:rgba(201,169,110,.06)}
.about-plus-icon{font-size:24px;color:var(--au);flex-shrink:0;margin-top:2px}
.about-plus-title{font-family:var(--fu);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--au);margin-bottom:6px}
.about-plus-desc{font-size:14px;color:rgba(249,246,240,.6);line-height:1.6}

/* ── MODELO FEATURED / TAGS ── */
.mc-featured{border:2px solid var(--au)}
.mc-featured .mi{height:320px}
.mtag-star{background:linear-gradient(135deg,#c9a000,var(--au));color:var(--dk);font-size:10px}
.mtag-cochera{background:#1a3510;color:rgba(255,255,255,.9);font-size:9px}

/* ── MODELS GRID: 2 top + 3 bottom, centered ── */
.mg-2-3 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
}
/* First 2 cards span 3 columns each → 2 per row, centered */
.mg-2-3 .mc:nth-child(1) { grid-column: span 3; }
.mg-2-3 .mc:nth-child(2) { grid-column: span 3; }
/* Last 3 cards span 2 columns each → 3 per row */
.mg-2-3 .mc:nth-child(3) { grid-column: span 2; }
.mg-2-3 .mc:nth-child(4) { grid-column: span 2; }
.mg-2-3 .mc:nth-child(5) { grid-column: span 2; }

/* Featured card taller image */
.mg-2-3 .mc:nth-child(1) .mi,
.mg-2-3 .mc:nth-child(2) .mi { height: 340px; }
.mg-2-3 .mc:nth-child(3) .mi,
.mg-2-3 .mc:nth-child(4) .mi,
.mg-2-3 .mc:nth-child(5) .mi { height: 260px; }

@media (max-width: 900px) {
  .mg-2-3 { grid-template-columns: 1fr; }
  .mg-2-3 .mc { grid-column: span 1 !important; }
  .mg-2-3 .mc .mi { height: 260px !important; }
}

/* ── HERO: big subtitle when no h1 ── */
.hero-subtitle-big{
  font-family:var(--fd);font-size:clamp(40px,6vw,90px);font-weight:300;
  line-height:.95;letter-spacing:-.02em;color:var(--cr);margin-bottom:36px
}
.hero-subtitle-big em{font-style:italic;color:var(--au)}

/* ── ABOUT SLIDER ── */
.about-slider{position:relative;overflow:hidden}
.about-slide{display:none}
.about-slide.active{display:block}
.about-slide img{width:100%;height:460px;object-fit:cover;transition:opacity .5s}
.about-slider-dots{display:flex;gap:6px;justify-content:center;margin-top:8px}
.about-sdot{width:8px;height:8px;border-radius:50%;background:rgba(201,169,110,.3);border:none;cursor:pointer;padding:0;transition:background .2s}
.about-sdot.active{background:var(--au)}

/* ── COTIZADOR COPY ── */
.cot-copy{font-size:13px;color:#666;margin:8px 0 16px;line-height:1.6;max-width:620px}
.cot-copy small{font-size:11px;color:#aaa;display:block;margin-top:4px}

/* ── LOT BTN: new statuses ── */
.lot-btn.muestra{border-color:#2563EB;background:#2563EB;color:rgba(255,255,255,.85);cursor:not-allowed}
.lot-btn.entregada{border-color:#c0392b;background:#E03B2E;color:rgba(255,255,255,.85);cursor:not-allowed;position:relative}
.lot-btn.en-obra{border-color:#FF8C00;background:#FF8C00;color:white;cursor:pointer}
.lot-btn.en-obra:hover{background:#e07000}
.lot-btn.lote-especial{border-color:#8B5CF6;background:#8B5CF6;color:white;cursor:pointer}
.lot-btn.lote-especial:hover{background:#7C3AED}
.lot-badge-obra,.lot-badge-esp{display:block;font-size:7px;letter-spacing:.05em;margin-top:2px;font-weight:700}

/* ── MANZANA BUTTONS with counter ── */
.mz-btn-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}
.mz-disp{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:600;color:#888;letter-spacing:.05em}
.mz-disp.agotada{color:#E03B2E}
.mz-disp.ultima{color:#FF8C00}
.mz-disp.ok{color:#2D5A1B}
.mz-btn.sel .mz-disp{color:rgba(255,255,255,.8)}

/* ── DISCLAIMER ── */
.cot-disclaimer{margin-top:20px;padding:12px 16px;background:#FFF8E1;border:1px solid #FFD54F;font-family:'Montserrat',sans-serif;font-size:10px;color:#666;line-height:1.6;border-radius:0}

/* ── LOT BTN sizes for badges ── */
.lot-btn{min-height:56px;height:auto;padding:4px 6px;flex-direction:column}

/* ── CALL BUTTON ── */
.nav-call{background:rgba(37,211,102,.15);border-color:rgba(37,211,102,.4);color:#25D366}
.nav-call:hover{background:#25D366;color:white!important;border-color:#25D366}
.nav-call-green{background:rgba(37,211,102,.15);border-color:rgba(37,211,102,.4);color:#25D366}
.nav-call-green:hover{background:#25D366;color:white!important;border-color:#25D366}
.baw-call{background:rgba(201,169,110,.15);color:var(--au);border:1px solid rgba(201,169,110,.4)}
.baw-call:hover{background:var(--au);color:var(--dk)}

/* ── REVIEWS SECTION ── */
.reviews-section{background:#111;padding:88px 40px}
.reviews-inner{max-width:1160px;margin:0 auto}
.reviews-header{margin-bottom:48px}
.reviews-header .se{color:var(--au)}.reviews-header .se::before{background:var(--au)}
.reviews-header .st{color:var(--cr)}

.reviews-login-box{background:#1a1a1a;border:1px solid var(--border);padding:36px;text-align:center;max-width:480px;margin:0 auto 48px}
.reviews-login-box p{font-size:15px;color:rgba(249,246,240,.65);margin-bottom:20px;line-height:1.6}
.btn-google{background:white;color:#333;font-family:var(--fu);font-size:13px;font-weight:600;padding:12px 28px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:box-shadow .2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.btn-google:hover{box-shadow:0 4px 16px rgba(0,0,0,.3)}
.btn-google svg{flex-shrink:0}

.review-form-box{background:#1a1a1a;border:1px solid var(--border);padding:28px;max-width:640px;margin:0 auto 48px}
.review-user-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.review-user-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}
.review-user-name{font-family:var(--fu);font-size:13px;color:var(--cr);font-weight:600}
.review-user-sub{font-size:11px;color:rgba(249,246,240,.4);margin-top:2px}
.stars-input{display:flex;gap:6px;margin-bottom:16px;flex-direction:row-reverse;justify-content:flex-end}
.stars-input input{display:none}
.stars-input label{font-size:28px;color:#555;cursor:pointer;transition:color .15s}
.stars-input input:checked ~ label,.stars-input label:hover,.stars-input label:hover ~ label{color:#C9A96E}
.review-textarea{width:100%;background:#111;border:1px solid var(--border);color:var(--cr);padding:12px;font-family:var(--fb);font-size:14px;resize:vertical;min-height:90px;outline:none;transition:border-color .2s}
.review-textarea:focus{border-color:var(--au)}
.review-form-actions{display:flex;gap:10px;margin-top:14px;align-items:center}
.btn-submit-review{background:var(--au);color:var(--dk);font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:12px 28px;border:none;cursor:pointer;transition:background .2s}
.btn-submit-review:hover{background:var(--aul)}
.btn-submit-review:disabled{opacity:.5;cursor:not-allowed}
.btn-logout{background:transparent;color:rgba(249,246,240,.4);font-family:var(--fu);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;border:1px solid rgba(249,246,240,.1);cursor:pointer;transition:all .2s}
.btn-logout:hover{border-color:rgba(249,246,240,.3);color:rgba(249,246,240,.7)}
.review-status{font-size:12px;color:var(--au);margin-left:8px}

.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.review-card{background:#1a1a1a;border:1px solid var(--border);padding:22px;transition:border-color .2s}
.review-card:hover{border-color:rgba(201,169,110,.4)}
.review-card-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.review-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.review-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--g);display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:16px;font-weight:700;color:white;flex-shrink:0}
.review-meta{flex:1}
.review-name{font-family:var(--fu);font-size:13px;font-weight:600;color:var(--cr)}
.review-date{font-size:11px;color:rgba(249,246,240,.35);margin-top:2px}
.review-stars{display:flex;gap:3px;margin-bottom:10px}
.review-star{font-size:16px;color:#555}
.review-star.filled{color:#C9A96E}
.review-text{font-size:14px;color:rgba(249,246,240,.7);line-height:1.65}
.reviews-empty{text-align:center;padding:40px;color:rgba(249,246,240,.35);font-size:15px}
.reviews-loading{text-align:center;padding:32px;color:rgba(249,246,240,.35);font-family:var(--fu);font-size:12px;letter-spacing:.15em;text-transform:uppercase}

@media(max-width:900px){
  .reviews-section{padding:64px 18px}
  .reviews-grid{grid-template-columns:1fr}
  .review-form-box,.reviews-login-box{padding:20px}
}

/* ── TABLER ICONS sizing ── */
.acab-ic-t{
  font-size:32px;
  color:var(--au);
  display:block;
  margin-bottom:13px;
  line-height:1;
}
.ai i.ti{
  font-size:20px;
  color:var(--au);
  line-height:1;
}

/* ── ENGANCHE HIGHLIGHT ROW ── */
.cred-res-row.eng-highlight {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  margin-top: 4px;
  border-top: 1px solid rgba(201,169,110,.2);
}
.eng-label {
  font-weight: 700;
  font-size: 14px;
  color: var(--dk);
}
.eng-value {
  font-size: 16px;
  font-weight: 700;
  color: #2D5A1B;
  line-height: 1;
}
.cred-res-row.eng-note {
  font-size: 11px;
  color: #888;
  padding: 2px 0 8px;
  border-bottom: 1px solid rgba(45,90,27,.12);
  display: block;
}

/* ── COTIZADOR NUEVO RESUMEN — tipografía unificada Montserrat ── */
.cot-resumen-nuevo {
  margin: 20px 0;
  border-left: 3px solid #2D5A1B;
  background: #f9f6f0;
}
.crn-bloque {
  padding: 14px 20px;
  border-bottom: 1px solid #e8e4dc;
}
.crn-bloque:last-child { border-bottom: none; }

.crn-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 4px;
}
.crn-sublabel {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #2D5A1B;
  margin-bottom: 10px;
}
.crn-sublabel-light {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 400;
  color: #888;
  margin-bottom: 4px;
}
.crn-valor {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #141414;
  line-height: 1.1;
}
.crn-label-green {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #2D5A1B;
  margin-bottom: 4px;
}
.crn-valor-green {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #2D5A1B;
  line-height: 1.1;
  margin-bottom: 4px;
}
.crn-nota {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 400;
  color: #aaa;
  margin-top: 2px;
}
.crn-row {
  display: flex;
  justify-content: space-between;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  color: #666;
  padding: 3px 0;
  border-bottom: 1px solid #ede9e0;
}
.crn-subtotal {
  font-weight: 700;
  color: #141414;
  border-bottom: none;
  padding-top: 6px;
  margin-top: 2px;
  border-top: 1px solid #d0ccc4;
}
.crn-gastos { background: white; }
.crn-inversion { background: #f0f7ee; }
.crn-mensualidad { background: #f0f7ee; }

/* ── CRN FILA: label izquierda, valor derecha ── */
.crn-fila {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.crn-fila-wrap {
  align-items: flex-start;
}
.crn-fila .crn-valor,
.crn-fila .crn-valor-green {
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── FLOATING CALL BUTTON ── */
.fab-call {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 52px;
  height: 52px;
  background: var(--dk);
  border: 1px solid rgba(201,169,110,.35);
  color: var(--au);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  transition: all .25s;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
}
.fab-call:hover {
  background: var(--au);
  color: var(--dk);
  border-color: var(--au);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(201,169,110,.3);
}

/* ── GAL YT iframe ── */
.gal-yt {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: none;
}
