: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:80px;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;
}

/* Cuarteto inacabado — ajuste de separación y ventanas reducidas (25/10/2026).
   Mantiene intactas las animaciones y las dimensiones internas del libro. */
@media (min-width: 1101px) {
  .screen--hero .book-area { transform: translate(calc(clamp(10px,2vw,30px) - 155px), 65px); }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .screen--hero .book-area { transform: translate(-95px, 60px); }
}
@media (max-width: 700px) {
  .screen--hero .book-area { transform: none; margin-left: 0; max-width: 100%; }
  .screen--hero .hero-copy, .screen--hero .hero-layout { min-width: 0; }
  .screen--hero .hero-copy h1 { overflow-wrap: normal; }
  .screen--hero .book-controls { max-width: 100%; }
}


/* === REDISEÑO AUTOR · ITERACIÓN MÓVIL B · máximo 700px ===
   Solo presentación en móvil. Conserva fotos originales, libro 3D, PHP y datos. */
.mobile-buy-link,.mobile-carousel-controls{display:none}
@media(max-width:700px){
  html{scroll-padding-top:78px;scroll-snap-type:none!important}
  body{overflow-x:clip}
  #inicio.screen--hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;box-sizing:border-box!important;min-height:0!important;height:auto!important;padding:92px 16px 45px!important;overflow:visible!important}
  #inicio .photo-layer--hero{background-image:url('../img/fondo-sala-ensayos.png')!important;background-size:cover!important;background-position:center top!important;opacity:.18!important;transform:none!important}
  #inicio .hero-layout{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;width:100%!important;max-width:480px!important;margin:0 auto!important;padding:0!important;min-height:0!important;transform:none!important;position:relative!important;inset:auto!important}
  #inicio .hero-copy{order:0!important;box-sizing:border-box!important;padding:0!important;margin:0!important;width:100%!important;text-align:center!important;transform:none!important;position:relative!important;inset:auto!important}
  #inicio .author-launch{width:100%!important;max-width:365px!important;margin:0 auto 9px!important;padding:7px 8px!important;transform:none!important}
  #inicio .author-launch strong{font-size:clamp(20px,6vw,27px)!important;line-height:1.15!important}
  #inicio .author-launch span{font-size:clamp(13px,3.7vw,17px)!important;line-height:1.3!important}
  #inicio .hero-subtitle,#inicio #subtitulo-principal{display:block!important;position:static!important;inset:auto!important;margin:7px 0 9px!important;padding:0!important;text-align:center!important;white-space:normal!important;font-size:10px!important;letter-spacing:.19em!important}
  #inicio .hero-copy h1{font-size:clamp(42px,11.2vw,58px)!important;line-height:1.02!important;text-align:center!important;letter-spacing:-.04em!important;margin:0!important;max-width:100%!important}
  #inicio .hero-copy h1 .animated-word{white-space:normal!important}
  #inicio .hero-copy .intro{margin:11px auto 8px!important;padding:0 8px!important;width:100%!important;max-width:340px!important;white-space:normal!important;text-align:center!important;font-size:clamp(12px,3.5vw,15px)!important;line-height:1.45!important}
  #inicio .mobile-buy-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 19px;margin:10px auto 0;border-radius:999px;background:#7a2e2e;color:#fff;font:700 11px/1.3 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;box-shadow:0 5px 14px #3b25252a}
  #inicio .mobile-buy-link:focus-visible{outline:2px solid #7a2e2e;outline-offset:3px}
  #inicio .author-portrait{position:relative!important;inset:auto!important;order:1!important;margin:3px auto 8px!important;transform:none!important;align-self:center!important;z-index:18!important}
  #inicio .author-portrait__trigger{width:76px!important;padding:3px!important;border-radius:9px!important}
  #inicio .author-portrait__trigger img{border-radius:7px!important}
  #inicio .book-area{order:2!important;display:grid!important;justify-items:center!important;gap:1px!important;max-width:100%!important;width:100%!important;margin:0 auto!important;padding:0!important;transform:none!important;position:relative!important;inset:auto!important;pointer-events:auto!important}
  #inicio .book-stage{width:100%!important;max-width:355px!important;height:clamp(250px,77vw,325px)!important;transform:none!important;position:relative!important;inset:auto!important}
  #inicio .book-stage .book-3d{--bw:clamp(155px,45vw,200px)!important;--bh:clamp(222px,65vw,286px)!important;--depth:26px!important;transform:rotateX(5deg) rotateY(var(--book-y))!important}
  #inicio .book-stage .book-spine{transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2))!important}
  #inicio .book-stage .book-pages{transform:rotateY(90deg) translateZ(calc(var(--bw) / 2))!important}
  #inicio .book-stage .book-open{width:min(94vw,420px)!important;height:clamp(235px,75vw,325px)!important;max-width:none!important}
  #inicio .book-stage .book-paper{padding:16px 11px!important;font-size:clamp(10px,2.75vw,12px)!important;line-height:1.35!important}
  #inicio .book-stage .book-paper--left{padding-right:14px!important}
  #inicio .book-stage .book-paper--right{padding-left:14px!important}
  #inicio .book-area .book-controls{position:relative!important;inset:auto!important;transform:none!important;margin:-2px auto 0!important;gap:9px!important;width:auto!important;max-width:100%!important}
  #inicio .book-area .book-controls>#book-label{flex:0 1 115px!important;width:115px!important;min-width:90px!important}
  #inicio .book-area .book-discover-hint{position:relative!important;inset:auto!important;margin:5px auto 9px!important;font-size:11px!important;text-align:center!important}
  #inicio .hero-side-stack{display:flex!important;flex-direction:column!important;gap:15px!important;position:relative!important;inset:auto!important;width:100%!important;max-width:480px!important;height:auto!important;margin:4px auto 0!important;padding:0!important;transform:none!important;z-index:14!important}
  #inicio .hero-side-stack>.hero-purchase,#inicio .hero-side-stack>.hero-newsletter{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  #inicio .hero-side-stack .paper-book-bar,#inicio .hero-side-stack .newsletter-sidebar{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;transform:none!important;padding:14px!important;background:rgba(255,251,246,.94)!important}
  #inicio .hero-side-stack .paper-book-bar__heading{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;margin-bottom:12px!important;text-align:center!important}
  #inicio .hero-side-stack .paper-book-bar__heading h2{font-size:22px!important}
  #inicio .hero-side-stack .paper-book-bar__heading p{font-size:13px!important}
  #inicio .hero-side-stack .paper-book-bar__shops{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  #inicio .hero-side-stack .paper-book-bar__shop{min-width:0!important;min-height:60px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:5px!important;box-sizing:border-box!important}
  #inicio .hero-side-stack .paper-book-bar__shop img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:44px!important;object-fit:contain!important}
  #inicio .hero-side-stack .paper-book-bar__note{margin-top:11px!important;font-size:11px!important;line-height:1.4!important}
  #inicio .hero-side-stack .newsletter-sidebar h2{font-size:23px!important}
  #inicio .hero-side-stack .newsletter-sidebar>p{font-size:14px!important;line-height:1.45!important}
  #inicio .hero-side-stack .newsletter-sidebar form{display:flex!important;flex-direction:column!important;gap:8px!important}
  #inicio .hero-side-stack .newsletter-sidebar input[type=text],#inicio .hero-side-stack .newsletter-sidebar input[type=email]{min-height:43px!important;font-size:16px!important}
  #inicio .hero-side-stack .newsletter-sidebar button[type=submit]{min-height:44px!important;font-size:12px!important}
  #inicio .hero-side-stack .newsletter-consent{font-size:12px!important;line-height:1.4!important}
  /* La misma sala de ensayos permanece detrás de la compra y el newsletter. */
  #inicio .screen-overlay{background:transparent!important}
  #resenas.screen--reviews,#novela.screen--novel,#personajes.screen--characters,#genesis.screen--genesis{min-height:0!important;height:auto!important;padding-top:76px!important;padding-bottom:70px!important;scroll-margin-top:75px!important}
  #resenas .reviews-showcase{padding:0!important}
  #resenas .reviews-heading{gap:12px!important;margin:0 20px 20px!important}
  #resenas .reviews-heading h2{font-size:clamp(38px,10vw,49px)!important}
  #resenas .reviews-window{padding-inline:20px!important;touch-action:pan-x pan-y!important}
  #resenas .review-card{flex-basis:min(85vw,340px)!important;width:min(85vw,340px)!important;height:375px!important}
  #resenas .reviews-bottom{margin-inline:20px!important}
  #novela .novel-heading{width:calc(100% - 40px)!important;margin-bottom:16px!important}
  #novela .novel-heading h2{font-size:clamp(39px,10vw,49px)!important}
  #novela .novel-viewport{touch-action:pan-y!important}
  #novela .novel-track{padding:5px 20px 16px!important;gap:14px!important}
  #novela .novel-card{flex:0 0 calc(100vw - 40px)!important;width:calc(100vw - 40px)!important;max-width:410px!important;height:365px!important;padding:22px!important}
  #novela .novel-body{max-width:72%!important;margin-top:20px!important}
  #novela .novel-card h3{font-size:clamp(32px,9vw,40px)!important}
  #novela .novel-card p{font-size:clamp(14px,3.7vw,16px)!important}
  #novela .novel-card img{opacity:.7!important;transform:translateY(-50%)!important}
  #personajes .characters-content{width:100%!important;max-width:none!important;margin:0!important}
  #personajes .characters-content h2{font-size:clamp(39px,10vw,49px)!important;margin:0 18px 16px!important}
  #personajes .character-grid{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:10px 20px 18px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y!important}
  #personajes .character-grid::-webkit-scrollbar{display:none}
  #personajes .character-grid .character-card{flex:0 0 calc(100vw - 40px)!important;width:calc(100vw - 40px)!important;max-width:380px!important;height:360px!important;scroll-snap-align:center!important}
  #personajes .character-face{padding:24px!important}
  #personajes .character-description{font-size:clamp(14px,3.7vw,16px)!important;line-height:1.45!important}
  .mobile-carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin:0 20px 12px}
  .mobile-carousel-controls button{width:41px;height:41px;border-radius:50%;border:1px solid #7a2e2e;background:rgba(255,255,255,.7);color:#7a2e2e;font-size:23px;cursor:pointer}
  #historia.screen--blurb{min-height:0!important;padding:65px 22px!important}
  #historia .blurb-text{font-size:clamp(30px,7.5vw,42px)!important;line-height:1.2!important}
  #genesis .genesis-content h2{font-size:clamp(39px,10vw,49px)!important}
  .section-dots{display:none!important}
  .musica-fija{bottom:8px!important;z-index:90!important}
  #inicio .hero-newsletter{margin-bottom:0!important}
  #inicio,#resenas,#novela,#personajes,#genesis,#historia{scroll-margin-top:75px}
}

