:root{color-scheme:dark;--red:#9d383c;--white:#f6f2ed;--muted:#d1c7c4;--header-h:76px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;background:#141113;color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #f6b9b4;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:white;color:black;padding:14px}.skip-link:focus{top:16px}.preview-banner{position:fixed;z-index:105;top:0;left:0;right:0;text-align:center;padding:5px 10px;font:600 10px/1.2 Arial,sans-serif;letter-spacing:.16em;background:#401d24;color:#fff}.header{position:fixed;z-index:100;top:22px;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,85px);background:linear-gradient(180deg,rgba(13,11,14,.85),rgba(13,11,14,.1));transition:background .3s}.header.is-scrolled{background:rgba(16,13,16,.91);backdrop-filter:blur(12px)}.brand{text-decoration:none;font:italic 600 clamp(21px,2.3vw,32px)/.9 Georgia,serif;letter-spacing:.02em;white-space:nowrap}.brand span{display:block;text-align:center;font:700 9px/1 Arial,sans-serif;letter-spacing:.4em;margin-top:11px;color:#e2c9c7}.main-menu{display:flex;align-items:center;gap:clamp(12px,2vw,33px)}.main-menu a{text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.13em;position:relative;padding:10px 0;transition:color .2s}.main-menu a:hover,.main-menu a[aria-current="location"]{color:#f0aaa9}.main-menu a::after{content:"";position:absolute;height:1px;bottom:4px;left:0;right:100%;background:var(--red);transition:right .25s}.main-menu a:hover::after{right:0}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid #a88d8d;border-radius:5px;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:4px}.screen{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;scroll-snap-align:start;display:flex;align-items:center;overflow:hidden;padding:calc(var(--header-h) + 50px) clamp(30px,8vw,130px) 85px}.photo-layer,.screen-overlay{position:absolute;inset:0;pointer-events:none}.photo-layer{z-index:-2;background-size:cover;background-position:center;background-repeat:no-repeat}.screen-overlay{z-index:-1;background:linear-gradient(90deg,rgba(9,7,11,.87),rgba(17,10,17,.56) 60%,rgba(10,8,12,.76))}.photo-layer--hero{background-image:linear-gradient(110deg,#1a1017,#35232c 40%,#171018 70%,#0c0c11)}.photo-layer--novel{background-image:radial-gradient(ellipse at 77% 55%,#66454c 0%,#35282e 35%,#100e13 80%)}.photo-layer--characters{background-image:linear-gradient(130deg,#120f14,#45333d 58%,#150e16)}.photo-layer--genesis{background-image:radial-gradient(ellipse at 70% 40%,#4e3e42,#251920 55%,#120d12)}.photo-layer--reviews{background-image:linear-gradient(125deg,#1e171e,#433038,#140f16)}.screen--hero .screen-overlay{background:radial-gradient(ellipse at 68% 50%,transparent,rgba(10,8,13,.53) 75%)}.screen:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.23;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 1px,transparent 4px);pointer-events:none}.hero-layout{width:100%;max-width:1420px;margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);align-items:center;gap:clamp(15px,5vw,75px)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.3em;color:#e9a7a8;text-transform:uppercase;margin:0 0 24px}.hero-copy h1{margin:0;max-width:780px;font:400 clamp(58px,7.5vw,124px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.065em;text-wrap:balance}.hero-copy h1 em{display:block;font-weight:400;color:#fff2ef}.intro{font:400 clamp(16px,1.5vw,22px)/1.6 Georgia,serif;color:var(--muted);max-width:540px;margin:27px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.pill{border:1px solid rgba(255,255,255,.7);border-radius:0;min-height:43px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:#fff;background:rgba(10,10,12,.22);cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .22s}.pill:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}.pill--solid{background:var(--red);border-color:var(--red)}.pill--solid:hover{background:#b84e52}.prototype-note,.small-note,.book-hint{font:12px/1.5 Arial,sans-serif;color:#bbaeb2;letter-spacing:.04em}.prototype-note{margin-top:24px}.book-area{display:grid;justify-items:center;gap:10px;padding-top:16px}.book-stage{width:min(100%,440px);height:clamp(330px,45vw,530px);display:grid;place-items:center;perspective:1400px}.book-3d{position:relative;width:clamp(190px,20vw,270px);height:clamp(290px,30vw,390px);transform-style:preserve-3d;transform:rotateY(var(--book-y)) rotateX(6deg);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(18px 25px 18px rgba(0,0,0,.45));--depth:24px}.book-face{position:absolute;backface-visibility:hidden;overflow:hidden}.book-front,.book-back{inset:0;border:1px solid rgba(236,203,193,.46);box-shadow:inset 0 0 22px #0008}.book-front{background:linear-gradient(145deg,#4f2331,#24111b 55%,#77515b);transform:translateZ(calc(var(--depth) / 2));display:grid;place-items:center}.book-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.book-fallback{display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;height:100%;padding:30px 10px 40px;font-family:Georgia,serif}.book-fallback strong{font-size:clamp(25px,3vw,38px);line-height:1.08;letter-spacing:.05em}.book-fallback small{font:700 11px Arial,sans-serif;letter-spacing:.23em}.book-fallback>span{font:10px Arial,sans-serif;letter-spacing:.28em}.book-back{transform:rotateY(180deg) translateZ(calc(var(--depth) / 2));background:#25141b;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;font:26px Georgia,serif;text-align:center}.book-back small{font-size:12px;letter-spacing:.2em}.book-spine{width:var(--depth);height:100%;left:50%;margin-left:calc(var(--depth) / -2);background:#3a1f2b;transform:rotateY(-90deg) translateZ(calc(clamp(190px,20vw,270px) / 2));display:flex;align-items:center;justify-content:center}.book-spine span{writing-mode:vertical-rl;font:8px Georgia,serif;white-space:nowrap;letter-spacing:.14em}.book-pages{width:var(--depth);height:100%;left:50%;margin-left:calc(var(--depth) / -2);background:repeating-linear-gradient(90deg,#d9ccbe,#d9ccbe 1px,#f8f0e5 2px);transform:rotateY(90deg) translateZ(calc(clamp(190px,20vw,270px) / 2))}.book-controls{display:flex;align-items:center;gap:15px}.book-controls span{font:11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;min-width:150px;text-align:center}.rotation-button{width:40px;height:40px;border:1px solid #d5b5b7;border-radius:50%;background:transparent;color:#fff;font-size:24px;cursor:pointer;transition:background .2s}.rotation-button:hover{background:var(--red)}.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;font-size:10px;letter-spacing:.19em;white-space:nowrap;color:#d8bfc1}.scroll-cue b{font-size:26px;font-weight:400}.section-dots{position:fixed;z-index:110;top:50%;right:clamp(13px,2vw,30px);transform:translateY(-50%);display:flex;flex-direction:column;gap:19px}.section-dots a{width:24px;height:24px;display:grid;place-items:center;text-decoration:none}.section-dots span{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #ffffff70;transition:background .2s,transform .2s,box-shadow .2s}.section-dots a:hover span{transform:scale(1.35)}.section-dots a.is-active span{background:#ae343a;box-shadow:0 0 0 2px #ae343a,0 0 0 5px #ffffff50}.content-layout{max-width:800px}.content-layout h2,.characters-content h2{font:400 clamp(50px,6.4vw,92px)/1.03 Georgia,serif;letter-spacing:-.055em;margin:0 0 29px;text-wrap:balance}.content-layout>p:not(.eyebrow):not(.small-note){font:clamp(19px,2vw,26px)/1.55 Georgia,serif;color:#e3d8da;max-width:720px}.text-link{font:700 12px Arial,sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;display:inline-block;margin-top:22px;padding-bottom:7px;border-bottom:1px solid #d59596}.text-link:hover{color:#f0b9b8}.characters-content{width:100%;max-width:1200px;margin:auto}.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:50px 0 25px}.character-grid article{border-top:1px solid #d7b9ba;padding:25px 10px 0 0}.character-grid article span{font:12px Arial,sans-serif;color:#df8f91}.character-grid h3{font:400 clamp(30px,3vw,48px) Georgia,serif;margin:20px 0 12px}.character-grid p{color:#ded0d3;font:14px Arial,sans-serif;letter-spacing:.08em}.footer{position:absolute;left:clamp(30px,8vw,130px);right:clamp(30px,8vw,130px);bottom:26px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:11px;color:#d0c3c6}.footer div{display:flex;flex-wrap:wrap;gap:18px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:translateY(0)}.info-dialog{width:min(480px,calc(100vw - 36px));border:1px solid #b79598;padding:35px;background:#241b22;color:#fff;box-shadow:0 24px 80px #000b}.info-dialog::backdrop{background:#060307bb;backdrop-filter:blur(5px)}.info-dialog h2{font:36px Georgia,serif;margin:0 0 18px}.info-dialog p:not(.eyebrow){line-height:1.7;color:#ddd0d3}.dialog-close{position:absolute;top:10px;right:14px;color:#fff;background:transparent;border:0;font-size:32px;cursor:pointer}@media(max-width:900px){.header{padding:0 27px}.menu-toggle{display:block}.main-menu{position:absolute;left:0;right:0;top:var(--header-h);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 25px;background:#1b141b;box-shadow:0 16px 25px #0009}.main-menu.is-open{display:flex}.main-menu a{padding:16px 0;border-bottom:1px solid #ffffff20}.screen{padding-inline:clamp(28px,7vw,60px)}.hero-layout{grid-template-columns:1fr 270px;gap:15px}.hero-copy h1{font-size:clamp(50px,8vw,78px)}}@media(max-width:700px){html{scroll-snap-type:none}.screen{min-height:100svh;padding:128px 26px 92px}.hero-layout{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(56px,13.5vw,85px)}.eyebrow{margin-bottom:18px}.intro{margin:20px 0}.book-stage{height:310px}.book-3d{width:180px;height:262px}.book-spine{transform:rotateY(-90deg) translateZ(90px)}.book-pages{transform:rotateY(90deg) translateZ(90px)}.section-dots{right:7px;gap:13px}.section-dots a{width:19px;height:19px}.section-dots span{width:6px;height:6px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px;margin-top:35px}.footer{position:static;margin-top:45px}.screen--reviews{display:block}.content-layout h2,.characters-content h2{font-size:clamp(44px,11vw,65px)}.content-layout>p:not(.eyebrow):not(.small-note){font-size:19px}.scroll-cue{bottom:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* ===== V2: cabecera en dos niveles, sin enlaces a la web antigua ===== */
.header{height:112px;align-items:flex-start;padding-top:15px;gap:20px}
.header .brand{margin-top:14px;flex-shrink:0}
.header-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;min-width:0}
.main-menu{gap:clamp(8px,1.35vw,19px);flex-wrap:wrap;justify-content:flex-end}
.main-menu a,.main-menu button{font:700 10px/1.3 Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase;text-decoration:none;color:#fff;background:none;border:0;padding:7px 0;cursor:pointer;white-space:nowrap}
.main-menu button:hover,.main-menu button:focus-visible{color:#f0aaa9}
.header-actions{display:flex;justify-content:flex-end;gap:9px}
.header-action-button{padding:8px 13px;min-height:32px;font-size:10px;letter-spacing:.09em}
.screen{padding-top:175px}
/* Foto original aportada por el autor; presencia tenue bajo una capa de oscurecimiento */
.photo-layer--hero,.photo-layer--characters{background-image:url('../img/fondo-sala-ensayos.png');background-position:center center}
.screen--novel .screen-overlay{background:linear-gradient(90deg,rgba(14,10,15,.90),rgba(18,12,18,.70),rgba(14,10,15,.78))}
.screen--characters .screen-overlay{background:linear-gradient(90deg,rgba(14,10,15,.85),rgba(18,12,18,.72),rgba(14,10,15,.83))}
.action-dialog{width:min(620px,calc(100vw - 36px));max-height:85dvh;overflow:auto}
.buy-panel{display:grid;gap:12px}.buy-panel h3{font:24px Georgia,serif;margin:8px 0 4px}
.buy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.buy-panel button{min-height:52px;padding:10px;background:#382a32;border:1px solid #8a656b;color:#fff;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:4px}
.buy-panel button:disabled{opacity:.68;cursor:not-allowed}.buy-panel small{font-size:11px;color:#e6ccd0}
.action-dialog form{display:grid;gap:10px;margin:20px 0}.action-dialog label{font-size:13px;font-weight:700}
.action-dialog input{padding:13px;background:#fff;color:#242024;border:0;border-radius:0}
.action-dialog form button{justify-self:start}.action-dialog form button:disabled,.action-dialog input:disabled{opacity:.6;cursor:not-allowed}
.dialog-note{font-size:13px!important;color:#c9b8bd!important}
.footer-pending{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}
@media(max-width:1050px){.header{align-items:center;height:var(--header-h);padding-top:0}.header .brand{margin:0}.header-right{display:block;margin-left:auto}.menu-toggle{display:block;order:3;margin-left:12px}.main-menu{position:absolute;left:0;right:0;top:var(--header-h);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 25px;background:#1b141b;box-shadow:0 16px 25px #0009;max-height:75dvh;overflow-y:auto}.main-menu.is-open{display:flex}.main-menu a,.main-menu button{padding:12px 0;border-bottom:1px solid #ffffff20;text-align:left}.header-actions{gap:5px}.header-action-button{font-size:9px;padding:7px 8px}.screen{padding-top:145px}}
@media(max-width:600px){.brand{font-size:20px}.header{padding-inline:14px;gap:5px}.header-actions{position:fixed;top:calc(22px + var(--header-h));right:12px;z-index:99}.header-action-button{background:rgba(20,13,20,.78);border-color:#ad9090}.buy-options{grid-template-columns:1fr}.screen{padding-top:170px}}

/* ===== V3: sala de ensayos exclusivamente en desplazamientos 1 y 3 =====
   Cada pantalla ocupa como mínimo la altura completa del navegador.
   La foto cubre todo el lienzo detrás de textos y navegación. */
.screen{min-height:100vh;min-height:100svh}
.photo-layer--hero,.photo-layer--characters{
  background-image:url('../img/fondo-sala-ensayos.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
/* 2, 4 y 5: fondos propios, sin foto de la sala */
.photo-layer--novel{background-image:radial-gradient(ellipse at 77% 55%,#66454c 0%,#35282e 35%,#100e13 80%)}
.photo-layer--genesis{background-image:radial-gradient(ellipse at 70% 40%,#4e3e42,#251920 55%,#120d12)}
.photo-layer--reviews{background-image:linear-gradient(125deg,#1e171e,#433038,#140f16)}
/* Misma presencia visual, con sombreado suave para que se lea el texto. */
.screen--hero .screen-overlay{background:linear-gradient(90deg,rgba(13,9,15,.63),rgba(16,11,17,.50) 55%,rgba(12,9,15,.64))}
.screen--characters .screen-overlay{background:linear-gradient(90deg,rgba(13,9,15,.70),rgba(16,11,17,.51) 55%,rgba(12,9,15,.68))}
/* La cabecera flota sobre la foto: no se crea una franja opaca. */
.header,.header.is-scrolled{background:linear-gradient(to bottom,rgba(13,10,15,.53),rgba(13,10,15,.15) 77%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}

/* ===== FONDO GENERAL: SVG ORIGINAL, BASE CLARA =====
   ÚNICO bloque de control del fondo. No se usa el WebP provisional.
   El SVG suministra su propio canal alfa: no se oscurece con otro velo.
*/
:root {
  color-scheme: light;
  --background-texture: url("../img/fondo-ondulaciones-original.svg");
  --background-base: #eef0f0;
  --background-texture-size: cover;
  --photo-opacity: .20;
  --white: #26252a;
  --muted: #414046;
}
/* El SVG se dibuja UNA sola vez, en el elemento raíz.
   El body y las secciones son transparentes: no duplican el patrón. */
html {
  background-color: var(--background-base);
  background-image: var(--background-texture);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: var(--background-texture-size);
  background-attachment: fixed;
}
body {
  background: transparent;
}
.screen { background: transparent; }
body::before, .screen::before, .screen::after { display: none; }
.photo-layer--novel, .photo-layer--genesis, .photo-layer--reviews {
  background: none;
}
.photo-layer--hero, .photo-layer--characters {
  background-image: url("../img/fondo-sala-ensayos.png");
  background-size: cover;
  /* Recorte moderado: conserva la ventana y oculta parte de las vigas.
     Mantiene el mismo criterio al cambiar el tamaño del navegador. */
  background-position: center top;
  background-repeat: no-repeat;
  opacity: var(--photo-opacity);
  transform: scale(1.25);
  transform-origin: 50% 45%;
  filter: grayscale(.45) saturate(.65) brightness(1.10) contrast(.96);
}
/* Sin velo gris/negro sobre la textura ni sobre las fotografías. */
.screen .screen-overlay,
.screen--hero .screen-overlay,
.screen--characters .screen-overlay,
.screen--novel .screen-overlay {
  background: transparent;
}
/* Cabecera sin banda oscura: se ve el mismo fondo de toda la web. */
.header, .header.is-scrolled {
  top: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
/* Legibilidad sobre la base clara: únicamente colores, no geometría. */
body, .header, .main-menu a, .main-menu button,
.brand, .hero-copy h1 em, .content-layout h2, .characters-content h2,
.book-controls span, .scroll-cue, .rotation-button {
  color: #26252a;
}
.intro, .content-layout > p:not(.eyebrow):not(.small-note),
.character-grid p, .small-note, .book-hint, .footer {
  color: #414046;
}
.pill, .header-action-button {
  color: #29272c;
  background: rgba(255,255,255,.30);
  border-color: rgba(48,42,49,.55);
}
.pill:hover, .pill--solid, .header-action-button:hover {
  color: #fff;
  background: var(--red);
  border-color: var(--red);
}
.section-dots span {
  background: #fff;
  box-shadow: 0 0 0 1px #76717b;
}
.menu-toggle { color: #26252a; border-color: #716d72; }
.menu-toggle span { background: #26252a; }
.preview-banner, .prototype-note { display: none !important; }
@media (max-width: 1050px) {
  .main-menu { background: #e6e8e8; }
}
@media (max-width: 600px) {
  /* Se mantiene el fondo único también en pantallas pequeñas. */
  .header-actions { top: var(--header-h); }
}


/* ===== Título principal: letras con movimiento independiente ===== */
.hero-copy h1 {
  letter-spacing: .012em;
  text-wrap: normal;
  overflow: visible;
}
.hero-copy h1 em {
  font-style: normal;
}
.hero-copy h1 .animated-word {
  display: inline-block;
  white-space: nowrap;
}
.hero-copy h1 .animated-letter,
.hero-subtitle .animated-letter {
  display: inline-block;
  position: relative;
  font-style: normal;
  font-kerning: normal;
  will-change: transform;
  transform: translate3d(0, calc(var(--lift, 0) * -1px), 0) skewX(calc(var(--tilt, 0) * -1deg));
  transition: transform 230ms cubic-bezier(.2,.7,.2,1);
}
.hero-subtitle {
  display: inline-block;
  letter-spacing: .23em;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .hero-copy h1 .animated-letter, .hero-subtitle .animated-letter {
    transform: none !important;
    will-change: auto;
  }
}
/* Conserva las dos líneas del título original. */
.hero-copy h1 .animated-word:nth-child(2) { display: block; }



/* ===== Libro 3D, version comprobable: tapas, lomo, canto y hojas ===== */
.hero-layout{grid-template-columns:minmax(0,1fr) minmax(430px,1.03fr);gap:clamp(10px,2.4vw,32px)}
.book-area{justify-items:center;margin-left:clamp(-110px,-6vw,-35px);padding-top:0;gap:5px;min-width:0}
.book-stage{width:min(100%,650px);height:clamp(490px,49vw,655px);position:relative;display:grid;place-items:center;perspective:1600px;overflow:visible;isolation:isolate}
.book-stage .book-3d{
 --bw:clamp(282px,27vw,382px);
 --bh:clamp(412px,37vw,525px);
 --depth:clamp(44px,3.8vw,56px);
 width:var(--bw);height:var(--bh);position:relative;
 transform:rotateX(5deg) rotateY(var(--book-y));
 transform-style:preserve-3d;
 /* IMPORTANTE: filter, opacity inferior a 1 y overflow:hidden APLANAN un contenedor 3D. */
 filter:none !important;
 overflow:visible;
 transition:transform 950ms cubic-bezier(.22,.75,.24,1);
 z-index:3;pointer-events:none;
}
.book-stage .book-face{position:absolute;display:block;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.book-stage .book-front,.book-stage .book-back{inset:0;width:var(--bw);height:var(--bh);border-radius:2px;border:2px solid rgba(60,21,36,.54)}
.book-stage .book-front{transform:translateZ(calc(var(--depth) / 2));background:#542735;box-shadow:inset 0 0 9px #32141d88,10px 15px 20px #25151b36}
.book-stage .book-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.book-stage .book-back{
 transform:rotateY(180deg) translateZ(calc(var(--depth) / 2));
 background:#7a2e2e !important;color:#fffaf6 !important;
 padding:clamp(17px,1.5vw,23px);
 padding-top:clamp(46px,calc(2.4vw + 20px),54px);
 box-shadow:inset 0 0 15px #34151e65,7px 13px 19px #30191d2b;
}
.book-stage .book-biography{width:100%;height:100%;overflow:hidden;color:#fffaf6;text-align:left;font:clamp(11px,calc(1.04vw + 1px),14px)/1.24 Georgia,'Times New Roman',serif}
.book-stage .book-biography h2{color:#fffaf6;font:700 clamp(16px,calc(1.36vw + 1px),21px)/1.17 Georgia,serif;margin:0 0 .75em}
.book-stage .book-biography h2 small{font-size:.7em;font-weight:400;white-space:nowrap}
.book-stage .book-biography p{color:#fffaf6;margin:0 0 .49em}
/* Lomo a la izquierda del volumen; aparece en el tercer giro hacia la derecha. */
.book-stage .book-spine{
 width:var(--depth);height:var(--bh);top:0;left:50%;margin-left:calc(var(--depth) / -2);
 transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));
 background:linear-gradient(90deg,#431c28,#6e3543 18%,#874853 50%,#5a2534 86%,#3e1928);
 border-inline:2px solid #4c2231;
 box-shadow:inset 5px 0 7px #220d183d,inset -4px 0 7px #220d183d;
 display:flex;align-items:center;justify-content:center;
}
.book-stage .book-spine span{writing-mode:vertical-rl;transform:rotate(180deg);color:#fff4ed;font:700 clamp(9px,.82vw,12px)/1 Georgia,serif;letter-spacing:.16em;white-space:nowrap;text-shadow:0 1px 2px #240a18}
/* Canto a la derecha del volumen; aparece en el primer giro hacia la derecha. */
.book-stage .book-pages{
 width:var(--depth);height:calc(var(--bh) - 10px);top:5px;left:50%;margin-left:calc(var(--depth) / -2);
 transform:rotateY(90deg) translateZ(calc(var(--bw) / 2));
 background:repeating-linear-gradient(90deg,#eee3d6 0px,#fff8ec 1px,#cfc0b2 2px,#f8f0e5 3px,#dbcbbd 4px);
 border-inline:2px solid #a27e80;
 box-shadow:inset 0 0 11px #69545352;
}
.book-stage .book-top,.book-stage .book-bottom{
 width:calc(var(--bw) - 10px);height:var(--depth);top:50%;left:5px;margin-top:calc(var(--depth) / -2);
 background:repeating-linear-gradient(0deg,#ddd0c2 0px,#fff8ec 1px,#d4c6b7 2px,#f8eee1 3px);
 border-left:1px solid #9b7779;border-right:1px solid #9b7779;
}
.book-stage .book-top{transform:rotateX(90deg) translateZ(calc(var(--bh) / 2 - 5px))}
.book-stage .book-bottom{transform:rotateX(-90deg) translateZ(calc(var(--bh) / 2 - 5px))}
/* Apertura independiente: no se modifica la sinopsis aprobada. */
.book-open{position:absolute;z-index:5;top:50%;left:50%;width:min(840px,calc(100vw - 50px));height:clamp(380px,39vw,500px);transform:translate(-50%,-50%) scale(.6) rotateX(8deg);transform-origin:center;opacity:0;visibility:hidden;pointer-events:none;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .38s,visibility 0s linear .75s;filter:drop-shadow(16px 26px 26px #291b223f)}
.book-open-spread{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;position:relative;transform-style:preserve-3d;perspective:1400px}
.book-open-spread::after{content:"";position:absolute;left:calc(50% - 6px);top:0;bottom:0;width:12px;background:linear-gradient(90deg,#4b3a3c55,#fff6e766 50%,#44363955);pointer-events:none;z-index:2}
.book-paper{min-width:0;overflow:auto;padding:clamp(16px,2.2vw,28px);background:#f5eee3;color:#33272a;font:clamp(12px,1.04vw,15px)/1.45 Georgia,serif;scrollbar-width:thin}
.book-paper p{margin:0 0 .75em}
.book-paper--left{border-radius:5px 0 0 5px;box-shadow:inset -12px 0 18px #66555126, -6px 10px 16px rgba(54,36,41,.08);transform-origin:right center;transform:rotateY(5deg)}
.book-paper--right{border-radius:0 5px 5px 0;box-shadow:inset 12px 0 18px #66555126, 6px 10px 16px rgba(54,36,41,.08);transform-origin:left center;transform:rotateY(-5deg)}
.book-stage.is-open{z-index:12}
.book-stage.is-open .book-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1) rotateX(5deg);transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .38s,visibility 0s}
/* Ocultamos el prisma con visibility, sin alterar su geometria 3D al volver. */
.book-stage.is-open .book-3d{visibility:hidden}
.book-controls{width:100%;justify-content:center;gap:15px}
.book-controls span{min-width:175px;text-align:center}
@media(max-width:1100px){.hero-layout{grid-template-columns:minmax(0,.94fr) minmax(320px,1fr)}.book-area{margin-left:-35px}.book-stage{height:520px}.book-stage .book-3d{--bw:290px;--bh:420px;--depth:43px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr 310px}.book-stage{height:410px}.book-stage .book-3d{--bw:230px;--bh:337px;--depth:35px}.book-open{width:min(690px,calc(100vw - 35px));height:390px}}
@media(max-width:700px){.hero-layout{grid-template-columns:1fr}.book-area{margin-left:0}.book-stage{height:345px}.book-stage .book-3d{--bw:192px;--bh:278px;--depth:29px}.book-open{width:min(96vw,560px);height:330px;transform:translate(-50%,-50%) scale(.68) rotateX(6deg)}.book-stage.is-open .book-open{transform:translate(-50%,-50%) scale(1) rotateX(3deg)}.book-paper{font:11px/1.35 Georgia,serif;padding:12px}.book-stage .book-back{padding-top:19px}.book-stage .book-biography{font:7.6px/1.18 Georgia,serif}.book-stage .book-biography h2{font-size:12.5px}.book-controls span{min-width:0}}
@media(prefers-reduced-motion:reduce){.book-stage .book-3d,.book-open,.book-stage.is-open .book-open{transition:none}}

/* Ajuste de sinopsis, 17-10-2026: desplazamiento vertical +20px y letra +2px. */
.book-stage .book-paper{
  padding-top:calc(clamp(16px,2.2vw,28px) + 20px);
  font-size:clamp(14px,calc(1.04vw + 2px),17px);
}
@media(max-width:700px){
  .book-stage .book-paper{font-size:13px;line-height:1.35;padding:32px 12px 12px}
}

/* Ajuste editorial de la doble pagina: mas aire sin modificar su apertura. */
.book-stage .book-paper{
  padding-top:calc(clamp(16px,2.2vw,28px) + 32px);
  padding-bottom:clamp(25px,2.7vw,38px);
}
.book-stage .book-paper--left{
  padding-left:clamp(30px,3.2vw,44px);
  padding-right:clamp(34px,3.6vw,48px);
}
.book-stage .book-paper--right{
  padding-left:clamp(34px,3.6vw,48px);
  padding-right:clamp(30px,3.2vw,44px);
}
@media(max-width:700px){
  .book-stage .book-paper{padding-top:40px;padding-bottom:18px}
  .book-stage .book-paper--left{padding-left:18px;padding-right:20px}
  .book-stage .book-paper--right{padding-left:20px;padding-right:18px}
}


/* ===== Afinado de legibilidad de la portada y la cabecera - 18/10/2026 ===== */
:root { --burgundy-ui: #7a2e2e; }

/* Epígrafe: una línea en escritorio, ligeramente más abajo. */
.screen--hero .hero-copy .intro {
  margin-top: 42px;
  margin-bottom: 18px;
  max-width: none;
  width: max-content;
  font-size: clamp(15px, 1.06vw, 18px);
  line-height: 1.5;
  white-space: nowrap;
}

/* Subtítulo con dos píxeles más, color negro y leve desplazamiento a la derecha.
   El script independiente de las letras sigue aplicando el burdeos al acercar el ratón. */
.screen--hero .hero-subtitle {
  color: #26252a;
  font-size: 13px;
  margin-left: 17px;
  transition: color .25s ease;
}
.screen--hero .hero-subtitle:hover { color: var(--burgundy-ui); }

/* ESCRITOR: color negro, un píxel más y hover burdeos. */
.header .brand span {
  color: #26252a;
  font-size: 10px;
  transition: color .22s ease;
}
.header .brand:hover span,
.header .brand:focus-visible span { color: var(--burgundy-ui); }

/* Menú superior: dos píxeles más; estado actual y hover burdeos legible. */
.header .main-menu a,
.header .main-menu button {
  color: #26252a;
  font-size: 12px;
  transition: color .22s ease;
}
.header .main-menu a:hover,
.header .main-menu button:hover,
.header .main-menu a[aria-current="location"],
.header .main-menu a:focus-visible,
.header .main-menu button:focus-visible {
  color: var(--burgundy-ui);
}
.header .main-menu a::after { background: var(--burgundy-ui); }

/* En dispositivos estrechos no se fuerza un desbordamiento horizontal. */
@media (max-width: 1050px) {
  .screen--hero .hero-copy .intro {
    width: auto;
    max-width: 100%;
    white-space: normal;
  }
}


/* ===== Retoque epigrafe y menu uniforme - 18/10/2026 ===== */
/* Tres pixeles mas abajo y dos pixeles mas grande, sin cambiar el texto. */
.screen--hero .hero-copy .intro {
  margin-top: 45px;
  font-size: clamp(17px, calc(1.06vw + 2px), 20px);
}

/* Inicio y los demas elementos permanecen negros en reposo.
   Todos los enlaces Y botones comparten el mismo subrayado en hover/foco. */
.header .main-menu a,
.header .main-menu button,
.header .main-menu a[aria-current="location"] {
  color: #26252a;
}
.header .main-menu a,
.header .main-menu button {
  position: relative;
  text-decoration: none;
}
.header .main-menu a::after,
.header .main-menu button::after {
  content: "";
  position: absolute;
  height: 1px;
  left: 0;
  right: 100%;
  bottom: 4px;
  background: var(--burgundy-ui);
  transition: right .25s ease;
  pointer-events: none;
}
.header .main-menu a:hover,
.header .main-menu button:hover,
.header .main-menu a:focus-visible,
.header .main-menu button:focus-visible,
.header .main-menu a[aria-current="location"]:hover {
  color: var(--burgundy-ui);
}
.header .main-menu a:hover::after,
.header .main-menu button:hover::after,
.header .main-menu a:focus-visible::after,
.header .main-menu button:focus-visible::after {
  right: 0;
}


/* ===== Ajuste puntual: sinopsis y biografía - 18/10/2026 ===== */
/* Justificado editorial de los párrafos, con partición de palabras en español. */
.book-stage .book-paper p,
.book-stage .book-biography p {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* Solo la doble página abierta pierde 10px de anchura por cada lado. */
.book-stage .book-open {
  width: min(820px, calc(100vw - 70px));
}
@media (max-width: 900px) {
  .book-stage .book-open { width: min(670px, calc(100vw - 55px)); }
}
@media (max-width: 700px) {
  .book-stage .book-open { width: min(calc(96vw - 20px), 540px); }
}


/* ==== Pantalla 02: reseñas dinámicas. No modifica la portada ni el libro. ==== */
.screen--reviews{display:flex;align-items:center;justify-content:center;padding-inline:0;background:#e9e6e2;color:#26252a}
.screen--reviews .photo-layer--reviews{background:linear-gradient(105deg,#dadfdf 0%,#e5e7e6 36%,#e3e5e4 70%,#d8dfdf 100%)}
.screen--reviews .screen-overlay{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05))}
.screen--reviews::after{opacity:.12}
.reviews-showcase{width:100%;max-width:1900px;margin:auto;padding:18px 0 12px}
.reviews-kicker{color:#7a2e2e;text-align:center;margin:0 0 9px}
.reviews-showcase h2{color:#26252a;text-align:center;font:400 clamp(44px,5.4vw,76px)/1.08 Georgia,serif;letter-spacing:-.055em;margin:0 0 clamp(26px,4vh,46px)}
.reviews-window{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 clamp(22px,4vw,68px) 22px}
.reviews-window::-webkit-scrollbar{display:none}
.reviews-track{display:flex;align-items:stretch;gap:18px;min-height:270px;width:max-content;max-width:none}
.review-card{flex:0 0 clamp(252px,21vw,330px);width:clamp(252px,21vw,330px);height:clamp(275px,34vh,350px);scroll-snap-align:start;background:#f9f0df;border:1px solid rgba(119,80,63,.15);border-radius:10px;box-shadow:0 8px 22px #554b4222;display:flex;flex-direction:column;padding:23px 21px;color:#3c3130}
.review-card h3{margin:0 0 14px;color:#7a3a38;font:400 clamp(19px,1.6vw,24px)/1.13 Georgia,serif;letter-spacing:-.03em}
.review-card__body{font:14px/1.55 Georgia,serif;color:#4b4240;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;overflow-wrap:anywhere}
.review-card__body p{margin:0 0 .65em}.review-card__body a{color:#7a2e2e}
.review-card__byline{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.025em;margin:15px 0 0;color:#655754}
.review-card__date{font:10px/1.4 Arial,sans-serif;color:#796d67;margin-top:2px}
.review-card__source{font:10px/1.5 Arial,sans-serif;color:#7a2e2e;margin-top:5px;text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.reviews-status{font:16px/1.6 Georgia,serif;text-align:center;color:#5c4645;min-width:min(80vw,640px);padding:50px 20px}
.reviews-bottom{margin:10px clamp(22px,4vw,68px) 0;min-height:50px;border-top:1px solid #a79e96;display:flex;align-items:center;justify-content:space-between;gap:22px}
.reviews-count{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#645756}
.reviews-arrows{display:flex;align-items:center;gap:9px}.reviews-arrows button{border:1px solid #7a2e2e;border-radius:50%;width:37px;height:37px;color:#7a2e2e;background:transparent;font-size:19px;cursor:pointer;transition:background .2s,color .2s}
.reviews-arrows button:hover:not(:disabled),.reviews-arrows button:focus-visible{background:#7a2e2e;color:white}
.reviews-arrows button:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.screen--reviews{padding:118px 0 60px;min-height:100svh}.reviews-showcase h2{margin-bottom:26px}.reviews-window{padding-inline:24px}.review-card{flex-basis:min(82vw,320px);width:min(82vw,320px);height:370px}.reviews-bottom{margin-inline:24px}.reviews-track{gap:14px}}

/* ==== Pantalla 02: reseñas dinámicas. No modifica la portada ni el libro. ==== */
.screen--reviews{display:flex;align-items:center;justify-content:center;padding-inline:0;background:#e9e6e2;color:#26252a}
.screen--reviews .photo-layer--reviews{background:linear-gradient(105deg,#dadfdf 0%,#e5e7e6 36%,#e3e5e4 70%,#d8dfdf 100%)}
.screen--reviews .screen-overlay{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05))}
.screen--reviews::after{opacity:.12}
.reviews-showcase{width:100%;max-width:1900px;margin:auto;padding:18px 0 12px}
.reviews-kicker{color:#7a2e2e;text-align:center;margin:0 0 9px}
.reviews-showcase h2{color:#26252a;text-align:center;font:400 clamp(44px,5.4vw,76px)/1.08 Georgia,serif;letter-spacing:-.055em;margin:0 0 clamp(26px,4vh,46px)}
.reviews-window{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 clamp(22px,4vw,68px) 22px}
.reviews-window::-webkit-scrollbar{display:none}
.reviews-track{display:flex;align-items:stretch;gap:18px;min-height:270px;width:max-content;max-width:none}
.review-card{flex:0 0 clamp(252px,21vw,330px);width:clamp(252px,21vw,330px);height:clamp(275px,34vh,350px);scroll-snap-align:start;background:#f9f0df;border:1px solid rgba(119,80,63,.15);border-radius:10px;box-shadow:0 8px 22px #554b4222;display:flex;flex-direction:column;padding:23px 21px;color:#3c3130}
.review-card h3{margin:0 0 14px;color:#7a3a38;font:400 clamp(19px,1.6vw,24px)/1.13 Georgia,serif;letter-spacing:-.03em}
.review-card__body{font:14px/1.55 Georgia,serif;color:#4b4240;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;overflow-wrap:anywhere}
.review-card__body p{margin:0 0 .65em}.review-card__body a{color:#7a2e2e}
.review-card__byline{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.025em;margin:15px 0 0;color:#655754}
.review-card__date{font:10px/1.4 Arial,sans-serif;color:#796d67;margin-top:2px}
.review-card__source{font:10px/1.5 Arial,sans-serif;color:#7a2e2e;margin-top:5px;text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.reviews-status{font:16px/1.6 Georgia,serif;text-align:center;color:#5c4645;min-width:min(80vw,640px);padding:50px 20px}
.reviews-bottom{margin:10px clamp(22px,4vw,68px) 0;min-height:50px;border-top:1px solid #a79e96;display:flex;align-items:center;justify-content:space-between;gap:22px}
.reviews-count{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#645756}
.reviews-arrows{display:flex;align-items:center;gap:9px}.reviews-arrows button{border:1px solid #7a2e2e;border-radius:50%;width:37px;height:37px;color:#7a2e2e;background:transparent;font-size:19px;cursor:pointer;transition:background .2s,color .2s}
.reviews-arrows button:hover:not(:disabled),.reviews-arrows button:focus-visible{background:#7a2e2e;color:white}
.reviews-arrows button:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.screen--reviews{padding:118px 0 60px;min-height:100svh}.reviews-showcase h2{margin-bottom:26px}.reviews-window{padding-inline:24px}.review-card{flex-basis:min(82vw,320px);width:min(82vw,320px);height:370px}.reviews-bottom{margin-inline:24px}.reviews-track{gap:14px}}

/* Título igual de grande que las demás pantallas */
.screen--reviews .reviews-showcase h2 {font:400 clamp(50px,6.4vw,92px)/1.03 Georgia,serif;letter-spacing:-.055em}
.screen--reviews .reviews-kicker{font-size:11px;letter-spacing:.24em}
.screen--reviews .reviews-window {max-width:100%}
.screen--reviews .review-card {box-sizing:border-box}
@media(max-width:700px){.screen--reviews .reviews-showcase h2{font-size:clamp(44px,11vw,65px)}}


/* Ajuste de espacio y carrusel continuo — 18/10/2026 */
.screen--reviews .reviews-window { scroll-snap-type:none; scroll-behavior:auto; }
.screen--reviews .reviews-track { gap:20px; }
.screen--reviews .review-card {
  flex:0 0 clamp(305px,24vw,385px);
  width:clamp(305px,24vw,385px);
  height:clamp(365px,46vh,430px);
  padding:31px 24px 20px;
  scroll-snap-align:none;
}
.screen--reviews .review-card h3 { margin-bottom:15px; }
.screen--reviews .review-card__body { min-height:0; flex:1 1 auto; }
.screen--reviews .review-card__byline { margin-top:18px; }
.screen--reviews .review-card__date { margin-top:4px; }
.screen--reviews .reviews-track > .review-card { user-select:text; }
@media(max-width:700px){
  .screen--reviews .review-card { flex-basis:min(84vw,350px); width:min(84vw,350px);height:410px;padding:27px 22px 20px; }
}


/* Reseñas: tres tarjetas amplias, menos altura y título sin numeración. */
@media (min-width: 701px) {
  .screen--reviews .review-card {
    flex: 0 0 clamp(430px, 30vw, 500px);
    width: clamp(430px, 30vw, 500px);
    height: clamp(330px, 40vh, 370px);
    padding: 26px 27px 19px;
  }
  .screen--reviews .reviews-track { gap: 20px; }
  .screen--reviews .reviews-showcase h2 { margin-bottom: clamp(26px, 4vh, 42px); }
}
@media (max-width: 700px) {
  .screen--reviews .review-card {
    flex-basis: min(84vw, 350px);
    width: min(84vw, 350px);
    height: 390px;
  }
}

/* Ajuste fino: 20px menos de altura y texto de reseñas justificado. */
.screen--reviews .review-card__body,
.screen--reviews .review-card__body p {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
  -webkit-hyphens: auto;
}
@media (min-width: 701px) {
  .screen--reviews .review-card { height: clamp(310px, calc(40vh - 20px), 350px); }
}
@media (max-width: 700px) {
  .screen--reviews .review-card { height: 370px; }
}


/* Pantalla 03 · Blurb narrativo, sin modificar estilos de las demás pantallas. */
.screen--blurb {
  justify-content:center;
  padding:clamp(130px,16vh,190px) clamp(34px,7vw,120px) 70px;
  background:transparent;
}
.blurb-wrap { width:min(100%,1120px); margin:auto; }
.blurb-text {
  margin:0;
  color:#26252a;
  text-align:center;
  font:400 clamp(39px,5.6vw,89px)/1.12 Georgia,'Times New Roman',serif;
  letter-spacing:-.046em;
  text-wrap:balance;
}
.blurb-text em { font-weight:400; font-style:italic; }
.blurb-text .blurb-word { transition: color .06s linear; }
@media(max-width:700px){
  .screen--blurb{padding:135px 24px 100px;}
  .blurb-text{font-size:clamp(35px,8vw,55px);line-height:1.17;letter-spacing:-.035em;}
}
@media(prefers-reduced-motion:reduce){
  .blurb-text .blurb-word{transition:none!important;color:#26252a!important;}
  .blurb-text em .blurb-word{color:#7a2e2e!important;}
}

/* Blurb: recorrido de scroll real para revelar cada renglón. */
.screen--blurb {
  display:block;
  min-height:185vh;
  min-height:185svh;
  overflow:visible; /* Imprescindible para que sticky funcione */
  padding:0 clamp(34px,7vw,120px);
  scroll-snap-align:start;
}
.screen--blurb .blurb-wrap {
  position:sticky;
  top:0;
  height:100vh;
  height:100svh;
  width:min(100%,1120px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(85px,11vh,125px) 0 30px;
}
.screen--blurb .blurb-text {color:#d7dbdb;}
.screen--blurb .blurb-word {transition:color .14s linear;}
@media (max-width:700px) {
  .screen--blurb {padding:0 24px;}
  .screen--blurb .blurb-wrap {padding:90px 0 30px;}
}
@media (prefers-reduced-motion:reduce) {
  .screen--blurb .blurb-word {transition:none !important;}
}

/* Blurb: estado inicial claro y color de cada línea controlado dentro del HTML. */
.screen--blurb .blurb-text .blurb-word {
  --line-reveal:0;
  color:rgb(calc(218 - 180 * var(--line-reveal)) calc(220 - 183 * var(--line-reveal)) calc(222 - 180 * var(--line-reveal))) !important;
  transition:color .12s linear;
}
.screen--blurb .blurb-text em .blurb-word {
  color:rgb(calc(218 - 96 * var(--line-reveal)) calc(220 - 174 * var(--line-reveal)) calc(222 - 176 * var(--line-reveal))) !important;
}
@media(prefers-reduced-motion:reduce) {
  .screen--blurb .blurb-text .blurb-word {--line-reveal:1;transition:none;}
}

/* APARTADO 4 - LA NOVELA. Solo afecta a esta sección. */
.screen--novel{display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:transparent;color:#26252a;padding:125px 0 75px;min-height:100svh;overflow:hidden;scroll-snap-align:start}
.screen--novel .novel-heading{display:flex;align-items:center;justify-content:space-between;margin:0 auto 25px;width:min(100% - 11vw,1450px)}
.screen--novel .novel-heading h2{margin:0;font:400 clamp(48px,6.4vw,91px)/1.05 Georgia,serif;letter-spacing:-.055em}
.novel-progress,.novel-hint{font:700 11px Arial,sans-serif;letter-spacing:.19em;color:#71323a}
.novel-viewport{width:100%;overflow:hidden;outline-offset:-4px;touch-action:pan-y}
.novel-track{display:flex;align-items:stretch;gap:clamp(20px,3vw,42px);width:max-content;padding:10px max(6vw,calc((100vw - 1450px)/2)) 24px;will-change:transform}
.novel-card{position:relative;flex:0 0 clamp(410px,43vw,660px);width:clamp(410px,43vw,660px);height:clamp(355px,49vh,500px);padding:clamp(29px,3vw,48px);border-radius:17px;background:rgba(255,253,248,.83);border:1px solid rgba(122,46,46,.13);box-shadow:0 17px 37px #3a363127;isolation:isolate;overflow:hidden}
.novel-roman{position:absolute;right:28px;top:5px;font:italic 112px Georgia,serif;color:#7a2e2e13;pointer-events:none}
.novel-symbol{position:relative;z-index:1;font:40px Georgia,serif;color:#7a2e2e}
.novel-body{position:relative;z-index:1;max-width:67%;margin-top:clamp(25px,4vh,47px)}
.novel-card h3{font:400 clamp(35px,3.3vw,57px)/1.1 Georgia,serif;letter-spacing:-.035em;margin:0 0 17px}
.novel-card p{font:clamp(16px,1.15vw,19px)/1.5 Georgia,serif;margin:0;max-width:380px}
.novel-card .novel-topics{font-size:clamp(21px,2vw,31px);line-height:1.3;margin:0 0 12px}
.novel-card img{position:absolute;right:4%;top:50%;transform:translateY(-46%) scale(.94);width:31%;height:86%;max-height:86%;object-fit:contain;object-position:center;opacity:0;transition:opacity .45s,transform .5s;mix-blend-mode:normal;pointer-events:none}
.novel-card:hover img,.novel-card:focus-within img{opacity:1;transform:translateY(-50%) scale(1)}
.novel-hint{width:min(100% - 11vw,1450px);margin:12px auto 0;text-align:right}
@media(max-width:700px){.screen--novel{padding:125px 0 65px}.screen--novel .novel-heading{width:calc(100% - 48px)}.novel-track{padding-inline:24px;gap:16px}.novel-card{flex-basis:min(85vw,440px);width:min(85vw,440px);height:380px;padding:26px}.novel-card h3{font-size:39px}.novel-card p{font-size:16px}.novel-body{max-width:74%}.novel-card img{opacity:.55;width:29%;height:80%;max-height:80%}.novel-hint{width:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){.novel-card img{transition:none}}


/* ===== Los personajes: tarjetas con dos caras ===== */
.screen--characters .characters-content { max-width: 1040px; }
.screen--characters .characters-content h2 {
  margin: 0 0 30px;
  color: #29262a;
  font: 400 clamp(48px, 5.7vw, 80px)/1.08 Georgia, 'Times New Roman', serif;
  letter-spacing: -.045em;
}
.screen--characters .character-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;margin:0;
}
.screen--characters .character-grid .character-card {
  padding:0;margin:0;border:0;min-width:0;height:clamp(320px,40vh,360px);
  perspective:1100px;
}
.screen--characters .character-flip {
  position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:17px;
  background:transparent;color:#3d2a27;cursor:pointer;text-align:left;
}
.screen--characters .character-flip__inner {
  display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;
  transition:transform .72s cubic-bezier(.2,.75,.25,1);
}
@media (hover:hover) and (pointer:fine) {
  .screen--characters .character-card:hover .character-flip__inner {transform:rotateY(180deg)}
}
.screen--characters .character-card.is-flipped .character-flip__inner,
.screen--characters .character-flip:focus-visible .character-flip__inner {transform:rotateY(180deg)}
.screen--characters .character-face {
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;
  padding:25px 23px 23px;border-radius:17px;overflow:hidden;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  box-shadow:0 10px 25px rgba(48,37,38,.12);border:1px solid rgba(112,70,65,.10);
}
.screen--characters .character-card--juan .character-face {background:#f2e1c2}
.screen--characters .character-card--selena .character-face {background:#ead9d8}
.screen--characters .character-card--vicky .character-face {background:#f1d5c4}
.screen--characters .character-card--bruno .character-face {background:#e8d3ba}
.screen--characters .character-face--back {transform:rotateY(180deg)}
.screen--characters .character-instrument,.screen--characters .character-back-title {
  font:700 10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.14em;color:#8b5b48;
}
.screen--characters .character-card--selena .character-instrument,
.screen--characters .character-card--selena .character-back-title {color:#94536a}
.screen--characters .character-name {
  font:400 clamp(35px,3vw,48px)/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;color:#382920;
}
.screen--characters .character-note {font:italic 14px/1.4 Georgia,serif;color:#88594a}
.screen--characters .character-description {
  display:block;font:clamp(14px,1.05vw,16px)/1.48 Georgia,'Times New Roman',serif;
  letter-spacing:0;color:#3c3130;text-align:left;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;max-height:100%;
}
.screen--characters .character-flip:focus-visible {outline:2px solid #7a2e2e;outline-offset:4px}
@media(max-width:800px) {
  .screen--characters .character-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .screen--characters .character-grid .character-card {height:330px}
}
@media(max-width:480px) {
  .screen--characters .characters-content h2 {font-size:clamp(43px,11vw,62px)}
  .screen--characters .character-grid {gap:10px}
  .screen--characters .character-grid .character-card {height:320px}
  .screen--characters .character-face {padding:18px 14px}
  .screen--characters .character-name {font-size:34px}
  .screen--characters .character-description {font-size:12px;line-height:1.38}
}
@media(prefers-reduced-motion:reduce){
 .screen--characters .character-flip__inner {transition:none}
}


/* Ajuste de Los personajes: tarjetas 20 px mas altas y separacion 20 px mayor. */
@media (min-width: 801px) {
  .screen--characters .characters-content { max-width: 1180px; }
  .screen--characters .character-grid { gap: 36px; }
  .screen--characters .character-grid .character-card {
    height: clamp(340px, calc(40vh + 20px), 380px);
  }
}
@media (min-width: 481px) and (max-width: 800px) {
  .screen--characters .character-grid { gap: 22px; }
}


/* ===== Audio de los personajes: solo cara posterior ===== */
.screen--characters .character-audio-bar {
  display:flex;align-items:center;gap:8px;width:100%;min-width:0;
  margin-top:10px;flex-shrink:0;
}
.screen--characters .character-audio-bar > .character-note {
  flex:0 0 auto;white-space:nowrap;margin-right:auto;
}
.screen--characters .character-audio-controls {
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  min-width:0;flex:1;
}
.screen--characters .character-audio-controls button {
  display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;
  padding:3px;border:1px solid rgba(122,46,46,.35);border-radius:50%;
  color:#7a2e2e;background:rgba(255,255,255,.22);cursor:pointer;
}
.screen--characters .character-audio-controls button:hover,
.screen--characters .character-audio-controls button[aria-pressed="true"] {
  background:#7a2e2e;color:#fff;
}
.screen--characters .character-audio-controls svg {height:17px;width:17px;fill:currentColor;}
.screen--characters .character-audio-loop svg {fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.screen--characters .character-audio-volume {
  width:76px;min-width:32px;max-width:90px;flex:1 1 76px;
  accent-color:#7a2e2e;cursor:pointer;touch-action:pan-x;
}
.screen--characters .character-face--back {gap:12px;}
.screen--characters .character-face--back .character-description {flex:1 1 auto;min-height:0;}
.screen--characters .character-face--back .character-back-title {flex-shrink:0;}
@media(max-width:600px) {
  .screen--characters .character-audio-controls {gap:4px;}
  .screen--characters .character-audio-controls button {width:25px;height:25px;flex-basis:25px;}
  .screen--characters .character-audio-volume {width:36px;min-width:26px;}
  .screen--characters .character-audio-bar {gap:4px;}
}


/* ===== Sexta pantalla: La génesis — cuatro lengüetas narrativas ===== */
.screen--genesis {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:100svh;
  height:auto;
  overflow:visible;
  padding-top:clamp(120px,15vh,170px);
  padding-bottom:45px;
  color:#29262a;
}
.screen--genesis .genesis-content {
  width:min(100%,1050px);
  margin:0 auto;
  position:relative;
  z-index:1;
}
.screen--genesis .genesis-content h2 {
  font:400 clamp(50px,6.4vw,92px)/1.03 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;
  color:#26252a;
  margin:0 0 30px;
}
.genesis-stages {display:grid;gap:12px;width:100%;}
.genesis-stage {
  min-width:0;
  border:1px solid rgba(122,46,46,.22);
  border-left:3px solid rgba(122,46,46,.65);
  border-radius:5px;
  background:rgba(251,246,236,.87);
  box-shadow:0 8px 26px rgba(39,30,34,.055);
  color:#29262a;
  animation:genesis-enter .38s ease both;
}
.genesis-stage[hidden], .genesis-stage__body[hidden] {display:none!important;}
.genesis-stage.is-open {background:rgba(253,249,242,.96);border-left-color:#7a2e2e;}
.genesis-stage h3 {margin:0;font:inherit;}
.genesis-stage__heading {
  display:flex;align-items:center;gap:18px;width:100%;min-height:58px;
  padding:15px 24px;background:transparent;border:0;
  font:400 clamp(19px,2vw,26px)/1.25 Georgia,serif;
  color:#3f3234;text-align:left;cursor:pointer;
}
.genesis-stage__heading:hover,.genesis-stage__heading:focus-visible {color:#7a2e2e;}
.genesis-stage__index {font:700 11px/1 Arial,sans-serif;letter-spacing:.12em;color:#7a2e2e;min-width:22px;}
.genesis-stage__chevron {margin-left:auto;color:#7a2e2e;font-size:25px;line-height:1;transition:transform .2s;}
.genesis-stage.is-open .genesis-stage__chevron {transform:rotate(180deg);}
.genesis-stage__body {padding:2px clamp(24px,4.5vw,57px) 23px clamp(24px,4.5vw,57px);}
.genesis-stage__body p {
  font:400 clamp(15px,1.12vw,18px)/1.68 Georgia,'Times New Roman',serif;
  text-align:justify;text-justify:inter-word;hyphens:auto;
  overflow-wrap:break-word;
  color:#40383a;
  margin:0 0 14px;
}
.genesis-stage__body p + p {margin-top:14px;}
.genesis-stage__body p:last-of-type {margin-bottom:20px;}
.genesis-next,.genesis-finale {
  display:inline-flex;align-items:center;gap:12px;
  font:700 11px/1.5 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;
  color:#7a2e2e;
}
.genesis-next {margin-top:2px;padding:6px 0 5px;background:transparent;border:0;border-bottom:1px solid currentColor;cursor:pointer;}
.genesis-next:hover {color:#a04747;}
.genesis-finale {padding:7px 0 5px;cursor:default;}
.screen--genesis .footer {position:relative;left:auto;right:auto;bottom:auto;width:min(100%,1050px);margin:50px auto 0;color:#5f5559;}
@keyframes genesis-enter {from {opacity:0;transform:translateY(12px)} to {opacity:1;transform:translateY(0)}}
@media (max-width:700px) {
  .screen--genesis {padding-top:125px;padding-bottom:35px;}
  .screen--genesis .genesis-content h2 {font-size:clamp(44px,11vw,65px);margin-bottom:23px;}
  .genesis-stage__heading {gap:11px;padding:14px 16px;font-size:20px;}
  .genesis-stage__body {padding:3px 18px 21px;}
  .genesis-stage__body p {font-size:15.5px;line-height:1.61;}
  .screen--genesis .footer {margin-top:38px;}
}
@media(prefers-reduced-motion:reduce){.genesis-stage {animation:none;} .genesis-stage__chevron {transition:none;}}


/* Cabecera compartida: máscara por encima de todo contenido, bajo las opciones.
   Activada en todo tamaño: el menú cambia de distribución hasta 1050px.
   Se refleja el fondo raíz y la foto de la sección activa en el escudo.
   No modifica el diseño, tamaño, ni posición del menú. */
.cabecera-escudo {
  display: block !important;
  position: fixed !important;
  inset: 0 0 auto 0;
  width: 100%;
  height: var(--header-h);
  z-index: 2147481000 !important;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
  background-color: var(--background-base, #eef0f0);
  background-image: var(--background-texture);
  background-position: center center;
  background-size: var(--background-texture-size, cover);
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.cabecera-escudo__foto {
  display: none;
  position: absolute;
  pointer-events: none;
  background-image: url('../img/fondo-sala-ensayos.png');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: var(--photo-opacity, .20);
  transform: scale(1.25);
  transform-origin: 50% 45%;
  filter: grayscale(.45) saturate(.65) brightness(1.10) contrast(.96);
}
/* Menú y botones en primer plano, incluso si una sección crea un stacking context. */
.header, .header.is-scrolled {
  z-index: 2147482000 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.header-actions { z-index: 2147482001 !important; }
.header .main-menu.is-open { z-index: 2147482002 !important; }

/* Estabilidad horizontal de la cabecera al navegar entre páginas.
   Reserva siempre el espacio de la barra de desplazamiento para evitar
   saltos de varios píxeles al pasar entre Obras, Eventos, Vídeos y Contacto.
   No modifica dimensiones, colores ni la protección del menú. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}
