/* Safo Sepulcro — HOME v2 "El umbral" (encima de safo.css) */

/* ---- HERO cinematográfico ---- */
#lanterns{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.hero-v2{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#010302}
.hero-v2 .hero-video{position:absolute;inset:0;width:100%;height:120%;top:-10%;object-fit:cover;z-index:0;opacity:.9;filter:saturate(1.02) contrast(1.08) brightness(.72)}
.hero-v2:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(1,3,2,.35),rgba(1,3,2,.30) 45%,rgba(1,3,2,.72) 82%,#010302 100%)}
.hero-v2:after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 42%,transparent 0 26%,rgba(1,3,2,.34) 58%,rgba(1,3,2,.8) 100%)}
.hero-v2 .wrap{z-index:6}
.hero-sym{width:64px;height:64px;object-fit:contain;margin:0 auto 26px;display:block;opacity:0;filter:drop-shadow(0 6px 24px rgba(240,107,39,.5));transform:translateY(18px) scale(.9);transition:1s cubic-bezier(.16,1,.3,1) .1s}
.hero-eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--ember);opacity:0;transform:translateY(14px);transition:.9s ease .25s}
.hero-v2 h1{font-family:Cinzel,serif;font-size:clamp(50px,9vw,140px);line-height:.84;text-transform:uppercase;letter-spacing:.02em;margin-top:12px;text-shadow:0 30px 90px rgba(0,0,0,.8)}
.hero-v2 h1 .l{display:block;overflow:hidden}
.hero-v2 h1 .l span{display:block;transform:translateY(112%);transition:1s cubic-bezier(.16,1,.3,1)}
.hero-v2 h1 .l.stroke span{color:transparent;-webkit-text-stroke:1.2px rgba(239,232,218,.82)}
.hero-v2 h1 .l:nth-child(2) span{transition-delay:.12s}
.hero-lead{max-width:560px;margin:26px auto 0;color:#d8d0c2;font-size:clamp(15px,1.4vw,18px);line-height:1.7;opacity:0;transform:translateY(14px);transition:.9s ease .7s}
.hero-cta{margin-top:36px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:.9s ease .85s}
/* estados "ready" (entrada) */
body.ready .hero-sym{opacity:.95;transform:translateY(0) scale(1)}
body.ready .hero-eyebrow,body.ready .hero-lead,body.ready .hero-cta{opacity:1;transform:translateY(0)}
body.ready .hero-v2 h1 .l span{transform:translateY(0)}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:6;color:rgba(239,232,218,.55);font-size:10px;text-transform:uppercase;letter-spacing:.3em;opacity:0;transition:1s ease 1.3s}
body.ready .scroll-hint{opacity:1}
.scroll-hint:after{content:"";display:block;width:1px;height:46px;margin:12px auto 0;background:linear-gradient(var(--ember),transparent);animation:sc 2.2s ease-in-out infinite}
@keyframes sc{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ---- REVEAL genérico ---- */
.reveal{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal.blur{filter:blur(12px)}
.reveal.blur.in{filter:blur(0)}

/* ---- MANIFIESTO (frase a pantalla, kanji detrás) ---- */
.manifesto{position:relative;padding:150px 0;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(157,23,18,.14),transparent 52%),#010302;border-top:1px solid rgba(239,232,218,.06)}
.manifesto .ghost{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(70vw,620px);opacity:.06;pointer-events:none;z-index:0;filter:grayscale(.2)}
.manifesto .wrap{position:relative;z-index:2;max-width:820px}
.manifesto p{font-family:Cinzel,serif;font-size:clamp(26px,4.4vw,58px);line-height:1.12;text-transform:uppercase;letter-spacing:.01em}
.manifesto p em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--ember)}
.manifesto .sub{font-family:Inter,sans-serif;font-size:16px;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:28px;line-height:1.7}

/* ---- SECCIÓN HANNYA (máscara gran formato + parallax) ---- */
.hannya{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:#010302;border-top:1px solid rgba(239,232,218,.06)}
.hannya .temple-bg{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;object-position:50% 38%;z-index:0;opacity:.9;filter:contrast(1.06) saturate(1.02) brightness(.9)}
.hannya:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(1,3,2,.5),rgba(1,3,2,.28) 26%,rgba(1,3,2,.55) 66%,#010302 100%),radial-gradient(circle at 50% 44%,transparent 0 30%,rgba(1,3,2,.45) 68%,rgba(1,3,2,.82) 100%)}
.hannya .wrap{position:relative;z-index:3;text-align:center;max-width:720px}
.hannya .kicker{color:var(--ember)}
.hannya h2{font-family:Cinzel,serif;font-size:clamp(38px,6vw,92px);line-height:.9;text-transform:uppercase;margin:16px 0 22px}
.hannya p{color:#c7beb0;font-size:clamp(16px,1.5vw,19px);line-height:1.8;max-width:600px;margin:0 auto}
.hannya p+p{margin-top:16px}

/* ---- PORTFOLIO editorial v2 ---- */
.pf2{padding:130px 0;background:#010302;border-top:1px solid rgba(239,232,218,.06);text-align:center}
.pf2 .grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:248px;gap:14px;margin-top:52px}
.pf2 .cell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#0a0d0c}
.pf2 .cell img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.86);transition:1.1s cubic-bezier(.16,1,.3,1)}
.pf2 .cell:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(1,3,2,.75),transparent 55%);opacity:.9;transition:.4s}
.pf2 .cell b{position:absolute;left:18px;bottom:16px;z-index:2;font-family:Cinzel,serif;font-size:15px;text-transform:uppercase;letter-spacing:.05em}
.pf2 .cell em{position:absolute;left:18px;bottom:40px;z-index:2;font-style:normal;color:var(--ember);font-size:10px;text-transform:uppercase;letter-spacing:.18em}
.pf2 .cell:hover img{transform:scale(1.07)}
.pf2 .cell:hover:after{opacity:.6}
.pf2 .f-wide{grid-column:span 2}.pf2 .f-big{grid-column:span 2;grid-row:span 2}
.pf2 .healed{position:absolute;top:14px;right:14px;z-index:3;font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:rgba(1,3,2,.7);border:1px solid rgba(240,107,39,.5);border-radius:100px;padding:5px 11px}

@media(max-width:920px){
  .hero-v2 .hero-video{height:100%;top:0}
  .pf2 .grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .pf2 .f-wide,.pf2 .f-big{grid-column:span 2}.pf2 .f-big{grid-row:span 1}
  .hannya .temple-bg{object-position:50% 32%;opacity:.85}
  .manifesto{padding:100px 0}
}