/* === Ajustes de la segunda iteración móvil · 30/10/2026 === */
.author-mobile-avatar{display:none}
@media(max-width:700px){
  /* El retrato deja de ocupar una fila bajo el newsletter y aparece en la cabecera. */
  #inicio.screen--hero>.author-portrait{display:none!important}
  #cabecera .author-mobile-avatar{
    display:flex!important;align-items:center;justify-content:center;
    flex:0 0 38px;width:38px;height:38px;padding:2px;
    border:1px solid rgba(122,46,46,.36);border-radius:50%;
    background:#f5eee8;overflow:hidden;cursor:pointer;
    margin-left:auto;margin-right:8px;order:2;
  }
  #cabecera .author-mobile-avatar img{
    display:block;width:100%;height:100%;border-radius:50%;
    object-fit:cover;object-position:center top;
  }
  #cabecera .menu-toggle{order:3;margin-left:0}
  #novela .novel-hint{display:none!important}
}

/* === Iteración móvil 3: retrato de cabecera, biografía compacta y gesto horizontal === */
@media (max-width:700px){
  /* Retrato ligeramente mayor, en el hueco entre firma y hamburguesa. */
  #cabecera{position:fixed!important}
  #cabecera .author-mobile-avatar{
    position:absolute!important;left:auto!important;right:78px!important;top:50%!important;
    transform:translateY(-50%)!important;
    flex:0 0 46px!important;width:46px!important;height:46px!important;
    margin:0!important;padding:2px!important;order:initial!important;z-index:4!important;
  }
  /* Diálogo legible y más compacto, sin tocar el panel del escritorio. */
  #biografia-autor-dialog{
    box-sizing:border-box!important;width:min(460px,calc(100vw - 22px))!important;
    max-height:calc(100dvh - 26px)!important;
    padding:22px 18px 16px!important;overflow-y:auto!important;
  }
  #biografia-autor-dialog h2{font-size:22px!important;line-height:1.15!important;
    letter-spacing:-.025em!important;margin:0 30px 12px 0!important;}
  #biografia-autor-dialog h2 small{font-size:12px!important;white-space:nowrap!important;}
  #biografia-autor-dialog p{font-size:13px!important;line-height:1.43!important;margin:0 0 9px!important;}
  #biografia-autor-dialog .dialog-close{top:7px!important;right:9px!important;}
  /* Novela y reseñas se arrastran sin bloquear el gesto vertical. */
  #novela .novel-viewport,#resenas .reviews-window{touch-action:pan-y!important;}
  #novela .novel-card{user-select:none;-webkit-user-select:none;}
}
@media(max-width:360px){
  #cabecera .author-mobile-avatar{right:66px!important;width:42px!important;height:42px!important;flex-basis:42px!important;}
  #biografia-autor-dialog p{font-size:12.5px!important;line-height:1.4!important;}
}

