/* ============================================================
   CARNE LATENTE — INICIO
   01 Hero (Paint Motion, original de v_1) + secciones del croquis.
   ============================================================ */

/* ---------- 01. HERO / UMBRAL ---------- */
.hero{height:100svh;min-height:640px;position:relative;overflow:hidden;isolation:isolate;background:var(--bg)}
.hero-image{position:absolute;inset:-4%;background:url("../img/inicio-hero.webp") 70% center/cover no-repeat;transform:scale(1.045);will-change:transform}
.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,7,8,.84),rgba(11,7,8,.35) 42%,rgba(11,7,8,.08) 72%,rgba(11,7,8,.42))}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,7,8,.90),rgba(11,7,8,.12) 52%,rgba(11,7,8,.30))}
#paint{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.grain{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen}
/* Contenido del hero dentro del container-xxl: alineado con el header. */
.hero-inner{position:absolute;inset:0;z-index:10;margin:0 auto;pointer-events:none}
.hero-inner>*{pointer-events:auto}
.hero-copy{position:absolute;z-index:10;left:var(--pad);bottom:74px;max-width:calc(100% - var(--pad) * 2)}
.meta{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--secondary)}
.red{color:var(--accent2)}
.meta-line{display:block;width:34px;height:1px;background:var(--accent2);flex:none}
.title{margin:22px 0 30px;font:300 clamp(52px,6.9vw,132px)/.9 Fraunces;letter-spacing:-.035em;word-spacing:.12em}.title span{display:block;white-space:nowrap}.title span:last-child{margin-left:7.5vw}
.desc{max-width:500px;margin:0 0 29px;color:var(--secondary);font-size:17px;line-height:1.65}.desc.desc--first{margin-bottom:14px}.desc em{font-style:normal;color:var(--text)}
.cta{display:inline-flex;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--accent);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.cta:hover{color:var(--accent2);gap:20px}
.bottom{position:absolute;z-index:10;left:var(--pad);right:var(--pad);bottom:29px;display:flex;justify-content:flex-end;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.bottom b{color:var(--accent2);font-weight:400}.scroll{display:flex;align-items:center;gap:10px}.scroll i{display:block;width:34px;height:1px;background:var(--muted)}
@media(prefers-reduced-motion:no-preference){
 .hero-image{animation:breath 14s ease-in-out infinite alternate}
 .hero-copy{animation:copyIn 1.1s cubic-bezier(.2,.75,.2,1) both}
 @keyframes breath{from{transform:scale(1.045) translate3d(0,0,0)}to{transform:scale(1.095) translate3d(-1.1%,-.6%,0)}}
 @keyframes copyIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
}
@media(max-width:900px){.hero-copy{bottom:58px}.hero-image{background-position:58% center}}
@media(max-width:600px){
 .hero{min-height:620px}
 .hero-image{inset:-6%;background-position:67% center}.hero-image:before{background:linear-gradient(90deg,rgba(11,7,8,.78),rgba(11,7,8,.18) 72%,rgba(11,7,8,.48))}
 .hero-image:after{background:linear-gradient(0deg,rgba(11,7,8,.94),rgba(11,7,8,.08) 58%,rgba(11,7,8,.38))}
 .hero-copy{bottom:57px}.meta{max-width:310px;flex-wrap:wrap;line-height:1.4}
 .title{font-size:12.4vw;line-height:.92;margin:17px 0 22px}.title span{white-space:normal}.title span:last-child{margin-left:0}
 .desc{font-size:15px;max-width:330px;margin-bottom:22px}
 .bottom{bottom:23px;font-size:8px}
}

/* ---------- 02. MANIFIESTO ---------- */
.hm-manifesto{position:relative;overflow:hidden;min-height:100svh;display:flex;align-items:center;padding:calc(var(--bar-h) + 48px) var(--pad) 96px;background:var(--bg);scroll-margin-top:calc(var(--bar-h) + 12px)}
.hm-manifesto-inner{width:100%;max-width:1296px;margin:0 auto}
.hm-kicker{display:flex;align-items:center;gap:14px;margin:0 0 clamp(26px,4vh,44px);font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--secondary)}
.hm-kicker-line{display:block;width:34px;height:1px;background:var(--accent2);flex:none;transform-origin:left}
/* Columna estrecha a la izquierda, aire a la derecha. */
.hm-body{margin:0}
.hm-para{margin:0;max-width:20ch;font:300 clamp(32px,4.6vw,72px)/1.08 var(--serif);letter-spacing:-.01em;color:var(--text)}
.hm-accent{margin:clamp(28px,5vh,56px) 0 0;font:italic 300 clamp(40px,6.4vw,104px)/1.05 var(--serif);letter-spacing:-.02em;color:var(--text)}
.hm-after{margin:clamp(20px,3.4vh,36px) 0 0;max-width:46ch;font:300 clamp(16px,1.5vw,22px)/1.6 var(--sans);color:var(--secondary)}
.hm-body .hm-w{display:inline-block;white-space:nowrap}
/* Texto completo para lectores de pantalla (lo partido queda aria-hidden). */
.hm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 03. PROGRESIÓN ---------- */
/* Sin JS: lista compacta (también con reduced-motion). */
.hm-prog{position:relative;overflow:hidden;background:var(--bg-2);border-top:1px solid var(--line)}
.hm-prog-stage{width:100%;max-width:1296px;margin:0 auto;padding:calc(var(--bar-h) + 32px) var(--pad) 64px;min-width:0}
.hm-prog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 8px}
.hm-prog-head .hm-kicker{margin:0}
.hm-prog-count{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.hm-prog-cur{color:var(--text)}
.hm-wheel{position:relative;min-width:0}
.hm-step{padding:28px 0;border-top:1px solid var(--line);min-width:0}
.hm-wheel .hm-step:last-child{border-bottom:1px solid var(--line)}
.hm-step-num{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hm-word{margin:14px 0 0;font:300 clamp(40px,7vw,96px)/.9 var(--serif);letter-spacing:-.035em;text-transform:uppercase;color:var(--text)}
.hm-word-mask{display:block;overflow:hidden;line-height:.9;padding:.18em 0 .06em;margin:-.18em 0 -.06em}
.hm-word-inner{display:inline-block;white-space:nowrap;will-change:transform}
.hm-q{margin:14px 0 0;max-width:24ch;font:italic 300 clamp(20px,2vw,30px)/1.32 var(--serif);color:var(--secondary)}
/* La pregunta lateral solo existe con la rueda (la muestra el JS). */
.hm-prog-q{display:none}
.hm-progress{display:none;position:absolute;left:0;right:0;bottom:0;height:1px;background:transparent}
html.hm-js .hm-progress{display:block}
.hm-progress-fill{display:block;height:1px;background:var(--accent2);transform:scaleX(0);transform-origin:left}

/* Con JS y sin reduced-motion: pieza pinneada con rueda 3D. */
@media(prefers-reduced-motion:no-preference){
  html.hm-js .hm-prog-stage{height:100svh;max-height:100svh;position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"head head" "wheel q";align-content:center;align-items:center;column-gap:48px;padding-top:var(--bar-h);padding-bottom:40px}
  html.hm-js .hm-prog-head{grid-area:head}
  html.hm-js .hm-wheel{grid-area:wheel;position:relative;height:70svh;perspective:1100px;overflow:visible}
  html.hm-js .hm-step{position:absolute;left:0;right:0;top:50%;padding:0;border:0;transform-origin:center;backface-visibility:hidden;will-change:transform,opacity}
  html.hm-js .hm-step .hm-step-num,html.hm-js .hm-step .hm-q{display:none}
  html.hm-js .hm-word{margin:0;font-size:clamp(56px,8.5vw,150px);line-height:.9;white-space:nowrap;color:var(--muted);transition:color .4s ease}
  html.hm-js .hm-word-mask{overflow:visible;padding:0;margin:0}
  html.hm-js .hm-word-inner{transform:none!important;white-space:nowrap}
  html.hm-js .hm-step.is-active .hm-word{color:var(--text)}
  html.hm-js .hm-step.is-active.is-turn .hm-word{color:#B23349}
  html.hm-js .hm-prog-q{display:block;grid-area:q;align-self:center;margin:0;max-width:24ch;min-height:calc(1.32em * 3);font:italic 300 clamp(22px,2.2vw,34px)/1.32 var(--serif);color:var(--secondary);text-wrap:balance}
  /* Solo con «transformación» (la más larga): la pregunta sube para no pisar la tilde ni la N. */
  html.hm-js .hm-prog-q{position:relative;top:0;transition:top .5s cubic-bezier(.22,.61,.24,1)}
  html.hm-js .hm-prog:has(.hm-step.is-active.is-turn) .hm-prog-q{top:-96px}
}
@media(prefers-reduced-motion:no-preference) and (max-width:767px){
  html.hm-js .hm-prog-stage{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"head" "wheel" "q";row-gap:8px;align-content:center;padding-top:calc(var(--bar-h) + 8px)}
  html.hm-js .hm-wheel{height:52svh}
  html.hm-js .hm-word{font-size:clamp(40px,12.5vw,72px)}
  html.hm-js .hm-step--last .hm-word,html.hm-js .hm-word--xl{font-size:10.5vw}
  html.hm-js .hm-prog-q{font-size:20px;min-height:calc(1.32em * 3);max-width:26ch}
}

@media(max-width:767px){
  .hm-manifesto{padding-top:calc(var(--bar-h) + 32px)}
  .hm-para{max-width:22ch}
  .hm-prog-stage{padding-top:calc(var(--bar-h) + 24px)}
  .hm-word{font-size:clamp(40px,12.5vw,72px)}
  .hm-step--last .hm-word,.hm-word--xl{font-size:10.5vw}
}
@media(prefers-reduced-motion:reduce){
  .hm-word-inner{transform:none!important}
  .hm-progress-fill{transform:none}
  .hm-prog-q{display:none}
}

/* ---------- 03. LAS SALAS ---------- */
.hm-rooms{padding:120px var(--pad);background:var(--bg);overflow:clip}
.hm-rooms-inner{width:100%;max-width:1296px;margin:0 auto}
.hm-rooms-title{margin:0;font:300 clamp(36px,5vw,72px)/1.02 var(--serif);letter-spacing:-.02em;color:var(--text)}
.hm-room-list{list-style:none;margin:clamp(40px,6vh,72px) 0 0;padding:0}
.hm-room-list li{margin:0;padding:0}
/* Fila: número | nombre+subtítulo | flecha. La línea base dibuja al entrar. */
.hm-room{position:relative;display:grid;grid-template-columns:80px 1fr 48px;gap:20px;align-items:baseline;padding:30px 0;color:var(--text);text-decoration:none;transition:opacity .7s cubic-bezier(.22,.61,.24,1)}
.hm-room::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.hm-room::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--accent2);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.22,.61,.24,1)}
html.hm-js .hm-room::after{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,.61,.24,1)}
html.hm-js .hm-room.is-in::after{transform:scaleX(1)}
.hm-room:hover::before,.hm-room:focus-visible::before{transform:scaleX(1)}
.hm-room-list:hover .hm-room:not(:hover){opacity:.35}
.hm-room-num{font:400 11px var(--sans);letter-spacing:.2em;color:var(--muted)}
.hm-room-main{display:flex;align-items:baseline;gap:32px;min-width:0}
.hm-room-mask{display:block;flex:1 1 auto;min-width:0;overflow:hidden;font-size:clamp(40px,6vw,104px);line-height:.9;padding:.22em 0 .1em;margin:-.22em 0 -.1em}
.hm-room-mask .hm-room-name{font-size:1em}
.hm-room-name{display:inline-block;font:300 clamp(40px,6vw,104px)/.9 var(--serif);letter-spacing:-.03em;text-transform:uppercase;color:var(--text);transition:transform .7s cubic-bezier(.22,.61,.24,1);will-change:transform}
.hm-room:hover .hm-room-name,.hm-room:focus-visible .hm-room-name{transform:translateX(24px);font-style:italic}
.hm-room-sub{flex:none;font:400 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);white-space:nowrap}
.hm-room-arrow{justify-self:end;color:var(--accent2);font:300 24px var(--sans)}
.hm-room-img,.hm-room-veil{display:none}
.hm-room:focus-visible{outline:1px solid var(--accent2);outline-offset:6px}
/* ---------- 04. PARAKULTURAL ---------- */
.hm-parak{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);padding:88px var(--pad);overflow:clip}
.hm-parak-inner{width:100%;max-width:1296px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr auto;gap:48px;align-items:end}
.hm-parak-title{margin:18px 0 0;font:300 clamp(28px,3.4vw,48px)/1.12 var(--serif);letter-spacing:-.01em;color:var(--text);text-wrap:balance}
.hm-parak-logo{display:block;width:clamp(150px,17vw,240px);opacity:.9;transition:opacity .5s ease}
.hm-parak-logo:hover,.hm-parak-logo:focus-visible{opacity:1}
.hm-parak-logo img{display:block;width:100%;height:auto}
.hm-parak-right p{margin:0 0 24px;max-width:38ch;font:300 16px/1.7 var(--sans);color:var(--secondary)}
/* Enlace "continuar": uppercase 12px con borde inferior vino y flecha. */
.hm-continue{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;font:500 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--accent);text-decoration:none;transition:color .35s ease,gap .35s ease,border-color .35s ease}
.hm-continue:hover{color:var(--accent2);gap:16px;border-color:var(--accent2)}
.hm-continue:focus-visible{outline:1px solid var(--accent2);outline-offset:4px}

