/* La historia de Spinosa: novela gráfica de pincel negro, tostado y carmesí; el fondo cambia con la escena */
.story{--paper:#efe9dc;--paper-2:#e6dfd0;--ink-black:#151318;--red:#8e1530;--night:#0c0b16;background:var(--night);color:var(--ink-black);transition:background-color .9s cubic-bezier(.22,1,.36,1)}
.story[data-bg="paper"]{background:var(--paper)}
.story[data-bg="red"]{background:var(--red)}
.story[data-bg="night"]{background:var(--night)}
.story::after{opacity:.05}
.story ::selection{background:var(--red);color:var(--paper)}

/* Cabecera flotante (se aparta al bajar) */
.story-top{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter);mix-blend-mode:difference;color:#fff;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.story-top.away{transform:translateY(-110%)}
.story-top .wordmark{color:#fff;font-size:34px}
.story-top nav.story-links{position:static;padding:0;display:flex;gap:10px;color:#fff}
.story-links a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.6);font-size:14px}
.story-links a:hover{background:#fff;color:#000}

/* Botón de sonido: cuatro barras que bailan mientras suena */
.sound{position:fixed;right:var(--gutter);bottom:22px;z-index:45;display:flex;align-items:flex-end;justify-content:center;gap:3px;width:48px;height:48px;padding:14px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(12,11,22,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}
.sound span{display:block;width:3px;height:6px;border-radius:2px;background:#fff;transition:height .3s}
.sound[aria-pressed="true"] span{animation:bars 1.1s ease-in-out infinite}
.sound[aria-pressed="true"] span:nth-child(2){animation-delay:-.35s}
.sound[aria-pressed="true"] span:nth-child(3){animation-delay:-.7s}
.sound[aria-pressed="true"] span:nth-child(4){animation-delay:-.15s}
@keyframes bars{0%,100%{height:5px}50%{height:18px}}

/* Portada */
.cover{height:220vh;position:relative}
.cover-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;text-align:center}
.cover-paper{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--paper)}
.cover .ink{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.cover-copy{position:relative;z-index:2;padding:0 var(--gutter);color:var(--ink-bright);transition:color .6s}
.cover.open .cover-copy{color:var(--ink-black)}
.cover-kick{max-width:none;font-size:14px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.cover h1{margin-top:26px;font-size:clamp(58px,10vw,170px);color:inherit;letter-spacing:-.045em}
.cover h1 em{font:italic 400 1em/.92 var(--serif);letter-spacing:-.03em}
.enter{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:40px}
.enter .text-link{background:none;border:0;color:inherit;font-size:15px;cursor:pointer}
.cover.open .enter .button{background:var(--ink-black);color:var(--paper)}
.cover-hint{margin-top:30px;max-width:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}

/* Viñetas */
.comic{overflow-x:hidden;overflow-x:clip;padding:8vh var(--gutter) 12vh;display:grid;gap:clamp(70px,10vw,150px)}
.page{display:grid;gap:clamp(18px,2.4vw,34px)}
.comic>*,.page>*,.panel,.vframe{min-width:0}
.page.split{grid-template-columns:.8fr 1.2fr;align-items:center}
.page.split.reverse .panel{order:2}
.page.pair{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(18px,3vw,48px)}
.page.pair .panel:nth-child(2){margin-top:12vh}
.panel{position:relative;margin:0;transform-origin:50% 100%;will-change:transform}
.vframe{position:relative;overflow:hidden;border:3px solid var(--ink-black);background:var(--paper-2)}
.panel.wide .vframe,.panel.wide-small .vframe{aspect-ratio:1800/1005}
.panel.tall .vframe{aspect-ratio:971/1300}
.vframe img{display:block;width:100%;height:112%;object-fit:cover;transform:translateY(-5%);will-change:transform}
.seq-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:1;opacity:0;transition:opacity .6s}
.seq-canvas.on{opacity:1}

/* Inserto de detalle que entra por un lado, como en una página de cómic */
.inset{position:absolute;z-index:3;right:-2%;bottom:-10%;width:24%;aspect-ratio:1;border:3px solid var(--ink-black);overflow:hidden;background:var(--paper)}
.inset img{width:100%;height:100%;object-fit:cover}

/* Cuadros de texto */
.cap{position:absolute;z-index:4;max-width:min(420px,70%);padding:14px 18px;background:var(--paper);border:2.5px solid var(--ink-black);font-size:clamp(13px,1.1vw,16px);line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-black)}
.cap p{margin:0;max-width:none}
.cap mark,.beat mark{background:none;color:var(--red);font-weight:400}
.cap-tl{top:-18px;left:-14px}
.cap-tr{top:-18px;right:-14px}
.cap-bl{bottom:-18px;left:-14px}
.cap-br{bottom:-18px;right:-14px}
.panel.wide .cap-bl{left:auto;right:28%;bottom:-18px}
.cap-note{position:relative;display:inline-block;margin-top:34px;max-width:none;text-transform:none;letter-spacing:0;font-size:15px}
.beat{display:grid;gap:22px;justify-items:start}
.beat .cap{position:relative;max-width:30ch}
.beat .cap.big{font-size:clamp(22px,2.6vw,40px);letter-spacing:.02em;line-height:1.12;padding:20px 24px}

/* Goteo: el pacharán cae sobre el papel y lo tiñe de rojo */
.drip{height:170vh;position:relative}
.drip-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.drip-canvas{position:absolute;top:0;left:0;width:100%;height:100%}

.comic.on-red{padding-bottom:34vh}
/* Ojos a sangre sobre rojo */
.eyes{padding:10vh var(--gutter) 14vh}
.eyes-panel{position:relative;margin:0 auto;max-width:1400px}
.eyes-panel .vframe{aspect-ratio:1800/1005}

/* El frasco que lo llena todo */
.red{height:260vh;position:relative}
.red-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
.red-jar{position:absolute;width:min(46vw,520px);aspect-ratio:1;border:3px solid var(--ink-black);overflow:hidden;will-change:transform}
.red-jar img{width:100%;height:100%;object-fit:cover}
.red-line{position:relative;z-index:2;text-align:center;font-size:clamp(52px,9vw,150px);color:var(--paper);opacity:0}

/* Final */
.end{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:6%;min-height:100vh;padding:120px var(--gutter);color:var(--ink)}
.end-bottle{justify-self:center;width:min(28vw,360px)}
.end-bottle img{height:auto;object-fit:contain}
.end h2{font:400 clamp(80px,12vw,200px)/.85 var(--serif);letter-spacing:-.06em;color:var(--ink-bright)}
.end-copy p{margin-top:24px;font-size:18px}
.end .actions{margin-top:36px}
.story footer{background:var(--night);padding-top:40px}
.credits{max-width:80ch;margin:0 0 28px;font-size:12px;line-height:1.5;color:rgba(238,240,247,.6)}

/* Entradas (sin JS se ve todo) */
.js .panel,.js .beat .cap,.js .inset{opacity:0}

@media(max-width:760px){
  .story-top .wordmark{font-size:28px}
  .story-links a{padding:0 12px;min-height:38px;font-size:13px}
  .sound{bottom:16px;width:44px;height:44px;padding:12px 10px}
  .cover-kick{font-size:12px}
  .comic{padding:5vh var(--gutter) 9vh;gap:80px}
  .page.split,.page.pair{grid-template-columns:1fr}
  .page.split.reverse .panel{order:0}
  .page.pair .panel:nth-child(2){margin-top:0}
  .cap{max-width:86%;font-size:12px;padding:10px 12px}
  .cap-tl,.cap-tr{top:-14px}
  .cap-bl,.cap-br{bottom:-14px}
  .cap-tl,.cap-bl{left:-6px}
  .cap-tr,.cap-br{right:-6px}
  .panel.wide .cap-bl{left:-6px;right:auto;bottom:-14px;max-width:58%}
  .inset{width:34%;right:-4px;bottom:auto;top:62%}
  .red-jar{width:74vw}
  .eyes{padding:8vh var(--gutter) 10vh}
  .end{grid-template-columns:1fr;padding:90px var(--gutter)}
  .end-bottle{width:min(56vw,240px)}
}
@media(prefers-reduced-motion:reduce){
  .js .panel,.js .beat .cap,.js .inset{opacity:1}
  .panel{transform:none!important}
  .vframe img{transform:none;height:100%}
  .sound[aria-pressed="true"] span{animation:none;height:14px}
}

/* La portada pasó a la paleta clara de la marca; la historia conserva su aspecto original */
.story{--ground:#0c0b16;--ground-2:#14121f;--ground-3:#1c192a;--ink:#c9cee0;--ink-bright:#eef0f7;--ink-dim:#8d92aa;--accent:#c2213d;--accent-deep:#5a0f21;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Poppins",Helvetica,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark;font-weight:400;line-height:1.5}
.story h1,.story h2,.story h3{font-weight:400;line-height:.92;letter-spacing:-.04em}
.story .wordmark{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.story .button{background:var(--ink-bright);color:var(--ground);font-family:var(--sans)}
.story .button:hover{background:#fff}
.story .text-link{font-family:var(--sans);color:var(--ink)}
.story .lead{font-family:var(--serif)}
.story footer{color:var(--ink-bright);padding:40px var(--gutter) 28px}
.story .footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px;color:rgba(238,240,247,.75)}
.story ::selection{background:var(--red);color:var(--paper)}

/* Tipografías de la marca en títulos, cabecera, botones y cierre; las viñetas del cómic conservan su letra */
.story .cap,.story .beat .cap{font-family:"Spinosa Sans",Helvetica,Arial,sans-serif}
.story .cover h1{font-weight:400;letter-spacing:-.035em}
.story .cover h1 em{font:italic 500 1.05em/.92 var(--serif);letter-spacing:-.01em}
.story .cover-kick,.story .cover-hint{font-family:var(--sans)}
.story .red-line{font-weight:400;letter-spacing:-.035em}
.story .end h2{font:500 clamp(80px,12vw,200px)/.85 var(--serif);letter-spacing:-.01em}
.story .end-copy p{font:400 clamp(22px,2vw,28px)/1.3 var(--serif)}
/* El punto de la i, morado como en la etiqueta, algo más claro para que se vea sobre el fondo oscuro */
.story .i-dot::after{background:#9d80b3}
.story .enter .text-link{color:inherit}