/* Revisión 4 · carruseles móviles con desplazamiento nativo idéntico a Personajes.
   El motor de escritorio de novela y reseñas permanece intacto. */
@media(max-width:700px){
 #cabecera .author-mobile-avatar{
   right:105px!important; width:56px!important;height:56px!important;
   flex-basis:56px!important;transform:translateY(-50%)!important;
 }
 #novela .novel-viewport,#resenas .reviews-window{
   width:100%!important;max-width:100%!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   overscroll-behavior-x:contain!important;
   scroll-snap-type:x mandatory!important;
   scroll-behavior:smooth!important;
   scrollbar-width:none!important;
   -webkit-overflow-scrolling:touch;
   touch-action:pan-x pan-y!important;
 }
 #novela .novel-viewport::-webkit-scrollbar,#resenas .reviews-window::-webkit-scrollbar{display:none}
 #novela .novel-track,#resenas .reviews-track{
   transform:none!important;will-change:auto!important;
 }
 #novela .novel-card,#resenas .review-card{scroll-snap-align:start!important;scroll-snap-stop:normal!important}
 #resenas .reviews-window{padding:0 20px 18px!important;scroll-padding-inline:20px!important}
 #novela .novel-viewport{scroll-padding-inline:20px!important}
}
@media(max-width:360px){
 #cabecera .author-mobile-avatar{right:88px!important;width:50px!important;height:50px!important;flex-basis:50px!important}
}

/* === Revisión móvil 5: ajuste de fotografía, reseñas y sinopsis === */
@media (max-width:700px) {
  /* Cinco píxeles hacia la izquierda; no altera cabecera de escritorio. */
  #cabecera .author-mobile-avatar { right:110px!important; }
  /* La ventana de reseñas se desplaza físicamente; no la pista transformada. */
  #resenas.screen--reviews .reviews-window {
    display:block!important;width:100%!important;max-width:100%!important;
    overflow-x:scroll!important;overflow-y:hidden!important;
    touch-action:pan-y!important;
    scroll-behavior:auto!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  #resenas.screen--reviews .reviews-track {
    display:flex!important;flex-wrap:nowrap!important;
    width:max-content!important;min-width:max-content!important;
    transform:none!important;will-change:auto!important;
  }
  #resenas.screen--reviews .review-card {
    flex-shrink:0!important;scroll-snap-align:start!important;
  }
  /* Mantiene el borde superior de la sinopsis, creciendo hacia abajo. */
  #inicio.screen--hero .book-stage {overflow:visible!important;}
  #inicio.screen--hero .book-stage.is-open {z-index:85!important;isolation:auto!important;}
  #inicio.screen--hero .book-stage.is-open .book-open {
    height:clamp(390px,112vw,490px)!important;
    top:calc(50% + clamp(61px,19vw,82px))!important;
    z-index:90!important;
  }
  #inicio.screen--hero .book-stage.is-open .book-paper {
    font-size:clamp(11px,2.75vw,12.5px)!important;
    line-height:1.33!important;
    padding-top:17px!important;padding-bottom:14px!important;
  }
  #inicio.screen--hero .book-stage.is-open .book-paper--left {padding-left:13px!important;padding-right:12px!important;}
  #inicio.screen--hero .book-stage.is-open .book-paper--right {padding-left:12px!important;padding-right:13px!important;}
}
@media(max-width:360px){#cabecera .author-mobile-avatar{right:93px!important}}

/* REV6: ajustes exclusivamente móviles. Se usa el deslizamiento nativo
   igual que en personajes; sin capturar ni cancelar eventos táctiles. */
@media (max-width:700px) {
  #cabecera .author-mobile-avatar {right:113px!important;}
  #resenas.screen--reviews .reviews-window {
    position:relative!important;
    display:block!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 20px 18px!important;
    scroll-padding-inline:20px!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:auto!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #resenas.screen--reviews .reviews-track {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:14px!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    touch-action:pan-x pan-y!important;
  }
  #resenas.screen--reviews .review-card {
    flex:0 0 min(85vw,340px)!important;
    width:min(85vw,340px)!important;
    min-width:min(85vw,340px)!important;
    scroll-snap-align:start!important;
    touch-action:pan-x pan-y!important;
  }
  #resenas.screen--reviews .review-card__body {
    touch-action:pan-x pan-y!important;
  }
  /* Se acorta la doble página abierta, conservando el borde superior. */
  #inicio.screen--hero .book-stage.is-open .book-open {
    height:clamp(355px,100vw,425px)!important;
    top:calc(50% + clamp(43px,15vw,62px))!important;
  }
}
@media(max-width:360px){
  #cabecera .author-mobile-avatar{right:96px!important;}
}