/* ---------- 05. CIERRE ---------- */
.hm-close{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:calc(var(--bar-h) + 48px) var(--pad) 96px;overflow:clip;text-align:center;background:radial-gradient(60% 50% at 50% 100%,rgba(140,31,53,.16),transparent 70%),var(--bg)}
.hm-close-inner{width:100%;max-width:1100px;margin:0 auto}
.hm-close-q{margin:0 auto;max-width:16ch;font:300 clamp(40px,7vw,120px)/.98 var(--serif);letter-spacing:-.02em;color:var(--text);text-wrap:balance}
.hm-close-words .hm-w{display:inline-block;white-space:nowrap}
.hm-close-words .hm-w-accent{color:var(--accent2);font-style:italic}
.hm-close-link{margin-top:clamp(32px,5vh,56px)}

@media(max-width:1199px){
  .hm-room{grid-template-columns:60px 1fr 36px}
  .hm-room-main{gap:20px}
  .hm-room-sub{white-space:normal;text-align:right}
}
@media(max-width:767px){
  .hm-manifesto{padding-top:calc(var(--bar-h) + 32px)}
  .hm-rooms{padding:88px 14px}
  .hm-room-list{display:grid;gap:14px}
  /* Tarjeta a ancho completo con la imagen de fondo. */
  .hm-room{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;padding:0}
  .hm-room::after,.hm-room::before{display:none}
  .hm-room-list:hover .hm-room:not(:hover){opacity:1}
  .hm-room-img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  html.hm-js .hm-room-img{transform:scale(1.15);transition:transform 1.4s cubic-bezier(.22,.61,.24,1)}
  html.hm-js .hm-room.is-in .hm-room-img{transform:scale(1)}
  .hm-room-veil{display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(11,7,8,.92) 0%,rgba(11,7,8,.28) 55%,rgba(11,7,8,.06) 100%)}
  .hm-room-num{position:absolute;z-index:2;top:18px;left:20px;color:var(--secondary)}
  html.hm-js .hm-room-num{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.22,.61,.24,1),transform .8s cubic-bezier(.22,.61,.24,1)}
  html.hm-js .hm-room.is-in .hm-room-num{opacity:1;transform:none}
  .hm-room-main{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;display:block}
  html.hm-js .hm-room-main{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.24,1) .1s,transform .8s cubic-bezier(.22,.61,.24,1) .1s}
  html.hm-js .hm-room.is-in .hm-room-main{opacity:1;transform:none}
  .hm-room-mask{font-size:clamp(40px,13vw,64px);padding-bottom:.06em;margin-bottom:-.06em}
  .hm-room-name{font-size:clamp(40px,13vw,64px)}
  .hm-room:hover .hm-room-name,.hm-room:focus-visible .hm-room-name{transform:none;font-style:normal}
  .hm-room-sub{display:block;margin-top:12px;text-align:left}
  .hm-room-arrow{display:none}
  .hm-parak{padding:72px var(--pad)}
  .hm-parak-inner{grid-template-columns:1fr;gap:28px;align-items:start}
  .hm-parak-logo{width:170px}
  .hm-parak-right p{max-width:100%}
  .cierre{padding:90px 0 50px}
}

