/* ══════════════════════════════════════
   PROJECT OVERLAY
══════════════════════════════════════ */
#proj-overlay {
  position:fixed; inset:0; z-index:9500; display:flex; flex-direction:column;
  overflow:hidden; clip-path:inset(100% 0 0 0); transition:clip-path .72s var(--snap);
}
#proj-overlay.open { clip-path:inset(0 0 0 0) }
.po-topbar {
  flex-shrink:0; height:3.2rem; background:var(--white); color:var(--black);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 2rem; gap:1rem; border-bottom:1px solid rgba(0,0,0,.06);
}
.po-back { font-family:var(--mono); font-size:.54rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(0,0,0,.38); display:flex; align-items:center; gap:.5rem; transition:color .25s; flex-shrink:0 }
.po-back:hover { color:var(--black) }
.po-project-name { font-family:var(--sans); font-size:.78rem; font-weight:600; color:rgba(0,0,0,.45); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; text-align:center }
.po-btns { display:flex; gap:.35rem; flex-shrink:0 }
.po-btn { width:2.1rem; height:2.1rem; border:1px solid rgba(0,0,0,.1); display:flex; align-items:center; justify-content:center; color:rgba(0,0,0,.32); font-size:.82rem; transition:background .2s, color .2s }
.po-btn:hover { background:rgba(0,0,0,.05); color:var(--black) }
.po-btn:disabled { opacity:.2; pointer-events:none }
.po-scroll { flex:1; overflow-y:auto; background:var(--white); color:var(--black); scrollbar-width:none }
.po-scroll::-webkit-scrollbar { display:none }
.rx-label { font-family:var(--mono); font-size:.5rem; letter-spacing:.28em; text-transform:uppercase; color:rgba(14,14,12,.42) }
.po-meta-k { font-family:var(--mono); font-size:.46rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(14,14,12,.4) }
.po-meta-v { font-family:var(--sans); font-size:.86rem; font-weight:500; color:var(--black); line-height:1.4 }

/* HERO — imagen a sangre + wordmark serif gigante */
.rx-hero { position:relative; height:90vh; min-height:520px; overflow:hidden; background:var(--b2) }
.rx-hero-img { width:100%; height:100%; object-fit:cover; display:block }
.rx-hero-grad { position:absolute; inset:0; background:linear-gradient(to top, rgba(14,14,12,.55) 0%, rgba(14,14,12,.05) 38%, rgba(14,14,12,.18) 100%) }
.rx-hero-top { position:absolute; top:2.4rem; left:2.6rem; right:2.6rem; z-index:3; display:flex; justify-content:space-between; align-items:baseline; gap:1rem }
.rx-hero-top span { font-family:var(--mono); font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(240,237,230,.9) }
.rx-hero-word { position:absolute; left:0; right:0; bottom:-.02em; z-index:3; text-align:center; white-space:nowrap; padding:0 .28em;
  font-family:'Vilonti','Archivo Black',var(--sans); font-weight:900; font-style:normal; text-transform:uppercase; line-height:.82; letter-spacing:-.03em; color:var(--white); }
.rx-hero-word em { font-style:normal }

/* STATEMENT — frase de intención grande */
.rx-statement { padding:6rem 2.6rem 4rem; max-width:1080px }
.rx-statement .rx-label { display:block; margin-bottom:2rem }
.rx-statement-txt { font-family:var(--sans); font-weight:500; font-size:clamp(1.5rem,3.6vw,3rem); line-height:1.18; letter-spacing:-.02em; color:var(--black) }
.rx-statement-txt .po-move-accent { font-family:'Vilonti','Archivo Black',var(--sans); font-weight:900; font-style:normal }