/* REV8: reseñas con deslizamiento nativo REAL sobre la propia fila,
   igual que la retícula de Personajes. Solo móviles; sin cambiar escritorio. */
@media (max-width:700px) {
  #resenas.screen--reviews .reviews-window {
    overflow:hidden!important;
    touch-action:auto!important;
    padding:8px 0 20px!important;
    width:100%!important;
    max-width:100%!important;
  }
  #resenas.screen--reviews .reviews-track {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:14px!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:2px 20px 14px!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:20px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    scrollbar-width:none!important;
  }
  #resenas.screen--reviews .reviews-track::-webkit-scrollbar{display:none!important;}
  #resenas.screen--reviews .review-card {
    flex:0 0 min(85vw,340px)!important;
    width:min(85vw,340px)!important;
    min-width:min(85vw,340px)!important;
    scroll-snap-align:start!important;
    touch-action:pan-x pan-y!important;
  }
}

/* REV9: reseñas móviles, un único viewport desplazable.
   Anula la pista-scroll de REV8; conserva carrusel animado en escritorio. */
@media (max-width:700px) {
  #resenas.screen--reviews .reviews-window {
    display:block!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    box-sizing:border-box!important;
    padding:10px 20px 20px!important;
    touch-action:pan-y!important;
    scroll-behavior:auto!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  #resenas.screen--reviews .reviews-track {
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    overflow:visible!important;
    padding:0!important;
    gap:14px!important;
    transform:none!important;
    transition:none!important;
    touch-action:pan-y!important;
    will-change:auto!important;
  }
  #resenas.screen--reviews .review-card {
    flex:0 0 min(85vw,340px)!important;
    width:min(85vw,340px)!important;
    min-width:min(85vw,340px)!important;
    scroll-snap-align:start!important;
    touch-action:pan-y!important;
  }
  #resenas.screen--reviews .review-card__body{touch-action:pan-y!important;}
}

/* REV10 — solo móvil: reseñas con la misma física nativa que otros carruseles. */
@media (max-width:700px) {
  #resenas.screen--reviews .reviews-window {
    overflow:hidden!important;
    touch-action:auto!important;
    padding:8px 0 20px!important;
  }
  #resenas.screen--reviews .reviews-track {
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    gap:14px!important;
    padding:2px 20px 16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    scroll-padding-inline:20px!important;
    scroll-behavior:auto!important;
    touch-action:pan-x!important;
    overscroll-behavior-x:contain!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    scrollbar-width:none!important;
  }
  #resenas.screen--reviews .reviews-track::-webkit-scrollbar{display:none!important}
  #resenas.screen--reviews .review-card,
  #resenas.screen--reviews .review-card__body {
    touch-action:pan-x pan-y!important;
  }
  /* Libro un poco mayor, sin cambiar la sinopsis abierta ni sus controles. */
  #inicio.screen--hero .book-stage:not(.is-open) .book-3d {
    --bw:clamp(166px,48vw,214px)!important;
    --bh:clamp(240px,69vw,306px)!important;
    --depth:28px!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) {height:clamp(348px,95vw,380px)!important;}
  /* Salto de línea editorial conservando el mismo texto. */
  #inicio.screen--hero .hero-copy .intro .lema-linea-1,
  #inicio.screen--hero .hero-copy .intro .lema-linea-2 {display:block;}
}


/* REV11 | MÓVIL. Un solo carrusel nativo; la tarjeta NO bloquea el scroll vertical.
   Anula los touch-action:pan-x de REV10 y el scroll interior del texto. */
@media (max-width:700px) {
  #resenas.screen--reviews .reviews-window {
    overflow:visible!important;
    touch-action:auto!important;
    padding:8px 0 18px!important;
  }
  #resenas.screen--reviews .reviews-track {
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    touch-action:auto!important;
    overscroll-behavior-x:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    scroll-behavior:auto!important;
    transform:none!important;
    transition:none!important;
  }
  #resenas.screen--reviews .review-card,
  #resenas.screen--reviews .review-card *,
  #resenas.screen--reviews .review-card__body {
    touch-action:auto!important;
  }
  #resenas.screen--reviews .review-card {
    height:auto!important;
    min-height:370px!important;
    max-height:none!important;
    align-self:stretch!important;
  }
  #resenas.screen--reviews .review-card__body {
    overflow:visible!important;
    max-height:none!important;
    flex:0 0 auto!important;
  }
  /* Cubierta de mayor presencia sin ampliar el hueco de escenario.
     La sinopsis abierta mantiene sus dimensiones aprobadas. */
  #inicio.screen--hero .book-stage:not(.is-open) {
    height:clamp(305px,88vw,365px)!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) .book-3d {
    --bw:clamp(190px,57vw,245px)!important;
    --bh:clamp(275px,83vw,350px)!important;
    --depth:30px!important;
  }
  #inicio.screen--hero .book-area .book-controls {
    margin:-7px auto 0!important;
  }
  #inicio.screen--hero .book-area .book-discover-hint {
    margin:2px auto 7px!important;
  }
  #inicio.screen--hero .hero-copy .intro {
    margin-bottom:0!important;
  }
}


/* REV12 · MÓVIL: tarjetas de reseñas adaptadas al contenido.
   Se conserva íntegramente el gesto nativo que funciona desde REV11. */
@media (max-width:700px) {
  #resenas.screen--reviews .reviews-track {
    align-items:flex-start!important;
  }
  #resenas.screen--reviews .reviews-track > .review-card {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:flex-start!important;
    justify-content:flex-start!important;
    padding-bottom:19px!important;
  }
  #resenas.screen--reviews .review-card__body {
    flex:0 0 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #resenas.screen--reviews .review-card__byline {
    margin-top:15px!important;
  }
  /* Misma altura de la cubierta, aproximadamente 20 px adicionales por lado.
     No se cambia el escenario, la apertura ni los controles de giro. */
  #inicio.screen--hero .book-stage:not(.is-open) .book-3d {
    --bw:clamp(190px,57vw,245px)!important;
  }
}

