.experience-section{padding:76px 0 86px;background:#eef1ea}
.focus-strip{background:#f4ead3;border-bottom:1px solid #dcc69b;color:var(--forest);padding:18px 0}
.focus-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}
.focus-strip-inner>div{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:12px}
.focus-strip-inner span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#87704b}
.focus-strip-inner strong{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:500}
.focus-strip-inner p{grid-column:1/-1;margin:2px 0 0;color:#66756d;font-size:12px}
.focus-strip button{border:1px solid var(--forest);background:transparent;color:var(--forest);padding:9px 13px;border-radius:2px;font-weight:700;font-size:11px;white-space:nowrap}
.focus-strip button:hover{background:var(--forest);color:#fff}
body[data-focus] .hero,body[data-focus] .intro,body[data-focus] .guide-section,body[data-focus] .map-section{display:none}
body[data-focus] .site-header nav,body[data-focus] .header-action{display:none}
body[data-focus] .header-inner{justify-content:space-between}
body[data-focus] .experience-scenes button{display:none}
body[data-focus="casas"] .experience-scenes [data-scene="casas"],body[data-focus="apartamentos"] .experience-scenes [data-scene="torres"],body[data-focus="comercio"] .experience-scenes [data-scene="comercio"],body[data-focus="comercio"] .experience-scenes [data-scene="foodcourt"]{display:grid}
body[data-focus] .experience-scenes{grid-template-rows:none;align-content:start}
body[data-focus="casas"] .catalog-tabs [data-kind="all"],body[data-focus="casas"] .catalog-tabs [data-kind="apartamento"],body[data-focus="apartamentos"] .catalog-tabs [data-kind="all"],body[data-focus="apartamentos"] .catalog-tabs [data-kind="casa"]{display:none}
body[data-focus="comercio"] .catalog-section,body[data-focus="comercio"] .consult-section,body[data-focus="comercio"] #experience-action{display:none}
.experience-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:28px}
.experience-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,3.4vw,47px);font-weight:500;line-height:1.16;margin:9px 0 0;max-width:520px}
.experience-heading>p{max-width:400px;color:var(--muted);font-size:13px;margin:0 0 5px}
.experience-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;min-height:520px}
.experience-stage{position:relative;overflow:hidden;min-height:520px;background:#53695b}
.experience-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:opacity .25s ease}
.experience-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,29,22,.88),rgba(6,29,22,.15) 53%,rgba(6,29,22,.03));pointer-events:none}
.experience-overlay{position:absolute;left:36px;bottom:38px;z-index:1;max-width:490px;color:#fff}
.experience-overlay>span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f7dca5;font-weight:700}
.experience-overlay h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(29px,3vw,43px);line-height:1.13;margin:10px 0}
.experience-overlay p{font-size:14px;line-height:1.5;color:#e5eee9;margin:0 0 19px}
.experience-overlay button{border:1px solid #fff;background:#fff;color:var(--forest);font-weight:700;font-size:12px;padding:11px 16px;border-radius:2px}
.experience-overlay button:hover{background:var(--forest);color:#fff}
.experience-disclaimer{position:absolute;right:14px;top:14px;z-index:1;background:rgba(7,30,23,.72);color:#fff;font-size:9px;line-height:1.35;padding:7px 9px;max-width:390px;text-align:right}
.experience-scenes{display:grid;grid-template-rows:repeat(7,1fr);gap:5px}
.experience-scenes button{border:1px solid #d4ddd1;background:#fff;color:var(--forest);text-align:left;padding:10px 13px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:9px;align-content:center;min-height:63px;transition:background .15s,color .15s}
.experience-scenes button>span{font-size:10px;color:#9aaa99;grid-row:1/3;padding-top:2px}
.experience-scenes strong{font-size:12px;line-height:1.3}
.experience-scenes small{font-size:10px;color:var(--muted)}
.experience-scenes button.selected,.experience-scenes button:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.experience-scenes button.selected small,.experience-scenes button:hover small{color:#cedcd1}
.guide-section{background:#183b30;color:#fff;padding:48px 0}
.guide-layout{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:center;gap:60px}
.guide-layout h2{font-family:'Playfair Display',Georgia,serif;font-size:38px;line-height:1.16;font-weight:500;margin:8px 0 13px}
.guide-layout>div>p:last-child{font-size:12px;color:#d3dfd6;margin:0;max-width:315px}
.guide-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.guide-form label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#e6eee7}
.guide-form select{height:46px;width:100%;border:1px solid #aec2b2;background:#fff;color:var(--forest);padding:0 10px;border-radius:2px;font-size:12px}
.guide-form button{grid-column:1/-1;justify-self:start;background:#eacb8a;border:0;color:var(--forest);padding:11px 18px;font-size:12px;font-weight:700;border-radius:2px}
.guide-form button:hover{background:#fff}
.guide-form #guide-preview{grid-column:1/-1;color:#d8e4db;font-size:11px;margin:-2px 0 0}
.guided-summary{background:#f3f6ef;border:1px solid #d9e4d6;padding:12px 15px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--forest);font-size:12px;font-weight:700}
.guided-summary button{border:0;background:transparent;color:var(--forest);font-size:11px;font-weight:700;text-decoration:underline}
.availability-board{margin-top:25px;border:1px solid #d9e3d8;background:#f7f8f4;padding:24px}
.availability-heading{display:flex;justify-content:space-between;gap:35px;align-items:end}
.availability-heading h3{font-family:'Playfair Display',Georgia,serif;font-size:31px;font-weight:500;margin:7px 0 0;color:var(--forest)}
.availability-heading>p{max-width:480px;margin:0;color:var(--muted);font-size:11px}
.availability-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 14px}
.availability-summary>div{background:#fff;border:1px solid #e0e6df;padding:10px 12px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px}
.availability-summary i,.status-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.availability-summary i.available,.status-legend i.available{background:#3d8d61}.availability-summary i.reserved,.status-legend i.reserved{background:#b4544b}.availability-summary i.waitlist,.status-legend i.waitlist{background:#d49b39}.availability-summary i.unknown,.status-legend i.unknown{background:#9aa59d}
.availability-summary strong{font-size:18px;color:var(--forest)}.availability-summary span{font-size:10px;color:var(--muted)}
.availability-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:13px}
.status-filters{display:flex;gap:5px;flex-wrap:wrap}.status-filters button{border:1px solid #cdd9ce;background:#fff;color:var(--forest);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:700}.status-filters button.selected,.status-filters button:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.status-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:9px}.status-legend span{display:flex;align-items:center;gap:4px}
.unit-selector{max-height:none;overflow:visible;display:block;padding:3px}
.unit-selector-item{border:1px solid #ccd7ce;background:#fff;color:var(--forest);padding:8px 6px;text-align:left;border-radius:3px;display:grid;gap:1px;min-height:53px}.unit-selector-item:hover,.unit-selector-item:focus-visible{transform:translateY(-1px);box-shadow:0 4px 12px rgba(18,55,44,.12)}.unit-selector-item span{font-size:11px;font-weight:800}.unit-selector-item small{font-size:8px;color:var(--muted)}.unit-selector-item.available{border-left:4px solid #3d8d61}.unit-selector-item.reserved{border-left:4px solid #b4544b}.unit-selector-item.waitlist{border-left:4px solid #d49b39}.unit-selector-item.unknown{border-left:4px solid #9aa59d}.selector-empty{grid-column:1/-1;background:#fff;padding:25px;text-align:center;color:var(--muted);font-size:12px}
.site-plan-shell{background:#e7ede5;border:1px solid #cbd8cc;padding:12px;min-width:760px}.site-plan-map{position:relative;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(18,55,44,.09)}.site-plan-map>img{display:block;width:100%;height:auto}.house-map-marker{position:absolute;left:var(--x);top:var(--y);width:25px;height:25px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:#9aa59d;color:#fff;box-shadow:0 2px 7px rgba(10,36,27,.38);font-size:7px;font-weight:900;display:grid;place-items:center;z-index:2;transition:transform .15s,opacity .15s,box-shadow .15s}.house-map-marker:hover,.house-map-marker:focus-visible{transform:translate(-50%,-50%) scale(1.42);z-index:4;box-shadow:0 5px 16px rgba(10,36,27,.45)}.house-map-marker.available{background:#3d8d61}.house-map-marker.reserved{background:#b4544b}.house-map-marker.waitlist{background:#d49b39}.house-map-marker.filtered-out{opacity:.13;pointer-events:none}.site-plan-key{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;gap:7px;flex-wrap:wrap;background:rgba(255,255,255,.93);padding:7px 9px;box-shadow:0 2px 10px rgba(13,45,34,.12)}.site-plan-key span{display:flex;align-items:center;gap:4px;color:var(--forest);font-size:8px;font-weight:800}.site-plan-key i{width:8px;height:8px;border-radius:50%;background:#d7a353}.site-plan-key .sector-B{background:#c88d43}.site-plan-key .sector-C{background:#a87337}.site-plan-key .sector-D{background:#895e30}.site-plan-disclaimer{position:absolute;right:12px;bottom:12px;max-width:390px;background:rgba(15,48,37,.89);color:#fff;padding:7px 9px;font-size:8px;line-height:1.35;z-index:3}
.tower-map{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tower-elevation{border:1px solid #cad7cc;background:#dce5dd;padding:12px}.tower-elevation>header{background:var(--forest);color:#fff;padding:13px 15px;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px}.tower-elevation>header span{font-size:9px;text-transform:uppercase;letter-spacing:.16em}.tower-elevation>header strong{font-family:'Playfair Display',Georgia,serif;font-size:27px}.tower-elevation>header small{text-align:right;color:#d1ded4;font-size:9px}.tower-visual{height:275px;position:relative;overflow:hidden;background:#263c35}.tower-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.tower-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,30,23,.88),rgba(9,30,23,.04) 62%)}.tower-visual>div{position:absolute;left:18px;right:18px;bottom:15px;z-index:1;color:#fff;display:grid;gap:3px}.tower-visual>div>span{font-size:8px;letter-spacing:.18em;font-weight:800}.tower-visual>div>strong{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:500}.tower-visual>div>small{font-size:7px;line-height:1.3;color:#dfe9e2}.tower-selector-label{display:flex;justify-content:space-between;align-items:end;gap:12px;background:#f8faf6;padding:10px 11px 8px;border:1px solid #cbd6cd;border-top:0}.tower-selector-label span{font-size:10px;font-weight:800;color:var(--forest)}.tower-selector-label small{font-size:8px;color:var(--muted);text-align:right}.tower-floors{display:grid;gap:4px;margin-top:6px}.tower-floor{display:grid;grid-template-columns:32px 1fr;gap:5px;align-items:stretch}.tower-floor>strong{background:#f4f6f1;color:var(--forest);font-size:9px;display:grid;place-items:center;border:1px solid #cbd6cd}.tower-floor>div{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px}.unit-selector-item.compact{min-height:42px;padding:4px 2px;text-align:center;border-left-width:3px}.unit-selector-item.compact span{font-size:8px}.unit-selector-item.compact small{display:none}
.apartment-path{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 14px;background:#e5ebe4;border:1px solid #ced9cf}.apartment-path span{position:relative;padding:11px 14px;color:#7d8b81;font-size:10px;text-transform:uppercase;letter-spacing:.09em;text-align:center}.apartment-path span:not(:last-child):after{content:"→";position:absolute;right:-5px;color:#9dac9f}.apartment-path span.done{background:var(--forest);color:#fff}.apartment-path b{font-weight:800;margin-left:4px}.building-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px}.building-card{position:relative;min-height:455px;border:0;padding:0;overflow:hidden;background:#173b30;color:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.building-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,29,22,.94),rgba(7,29,22,.08) 70%)}.building-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .35s}.building-card:hover img{transform:scale(1.035)}.building-card>span,.building-card>strong,.building-card>small,.building-card>i{position:relative;z-index:1;margin-left:25px;margin-right:25px}.building-card>span{font-size:10px;letter-spacing:.2em;color:#e5c987;font-weight:800}.building-card>strong{font-family:'Playfair Display',Georgia,serif;font-size:31px;font-weight:500;margin-top:5px}.building-card>small{font-size:11px;color:#dbe6dd;margin-top:3px}.building-card>i{font-style:normal;font-size:11px;font-weight:800;margin-top:15px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.7)}.selector-legal{font-size:8px;color:var(--muted);margin:8px 0 0}.selected-building{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);min-height:530px;background:#fff;border:1px solid #cbd7cd}.selected-building-image{position:relative;overflow:hidden;min-height:530px}.selected-building-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,31,24,.75),transparent 55%)}.selected-building-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.selected-building-image span{position:absolute;left:24px;bottom:20px;z-index:1;color:#fff;font-size:12px;letter-spacing:.18em;font-weight:800}.floor-choice{padding:30px}.selection-back{border:0;background:transparent;color:var(--forest);font-size:10px;font-weight:800;padding:0 0 21px}.floor-choice h4,.apartment-choice h4{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:30px;font-weight:500;line-height:1.15;margin:7px 0}.floor-choice>p:not(.eyebrow),.apartment-choice header p:not(.eyebrow){color:var(--muted);font-size:11px;margin:0 0 19px}.floor-choice>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.floor-choice>div button{border:1px solid #d1dbd2;background:#f7f8f4;color:var(--forest);padding:10px 12px;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px}.floor-choice>div button:hover{background:var(--forest);color:#fff}.floor-choice>div strong{font-family:'Playfair Display',Georgia,serif;font-size:26px;grid-row:1/3}.floor-choice>div span{font-size:11px;font-weight:800}.floor-choice>div small{font-size:8px;color:var(--muted)}.floor-choice>div button:hover small{color:#d8e3da}.apartment-choice{background:#fff;border:1px solid #cad6cc;padding:23px}.apartment-choice>header{display:flex;justify-content:space-between;align-items:end;gap:25px;border-bottom:1px solid #d8e1d9;padding-bottom:16px;margin-bottom:14px}.apartment-choice>header>strong{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:33px;white-space:nowrap}.apartment-choice>header>strong small{font-family:'DM Sans',Arial,sans-serif;color:var(--muted);font-size:10px;font-weight:700}.apartment-choice>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.apartment-option{border:1px solid #d3ddd4;border-left:4px solid #9aa59d;background:#f9faf7;color:var(--forest);padding:12px;text-align:left;display:grid;gap:5px}.apartment-option.available{border-left-color:#3d8d61}.apartment-option.reserved{border-left-color:#b4544b}.apartment-option.waitlist{border-left-color:#d49b39}.apartment-option:hover{box-shadow:0 5px 15px rgba(13,43,32,.12);transform:translateY(-1px)}.apartment-option>span{display:flex;justify-content:space-between;gap:5px;color:var(--muted);font-size:8px}.apartment-option>span b{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:21px}.apartment-option>small{font-size:9px;color:var(--muted)}.apartment-option>strong{font-size:13px}.apartment-option>i{font-style:normal;font-size:9px;font-weight:800;margin-top:4px}
.building-card-illustrated{background:linear-gradient(145deg,#edf2ec,#cbd8ce);color:var(--forest);align-items:center;justify-content:flex-start;padding-top:20px}.building-card-illustrated:after{display:none}.building-card-illustrated>span,.building-card-illustrated>strong,.building-card-illustrated>small,.building-card-illustrated>i{align-self:flex-start}.building-card-illustrated>span{color:#8c692f}.building-card-illustrated>small{color:#63756a}.building-card-illustrated>i{color:var(--forest);border-color:var(--forest);margin-bottom:20px}.tower-illustration{width:62%;min-width:210px;margin:0 auto 14px;color:var(--forest);filter:drop-shadow(0 12px 12px rgba(22,56,44,.18))}.tower-illustration>.tower-crown{height:36px;background:#f8f8f5;border:1px solid #aebeb1;border-bottom:4px solid #3d4c46;display:grid;place-items:center}.tower-crown>span{font-family:'Playfair Display',Georgia,serif;font-size:13px;letter-spacing:.18em}.tower-preview-floors{border-inline:6px solid #eef1ed;background:#fff}.tower-preview-floors>span{height:23px;border-bottom:2px solid #68766e;display:grid;grid-template-columns:repeat(4,1fr) 18px;gap:5px;align-items:center;padding:3px 7px;background:linear-gradient(90deg,#fff,#ebeeea)}.tower-preview-floors i,.tower-windows i{height:100%;background:#334943;border:2px solid #b8c3ba;display:block}.tower-preview-floors b{font-size:7px;text-align:center;color:#6d7c72}.tower-illustration>.tower-base{height:36px;background:#e7ebe6;border:1px solid #aebeb1;display:flex;justify-content:center;gap:10px;padding:7px}.tower-base>i{width:36px;background:#263f37;border:2px solid #89998d}.tower-illustration>strong{display:block!important;text-align:center!important;font-family:'DM Sans',Arial,sans-serif!important;font-size:9px!important;letter-spacing:.18em!important;margin:7px 0 0!important}.tower-picker-stage{background:linear-gradient(160deg,#dbe4dc,#aebdb2);padding:23px 26px;display:flex;align-items:end;justify-content:center}.tower-floor-picker{width:min(390px,100%);filter:drop-shadow(0 15px 18px rgba(18,50,39,.25))}.tower-floor-picker>.tower-crown{height:53px;background:#fafbf8;border:1px solid #aebeb1;border-bottom:5px solid #344840;padding:6px 15px;display:flex;justify-content:space-between;align-items:center}.tower-floor-picker>.tower-crown small{font-size:9px;letter-spacing:.15em;text-transform:uppercase}.tower-floor-picker>button{width:100%;height:42px;border:0;border-bottom:2px solid #697970;background:linear-gradient(90deg,#f9faf7,#e4e9e4);color:var(--forest);padding:5px 9px;display:grid;grid-template-columns:55px 1fr 82px;align-items:center;gap:7px;text-align:left;transition:background .15s,transform .15s}.tower-floor-picker>button:hover,.tower-floor-picker>button:focus-visible{position:relative;z-index:2;background:#d8b978;transform:scale(1.035);box-shadow:0 3px 12px rgba(20,46,37,.28)}.tower-floor-picker>button>b{font-size:9px}.tower-floor-picker>button>small{text-align:right;font-size:7px;color:#617269}.tower-windows{height:25px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.tower-floor-picker>.tower-base{height:48px;background:#e9ece7;border:1px solid #aebeb1;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}.tower-floor-picker>.tower-base span{margin-left:auto;font-size:7px;letter-spacing:.15em;color:#63736a}.floor-choice-guide{display:flex;flex-direction:column;justify-content:center}.floor-choice-guide>.tower-guide{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0 22px}.floor-choice-guide>.tower-guide span{display:flex;align-items:center;gap:10px;color:var(--forest);font-size:11px;font-weight:700}.tower-guide i{width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;font-style:normal;display:grid;place-items:center;font-size:10px}.floor-choice-guide>small{font-size:9px;color:var(--muted)}
.map-category-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-category-choice button{border:1px solid #ccd8cd;background:#fff;color:var(--forest);padding:25px;text-align:left;display:grid;gap:4px}.map-category-choice button:hover{background:var(--forest);color:#fff}.map-category-choice strong{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:500}.map-category-choice span{font-size:11px;color:var(--muted)}.map-category-choice button:hover span{color:#d8e3da}
body[data-focus="casas"] .unit-grid,body[data-focus="apartamentos"] .unit-grid,body[data-focus="casas"] .load-more-wrap,body[data-focus="apartamentos"] .load-more-wrap{display:none}
.status-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;margin:0 0 10px}.status-badge i{width:7px;height:7px;border-radius:50%}.status-badge.available{background:#e5f4ea;color:#236c44}.status-badge.available i{background:#3d8d61}.status-badge.reserved{background:#f9e8e5;color:#963f38}.status-badge.reserved i{background:#b4544b}.status-badge.waitlist{background:#fbf0d9;color:#8b621c}.status-badge.waitlist i{background:#d49b39}.status-badge.unknown{background:#eaeeeb;color:#68746c}.status-badge.unknown i{background:#9aa59d}
.detail-availability{border:1px solid #d8e2d8;background:#f6f8f3;padding:15px;margin:0 0 20px}.detail-availability>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px}.detail-availability>div:first-child>span{font-size:11px;font-weight:700;color:var(--forest)}.detail-availability .status-badge{margin:0}.detail-availability>p{font-size:11px;color:var(--muted);margin:9px 0}.availability-primary{border:0;background:var(--forest);color:#fff;padding:10px 13px;border-radius:2px;font-size:11px;font-weight:700}.availability-pending{background:#fff3dc;color:#7c5b20!important;padding:9px}.availability-admin{border-top:1px solid #d8e2d8;margin-top:13px;padding-top:10px}.availability-admin summary{cursor:pointer;color:#65776a;font-size:10px;font-weight:700}.availability-admin label{display:grid;gap:5px;margin-top:9px;color:var(--forest);font-size:10px;font-weight:700}.availability-admin select{height:38px;border:1px solid #c9d5cb;background:#fff;padding:0 9px}.availability-admin small{display:block;color:var(--muted);font-size:9px;margin-top:6px}
.interest-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;padding:13px;background:#fff;border:1px solid #d8e2d8}.interest-form p,.interest-form small{grid-column:1/-1;margin:0;font-size:10px;color:var(--muted)}.interest-form label{display:grid;gap:4px;font-size:9px;font-weight:700;color:var(--forest)}.interest-form input{height:38px;border:1px solid #cbd7cd;padding:0 8px}.interest-form button{grid-column:1/-1;border:0;background:#a37d3f;color:#fff;padding:9px;font-size:11px;font-weight:700}

/* Maqueta 3D interactiva: evita cargar el GLB urbano de 338 MB en el catálogo. */
.project-3d-overview{min-height:590px;background:linear-gradient(#dfe9e1,#afc0b1);position:relative;overflow:hidden;user-select:none;touch-action:pan-y}.project-3d-overview.dragging,.unit-selector.dragging{cursor:grabbing}.model3d-toolbar{position:absolute;z-index:20;left:16px;right:16px;top:15px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.94);padding:7px 9px;box-shadow:0 4px 18px rgba(20,50,39,.14);border-radius:3px}.model3d-toolbar button{border:1px solid #c5d2c7;background:#fff;color:var(--forest);height:32px;padding:0 10px;font-size:11px;font-weight:800}.model3d-toolbar button:last-child{margin-left:auto}.model3d-toolbar span{font-size:9px;color:#66766c}.site-viewport-3d{height:590px;display:grid;place-items:center;overflow:hidden;perspective:1100px;cursor:grab}.site-scene-3d{position:relative;width:92%;aspect-ratio:1.45;transform-style:preserve-3d;transform:rotateX(54deg) rotateZ(var(--site-rotation,-8deg)) translateY(3%);transition:transform .22s ease}.dragging .site-scene-3d{transition:none}.site-ground-3d{position:absolute;inset:0;border:7px solid #8b9b8d;border-radius:42% 16% 31% 18%;background:radial-gradient(circle at 73% 17%,#9cb88e 0 12%,transparent 13%),linear-gradient(128deg,#83a178,#b7c8aa 48%,#769469);box-shadow:0 36px 45px rgba(17,48,36,.3);transform-style:preserve-3d;overflow:visible}.site-ground-3d:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 20% 25%,rgba(255,255,255,.18),transparent 32%),repeating-linear-gradient(15deg,transparent 0 28px,rgba(45,80,58,.04) 29px 30px)}.site-road-3d{position:absolute;display:block;background:#68716e;border:4px solid #e1ded2;box-shadow:0 0 0 1px #657269}.road-main{left:25%;top:-3%;width:8%;height:102%;transform:rotate(12deg)}.road-center{left:26%;top:54%;width:67%;height:8%;transform:rotate(2deg)}.road-lower{left:40%;top:70%;width:48%;height:7%;transform:rotate(12deg)}.commercial-3d{position:absolute;left:34%;top:42%;width:28%;height:22%;transform-style:preserve-3d;background:#d9ded9;border:5px solid #53665d;box-shadow:0 15px 0 #75847b}.commercial-3d span{position:absolute;background:#f3f3ed;border:2px solid #738078;box-shadow:0 8px 0 #8c9890}.commercial-3d span:nth-child(1){left:4%;top:7%;width:91%;height:27%}.commercial-3d span:nth-child(2){left:5%;top:34%;width:24%;height:57%}.commercial-3d span:nth-child(3){right:5%;top:34%;width:24%;height:57%}.commercial-3d b{position:absolute;left:33%;top:52%;font-size:9px;color:#34493f}.site-tower-3d{position:absolute;width:8%;height:15%;border:0;background:#eef1ed;box-shadow:8px 13px 0 #68756e,-2px -2px 0 #fff;color:var(--forest);transform:translateZ(30px);z-index:5}.site-tower-3d:before{content:"";position:absolute;left:12%;right:12%;top:8%;bottom:8%;background:repeating-linear-gradient(0deg,#344a42 0 4px,#d8ded9 5px 10px)}.site-tower-3d i{position:absolute;inset:-7px 5px auto -5px;height:9px;background:#fff;transform:skewX(-36deg)}.site-tower-3d b{position:absolute;right:3px;bottom:2px;background:#fff;padding:1px 3px;font-size:8px}.site-tower-3d:hover,.site-tower-3d:focus-visible{outline:5px solid #d6b36c;transform:translateZ(43px) scale(1.08)}.tower-one{left:59%;top:51%}.tower-two{left:50%;top:69%}.site-house-3d{position:absolute;left:var(--x);top:var(--y);width:3.1%;height:4.3%;min-width:0;border:0;background:#f4f1e7;box-shadow:5px 6px 0 #8b7c66;color:#173b30;transform:translate(-50%,-50%) rotate(var(--angle)) translateZ(12px);z-index:6;padding:0}.site-house-3d:before{content:"";position:absolute;left:-8%;right:-8%;top:-34%;height:47%;background:#ae6948;clip-path:polygon(50% 0,100% 75%,93% 100%,7% 100%,0 75%)}.site-house-3d span{position:absolute;inset:0;display:grid;place-items:center;font-size:5px;font-weight:900;transform:rotate(calc(-1 * var(--angle)))}.site-house-3d:hover,.site-house-3d:focus-visible{outline:4px solid #e5c273;transform:translate(-50%,-50%) rotate(var(--angle)) translateZ(27px) scale(1.35);z-index:12}.site-house-3d.available{background:#e7f3e8}.site-house-3d.reserved{background:#edd2cd}.site-house-3d.waitlist{background:#f1dfb8}.site-north{position:absolute;right:4%;top:4%;font-weight:900;color:#253f34;font-size:10px}.model3d-legend{position:absolute;z-index:18;right:15px;bottom:13px;display:flex;gap:12px;background:rgba(18,48,37,.92);color:#fff;padding:8px 10px;font-size:8px}.model3d-legend span{display:flex;align-items:center;gap:5px}.model3d-legend i{width:9px;height:9px;display:inline-block;background:#f3eee2}.model3d-legend .legend-tower{background:#dfe5df}.site-plan-shell-3d{position:relative;min-width:800px;padding:0;background:#afc0b1;overflow:hidden}.site-plan-shell-3d .site-viewport-3d{height:660px}.site-plan-shell-3d .model3d-legend{bottom:12px}.selector-model-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;background:#fff;border:1px solid #cad6cc;border-bottom:0;padding:20px 23px}.selector-model-heading h4{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:27px;font-weight:500;margin:5px 0}.selector-model-heading p:not(.eyebrow){color:var(--muted);font-size:10px;margin:0}.selector-model-heading>button{border:1px solid #bfcfc2;background:#fff;color:var(--forest);padding:9px 12px;font-size:10px;font-weight:800}

/* Torre exterior tridimensional y selección directa de sus diez niveles. */
.tower-model3d{--tower-angle:-14deg;position:relative;width:300px;height:500px;transform-style:preserve-3d;transform:rotateX(-3deg) rotateY(var(--tower-angle));filter:drop-shadow(24px 24px 19px rgba(20,48,38,.27));transition:transform .25s}.tower-model3d-preview{width:210px;height:330px;margin:8px auto 10px;transform:rotateX(-3deg) rotateY(-18deg)}.tower-front-3d{position:absolute;inset:34px 0 32px;background:#f3f3ef;border:1px solid #9aa89e;display:flex;flex-direction:column}.tower-front-3d>span,.tower-front-3d>button{height:10%;border:0;border-bottom:2px solid #65756c;background:linear-gradient(90deg,#fafaf7,#e3e7e2);display:grid;grid-template-columns:55px 1fr 70px;align-items:center;gap:7px;padding:4px 8px;color:var(--forest);text-align:left}.tower-model3d-preview .tower-front-3d>span{grid-template-columns:repeat(4,1fr) 15px;padding:3px 6px}.tower-front-3d>button:hover,.tower-front-3d>button:focus-visible{background:#d9b86f;transform:translateZ(9px);box-shadow:0 3px 9px rgba(20,45,36,.28);z-index:3}.tower-front-3d b{font-size:8px}.tower-front-3d small{font-size:6px;text-align:right}.tower-front-3d i{height:100%;background:#30463f;border:2px solid #b7c2ba}.tower-side-3d{position:absolute;top:34px;right:-58px;width:58px;height:434px;transform-origin:left;transform:rotateY(90deg);background:repeating-linear-gradient(0deg,#c9d0c9 0 40px,#65756c 41px 43px);border:1px solid #8e9c92}.tower-side-3d i{display:block;height:10%;border-bottom:2px solid #65756c;background:linear-gradient(90deg,#bcc6be,#e4e8e3)}.tower-roof-3d{position:absolute;left:0;right:0;top:0;height:35px;background:#fafaf7;border:1px solid #9aa89e;border-bottom:4px solid #34483f;display:flex;align-items:center;justify-content:space-between;padding:0 13px}.tower-roof-3d:after{content:"";position:absolute;left:0;top:-57px;width:100%;height:57px;background:#dde3dd;transform-origin:bottom;transform:rotateX(90deg);border:1px solid #97a59b}.tower-roof-3d span{font-family:'Playfair Display',Georgia,serif;font-size:12px;letter-spacing:.16em}.tower-roof-3d small{font-size:8px;text-transform:uppercase}.tower-base-3d{position:absolute;left:0;right:0;bottom:0;height:33px;background:#dfe4df;border:1px solid #95a399;display:grid;place-items:center}.tower-base-3d span{font-size:7px;letter-spacing:.14em}.tower-model3d-preview .tower-front-3d{inset:25px 0 23px}.tower-model3d-preview .tower-roof-3d{height:26px}.tower-model3d-preview .tower-side-3d{top:25px;right:-42px;width:42px;height:282px}.tower-model3d-preview .tower-base-3d{height:24px}.tower-orbit-shell{display:grid;justify-items:center;perspective:1000px;padding:30px 35px 18px}.tower-orbit-controls{display:flex;gap:7px;margin-top:14px}.tower-orbit-controls button{border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.88);color:var(--forest);padding:7px 10px;font-size:9px;font-weight:800}.tower-picker-stage{align-items:center;overflow:hidden;perspective:1100px}

.detail-back{border:0;background:transparent;color:var(--forest);font-size:11px;font-weight:800;padding:0 0 18px}.reservation-form .form-heading{grid-column:1/-1;border-bottom:1px solid #d7e0d8;padding-bottom:10px}.reservation-form .form-heading strong{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:20px}.reservation-form .form-heading p{margin-top:3px}.reservation-form select{height:38px;border:1px solid #cbd7cd;background:#fff;padding:0 8px}.reservation-form .field-wide{grid-column:1/-1}.reservation-form .form-consent{display:flex;grid-template-columns:18px 1fr;align-items:start;gap:7px;font-weight:500;line-height:1.45}.reservation-form .form-consent input{width:16px;height:16px;margin:1px 0}
.site-house-3d{transform:translate(-50%,-50%) rotate(var(--angle))}.site-house-3d:hover,.site-house-3d:focus-visible{transform:translate(-50%,-50%) rotate(var(--angle)) scale(1.35)}
.filter-panel{grid-template-columns:repeat(4,1fr) auto}
.detail-gallery{background:#eef0eb}
.detail-gallery .detail-image{object-fit:cover;object-position:center 45%}
.detail-gallery .detail-image[src*="apartment-viewer/assets/plans/"]{object-fit:contain;object-position:center;background:#fff;padding:12px}
.card-image.apartment.plan{background:#fff}
.card-image.apartment.plan img{object-fit:contain;object-position:center;padding:10px}
.image-disclaimer{position:absolute;left:0;right:0;bottom:0;z-index:2;background:rgba(8,30,23,.8);color:#fff;font-size:8px;line-height:1.3;padding:5px 8px}
.detail-image-disclaimer{margin:0;background:#173b30;color:#fff;font-size:9px;line-height:1.4;padding:7px 14px}
.hero-caption{max-width:520px;text-align:right;line-height:1.35}
.map-card .image-legal{font-size:9px;line-height:1.4;color:#66776d;margin:9px 4px 0}
.gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 15px;min-height:56px}
.gallery-bar>span{font-size:11px;color:var(--forest);font-weight:700}
.gallery-thumbs{display:flex;gap:5px;overflow-x:auto}
.gallery-thumbs button{padding:0;width:43px;height:35px;flex:none;border:2px solid transparent;background:#fff;overflow:hidden}
.gallery-thumbs button.selected,.gallery-thumbs button:hover{border-color:var(--forest)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.inline-3d{margin-top:20px;border:1px solid var(--line);background:#f4f6f2;padding:11px}
.inline-3d p{font-size:11px;color:var(--muted);margin:0 0 8px}
.inline-3d iframe{width:100%;height:520px;border:0;background:#fff}
#unit-dialog{width:min(1040px,calc(100% - 30px))}.detail-gallery .detail-image{height:430px}.detail-body{padding:35px 42px 42px}.detail-body h2{font-size:42px}.detail-facts{grid-template-columns:repeat(3,1fr)}.detail-prices{background:var(--forest);color:#fff;border:0;padding:17px 19px;margin-top:13px}.detail-prices span{color:#cddbd1}.detail-prices strong{color:#fff;font-size:27px}.detail-viewer{margin:28px 0 10px;border:1px solid #cfd9d0;background:#eef2ec}.detail-viewer>div:first-child{padding:20px 22px 14px}.detail-viewer h3,.purchase-section h3{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:28px;line-height:1.16;font-weight:500;margin:5px 0}.detail-viewer>div>p:last-child,.purchase-section>p{color:var(--muted);font-size:11px;margin:0}.detail-viewer>iframe{display:block;width:100%;height:590px;border:0;background:#d8d8d4}.detail-viewer-action{padding-bottom:20px}.detail-viewer-action>button{margin-left:22px;border:0;background:var(--forest);color:#fff;padding:11px 15px;font-size:11px;font-weight:800}.detail-viewer-action .inline-3d{margin:18px 20px 0}.purchase-section{margin-top:32px;padding:25px;background:#f5f7f2;border-top:4px solid var(--forest)}.purchase-section>.detail-availability{margin:18px 0 0;background:#fff}.final-note{margin-bottom:0}.detail-actions{padding-top:4px}.detail-actions button{background:#fff;color:var(--forest)}

/* Selector visual sobre la vista aerea realista */
.map-image-wrap img{aspect-ratio:16/9;object-fit:cover;background:#20382e}
.map-image-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,31,24,.05),rgba(10,31,24,.12))}
.map-pin.map-pin-wide{z-index:2;width:auto;height:auto;min-width:116px;border-radius:5px;padding:8px 12px;display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left;background:rgba(18,55,44,.94);backdrop-filter:blur(5px)}
.map-pin.map-pin-wide span{font-size:12px;letter-spacing:.01em}
.map-pin.map-pin-wide small{font-size:9px;font-weight:500;opacity:.78;margin-top:3px}
.map-pin.map-pin-wide:hover,.map-pin.map-pin-wide:focus-visible{background:#a37d3f}
.pin-houses{left:67%;top:40%}
.pin-t1{left:61%;top:53%}
.pin-t2{left:66%;top:67%}
.pin-commercial{left:37%;top:57%}
.selection-context{border:1px solid #d6e2d7;background:#f4f7f1;padding:18px 22px;margin:20px 0 0;display:flex;justify-content:space-between;align-items:center;gap:20px}
.selection-context>div:first-child{display:grid;gap:2px}
.context-step{font-size:9px;letter-spacing:.17em;font-weight:700;color:#798f79}
.selection-context strong{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:500;color:var(--forest)}
.selection-context small{font-size:11px;color:var(--muted)}
.level-shortcuts{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.level-shortcuts span{color:var(--muted);font-size:11px;margin-right:5px}
.level-shortcuts button{width:27px;height:27px;border:1px solid #b9cbbd;background:#fff;color:var(--forest);font-size:11px;border-radius:2px}
.level-shortcuts button:hover,.level-shortcuts button.selected{background:var(--forest);color:#fff}
.card-links{display:flex;justify-content:space-between;align-items:end;gap:10px}
.compare-toggle{border:0;background:transparent;color:#6b806f;font-size:11px;font-weight:700;padding:14px 0 0;white-space:nowrap}
.compare-toggle:hover,.compare-toggle.saved{color:#9b7030}
.compare-tray{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(700px,calc(100% - 28px));z-index:10;box-shadow:0 12px 45px rgba(7,37,24,.27);background:var(--forest);color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:4px}
.compare-tray>div:first-child{display:grid;gap:1px}
.compare-tray strong{font-size:13px}.compare-tray span{font-size:11px;color:#cddbd0}
.compare-actions{display:flex;gap:8px;white-space:nowrap}
.compare-actions button{border:1px solid #fff;color:#fff;background:transparent;border-radius:2px;padding:8px 11px;font-size:11px;font-weight:700}
.compare-actions button:last-child{color:var(--forest);background:#fff}
.compare-actions button:disabled{opacity:.45;cursor:not-allowed}
.compare-dialog{width:min(880px,calc(100% - 24px))}
.compare-body{padding:30px}
.compare-body h2{font-family:'Playfair Display',Georgia,serif;font-size:36px;font-weight:500;margin:8px 0 20px}
.compare-table-wrap{overflow-x:auto}
.compare-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}
.compare-table th,.compare-table td{border-bottom:1px solid var(--line);padding:13px;text-align:left;vertical-align:top}
.compare-table th{width:155px;color:var(--muted);font-size:11px;font-weight:600;background:var(--cream)}
.compare-table td{min-width:135px}.compare-table td strong{display:block;color:var(--forest)}.compare-table td span{display:block;font-size:11px;color:var(--muted)}
@media(max-width:900px){.experience-layout{grid-template-columns:1fr}.experience-scenes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.experience-scenes button{min-width:155px;scroll-snap-align:start}.experience-heading{display:block}.experience-heading>p{margin-top:15px;max-width:650px}.selection-context{display:block}.level-shortcuts{justify-content:flex-start;margin-top:14px}.guide-layout{grid-template-columns:1fr;gap:23px}.guide-layout>div>p:last-child{max-width:600px}.availability-heading{display:block}.availability-heading>p{margin-top:10px}.availability-tools{display:block}.status-legend{margin-top:10px}.tower-map{grid-template-columns:1fr}.tower-visual{height:360px}}
@media(max-width:600px){.focus-strip-inner{align-items:flex-start}.focus-strip-inner>div{display:block}.focus-strip-inner strong{display:block}.focus-strip-inner p{max-width:230px}.experience-section{padding:58px 0}.experience-stage{min-height:510px}.experience-overlay{left:19px;right:19px;bottom:23px}.experience-overlay h3{font-size:32px}.experience-disclaimer{right:8px;top:8px;max-width:225px;text-align:right;font-size:8px}.experience-scenes button{min-width:145px}.selection-context{padding:15px}.compare-tray{bottom:8px;display:block}.compare-actions{margin-top:9px}.compare-body{padding:22px}.compare-body h2{font-size:30px}.guide-form{grid-template-columns:1fr}.guide-form button{grid-column:auto}.guided-summary{display:block}.guided-summary button{display:block;padding:5px 0 0}.gallery-bar{display:block}.gallery-thumbs{margin-top:8px}.inline-3d iframe{height:350px}.map-pin.map-pin-wide{min-width:0;padding:6px 8px}.map-pin.map-pin-wide span{font-size:10px}.map-pin.map-pin-wide small{display:none}.pin-houses{left:72%;top:39%}.pin-t1{left:61%;top:55%}.pin-t2{left:68%;top:70%}.pin-commercial{left:36%;top:59%}.availability-board{padding:15px}.availability-summary{grid-template-columns:1fr 1fr}.unit-selector{max-height:none;overflow:visible}.site-plan-shell{padding:7px}.house-map-marker{width:23px;height:23px}.site-plan-disclaimer{max-width:285px}.tower-elevation{min-width:720px}.tower-map{overflow-x:auto}.tower-visual{height:330px}.map-category-choice{grid-template-columns:1fr}.filter-panel{grid-template-columns:1fr 1fr}.interest-form{grid-template-columns:1fr}.interest-form p,.interest-form small,.interest-form button{grid-column:auto}}

/* Visor real del modelo maestro */
.real-project-viewer{position:relative;width:100%;height:clamp(430px,52vw,690px);overflow:hidden;background:linear-gradient(145deg,#e7efeb,#c9d9d0);isolation:isolate}
.real-project-viewer canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.real-project-viewer canvas:active{cursor:grabbing}
.real-viewer-loading{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:7px;text-align:center;color:#173d32;background:linear-gradient(145deg,#edf3ef,#d2e0d8)}
.real-viewer-loading[hidden]{display:none}
.real-viewer-loading span{width:34px;height:34px;border:3px solid rgba(21,57,47,.18);border-top-color:#a37d3f;border-radius:50%;animation:pv-spin .9s linear infinite}
.real-viewer-loading strong{font-family:var(--serif);font-size:21px}
.real-viewer-loading small{color:var(--muted)}
@keyframes pv-spin{to{transform:rotate(360deg)}}
.real-viewer-actions{position:absolute;z-index:3;left:14px;top:14px;display:flex;gap:7px}
.real-viewer-actions button{border:1px solid rgba(255,255,255,.7);background:rgba(15,45,37,.88);color:#fff;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(10px);cursor:pointer}
.real-viewer-tooltip{position:absolute;z-index:3;left:50%;bottom:17px;transform:translateX(-50%);max-width:calc(100% - 28px);padding:10px 14px;background:rgba(15,45,37,.92);color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 30px rgba(0,0,0,.18);pointer-events:none}
.real-project-viewer.viewer-error{min-height:360px}
.real-project-viewer:fullscreen{height:100vh;background:#dfe9e4}
.tower-real-viewer{height:520px;min-height:430px}
.tower-real-layout{width:100%;min-width:0;background:#dfe9e4}
.tower-real-help{text-align:center;font-size:12px;color:#284b40;padding:10px;margin:0}
.tower-floor-access{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 14px 14px}
.tower-floor-access button{padding:10px 5px;background:#fff;border:1px solid #a8bdb1;color:#173d32;border-radius:5px;cursor:pointer}
.tower-floor-access button:hover,.tower-floor-access button:focus-visible{background:#173d32;color:white;outline:2px solid #bf9959;outline-offset:2px}
.tower-picker-stage:has(.tower-real-viewer){padding:0;overflow:hidden;background:#dfe9e4}
@media(max-width:700px){.real-project-viewer{height:470px}.tower-real-viewer{height:460px}.real-viewer-actions button{padding:8px 9px}.real-viewer-actions button:nth-child(2){display:none}}
@media(max-width:900px){.selected-building{grid-template-columns:1fr}.selected-building-image{min-height:430px}.apartment-choice>div{grid-template-columns:repeat(2,1fr)}.detail-viewer>iframe{height:500px}}
@media(max-width:600px){.building-choice{grid-template-columns:1fr}.building-card{min-height:410px}.selected-building{min-width:720px}.apartment-path{min-width:540px}.apartment-choice{min-width:720px}.apartment-choice>div{grid-template-columns:repeat(2,1fr)}#unit-dialog{width:calc(100% - 14px)}.detail-gallery .detail-image{height:270px}.detail-body{padding:23px 19px 27px}.detail-body h2{font-size:32px}.detail-facts{grid-template-columns:repeat(2,1fr)}.detail-viewer>iframe{height:420px}.purchase-section{padding:18px}.detail-viewer h3,.purchase-section h3{font-size:24px}}
@media(max-width:900px){.project-3d-overview{min-height:500px}.project-3d-overview .site-viewport-3d{height:500px}.model3d-toolbar span{display:none}.site-plan-shell-3d .site-viewport-3d{height:590px}.tower-model3d{width:270px;height:470px}.tower-side-3d{height:404px}.selector-model-heading{align-items:start}}
@media(max-width:600px){.project-3d-overview{min-height:440px}.project-3d-overview .site-viewport-3d{height:440px}.model3d-toolbar{left:8px;right:8px;top:8px}.model3d-toolbar button{padding:0 8px}.model3d-legend{left:8px;right:auto;bottom:8px}.site-scene-3d{width:118%;transform:rotateX(56deg) rotateZ(var(--site-rotation,-8deg)) translate(-4%,8%)}.site-house-3d{width:3.7%;height:5%}.site-house-3d span{display:none}.selector-model-heading{min-width:800px}.reservation-form .field-wide,.reservation-form .form-heading{grid-column:auto}.reservation-form .form-consent{grid-template-columns:18px 1fr}}

/* Cierre del selector comercial y confirmación de solicitudes */
.apartment-choice>.floor-plate{display:grid;grid-template-columns:1fr;gap:0;padding:14px;background:#e7ece7;border:1px solid #c5d2c7}
.floor-wing{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.floor-wing-reverse{direction:rtl}.floor-wing-reverse>*{direction:ltr}
.floor-corridor{height:62px;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:10px;color:#53655b;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.floor-corridor i{height:1px;background:#b4c2b7}.floor-corridor strong{font-size:9px;text-align:center;color:var(--forest)}
.floor-plate .apartment-option{padding:8px;min-width:0}.floor-plate .apartment-option>span{display:grid;gap:2px}.floor-plate .apartment-option>span b{font-size:17px}.floor-plate .apartment-option>strong{font-size:10px}.floor-plate .apartment-option>i{font-size:8px}
.floor-plate-note{margin:9px 0 0;color:var(--muted);font-size:8px;line-height:1.45}
.catalog-entry-choice{border:1px solid #c8d5ca;background:#fff;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}
.catalog-entry-choice h4{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:30px;font-weight:500;margin:5px 0}.catalog-entry-choice p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.55}
.catalog-entry-choice>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.catalog-entry-choice button{border:1px solid #c8d5ca;background:#f6f8f4;color:var(--forest);padding:20px;text-align:left;display:grid;gap:8px}.catalog-entry-choice button:hover{background:var(--forest);color:#fff}.catalog-entry-choice button strong{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:500}.catalog-entry-choice button span{font-size:9px;font-weight:800}
.reservation-confirmation{margin-top:14px;padding:20px;background:#edf6ef;border:1px solid #bcd5c3;border-left:5px solid #3d8d61;display:grid;gap:7px}.reservation-confirmation>span{font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#34704d}.reservation-confirmation>strong{font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--forest)}.reservation-confirmation>p{margin:0;color:#53655b;line-height:1.5}.reservation-confirmation>button{width:max-content;border:1px solid var(--forest);background:#fff;color:var(--forest);padding:8px 11px;font-size:9px;font-weight:800}.reservation-confirmation>small{color:var(--muted);line-height:1.45}.reservation-duplicate{background:#fbf2df;border-color:#e3c989;border-left-color:#c79231}.reservation-duplicate>span{color:#8a641f}
@media(max-width:900px){.floor-wing{grid-template-columns:repeat(4,1fr)}.floor-corridor{height:52px}.catalog-entry-choice{grid-template-columns:1fr}}
@media(max-width:600px){.selected-building,.apartment-path,.apartment-choice{min-width:0}.apartment-choice{padding:16px}.apartment-choice>header{align-items:start}.apartment-choice>header>strong{font-size:25px}.apartment-choice>.floor-plate{grid-template-columns:1fr}.floor-wing{grid-template-columns:repeat(2,1fr)}.floor-corridor{grid-template-columns:auto 1fr auto;height:56px}.floor-corridor i{display:none}.floor-plate .apartment-option>span{display:flex}.catalog-entry-choice{padding:20px}.catalog-entry-choice>div:last-child{grid-template-columns:1fr}}

/* Torre 1: volumen arquitectonico claro y selector de niveles legible. */
.tower-one-picker{min-height:650px;background:radial-gradient(circle at 50% 18%,#f8faf7 0 12%,transparent 42%),linear-gradient(155deg,#e8eee9 0%,#c2d0c6 62%,#9caf9f 100%);position:relative}
.tower-one-picker:before{content:"TORRE 1 · 10 NIVELES";position:absolute;left:22px;top:20px;color:#39564b;font-size:9px;font-weight:900;letter-spacing:.18em}
.tower-one-picker:after{content:"Selecciona directamente el nivel que deseas explorar";position:absolute;left:22px;top:38px;color:#687c70;font-size:9px}
.tower-one-picker:has(.tower-real-viewer):before,.tower-one-picker:has(.tower-real-viewer):after{display:none}
.tower-2-picker:before{content:"TORRE 2 · 10 NIVELES"}
.tower-one-picker .tower-orbit-shell{width:100%;padding:48px 35px 18px}
.tower-one-picker .tower-model3d{width:370px;height:570px;filter:drop-shadow(35px 32px 24px rgba(16,43,34,.28))}
.tower-one-picker .tower-front-3d{inset:39px 0 39px;border:3px solid #d5dad6;border-inline-width:10px;background:#f4f4f1;box-shadow:inset 0 0 0 1px #8f9b93}
.tower-one-picker .tower-front-3d>button{position:relative;grid-template-columns:64px 1fr 76px;padding:5px 12px;border-bottom:3px solid #b7beb9;background:linear-gradient(90deg,#f9faf8 0 23%,#373f3d 23% 28%,#f5f6f3 28% 72%,#373f3d 72% 77%,#f9faf8 77%);transition:transform .15s,background .15s,box-shadow .15s}
.tower-one-picker .tower-front-3d>button:before,.tower-one-picker .tower-front-3d>button:after{content:"";position:absolute;bottom:3px;width:21%;height:55%;border:2px solid #202b28;border-top-width:3px;background:linear-gradient(90deg,#b8c3bf 0 46%,#273934 47% 53%,#b8c3bf 54%)}
.tower-one-picker .tower-front-3d>button:before{left:26%}.tower-one-picker .tower-front-3d>button:after{right:26%}
.tower-one-picker .tower-front-3d>button:hover,.tower-one-picker .tower-front-3d>button:focus-visible{background:#d6b36d;transform:translateZ(13px) scale(1.015);outline:2px solid #fff;box-shadow:0 8px 18px rgba(13,37,29,.3)}
.tower-one-picker .tower-front-3d>button>b,.tower-one-picker .tower-front-3d>button>small{position:relative;z-index:2;background:rgba(250,251,248,.9);padding:3px}
.tower-one-picker .tower-front-3d>button>b{font-size:9px}.tower-one-picker .tower-front-3d>button>small{font-size:6px}
.tower-one-picker .tower-windows{position:relative;z-index:2;gap:9px}.tower-one-picker .tower-windows i{opacity:0}
.tower-one-picker .tower-roof-3d{height:41px;border:3px solid #d4dad5;border-bottom:7px solid #343d3a;background:#fafbf9;padding-inline:20px}
.tower-one-picker .tower-roof-3d:before{content:"";position:absolute;left:18%;right:18%;bottom:6px;height:5px;background:#8b9690}
.tower-one-picker .tower-roof-3d span{font-size:15px}.tower-one-picker .tower-roof-3d small{font-size:9px;font-weight:900}
.tower-one-picker .tower-side-3d{top:39px;right:-76px;width:76px;height:492px;border:3px solid #a7b1aa;background:#d9ddda}
.tower-one-picker .tower-side-3d i{position:relative;border-bottom:3px solid #a6afa9;background:linear-gradient(90deg,#c8ceca,#f0f2ef 55%,#b7c0ba)}
.tower-one-picker .tower-side-3d i:after{content:"";position:absolute;inset:20% 18%;background:#40504a;border:2px solid #d6dcd7}
.tower-one-picker .tower-base-3d{height:40px;border:3px solid #b7c0ba;background:linear-gradient(90deg,#ecefeb,#cad2cc,#eef0ed)}
.tower-one-picker .tower-base-3d:before,.tower-one-picker .tower-base-3d:after{content:"";position:absolute;bottom:0;width:54px;height:25px;background:#263b34;border:3px solid #84938a}.tower-one-picker .tower-base-3d:before{left:84px}.tower-one-picker .tower-base-3d:after{right:84px}
.tower-one-picker .tower-base-3d span{position:relative;z-index:2;background:#f0f2ef;padding:3px 8px;font-weight:900}
.tower-one-picker .tower-orbit-controls{position:relative;z-index:4}.tower-one-picker .tower-orbit-controls button{min-width:88px;background:rgba(255,255,255,.94);box-shadow:0 4px 12px rgba(18,50,39,.1)}

/* Ficha de apartamento: solamente material de la tipologia seleccionada. */
.apartment-typology-media{margin:28px 0 12px;border:1px solid #cad6cc;background:#eef3ee}
.apartment-media-heading{padding:24px;display:flex;justify-content:space-between;align-items:end;gap:28px;border-bottom:1px solid #cad6cc;background:#f8faf6}
.apartment-media-heading h3{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:29px;font-weight:500;line-height:1.15;margin:5px 0 7px}
.apartment-media-heading p:not(.eyebrow){max-width:610px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.apartment-view-buttons{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.apartment-view-buttons button{border:1px solid #bdcbbf;background:#fff;color:var(--forest);padding:8px 10px;font-size:9px;font-weight:800;white-space:nowrap}
.apartment-view-buttons button:hover,.apartment-view-buttons button.selected{background:var(--forest);border-color:var(--forest);color:#fff}
.apartment-media-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:1px;background:#c7d2c9}
.apartment-live-render,.apartment-plan{position:relative;min-width:0;margin:0;background:#fff;overflow:hidden}
.apartment-live-render iframe{display:block;width:100%;height:570px;border:0;background:#e6eae5}
.apartment-plan{display:grid;place-items:center;padding:24px}
.apartment-plan img{display:block;width:100%;height:500px;object-fit:contain;background:#fff}
.apartment-live-render>span,.apartment-plan figcaption{position:absolute;left:12px;bottom:12px;background:rgba(18,55,44,.91);color:#fff;padding:7px 9px;font-size:8px;font-weight:900;letter-spacing:.08em}
.apartment-plan-open{position:absolute;right:12px;top:12px;padding:9px 12px;background:#173d32;color:#fff;font-size:12px;text-decoration:none;border-radius:4px}
.apartment-viewer-status{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:24px;background:#eef1eb;text-align:center;color:#173d32}
.apartment-viewer-status[hidden]{display:none}
.house-location-list section{margin:22px 0}.house-location-list h4{color:#173d32}.house-location-list section>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.house-location-list button{display:grid;gap:7px;padding:16px;text-align:left;background:white;border:1px solid #c7d2c9;color:#173d32;cursor:pointer}.house-location-list button:hover{background:#edf1eb}.house-location-list small{line-height:1.5}
.apartment-wall-controls{padding:12px 24px;background:#edf1eb;justify-content:flex-start;flex-wrap:wrap}.apartment-wall-controls button:disabled{opacity:.5;cursor:wait}
.apartment-viewer-status button{padding:12px 18px;background:#173d32;color:#fff;border:0;cursor:pointer}.apartment-viewer-status a{color:#173d32}
.site-plan-shell-3d{min-width:0;width:100%}
@media(max-width:600px){.selector-model-heading{min-width:0;flex-direction:column;align-items:stretch;gap:14px}.house-location-list section>div{grid-template-columns:repeat(2,minmax(0,1fr))}.house-location-list button{padding:12px;overflow-wrap:anywhere}.model3d-toolbar{flex-wrap:wrap}}
/* Keep controls stable immediately after changing a section or closing a sheet. */
html{scroll-behavior:auto}
.viewer-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-height:none!important;z-index:9999!important;background:#dfe9e1}
body:has(.viewer-expanded){overflow:hidden}
.detail-quick-summary{position:sticky;top:0;z-index:15;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:22px 65px 18px 24px;background:#f8faf6;border-bottom:1px solid #cad6cc;color:var(--forest)}
.detail-quick-summary .availability-primary,[data-load-model]{min-height:44px;padding:10px 16px;background:var(--forest);color:white;border:0;cursor:pointer}
#interest-form-slot{scroll-margin-top:150px}
.status-filters button[hidden]{display:none}
.detail-quick-summary>div{display:grid;gap:5px;font-size:13px}.detail-quick-summary .detail-back{margin:0;min-height:44px}
@media(max-width:600px){.detail-quick-summary{padding:16px 48px 16px 18px}.detail-quick-summary>div{font-size:12px}.apartment-view-buttons button{min-height:44px}.detail-actions button{min-height:44px}}
.house-live-render{position:relative;background:#d7ddd8}
.house-live-render iframe{display:block;width:100%;height:590px;border:0;background:#d7ddd8}
.house-live-render>span{position:absolute;left:12px;bottom:12px;background:rgba(18,55,44,.91);color:#fff;padding:7px 9px;font-size:8px;font-weight:900;letter-spacing:.08em}
.house-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c7d2c9}
.house-plan-grid figure,.house-render-gallery figure{position:relative;margin:0;background:#fff;overflow:hidden}
.house-plan-grid img{display:block;width:100%;height:440px;object-fit:contain;padding:16px;background:#fff}
.house-plan-grid figcaption,.house-render-gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(18,55,44,.91);color:#fff;padding:6px 8px;font-size:8px;font-weight:900;letter-spacing:.07em}
.house-render-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c7d2c9}
.house-render-gallery img{display:block;width:100%;height:265px;object-fit:cover}
@media(max-width:900px){.tower-one-picker{min-height:610px}.tower-one-picker .tower-model3d{width:330px;height:530px}.tower-one-picker .tower-side-3d{height:452px}.apartment-media-heading{display:block}.apartment-view-buttons{justify-content:flex-start;margin-top:15px}.apartment-media-grid{grid-template-columns:1fr}.apartment-live-render iframe{height:500px}.apartment-plan img{height:430px}.house-render-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tower-one-picker{min-height:560px;padding-inline:0}.tower-one-picker .tower-orbit-shell{padding-inline:52px}.tower-one-picker .tower-model3d{width:270px;height:470px}.tower-one-picker .tower-side-3d{right:-52px;width:52px;height:392px}.tower-one-picker .tower-base-3d:before{left:48px}.tower-one-picker .tower-base-3d:after{right:48px}.tower-one-picker .tower-front-3d>button{grid-template-columns:51px 1fr 55px;padding-inline:6px}.tower-one-picker .tower-front-3d>button>small{font-size:5px}.tower-one-picker .tower-orbit-controls button{min-width:0}.apartment-media-heading{padding:18px}.apartment-media-heading h3{font-size:24px}.apartment-live-render iframe{height:420px}.apartment-plan{padding:12px}.apartment-plan img{height:360px}.house-live-render iframe{height:460px}.house-plan-grid,.house-render-gallery{grid-template-columns:1fr}.house-plan-grid img{height:360px}.house-render-gallery img{height:250px}}

/* Aviso de privacidad del formulario de reserva. Plegado por defecto para no tapar el formulario, pero presente donde se entrega el documento. */
.form-privacidad{grid-column:1/-1;margin-top:10px;font-size:11px;line-height:1.55;color:#4a5b52}
.form-privacidad summary{cursor:pointer;font-weight:700;color:#12372c;letter-spacing:.02em}
.form-privacidad summary:hover{text-decoration:underline}
.form-privacidad p{margin:8px 0 0}
.form-privacidad a{color:#12372c;text-decoration:underline}

/* Hueco del mapa 3D mientras no se ha llegado a el. Ocupa el mismo sitio
   que el visor para que la pagina no salte cuando se monte. */
.pv-visor-diferido{display:flex;align-items:center;justify-content:center;min-height:520px;background:#e7ece8;border-radius:18px}
.pv-visor-diferido .real-viewer-loading{position:static;text-align:center;color:#4a5b52}

/* Lupa de "Ampliar plano".
   Es un <dialog> a proposito: la ficha de la unidad tambien lo es, y un
   <dialog> abierto con showModal() se pinta en la top layer del navegador, por
   encima de cualquier z-index. Con un <div> la lupa quedaba DEBAJO de la ficha
   aunque tuviera z-index 9999 y midiera toda la pantalla.

   Un <dialog> trae estilos del navegador que hay que neutralizar: borde,
   padding, background propio, margin:auto y un max-width/max-height que lo
   encogen al contenido. */
dialog.pv-lupa{
  position:fixed; inset:0; margin:0; border:0; padding:28px;
  width:100%; height:100%; max-width:none; max-height:none;
  background:rgba(10,26,21,.92); color:inherit; overscroll-behavior:contain;
}
/* display solo cuando esta abierto: si no, se veria siempre. */
dialog.pv-lupa[open]{ display:flex; align-items:center; justify-content:center; }
dialog.pv-lupa::backdrop{ background:rgba(10,26,21,.92); }

.pv-lupa figure{ margin:0; max-width:min(1180px,94vw); max-height:90vh; display:flex; flex-direction:column; gap:10px; }
/* min-height:0 en el hijo flexible: sin eso la imagen desborda el figure en
   vez de encogerse, y el pie de foto se sale de la pantalla. */
.pv-lupa img{ display:block; min-height:0; max-width:100%; max-height:82vh; object-fit:contain; background:#fff; border-radius:10px; }
.pv-lupa figcaption{ color:#e8efe9; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; text-align:center; }
.pv-lupa-cerrar{ position:absolute; top:18px; right:18px; background:#fff; color:#12372c; border:0; border-radius:999px; padding:9px 16px; font-size:11px; font-weight:900; letter-spacing:.06em; cursor:pointer; }
.pv-lupa-cerrar:hover{ background:#d8e2da; }
.pv-lupa-cerrar:focus-visible{ outline:3px solid #f0c674; outline-offset:2px; }
/* Mientras la lupa esta abierta la pagina de detras no debe poder moverse. */
body.pv-lupa-abierta{ overflow:hidden; }
@media(max-width:600px){
  dialog.pv-lupa{ padding:14px; }
  .pv-lupa img{ max-height:74vh; }
  .pv-lupa-cerrar{ top:10px; right:10px; }
}

/* Logo de marca en la cabecera y el pie del catalogo.
   Antes habia un marcador: un circulo con las letras "PV" y la palabra "PASEO
   VIVO" al lado, puestos con CSS. El archivo del logo vivia solo en la carpeta
   de la web institucional, asi que el catalogo nunca lo tuvo.
   La imagen ya trae la marca Y la palabra, de modo que sustituye a los dos.
   width/height van en el <img> para que el navegador reserve el hueco y la
   cabecera no de un salto al cargar. */
.brand-logo{display:block;height:38px;width:auto;object-fit:contain}
.site-footer .brand-logo{height:30px}
@media(max-width:700px){ .brand-logo{height:30px} }
@media(max-width:420px){ .brand-logo{height:26px} }
