@import url("./plano.css");
﻿/* Obras v2: consume exclusivamente las variables compartidas de S10. */
.obras-page{margin:0;color:var(--ink);font-family:var(--font-body);line-height:1.65}
.obras-page *{box-sizing:border-box}[hidden]{display:none!important}
.obras-shell{width:min(1200px,100%);margin-inline:auto;padding-inline:24px}
.obras-page main a{color:var(--blue);text-underline-offset:4px}.obras-page :focus-visible,#featured-works :focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.obras-page main h1,.obras-page main h2,.obras-page main h3,.obras-card h3{font-family:var(--font-head);color:var(--navy);line-height:1.2}
.obras-page main h1{font-size:clamp(32px,4vw,48px);font-weight:200;letter-spacing:-.01em;margin:16px 0}
.obras-page main h1 strong,.obras-page main h2 strong{font-weight:700}
.obras-page main h2{font-size:clamp(30px,3.5vw,44px);font-weight:200;letter-spacing:-.01em}
.obras-band{position:relative;isolation:isolate;min-height:340px;display:flex;align-items:center;background:var(--navy);color:white;overflow:hidden}
.obras-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.obras-band:after{content:'';position:absolute;inset:0;background:var(--navy);opacity:.76;z-index:-1}
.obras-band .obras-shell{padding-block:64px}.obras-page .obras-band h1{color:white}.obras-band a{color:white!important}
.obras-intro{padding-block:var(--s7)}.obras-kicker{color:var(--blue);font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:600}
.obras-filters{display:flex;gap:12px;flex-wrap:wrap;margin-block:24px}.obras-filters button,.obras-button{font:inherit;font-weight:700;padding:10px 25px;border-radius:25px;border:1px solid var(--blue);background:white;color:var(--blue);cursor:pointer}
.obras-filters button[aria-pressed=true],.obras-button{background:var(--blue);color:white}.obras-button{display:inline-block;text-decoration:none!important;color:white!important}
.obras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);padding-bottom:var(--s8)}
.obras-card{min-width:0;background:white;border:1px solid var(--line)}.obras-card-copy{padding:28px}.obras-card h2,.obras-card h3,.obras-page main .obras-card h2{font-size:24px;font-weight:600;letter-spacing:0;margin:12px 0 24px;line-height:1.3}
.obras-card h2:after,.obras-card h3:after{content:'';display:block;width:40px;height:2px;background:var(--cyan);margin-top:20px}.obras-card p{overflow-wrap:anywhere;margin:12px 0}.obras-card h2 a,.obras-card h3 a{color:var(--navy)!important}
.obras-visual{margin:0;overflow:hidden}.obras-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 250ms ease}
.obras-card:hover .obras-visual img{transform:scale(1.04)}
.obras-blueprint{position:relative;isolation:isolate;background:var(--navy);aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}
.obras-blueprint svg{position:absolute;inset:0;width:100%;height:100%;color:var(--cyan);opacity:.3}.obras-sector{position:relative;color:white;font-family:var(--font-head);font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:16px;text-align:center}
.obras-primary{margin:0;background:var(--navy)}.obras-primary img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}
.obras-details{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:64px;padding-block:var(--s8)}.obras-details>div,.obras-details aside{min-width:0}.obras-details dl{margin:0;background:var(--pale);padding:32px}.obras-details dt{font-weight:600;color:var(--navy)}.obras-details dd{margin:0 0 20px;overflow-wrap:anywhere}.obras-details li{margin-bottom:12px}
.obras-gallery-section{padding-block:var(--s7)}.obras-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:32px}.obras-gallery button{border:0;padding:0;background:var(--pale);cursor:pointer;overflow:hidden;min-width:0}.obras-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.obras-video-section{padding-block:var(--s7)}.obras-video{display:block;width:100%;height:auto;max-height:70vh;background:var(--navy);margin-top:24px}.obras-video-note{font-size:14px;color:var(--muted)}
.obras-dialog{width:min(1080px,94vw);max-height:94vh;border:0;padding:20px;background:white}.obras-dialog::backdrop{background:var(--navy);opacity:.94}.obras-dialog img{display:block;width:100%;height:70vh;object-fit:contain}.obras-dialog button{font:inherit;font-weight:600;padding:10px 25px;border:1px solid var(--blue);border-radius:25px;background:white;color:var(--blue);margin-bottom:16px;cursor:pointer}
#featured-works .obras-grid{padding-bottom:0}#gate img{height:auto}#gate input{min-width:0}
@media(max-width:900px){.obras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obras-details{grid-template-columns:1fr;gap:32px}}
@media(max-width:600px){.obras-grid{grid-template-columns:1fr}.obras-shell{padding-inline:20px}.obras-band{min-height:300px}.obras-band .obras-shell{padding-block:48px}.obras-details{padding-block:var(--s7)}.obras-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.obras-card-copy{padding:24px}}
@media(prefers-reduced-motion:reduce){.obras-visual img{transition:none}.obras-card:hover .obras-visual img{transform:none}}
/* S14: site.js anima data-reveal en el contenedor; el hover transforma solo su img. */
.obras-card[data-reveal],.obras-primary[data-reveal],.obras-gallery>[data-reveal]{transform-origin:center;}
.obras-gallery img{transition:transform 250ms ease}
@media(hover:hover) and (pointer:fine){.obras-gallery button:hover img{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.obras-gallery img{transition:none}.obras-gallery button:hover img{transform:none}}

.obras-page main h2{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:0}
.obras-gallery img{object-fit:contain;background:var(--pale)}
@media(max-width:600px){.obras-page main>.obras-shell:last-child{padding-bottom:88px}}

/* Ilustración sin fotografía: altura acotada también en la ficha. */
.obras-page main>.obras-blueprint{height:clamp(200px,30vw,360px);aspect-ratio:auto}

/* S24: plano legible; conservar el esquema completo en ambos formatos. */
.obras-blueprint svg.plano-electrico{position:static;width:100%;height:auto;opacity:1;color:inherit}.obras-blueprint{display:block}.obras-plano-note{position:absolute;left:12px;bottom:4px;right:12px;color:#fff;font-size:10px;line-height:1.3;margin:0}.obras-card .obras-blueprint{padding-bottom:22px;aspect-ratio:auto}.obras-page main>.obras-blueprint{height:auto;max-width:960px;margin-inline:auto;aspect-ratio:auto;padding-bottom:24px}.obras-page main>.obras-blueprint svg{aspect-ratio:16/9}

/* S25 compartido: animar fotos, mantener texto y plano visibles. */
.obras-card.reveal-text,.obras-card.reveal-pending,.obras-blueprint.reveal-photo{opacity:1;transform:none;clip-path:inset(0);transition:none}.obras-blueprint.reveal-photo:after{display:none}

/* Contener el borde de trazado al completar su recorrido. */
.obras-primary{overflow:hidden}