@media(prefers-reduced-motion:reduce){
  .hm-room,.hm-room::before,.hm-room::after,.hm-room-name,.hm-room-img,.hm-room-num,.hm-room-main,.hm-continue{transition:none!important;transform:none!important;opacity:1!important}
  html.hm-js .hm-room::after{transform:none}
  }

/* ---------- 01b. PUESTA EN ESCENA ---------- */
.hm-stage{background:var(--bg-2);padding:96px var(--pad);border-top:1px solid var(--line);scroll-margin-top:calc(var(--bar-h) + 12px);overflow:clip}
.hm-stage-inner{max-width:1296px;margin:0 auto}
/* Rejilla: una columna en móvil, texto + tarjeta lado a lado en escritorio. */
.hm-stage-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
.hm-stage-copy{min-width:0;text-align:left}
.hm-stage-cardwrap{min-width:0}
.hm-stage-title{margin:18px 0 20px;font:300 clamp(36px,5vw,72px)/1.02 var(--serif);letter-spacing:-.02em;color:var(--text)}
.hm-stage-text{margin:0 0 40px;max-width:52ch;font:300 clamp(16px,1.3vw,18px)/1.7 var(--sans);color:var(--secondary)}
.hm-stage-frame{display:block;position:relative;width:100%;aspect-ratio:16/9;padding:0;border:1px solid var(--line);background:#000;cursor:pointer;overflow:hidden;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s ease,border-color .4s ease,box-shadow .4s ease}
.hm-stage-frame picture{display:block;width:100%;height:100%}
.hm-stage-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.78);transform:scale(1.02);transition:filter 1.2s cubic-bezier(.22,.61,.24,1),transform 1.2s cubic-bezier(.22,.61,.24,1)}
.hm-stage-frame:hover img,.hm-stage-frame:focus-visible img{filter:brightness(.95)}
.hm-stage-frame:focus-visible{outline:1px solid var(--accent2);outline-offset:4px}
.hm-stage-frame:hover{border-color:var(--accent2);box-shadow:0 30px 80px -30px rgba(140,31,53,.55)}
/* Reflejo que sigue al puntero (variables --gx/--gy del JS). */
.hm-stage-glare{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s ease;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(245,240,236,.14),transparent 55%);mix-blend-mode:screen}
.hm-stage-frame:hover .hm-stage-glare{opacity:1}
/* Botón de reproducir: círculo con triángulo CSS y anillo vivo. */
.hm-stage-play{position:absolute;z-index:2;top:50%;left:50%;width:64px;height:64px;transform:translate(-50%,-50%);border:1px solid var(--accent2);border-radius:50%;background:transparent;transition:transform .35s ease,background-color .35s ease;animation:hmStageRing 2.8s ease-out infinite}
.hm-stage-play::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-38%,-50%);border-left:14px solid var(--text);border-top:9px solid transparent;border-bottom:9px solid transparent}
.hm-stage-frame:hover .hm-stage-play,.hm-stage-frame:focus-visible .hm-stage-play{background:var(--accent);transform:translate(-50%,-50%) scale(1.08)}
@keyframes hmStageRing{from{box-shadow:0 0 0 0 rgba(178,51,73,.45)}to{box-shadow:0 0 0 26px rgba(178,51,73,0)}}
@keyframes hmStageBreathe{from{transform:scale(1.02)}to{transform:scale(1.05)}}
.hm-stage-cap{position:absolute;z-index:2;left:24px;bottom:24px;font:500 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text)}
/* Entrada al scroll: oculta solo con JS (.hm-js en la sección), revela con .is-in. */
.hm-stage.hm-js .hm-stage-copy>*{opacity:0;transform:translateY(24px)}
.hm-stage.hm-js.is-in .hm-stage-copy>*{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.22,.61,.24,1),transform 1s cubic-bezier(.22,.61,.24,1)}
.hm-stage.hm-js.is-in .hm-stage-copy>*:nth-child(1){transition-delay:0ms}
.hm-stage.hm-js.is-in .hm-stage-copy>*:nth-child(2){transition-delay:120ms}
.hm-stage.hm-js.is-in .hm-stage-copy>*:nth-child(3){transition-delay:240ms}
.hm-stage.hm-js .hm-stage-cardwrap{opacity:0;transform:translateY(40px) scale(.97);clip-path:inset(0 0 100% 0)}
.hm-stage.hm-js.is-in .hm-stage-cardwrap{opacity:1;transform:none;clip-path:inset(0);transition:opacity 1.3s cubic-bezier(.22,.61,.24,1),transform 1.3s cubic-bezier(.22,.61,.24,1),clip-path 1.3s cubic-bezier(.22,.61,.24,1)}
.hm-stage.hm-js .hm-stage-cardwrap .hm-stage-frame img{transform:scale(1.15)}
.hm-stage.hm-js.is-in .hm-stage-cardwrap .hm-stage-frame img{transform:scale(1.02);transition:filter 1.2s cubic-bezier(.22,.61,.24,1),transform 1.8s cubic-bezier(.22,.61,.24,1);animation:hmStageBreathe 14s ease-in-out 1.9s infinite alternate}
.hm-stage-frame:hover img{animation-play-state:paused}
/* Durante el movimiento del puntero, la tarjeta sigue sin retardo. */
.hm-stage-cardwrap.is-tilting .hm-stage-frame{transition:border-color .4s ease,box-shadow .4s ease}
/* Lightbox centrado (no a pantalla completa). */
.hm-vid{display:none;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;--hm-vid-w:min(1200px,92vw,calc(84svh * 16 / 9))}
.hm-vid[open]{display:flex;align-items:center;justify-content:center}
.hm-vid::backdrop{background:rgba(8,5,6,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .4s ease}
.hm-vid.is-open::backdrop{opacity:1}
.hm-vid.is-closing::backdrop{opacity:0}
.hm-vid-box{position:relative;width:var(--hm-vid-w);aspect-ratio:16/9;max-height:84svh;background:#000;border:1px solid var(--line);box-shadow:0 40px 120px rgba(0,0,0,.7);overflow:hidden}
.hm-vid-box video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.hm-vid-close{position:absolute;z-index:2;right:calc(50% - var(--hm-vid-w) / 2);bottom:calc(50% + var(--hm-vid-w) * 0.28125 + 12px);background:transparent;border:1px solid var(--line);color:var(--text);font:500 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:10px 16px;cursor:pointer;white-space:nowrap}
.hm-vid-close:hover{border-color:var(--accent2)}
.hm-vid-close:focus-visible{outline:1px solid var(--accent2);outline-offset:4px}
html.hm-vid-open{overflow:hidden}
@media(min-width:900px){
  .hm-stage-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,88px);align-items:center}
  .hm-stage-text{margin-bottom:0}
}
@media(max-width:767px){
  .hm-stage{padding:64px var(--pad)}
  .hm-stage-grid{gap:24px}
  .hm-stage-title{margin:18px 0 16px}
  .hm-stage-text{margin-bottom:0}
  .hm-stage-play{width:56px;height:56px}
  .hm-stage-cap{left:16px;bottom:16px;font-size:11px}
  .hm-vid-close{top:calc(50% - var(--hm-vid-w) * 0.28125 + 12px);right:calc(50% - var(--hm-vid-w) / 2 + 12px);bottom:auto;background:rgba(0,0,0,.55)}
}
@media(prefers-reduced-motion:reduce){
  .hm-stage.hm-js .hm-stage-copy>*,.hm-stage.hm-js .hm-stage-cardwrap,.hm-stage.hm-js .hm-stage-cardwrap .hm-stage-frame img{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}
  .hm-stage-frame{transform:none!important;transition:none!important}
  .hm-stage-frame img{transition:none;transform:none;animation:none}
  .hm-stage-frame:hover img,.hm-stage-frame:focus-visible img{filter:brightness(.95);transform:none}
  .hm-stage-play{animation:none}
  .hm-stage-glare{display:none}
  .hm-vid::backdrop{transition:none}
}

