
.launch-page{--launch-line:rgba(238,233,223,.12)}
.launch-hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;padding:145px 0 80px;background:#080808}
.launch-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,var(--novel-glow),transparent 28%),linear-gradient(115deg,rgba(0,0,0,.98),rgba(0,0,0,.48) 58%,rgba(0,0,0,.85))}
.launch-noise{position:absolute;inset:0;opacity:.08;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.06) 4px)}
.launch-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;align-items:center}
.launch-cover{position:relative;max-width:470px;justify-self:center;width:100%;transform:rotate(-2deg);transition:transform .8s var(--ease)}
.launch-cover:hover{transform:rotate(0) translateY(-8px)}
.cover-placeholder{aspect-ratio:2/3;border:1px solid var(--novel-accent);position:relative;display:grid;place-items:center;text-align:center;padding:45px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(0,0,0,.65)),radial-gradient(circle at 50% 30%,var(--novel-glow),transparent 45%),var(--novel-bg);box-shadow:30px 35px 90px rgba(0,0,0,.7)}
.cover-placeholder:before{content:"";position:absolute;inset:18px;border:1px solid rgba(238,233,223,.18)}
.cover-placeholder .cover-title{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.7rem);line-height:.82;text-transform:uppercase}
.cover-micro{position:absolute;top:32px;font-size:.48rem;letter-spacing:.2em;color:var(--novel-accent)}
.cover-author{position:absolute;bottom:30px;font-size:.57rem;letter-spacing:.22em;color:rgba(238,233,223,.6)}
.cover-shadow{position:absolute;inset:10% -14% -8% 12%;z-index:-1;background:radial-gradient(ellipse,var(--novel-glow),transparent 65%);filter:blur(30px)}
.launch-copy h1{font-size:clamp(4rem,8vw,8.6rem);line-height:.78;max-width:980px}
.launch-kicker{display:inline-flex;padding:7px 10px;border:1px solid var(--launch-line);font-size:.54rem;letter-spacing:.2em;color:var(--novel-accent);margin-bottom:22px}
.impact{font-family:var(--serif);font-size:clamp(1.9rem,3vw,3rem);line-height:.98;max-width:760px;color:var(--novel-accent);margin:25px 0}
.launch-meta{display:flex;gap:24px;margin-top:30px;padding-top:18px;border-top:1px solid var(--launch-line);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,233,223,.35)}
.scroll-cue{position:absolute;z-index:3;bottom:25px;left:50%;transform:translateX(-50%);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(238,233,223,.38);display:flex;gap:12px;align-items:center}.scroll-cue span{color:var(--novel-accent);font-size:1rem}
.launch-statement{padding:145px 0;background:var(--paper);color:var(--ink)}
.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.statement-grid h2{font-size:clamp(3rem,6vw,6.3rem)}.statement-text{padding-top:30px}.statement-text .lead{
    color:#e8e1d4 !important;}.statement-text p:last-child{color:#756d61;max-width:590px}
.launch-atmosphere{padding:130px 0;background:#0c0e0d}.atmosphere-head{max-width:800px;margin-bottom:55px}.atmosphere-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:260px 260px;gap:15px}.atmo-card{position:relative;border:1px solid var(--launch-line);background:linear-gradient(145deg,var(--novel-glow),rgba(255,255,255,.015) 45%,rgba(0,0,0,.6));display:flex;align-items:end;padding:20px;overflow:hidden}.atmo-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 40%,var(--novel-glow),transparent 40%)}.atmo-card span{position:relative;z-index:2;font-size:.55rem;letter-spacing:.18em;color:rgba(238,233,223,.42)}.atmo-main{grid-row:span 2}
.launch-quote{padding:155px 0;background:linear-gradient(180deg,#090909,#11100e)}.quote-stage{max-width:1050px;margin:auto;text-align:center}.quote-mark{font-family:var(--serif);font-size:8rem;color:var(--novel-accent);line-height:.4;opacity:.7}.quote-stage blockquote{font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,6rem);line-height:.9;margin:35px 0;color:rgba(238,233,223,.82)}.quote-stage cite{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(238,233,223,.35)}
.launch-reading{padding:130px 0;background:#0e0d0b}.reading-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.reading-card{border:1px solid var(--launch-line);padding:34px;background:rgba(255,255,255,.018)}.reading-top{display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.18em;color:var(--novel-accent);border-bottom:1px solid var(--launch-line);padding-bottom:14px}.reading-card p{font-family:var(--serif);font-size:1.5rem;line-height:1.25;color:rgba(238,233,223,.68);min-height:180px}
.launch-data{padding:125px 0;background:#090909}.launch-specs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--launch-line)}.launch-specs div{padding:25px 15px;border-bottom:1px solid var(--launch-line);border-right:1px solid var(--launch-line)}.launch-specs div:nth-child(4n){border-right:0}.launch-specs strong{display:block;font-size:.55rem;letter-spacing:.17em;text-transform:uppercase;color:var(--novel-accent);margin-bottom:8px}.launch-specs span{font-size:.86rem;color:rgba(238,233,223,.5)}
.launch-reviews{padding:125px 0;background:#11100e}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:45px}.review-grid article{min-height:250px;padding:27px;border:1px solid var(--launch-line);display:flex;flex-direction:column;justify-content:space-between}.review-grid span{font-size:.58rem;color:var(--novel-accent)}.review-grid p{font-family:var(--serif);font-size:1.4rem;line-height:1.15;color:rgba(238,233,223,.65)}.review-grid small{font-size:.56rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(238,233,223,.35)}
.launch-buy{padding:130px 0;background:var(--paper);color:var(--ink)}.buy-hero{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.buy-actions{display:flex;gap:10px;flex-wrap:wrap}.launch-buy .btn.ghost{color:var(--ink);border-color:rgba(9,9,9,.25)}.launch-buy .eyebrow{color:#80643c}
.launch-next{padding:125px 0;text-align:center;background:#080808}.launch-next h2{font-size:clamp(3.5rem,7vw,7rem);margin-bottom:35px}
@media(max-width:900px){.launch-hero-grid,.statement-grid,.reading-grid,.buy-hero{grid-template-columns:1fr;gap:50px}.launch-cover{max-width:360px}.launch-copy h1{font-size:clamp(3.5rem,14vw,6rem)}.atmosphere-grid{grid-template-columns:1fr;grid-template-rows:300px 220px 220px}.atmo-main{grid-row:auto}.launch-specs{grid-template-columns:1fr 1fr}.launch-specs div:nth-child(4n){border-right:1px solid var(--launch-line)}.launch-specs div:nth-child(2n){border-right:0}.review-grid{grid-template-columns:1fr}}
@media(max-width:540px){.launch-hero{padding-top:120px}.launch-meta{flex-direction:column;gap:8px}.launch-specs{grid-template-columns:1fr}.launch-specs div{border-right:0!important}.impact{font-size:1.8rem}}

/* =========================================================
   FASE 5 · SOMBRAS DE LA NOCHE
   La portada real se convierte en el origen visual de la página.
   Paleta derivada: negro carbón / azul petróleo / rojo profundo / oro.
   ========================================================= */
.launch-page[data-theme="spy"]{
  --novel-accent:#d7b36b;
  --novel-red:#a51f20;
  --novel-blue:#173d48;
  --novel-cyan:#5c858b;
  --novel-glow:rgba(39,94,108,.30);
}
.launch-page[data-theme="spy"] .launch-hero{
  background:
    linear-gradient(90deg,rgba(3,5,6,.98) 0%,rgba(4,7,8,.78) 42%,rgba(4,7,8,.62) 100%),
    url("../assets/novelas/sombras-de-la-noche-cover.jpg") center 25%/cover no-repeat;
}
.launch-page[data-theme="spy"] .launch-hero:before{
  background:
    radial-gradient(circle at 73% 38%,rgba(47,103,115,.27),transparent 25%),
    linear-gradient(115deg,rgba(0,0,0,.88),rgba(3,12,15,.30) 58%,rgba(0,0,0,.88));
}
.launch-page[data-theme="spy"] .launch-noise{
  opacity:.055;
  background-image:
    repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.08) 4px),
    repeating-linear-gradient(90deg,transparent 0 7px,rgba(54,114,126,.06) 8px);
}
.launch-page[data-theme="spy"] .launch-copy .eyebrow,
.launch-page[data-theme="spy"] .launch-copy .launch-kicker{
  color:var(--novel-accent);
}
.launch-page[data-theme="spy"] .launch-copy .impact{
  color:#e1bf7a;
}
.launch-page[data-theme="spy"] .launch-copy .btn:not(.ghost){
  background:linear-gradient(135deg,#b52527,#8e171a);
  border-color:#b52527;
  box-shadow:0 12px 35px rgba(130,24,26,.22);
}
.launch-page[data-theme="spy"] .launch-copy .btn:not(.ghost):hover{
  background:linear-gradient(135deg,#c72b2e,#9e1b1e);
}
.launch-page[data-theme="spy"] .launch-cover-real{
  transform:rotate(-1.3deg);
  max-width:440px;
}
.launch-page[data-theme="spy"] .launch-cover-real picture,
.launch-page[data-theme="spy"] .launch-cover-real img{
  display:block;
  width:100%;
}
.launch-page[data-theme="spy"] .launch-cover-real img{
  height:auto;
  border:1px solid rgba(215,179,107,.48);
  box-shadow:
    0 35px 75px rgba(0,0,0,.72),
    0 0 0 1px rgba(255,255,255,.05);
}
.launch-page[data-theme="spy"] .launch-cover-real:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(8,18,22,.06),transparent 55%,rgba(0,0,0,.16));
  mix-blend-mode:multiply;
}
.launch-page[data-theme="spy"] .launch-cover-real .cover-shadow{
  inset:12% -18% -10% 8%;
  background:
    radial-gradient(ellipse at 45% 40%,rgba(37,96,111,.32),transparent 56%),
    radial-gradient(ellipse at 60% 80%,rgba(165,31,32,.16),transparent 55%);
  filter:blur(32px);
}
.launch-page[data-theme="spy"] .launch-atmosphere{
  background:
    linear-gradient(rgba(8,13,14,.92),rgba(8,13,14,.96)),
    url("../assets/novelas/sombras-de-la-noche-cover.jpg") center/cover fixed;
}
.launch-page[data-theme="spy"] .atmo-card{
  background:
    linear-gradient(145deg,rgba(22,64,75,.26),rgba(0,0,0,.28) 52%,rgba(122,19,20,.12)),
    rgba(255,255,255,.015);
}
.launch-page[data-theme="spy"] .atmo-main{
  background:
    linear-gradient(145deg,rgba(5,15,18,.52),rgba(0,0,0,.74)),
    url("../assets/novelas/sombras-de-la-noche-cover.jpg") 50% 33%/cover no-repeat;
}
.launch-page[data-theme="spy"] .launch-quote{
  background:
    radial-gradient(circle at 50% 50%,rgba(25,75,87,.22),transparent 40%),
    linear-gradient(180deg,#070909,#0c0d0d);
}
.launch-page[data-theme="spy"] .launch-quote .quote-mark,
.launch-page[data-theme="spy"] .launch-quote cite{
  color:var(--novel-accent);
}
.launch-page[data-theme="spy"] .launch-data{
  background:#080a0b;
}
.launch-page[data-theme="spy"] .launch-specs strong{
  color:var(--novel-accent);
}
.launch-page[data-theme="spy"] .launch-buy{
  background:
    linear-gradient(135deg,#e8e1d4 0%,#f1ede4 58%,#ddd4c5 100%);
}
.launch-page[data-theme="spy"] .launch-buy .btn:not(.ghost){
  background:#a51f20;
  border-color:#a51f20;
}
@media(max-width:900px){
  .launch-page[data-theme="spy"] .launch-hero{
    background:
      linear-gradient(180deg,rgba(3,5,6,.94),rgba(4,7,8,.80)),
      url("../assets/novelas/sombras-de-la-noche-cover.jpg") center/cover no-repeat;
  }
  .launch-page[data-theme="spy"] .launch-cover-real{max-width:360px}
}
/* OPERACIÓN ESTRECHO — nueva imagen principal de ATMÓSFERA */
[data-theme="operation"] .atmo-cover {
    background-image: none !important;
    overflow: hidden;
}

[data-theme="operation"] .atmo-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* FASE 5 — SECRETOS DE ESTADO */
.secretos-state-hero{background-image:linear-gradient(90deg,rgba(2,8,9,.90),rgba(2,8,9,.34) 58%,rgba(2,8,9,.84)),url('../assets/covers/secretos-de-estado-hero.webp');background-size:cover;background-position:center}
.secretos-state-hero .cover-real{padding:0;overflow:hidden;background:#050a0b;border:0;box-shadow:28px 35px 90px rgba(0,0,0,.78)}
.secretos-state-hero .cover-real:before{display:none}
.secretos-state-hero .cover-real img{display:block;width:100%;height:auto;object-fit:cover}
.secretos-state-hero .impact{color:#d8d4c7}
.secretos-state-hero .launch-kicker{color:#76c5c4}
/* SECRETOS DE ESTADO — portada principal */
.launch-page[data-theme="state"] .launch-cover .cover-placeholder {
    padding: 0;
    overflow: hidden;
}

.launch-page[data-theme="state"] .launch-cover .cover-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* FASE 5 — LA HERMANDAD DE LA NIEBLA */
.hermandad-mist-hero{
  background-image:
    linear-gradient(90deg,rgba(8,12,12,.90),rgba(8,12,12,.30) 55%,rgba(8,12,12,.82)),
    url('../assets/covers/la-hermandad-de-la-niebla-hero.webp');
  background-size:cover;
  background-position:center;
}
.hermandad-mist-hero .cover-real{
  padding:0;overflow:hidden;background:#0d1110;border:0;
  box-shadow:28px 35px 95px rgba(0,0,0,.78);
}
.hermandad-mist-hero .cover-real:before{display:none}
.hermandad-mist-hero .cover-real img{display:block;width:100%;height:auto;object-fit:cover}
.hermandad-mist-hero .impact{color:#d0c7a7}
.hermandad-mist-hero .launch-kicker{color:#b7aa83}

/* LA HERMANDAD DE LA NIEBLA — portada principal */
.launch-page[data-theme="mist"] .launch-cover .cover-placeholder {
    padding: 0;
    overflow: hidden;
}

.launch-page[data-theme="mist"] .launch-cover .cover-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* FASE 5 — PELAYO */
.pelayo-historical-hero{
  background-image:
    linear-gradient(90deg,rgba(11,9,5,.88),rgba(11,9,5,.25) 55%,rgba(11,9,5,.78)),
    url('../assets/covers/pelayo-hero.webp');
  background-size:cover;
  background-position:center;
}
.pelayo-historical-hero .cover-real{
  padding:0;overflow:hidden;background:#100d08;border:0;
  box-shadow:28px 35px 100px rgba(0,0,0,.78);
}
.pelayo-historical-hero .cover-real:before{display:none}
.pelayo-historical-hero .cover-real img{display:block;width:100%;height:auto;object-fit:cover}
.pelayo-historical-hero .impact{color:#d6b66a}
.pelayo-historical-hero .launch-kicker{color:#c6a45b}
/* PELAYO — portada principal */
.launch-page[data-theme="pelayo"] .launch-cover .cover-placeholder {
    padding: 0;
    overflow: hidden;
}

.launch-page[data-theme="state"] .launch-cover .cover-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* FASE 5 — BENITO SOTO, EL PIRATA DE PONTEVEDRA */
.benito-atlantic-hero{
  background-image:
    linear-gradient(90deg,rgba(3,10,15,.90),rgba(3,10,15,.25) 55%,rgba(3,10,15,.82)),
    url('../assets/covers/benito-soto-hero.webp');
  background-size:cover;
  background-position:center;
}
.benito-atlantic-hero .cover-real{
  padding:0;overflow:hidden;background:#071117;border:0;
  box-shadow:28px 35px 100px rgba(0,0,0,.82);
}
.benito-atlantic-hero .cover-real:before{display:none}
.benito-atlantic-hero .cover-real img{display:block;width:100%;height:auto;object-fit:cover}
.benito-atlantic-hero .impact{color:#d3b66a}
.benito-atlantic-hero .launch-kicker{color:#bca15f}
/* BENITO SOTO — portada principal */
.launch-page[data-theme="benito"] .launch-cover .cover-placeholder {
    padding: 0;
    overflow: hidden;
}

.launch-page[data-theme="state"] .launch-cover .cover-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* BENITO SOTO — ampliar marco de portada principal */
.launch-page[data-theme="benito"] .launch-cover {
    transform: scale(1.65);
    transform-origin: center center;
}