/* REV13 · Ajustes exclusivos para móvil, 30-10-2026.
   La cubierta conserva proporciones y no corta la imagen original. */
.reviews-mobile-nav{display:none}
@media (max-width:700px) {
  /* Mantener la proporción de la portada auténtica (aprox. 0,70).
     El ancho se acompaña SIEMPRE de la altura correspondiente. */
  #inicio.screen--hero .book-stage:not(.is-open) .book-3d {
    --bw:clamp(210px,62vw,266px)!important;
    --bh:clamp(303px,89vw,383px)!important;
    --depth:30px!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) {
    height:clamp(317px,92vw,393px)!important;
  }
  #inicio.screen--hero .book-front img {
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;
  }
  #inicio.screen--hero .book-area .book-controls {margin:-9px auto 0!important;}
  /* Acciones arriba: enlace e información a la izquierda, flechas a la derecha. */
  #resenas.screen--reviews .reviews-heading {
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:13px 8px!important;align-items:center!important;
    margin-bottom:16px!important;
  }
  #resenas.screen--reviews .reviews-heading h2 {grid-column:1/-1!important;grid-row:1!important;}
  #resenas.screen--reviews .reviews-heading .reviews-action {
    grid-column:1!important;grid-row:2!important;justify-self:start!important;align-self:center!important;
    margin:0!important;min-width:0!important;gap:7px!important;
  }
  #resenas.screen--reviews .reviews-submit-link {
    padding:9px 11px!important;min-height:39px!important;font-size:clamp(11px,3vw,14px)!important;
  }
  #resenas.screen--reviews .reviews-info__button {width:28px!important;height:28px!important;}
  #resenas.screen--reviews .reviews-mobile-nav {
    display:flex!important;grid-column:2!important;grid-row:2!important;
    gap:7px!important;justify-self:end!important;align-items:center!important;
  }
  #resenas.screen--reviews .reviews-mobile-nav button {
    width:37px;height:37px;border:1px solid #7a2e2e;border-radius:50%;
    background:transparent;color:#7a2e2e;font-size:19px;cursor:pointer;
  }
  #resenas.screen--reviews .reviews-bottom{display:none!important;}
  /* No tocar reglas de deslizamiento REV11: están aprobadas en móvil. */
  /* Tarjetas de novela: altura dictada por texto, sin zona vacía inferior. */
  #novela.screen--novel .novel-track {align-items:flex-start!important;}
  #novela.screen--novel .novel-card {
    height:auto!important;min-height:0!important;align-self:flex-start!important;
    padding-bottom:26px!important;
  }
  #novela.screen--novel .novel-body {margin-top:18px!important;}
  #novela.screen--novel .novel-card img {
    height:74%!important;max-height:74%!important;
  }
}

/* REV14 · ajuste localizado de la cubierta frontal en móviles.
   No modifica libro abierto, escritorio, carruseles ni sus controles. */
@media (max-width:700px) {
  #inicio.screen--hero .book-stage:not(.is-open) .book-3d {
    --bw:clamp(218px,calc(62vw + 8px),274px)!important;
    --bh:clamp(315px,calc(89vw + 12px),395px)!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) {
    height:clamp(329px,calc(92vw + 12px),405px)!important;
  }
  /* Evita que el fondo granate se vea en franjas cuando la imagen
     no coincide exactamente con la relación del contenedor. */
  #inicio.screen--hero .book-stage:not(.is-open) .book-front {
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) .book-front img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* REV15 · RESTAURAR RELIEVE REAL DE LA CUBIERTA EN MÓVIL.
   Recupera el filete y la sombra del diseño 3D original sin
   ampliar el marco ni dejar bandas granates desalineadas. */
@media (max-width:700px) {
  #inicio.screen--hero .book-stage:not(.is-open) .book-front {
    border:1px solid rgba(60,21,36,.64)!important;
    border-radius:2px!important;
    background:#542735!important;
    box-shadow:inset 0 0 4px rgba(50,20,29,.24),
               10px 15px 20px rgba(37,21,27,.24)!important;
  }
  #inicio.screen--hero .book-stage:not(.is-open) .book-front img {
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:1px!important;
  }
}


/* REV16 | MÓVIL: reseñas plegables con altura de referencia de Malak.
   NO se modifica la fila desplazable ni los gestos táctiles de REV11. */
@media (max-width:700px) {
  #resenas.screen--reviews .review-card__body {
    max-height:var(--review-excerpt-height, none)!important;
    overflow:hidden!important;
    overscroll-behavior:auto!important;
    flex:0 0 auto!important;
  }
  #resenas.screen--reviews .review-card.is-expanded .review-card__body {
    max-height:none!important;
    overflow:visible!important;
  }
  #resenas.screen--reviews .review-card__footer {
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:12px;margin-top:15px;min-width:0;
  }
  #resenas.screen--reviews .review-card__meta {min-width:0;flex:1 1 auto;}
  #resenas.screen--reviews .review-card__footer .review-card__byline {
    margin:0!important;
  }
  #resenas.screen--reviews .review-card__footer .review-card__date {
    display:block;margin-top:4px;
  }
  #resenas.screen--reviews .review-card__more {
    flex:none;padding:5px 0;margin:0;background:none;border:0;
    color:#7a2e2e;font:700 12px/1.3 Arial,sans-serif;
    text-decoration:underline;text-underline-offset:3px;cursor:pointer;
    touch-action:manipulation;
  }
  #resenas.screen--reviews .review-card__more[hidden]{display:none!important;}
}


/* REV17 | MÓVIL: recortar el espacio vacío bajo «Lo que dicen».
   La sección acompaña la altura real del carrusel, incluso al desplegar «Ver más».
   No se alteran los gestos táctiles ni la geometría de las tarjetas. */
@media (max-width:700px) {
  #resenas.screen--reviews {
    min-height:0!important;
    height:auto!important;
    display:block!important;
    padding-top:100px!important;
    padding-bottom:28px!important;
    overflow:visible!important;
  }
  #resenas.screen--reviews .reviews-showcase {
    margin:0 auto!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  #resenas.screen--reviews .reviews-track {
    min-height:0!important;
  }
  #resenas.screen--reviews .reviews-window {
    padding-bottom:8px!important;
  }
}