/* ---------- 06. CIERRE / CONTACTO ---------- */
.cierre{padding:120px 0 60px;border-top:1px solid var(--line);text-align:center;background:radial-gradient(60% 60% at 50% 120%,rgba(178,51,73,.16),transparent 70%)}
.cierre h2{font-size:clamp(2.4rem,7vw,5rem);margin:10px 0 26px}
.socials{display:flex;gap:26px;justify-content:center;margin:34px 0 40px}
.socials a{color:var(--secondary);transition:color .35s ease,transform .35s ease}
.socials a:hover{color:var(--accent2);transform:translateY(-3px)}
.foot-meta{margin-top:60px;color:var(--muted);font-size:.72rem;letter-spacing:.12em}
@media(max-width:520px){.socials{gap:22px}}

/* Hero móvil: versión vertical de la imagen (mujer arriba, base oscura para el título) */
@media(max-width:767px){.hero-image{background-image:url("../img/inicio-hero-sm.webp");background-position:55% top}}

/* ===== V2 · HERO collage en marquee ===== */
.hv2{background:var(--bg)}
.hv2-collage{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px}
.hv2-row{flex:1;min-height:0;overflow:hidden}
.hv2-track{display:flex;height:100%;width:max-content;animation:hv2-right var(--d,90s) linear infinite;will-change:transform}
.hv2-track img{height:100%;width:auto;flex:none;margin-right:10px;opacity:.6;filter:saturate(.95)}
@keyframes hv2-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.hv2-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 50% 52%,rgba(11,7,8,.9),rgba(11,7,8,.6) 62%,rgba(11,7,8,.3)),linear-gradient(180deg,rgba(11,7,8,.7) 0,transparent 24%,transparent 70%,rgba(11,7,8,.85) 100%)}
.hv2-inner{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--bar-h) + 24px) var(--pad) 40px}
.hv2-title{margin:0;display:flex;flex-direction:column;align-items:center;font-weight:300}
.hv2-name{font:300 clamp(46px,9vw,150px)/.95 var(--serif);letter-spacing:-.03em;text-transform:uppercase;color:var(--text)}
.hv2-sub{margin-top:clamp(12px,2vh,22px);font:400 clamp(13px,1.9vw,28px)/1.2 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:#D0405A;text-shadow:0 1px 18px rgba(11,7,8,.95),0 0 2px rgba(11,7,8,.8)}
.hv2-text{max-width:62ch;margin:clamp(22px,4vh,40px) 0 clamp(24px,4vh,38px);font:300 clamp(15px,1.45vw,20px)/1.7 var(--sans);color:var(--text);opacity:.88;text-wrap:balance}
.hv2-cta{display:inline-block;padding:14px 38px;border:1px solid var(--accent);font:500 12px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text);transition:background .4s ease,border-color .4s ease}
.hv2-cta:hover,.hv2-cta:focus-visible{background:var(--accent);border-color:var(--accent2)}
.hv2-arrow{display:grid;place-items:center;width:46px;height:46px;margin-top:clamp(18px,3.4vh,34px);border:1px solid rgba(245,240,236,.28);border-radius:50%;color:var(--text);transition:border-color .4s ease,background .4s ease}
.hv2-arrow:hover,.hv2-arrow:focus-visible{border-color:var(--accent2);background:rgba(140,31,53,.35)}
.site-bar{background:rgba(11,7,8,.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(245,240,236,.08)}
@media(prefers-reduced-motion:no-preference){
 .hv2-inner>*{animation:copyIn 1.1s cubic-bezier(.2,.75,.2,1) both}
 .hv2-text{animation-delay:.15s}.hv2-cta{animation-delay:.3s}.hv2-arrow{animation:copyIn 1.1s .45s cubic-bezier(.2,.75,.2,1) both,hv2-nudge 2.4s 1.8s ease-in-out infinite}
 @keyframes hv2-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
}
@media(prefers-reduced-motion:reduce){.hv2-track{animation:none}}
@media(max-width:767px){.hv2-text br{display:none}.hv2-sub{letter-spacing:.22em}}

/* V2 · Manifiesto con el texto de Mireliz */
.hm-para{max-width:34ch;font-size:clamp(24px,3.1vw,46px);line-height:1.2}
.hv2-text{max-width:60ch}
@media(max-width:767px){.hm-para{max-width:100%;font-size:clamp(22px,6.2vw,30px)}}
