.edificio{margin-top:30px;padding:70px 0 40px;border-top:1px solid var(--line)}
.edif-head{max-width:720px}
.edif-head h2{font-size:clamp(34px,4.2vw,60px);font-weight:300;letter-spacing:-.035em;line-height:1.1;margin:18px 0 20px}
.edif-head h2 em{font-family:Georgia,serif;color:var(--gold);font-weight:400}
.edif-sub{font-size:17px;line-height:1.75;max-width:560px;color:var(--muted);margin:0}
.edif-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;margin-top:55px}
.edif-draw{background:radial-gradient(ellipse at 45% 62%,#ccb68a17,transparent 66%);padding:10px 0}
.edif-svg{display:block;width:100%;max-height:620px;overflow:visible;touch-action:manipulation}
.edificio .ln{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;opacity:.42;stroke-dasharray:1;stroke-dashoffset:0;transition:opacity .45s}
.edif-struct .ln{opacity:.8}
.edif-struct .base{opacity:.35}
.edificio .hit{fill:transparent;stroke:none;cursor:pointer;transition:fill .45s}
.edificio .win{fill:#ecd6a3;opacity:0;transition:opacity .55s}
.edif-num{fill:var(--muted);font:300 13px Jost,Arial,sans-serif;letter-spacing:.12em;opacity:.55;transition:opacity .4s,fill .4s}
.edif-floor.is-active .ln{opacity:1}
.edif-floor.is-active .win{opacity:.6}
.edif-floor.is-active .hit{fill:#ccb68a0f}
.edif-floor.is-active .edif-num{fill:var(--gold);opacity:1}
.edificio.pre .ln{stroke-dashoffset:1}
.edificio.pre .edif-num{opacity:0}
.edificio.drawing .ln{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s cubic-bezier(.5,0,.2,1) calc(var(--d,0) * .28s),opacity .45s}
.edificio.drawing .edif-num{transition:opacity .6s calc(var(--d,0) * .28s + .8s),fill .4s}
.edif-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.edif-item{border-bottom:1px solid var(--line)}
.edif-btn{appearance:none;background:none;border:0;font:inherit;text-align:left;display:flex;gap:24px;align-items:baseline;width:100%;padding:22px 0;cursor:pointer;color:var(--muted);transition:color .3s}
.edif-btn:hover,.edif-item.is-active .edif-btn{color:var(--ink)}
.edif-btn:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.edif-k{font-size:13px;letter-spacing:.12em;color:var(--gold);opacity:.55;transition:opacity .3s;flex:0 0 22px}
.edif-item.is-active .edif-k{opacity:1}
.edif-t{font-size:clamp(22px,2.3vw,31px);font-weight:300;letter-spacing:-.015em;line-height:1.2}
.edif-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.3,.7,.3,1)}
.edif-body>div{overflow:hidden;padding-left:46px}
.edif-item.is-active .edif-body{grid-template-rows:1fr}
.edif-body p{margin:0 0 16px;max-width:470px;font-size:16px;line-height:1.75;color:var(--muted)}
.edif-cta{display:inline-flex;align-items:center;gap:18px;margin:0 0 26px;padding:8px 0;border-bottom:1px solid #b2a17f70;color:var(--gold);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.edif-cta:hover .arrow{transform:translateX(5px)}
@media(max-width:750px){.edificio{padding:48px 0 20px;margin-top:20px}.edif-head h2{font-size:clamp(30px,8.4vw,44px)}.edif-sub{font-size:16px}.edif-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:30px}.edif-svg{max-height:400px;margin:0 auto}.edif-btn{padding:17px 0;gap:18px}.edif-t{font-size:23px}.edif-body>div{padding-left:40px}}
@media(prefers-reduced-motion:reduce){.edificio .ln,.edificio .win,.edificio .hit,.edif-body,.edif-num{transition:none!important}}
.edificio.drawn .ln,.edificio.drawn .edif-num{transition-delay:0s}
.edif-draw.is-3d{background:radial-gradient(ellipse at 50% 58%,#ccb68a1c,transparent 62%)}
.edif-draw.is-3d .edif-svg{display:none}
.edif-canvas{display:block;width:100%;height:640px;cursor:grab;touch-action:pan-y}
.edif-canvas:active{cursor:grabbing}
.edif-hint{margin:6px 0 0;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.7}
@media(max-width:750px){.edif-canvas{height:420px}}
.edificio--top{border-top:0;margin-top:0;padding-top:48px}@media(max-width:750px){.edificio--top{padding-top:30px}}
/* Nosotros: título, torre y servicios en una sola vista (escritorio) */
@media(min-width:1100px){
.edificio--top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1fr);gap:0 48px;align-items:center;padding-top:10px;padding-bottom:30px;min-height:calc(100vh - 120px)}
.edificio--top .edif-grid{display:contents}
.edificio--top .edif-head h2{font-size:clamp(34px,3.3vw,54px)}
.edificio--top .edif-sub{font-size:16px}
.edificio--top .edif-canvas{height:clamp(480px,calc(100vh - 170px),720px)}
.edificio--top .edif-t{font-size:clamp(20px,1.75vw,27px)}
.edificio--top .edif-btn{padding:18px 0;gap:18px}
.edificio--top .edif-body>div{padding-left:40px}
.edificio--top .edif-body p{font-size:15px}
}
/* El esquema en líneas solo aparece si el 3D no carga */
.edif-draw:not(.no-3d) .edif-svg{display:none}
.edif-draw{min-height:640px;position:relative}
.edificio--top .edif-draw{min-height:clamp(480px,calc(100vh - 150px),740px)}
.edif-draw.no-3d{min-height:0}
.edif-canvas{opacity:0;transition:opacity .9s ease}
.edif-draw.ready .edif-canvas{opacity:1}
.edif-hint{opacity:0;transition:opacity .9s ease .4s}
.edif-draw.ready .edif-hint{opacity:.7}
@media(max-width:1099px){.edificio--top .edif-draw{min-height:640px}}
@media(max-width:750px){.edif-draw,.edificio--top .edif-draw{min-height:450px}}