/* REV18 | MÓVIL: reducir solo el espacio inferior de «La novela».
   La sección acompaña su contenido sin tocar tarjetas, carrusel ni escritorio. */
@media (max-width:700px) {
  #novela.screen--novel {
    min-height:0!important;
    height:auto!important;
    justify-content:flex-start!important;
    padding-bottom:24px!important;
  }
  #novela.screen--novel .novel-track {
    padding-bottom:8px!important;
  }
  #novela.screen--novel .novel-hint {
    margin-top:4px!important;
  }
}


/* REV19 | Sólo teléfono: acercar La novela, tooltip centrado y personajes compactos.
   Se conserva la mecánica de todos los carruseles, giro y audio. */
@media (max-width:700px) {
  /* El bloque narrativo anterior ya dispone de espacio al final; reducirlo. */
  #historia.screen--blurb {padding-bottom:32px!important;}
  #novela.screen--novel {padding-top:39px!important;}

  /* El texto de ayuda se abre centrado en la pantalla, sin salirse por la derecha. */
  #resenas.screen--reviews .reviews-info__tip {
    position:fixed!important;
    left:50vw!important;
    right:auto!important;
    top:clamp(125px,22svh,220px)!important;
    bottom:auto!important;
    width:min(310px,calc(100vw - 36px))!important;
    max-width:calc(100vw - 36px)!important;
    transform:translate(-50%,0)!important;
    box-sizing:border-box!important;
    z-index:2147483000!important;
  }
  #resenas.screen--reviews .reviews-info:hover .reviews-info__tip,
  #resenas.screen--reviews .reviews-info:focus-within .reviews-info__tip,
  #resenas.screen--reviews .reviews-info.is-open .reviews-info__tip {
    transform:translate(-50%,0)!important;
  }

  /* Acortar tarjetas sin cambiar su anchura ni el scroll nativo. */
  #personajes.screen--characters .character-grid .character-card {
    height:320px!important;
  }
  #personajes.screen--characters .character-face {padding:18px 22px!important;}
  /* Tres bloques con separación equilibrada y centrado vertical auténtico. */
  #personajes.screen--characters .character-face--front {
    justify-content:center!important;
    align-items:center!important;
    gap:30px!important;
  }
  #personajes.screen--characters .character-face--front .character-instrument,
  #personajes.screen--characters .character-face--front .character-name,
  #personajes.screen--characters .character-face--front > .character-note {
    margin:0!important;
    top:auto!important;
    position:static!important;
  }
  #personajes.screen--characters .character-face--back {
    justify-content:flex-start!important;
    gap:9px!important;
  }
  #personajes.screen--characters .character-face--back .character-back-title {
    margin-top:0!important;
  }
  #personajes.screen--characters .character-face--back .character-description {
    margin-top:5px!important;
    line-height:1.38!important;
    font-size:clamp(13px,3.5vw,15px)!important;
  }
  #personajes.screen--characters .character-face--back .character-audio-bar {
    margin-top:auto!important;
  }
}

/* REV20 | Solo móvil: reducir el espacio previo a «Lo que dicen» y
   compactar personajes sin modificar sus gestos ni sus controles de audio. */
@media (max-width:700px) {
  #resenas.screen--reviews {
    padding-top:52px!important;
  }
  #personajes.screen--characters .character-grid .character-card {
    height:300px!important;
  }
  #personajes.screen--characters .character-face {
    padding:16px 20px!important;
  }
  #personajes.screen--characters .character-face--front {
    gap:24px!important;
  }
  #personajes.screen--characters .character-face--back {
    gap:6px!important;
  }
  #personajes.screen--characters .character-face--back .character-description {
    font-size:clamp(15px,3.85vw,16px)!important;
    line-height:1.38!important;
    margin-top:3px!important;
    overflow-y:auto!important;
  }
  #personajes.screen--characters .character-face--back .character-audio-bar {
    margin-top:6px!important;
  }
}

/* REV21 | Sólo móvil: personajes más compactos, letra ligeramente mayor.
   No se alteran el giro, el carrusel ni los controles de audio. */
@media (max-width:700px) {
  #personajes.screen--characters .character-grid .character-card {
    height:285px!important;
  }
  #personajes.screen--characters .character-face {
    padding:13px 18px!important;
  }
  #personajes.screen--characters .character-face--front {
    gap:20px!important;
  }
  #personajes.screen--characters .character-face--back {
    gap:5px!important;
  }
  #personajes.screen--characters .character-face--back .character-description {
    flex:0 1 auto!important;
    font-size:17px!important;
    line-height:1.31!important;
    margin-top:2px!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  #personajes.screen--characters .character-face--back .character-audio-bar {
    margin-top:auto!important;
  }
}


/* REV22 · MÓVIL · Personajes: geometría, tacto y remate de las esquinas.
   El desplazamiento horizontal permanece nativo; no se añaden eventos JS. */
@media (max-width:700px) {
  #personajes.screen--characters .character-grid {
    box-sizing:border-box!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    touch-action:auto!important;
    scroll-snap-type:x proximity!important;
    scroll-padding-inline:24px!important;
    padding:10px 24px 14px!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  #personajes.screen--characters .character-grid .character-card {
    flex:0 0 calc(100vw - 48px)!important;
    width:calc(100vw - 48px)!important;
    max-width:370px!important;
    height:273px!important;
    scroll-snap-align:start!important;
    border:0!important;
    border-radius:18px!important;
    overflow:visible!important;
  }
  #personajes.screen--characters .character-flip,
  #personajes.screen--characters .character-flip__inner,
  #personajes.screen--characters .character-face {
    border-radius:18px!important;
    touch-action:auto!important;
  }
  #personajes.screen--characters .character-face {
    padding:12px 17px!important;
    overflow:hidden!important;
  }
  #personajes.screen--characters .character-face--front {
    justify-content:center!important;
    gap:22px!important;
    padding-top:30px!important;
  }
  #personajes.screen--characters .character-face--back {
    justify-content:flex-start!important;
    gap:5px!important;
    padding-top:19px!important;
  }
  #personajes.screen--characters .character-face--back .character-back-title {margin:0!important;}
  #personajes.screen--characters .character-face--back .character-description {
    font-size:17px!important;
    line-height:1.29!important;
    margin-top:5px!important;
    overflow-y:visible!important;
    overscroll-behavior:auto!important;
    flex:0 1 auto!important;
  }
  #personajes.screen--characters .character-face--back .character-audio-bar {
    margin-top:auto!important;
  }
}