/* ABOUT — descripción + meta + imagen */
.rx-about { display:grid; grid-template-columns:minmax(0,42%) minmax(0,58%); gap:3.5rem; padding:2rem 2.6rem 5rem; align-items:start }
.rx-about-media { overflow:hidden; background:#e6e2da }
.rx-about-media img { width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/5 }
.rx-desc p { font-family:var(--sans); font-size:.95rem; line-height:1.95; color:rgba(14,14,12,.66); margin-bottom:1.3rem }
.rx-desc p:last-child { margin-bottom:0 }
.rx-meta { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem 2rem; margin-top:2.2rem; padding-top:1.8rem; border-top:1px solid rgba(14,14,12,.12) }
.rx-meta-item { display:flex; flex-direction:column; gap:.35rem }
.rx-cats { display:none }
/* Mi cargo — lista vertical con puntos (no texto corrido) */
.po-meta-v .rx-cargo-i { display:block; position:relative; padding-left:.95rem; line-height:1.75 }
.po-meta-v .rx-cargo-i::before { content:'·'; position:absolute; left:.1rem; color:rgba(14,14,12,.45) }
.rx-cat { font-family:var(--mono); font-size:.5rem; letter-spacing:.12em; text-transform:uppercase; padding:.35rem .7rem; border:1px solid rgba(14,14,12,.18); color:rgba(14,14,12,.55); border-radius:50px }
.rx-shot { overflow:hidden; background:#e6e2da }
.rx-shot img { width:100%; height:100%; object-fit:cover; display:block }

/* STRIP — caption + hasta 3 fotos */
.rx-strip { display:grid; grid-template-columns:minmax(0,22%) repeat(3,minmax(0,1fr)); gap:1.4rem; padding:1rem 2.6rem 4rem; align-items:start }
.rx-strip-cap { font-family:var(--sans); font-size:.82rem; line-height:1.75; color:rgba(14,14,12,.6); padding-top:.4rem }
.rx-strip .rx-shot { aspect-ratio:3/4 }

/* FEATURE — imagen grande + detalle desplazado + tipografía fantasma */
.rx-feature { position:relative; padding:4rem 2.6rem 6rem; overflow:hidden }
.rx-feature-ghost { position:absolute; left:1.4rem; bottom:2.4rem; z-index:0; font-family:var(--sans); font-weight:800; font-size:clamp(4rem,15vw,15rem); line-height:.78; letter-spacing:-.04em; text-transform:uppercase; color:rgba(14,14,12,.05); white-space:nowrap; pointer-events:none; user-select:none }
.rx-feature-main { position:relative; z-index:1; width:74%; aspect-ratio:16/10 }
.rx-feature-detail { position:absolute; right:2.6rem; bottom:6rem; z-index:2; width:26%; max-width:320px; aspect-ratio:4/5; box-shadow:var(--shadow-frame) }

/* REST — rejilla editorial del resto */
.rx-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; padding:1rem 2.6rem 4rem }
.rx-grid .rx-shot.rx-wide { grid-column:span 2; aspect-ratio:16/7 }
.rx-grid .rx-shot.rx-tall { aspect-ratio:4/5 }
/* PLANOS */
.rx-plans { padding:3rem 2.6rem 4rem; border-top:1px solid rgba(14,14,12,.1) }
.rx-plans-label { display:block; margin-bottom:1.6rem }
.rx-plans-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem }
.rx-plans-grid .pg-item { aspect-ratio:4/3; background:#f4f2ec; overflow:hidden }
.rx-plans-grid .pg-item img { width:100%; height:100%; object-fit:contain; padding:1.2rem; display:block }
.rx-plans-grid .pg-item.pg-plan-wide { grid-column:span 2; aspect-ratio:auto }
.rx-plans-grid .pg-item.pg-plan-wide img { height:auto; padding:1.2rem 1.4rem }

/* PIE */
.rx-foot { display:flex; justify-content:center; padding:4.5rem 2.6rem 5.5rem; border-top:1px solid rgba(14,14,12,.12) }
.rx-foot-next { cursor:none; transition:opacity .25s; display:flex; flex-direction:column; align-items:center; gap:.55rem; text-align:center }
.rx-foot-next:hover { opacity:.55 }
.rx-foot-label { font-family:var(--mono); font-size:.64rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--black) }
.rx-foot-cat { font-family:var(--mono); font-size:.5rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(14,14,12,.42) }
.rx-foot-name { font-family:'Vilonti','Archivo Black',var(--sans); font-weight:900; font-size:clamp(2.2rem,6vw,4.5rem); text-transform:uppercase; letter-spacing:-.03em; line-height:1; color:var(--black); margin-top:.15rem }
.rx-foot-name em { font-style:normal }
