/* Cedra · Work y ficha de obra · F6 etapa 3 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.whead{padding-block:150px 10px}
.whead h1{font-size:var(--fs-h2);margin:12px 0 12px}
.whead p{max-width:52ch}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.wsec{padding-top:40px}
.wgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
@media (max-width:980px){.wgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.wgrid{grid-template-columns:minmax(0,1fr)}}
.wcard a{display:grid;gap:12px;color:var(--fg);text-decoration:none}
.wcard .ph{aspect-ratio:4/5}
.wtitle{font-size:var(--fs-h3);line-height:1.2}
.wcard[hidden]{display:none}
.empty{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:0}
.wclose{padding-bottom:40px}
.wclose h2{font-size:clamp(30px,4vw,52px);margin:12px 0 14px;max-width:14ch}

.ohero{position:relative;min-height:clamp(480px,78vh,860px);display:grid;align-items:end;overflow:hidden}
.ohero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ohero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,var(--bg) 100%)}
.ohero .in{position:relative;z-index:2;width:100%;padding-bottom:48px}
.ohero h1{font-size:clamp(34px,5vw,64px);line-height:1.04;max-width:16ch;margin-top:12px;color:var(--photo-title)}
.ogrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px}
@media (max-width:820px){.ogrid{grid-template-columns:minmax(0,1fr)}}
.story p{max-width:62ch;margin:0 0 16px}
.story .scope{color:var(--muted);font-size:var(--fs-small);border-top:1px solid var(--line);padding-top:14px}
.facts{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:var(--fs-kicker);font-weight:600;letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--wood);padding-top:3px}
.facts dd{margin:0}
.oquote{font-family:var(--display);font-size:clamp(24px,3vw,38px);line-height:1.18;max-width:28ch;margin:14px 0 0}
.gal{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.gbtn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.gbtn .ph{aspect-ratio:4/5}
.lb{border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:16px;max-width:min(96vw,1100px);max-height:94vh;border-radius:var(--radius)}
.lb::backdrop{background:rgba(5,8,14,.86)}
.lb img{max-width:100%;max-height:74vh;margin:0 auto;object-fit:contain}
.lb p{color:var(--muted);font-size:var(--fs-small);margin:10px 0}
.lbnav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.onext .in{display:grid;gap:20px;border-top:1px solid var(--line);padding-top:30px}
.nextlink{display:grid;gap:8px;color:var(--fg);text-decoration:none}
.nextlink .h3{font-family:var(--display);font-size:clamp(24px,3vw,36px)}
.stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:22px}
@media (max-width:820px){.stages{grid-template-columns:minmax(0,1fr)}}
.stagebox .tabs{margin:14px 0 0}
.obra-stage{aspect-ratio:4/3}
.pend{color:var(--error);font-weight:600}