/* REV23 — Ajuste fino y exclusivamente móvil de las tarjetas de personajes.
   Mantiene exactamente el carrusel nativo de REV22 y su geometría exterior. */
@media (max-width:700px) {
  #personajes.screen--characters .character-grid .character-card,
  #personajes.screen--characters .character-flip,
  #personajes.screen--characters .character-flip__inner,
  #personajes.screen--characters .character-face {
    border-radius:18px!important;
  }
  #personajes.screen--characters .character-face {
    box-sizing:border-box!important;
    padding-inline:20px!important;
    overflow:hidden!important;
  }
  /* Bajar levemente el conjunto instrumento/nombre/nota sin romper el centrado. */
  #personajes.screen--characters .character-face--front {
    justify-content:center!important;
    align-items:center!important;
    padding-top:30px!important;
    padding-bottom:14px!important;
    gap:18px!important;
  }
  #personajes.screen--characters .character-face--front .character-instrument,
  #personajes.screen--characters .character-face--front .character-name,
  #personajes.screen--characters .character-face--front > .character-note {
    position:static!important;
    margin:0!important;
    transform:none!important;
    max-width:100%!important;
  }
  /* Reintroducir márgenes seguros para la descripción y los controles. */
  #personajes.screen--characters .character-face--back {
    padding-top:21px!important;
    padding-bottom:17px!important;
    gap:6px!important;
  }
  #personajes.screen--characters .character-face--back .character-description {
    margin-top:6px!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
}


/* REV24 — Personajes: ancho real dentro de la ventana, esquinas completas y contenido contenido. */
@media (max-width:700px) {
  #personajes.screen--characters .character-grid {
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding-inline:14px!important;
    scroll-padding-inline:14px!important;
    gap:14px!important;
    touch-action:pan-x pan-y!important;
  }
  #personajes.screen--characters .character-grid .character-card {
    /* El ancho se refiere al área disponible, NO al viewport completo. */
    flex:0 0 calc(100% - 28px)!important;
    width:calc(100% - 28px)!important;
    max-width:370px!important;
    height:306px!important;
    border-radius:18px!important;
    scroll-snap-align:start!important;
    overflow:visible!important;
  }
  #personajes.screen--characters .character-flip,
  #personajes.screen--characters .character-flip__inner,
  #personajes.screen--characters .character-face {
    width:100%!important;
    border-radius:18px!important;
    box-sizing:border-box!important;
  }
  #personajes.screen--characters .character-face {
    inset:0!important;
    padding:19px 20px!important;
    overflow:hidden!important;
  }
  #personajes.screen--characters .character-face--front {
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding-top:38px!important;
    padding-bottom:29px!important;
    gap:0!important;
  }
  #personajes.screen--characters .character-face--front .character-instrument,
  #personajes.screen--characters .character-face--front .character-name,
  #personajes.screen--characters .character-face--front > .character-note {
    display:block!important;
    position:static!important;
    margin:0!important;
    top:auto!important;
    transform:none!important;
    max-width:100%!important;
    text-align:center!important;
    line-height:1.2!important;
  }
  #personajes.screen--characters .character-face--back {
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:19px 20px 16px!important;
    gap:6px!important;
  }
  #personajes.screen--characters .character-face--back .character-back-title {
    position:static!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  #personajes.screen--characters .character-face--back .character-description {
    font-size:15.5px!important;
    line-height:1.3!important;
    margin:3px 0 0!important;
    flex:1 1 auto!important;
    min-height:0!important;
    max-width:100%!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    overflow-wrap:break-word!important;
  }
  #personajes.screen--characters .character-face--back .character-audio-bar {
    flex:0 0 auto!important;
    margin-top:3px!important;
    min-width:0!important;
  }
}


/* REV27 — Contraportada biográfica móvil: padding lateral y tipografía ampliados.
   No afecta a la sinopsis abierta, a la cubierta ni al escritorio. */
@media (max-width:700px) {
  #inicio .book-stage .book-back {
    justify-content:flex-start;
    padding:35px 21px 10px!important;
  }
  #inicio .book-stage .book-back .book-biography {
    width:100%;height:100%;
    font-size:clamp(8.7px,2.34vw,10.2px)!important;
    line-height:1.22!important;
    overflow-y:auto;
    scrollbar-width:none;
  }
  #inicio .book-stage .book-back .book-biography::-webkit-scrollbar {display:none;}
  #inicio .book-stage .book-back .book-biography h2 {
    font-size:clamp(13.8px,3.5vw,15.6px)!important;
    line-height:1.13!important;
    margin:0 0 .65em!important;
  }
  #inicio .book-stage .book-back .book-biography h2 small {font-size:.66em!important;}
  #inicio .book-stage .book-back .book-biography p {
    margin:0 0 .43em!important;
    line-height:1.22!important;
  }
}

/* REV28 · Sinopsis abierta: márgenes tipográficos más amplios exclusivamente en móvil.
   Se mantienen las dimensiones y la apertura del libro. */
@media (max-width:700px) {
  #inicio.screen--hero .book-stage.is-open .book-paper--left {
    padding-left:19px!important;
    padding-right:22px!important;
  }
  #inicio.screen--hero .book-stage.is-open .book-paper--right {
    padding-left:22px!important;
    padding-right:19px!important;
  }
}


/* CUARTETO 2026-10-30: adaptación de la experiencia móvil aprobada en la web del autor.
   Todas las reglas de esta sección se limitan a teléfonos. Escritorio intacto. */
@media(max-width:700px){
  /* El encabezado de lanzamiento de Cuarteto usa clases propias. */
  #inicio .hero-launch-announcement{position:static!important;transform:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;max-width:360px!important;width:100%!important;padding:7px 8px!important;margin:0 auto 8px!important;text-align:center!important;line-height:1.2!important}
  #inicio .hero-launch-announcement__word{font-size:clamp(20px,6vw,27px)!important}
  #inicio .hero-launch-announcement__date{font-size:clamp(13px,3.7vw,17px)!important}
  #inicio .hero-copy .intro{white-space:normal!important;max-width:350px!important}
  /* Foto de la sala del sitio, detrás del comienzo y del newsletter. */
  #inicio.screen--hero .photo-layer--hero{background-image:url('../img/fondo-sala-ensayos.png')!important;opacity:.18!important}
  /* Acceso móvil a la zona de compra, sin modificar los diez botones ni su estadística. */
  #inicio .mobile-buy-link{display:inline-flex!important}
  #inicio .hero-side-stack{display:flex!important;flex-direction:column!important;position:relative!important;inset:auto!important;width:100%!important;max-width:480px!important;margin:7px auto 0!important;gap:14px!important}
  #inicio .hero-side-stack .hero-purchase, #inicio .hero-side-stack .hero-newsletter{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important}
  #inicio .hero-side-stack .paper-book-bar,#inicio .hero-side-stack .newsletter-sidebar{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important;padding:14px!important}
  #inicio .hero-side-stack .newsletter-sidebar form{display:flex!important;flex-direction:column!important;gap:8px!important}
  #inicio .hero-side-stack .newsletter-sidebar input[type=text],#inicio .hero-side-stack .newsletter-sidebar input[type=email]{min-height:43px!important;font-size:16px!important}
  /* Libro 3D: se conservan los recursos y el mecanismo original. */
  #inicio .book-area .book-stage .book-front{border:1px solid rgba(75,34,45,.50)!important;background:#542735!important;box-shadow:inset 0 0 4px #32141d66,7px 12px 17px #25151b35!important}
  #inicio .book-area .book-stage .book-front img{width:100%!important;height:100%!important;object-fit:contain!important}
  #inicio .book-area .book-stage .book-open{z-index:25!important}
  /* Sinopsis aprobada: espacio generoso, sobre todo en el pliegue central. */
  #inicio .book-stage .book-paper--left{padding-left:19px!important;padding-right:22px!important}
  #inicio .book-stage .book-paper--right{padding-left:22px!important;padding-right:19px!important}
  /* La novela: el contenedor es el que se desplaza de forma nativa. */
  #novela .novel-viewport{overflow-x:auto!important;overflow-y:hidden!important;touch-action:auto!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important}
  #novela .novel-viewport::-webkit-scrollbar{display:none!important}
  #novela .novel-track{transform:none!important;transition:none!important;will-change:auto!important;width:max-content!important}
  #novela .novel-card{scroll-snap-align:start!important;height:auto!important;min-height:270px!important;padding-bottom:23px!important}
  /* Personajes: cuatro esquinas completas y misma inercia táctil. */
  #personajes .character-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity!important}
  /* Reseñas: prohibir que la animación de escritorio capture el gesto. */
  #resenas .reviews-window{overflow:visible!important;touch-action:auto!important}
  #resenas .reviews-track{display:flex!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:auto!important;scroll-snap-type:x proximity!important;scroll-behavior:auto!important;transform:none!important;transition:none!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  #resenas .reviews-track::-webkit-scrollbar{display:none!important}
  #resenas .review-card,#resenas .review-card *{touch-action:auto!important}
  #resenas .review-card__body{overflow:visible!important;max-height:none!important}
  #resenas.screen--reviews{min-height:0!important;height:auto!important;padding-top:52px!important;padding-bottom:24px!important}
  #novela.screen--novel{min-height:0!important;height:auto!important;padding-top:42px!important;padding-bottom:22px!important}
  /* Controles móviles visibles; el resto del escritorio conserva sus mandos. */
  #resenas .reviews-mobile-nav{display:flex!important;justify-content:flex-end;gap:8px}
}


/* CUARTETO móvil B2 — Panel de compra idéntico al del sitio del autor.
   Solo presentación. Sin alterar IDs, botones, URLs ni recuento de clics. */
@media (max-width:700px) {
  #inicio .hero-side-stack .hero-purchase {width:100%!important;max-width:100%!important;min-width:0!important;}
  #inicio .hero-side-stack .hero-purchase .paper-book-bar {
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:14px!important;margin:0!important;
    border:1px solid rgba(122,46,46,.40)!important;border-radius:15px!important;
    background:rgba(255,251,246,.94)!important;
    box-shadow:0 13px 35px rgba(25,18,22,.14),inset 0 0 0 1px rgba(255,255,255,.45)!important;
  }
  #inicio .hero-side-stack .paper-book-bar__heading {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    gap:4px!important;margin-bottom:12px!important;text-align:center!important;
  }
  #inicio .hero-side-stack .paper-book-bar__heading h2 {font-size:22px!important;line-height:1.2!important;}
  #inicio .hero-side-stack .paper-book-bar__heading p {font-size:13px!important;line-height:1.4!important;}
  #inicio .hero-side-stack .paper-book-bar__shops {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;align-items:stretch!important;
  }
  #inicio .hero-side-stack .paper-book-bar__shop,
  #inicio .hero-side-stack .paper-book-bar__shop--internacional {
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;width:100%!important;min-height:60px!important;
    padding:5px!important;gap:7px!important;box-sizing:border-box!important;
    text-align:center!important;border-radius:9px!important;
    border:1px solid rgba(122,46,46,.18)!important;
    background:rgba(255,255,255,.6)!important;
  }
  #inicio .hero-side-stack .paper-book-bar__shop img {
    display:block!important;width:100%!important;max-width:100%!important;
    height:auto!important;max-height:44px!important;object-fit:contain!important;
    margin:0 auto!important;
  }
  #inicio .hero-side-stack .paper-book-bar__note {
    margin-top:11px!important;font-size:11px!important;line-height:1.4!important;text-align:center!important;
  }
}
