/* Ecos Convergentes · diseño «Constelación» (elegido por Pol el 6/10/2026).
   Los colores están en :root, al principio. El diseño de muestra original sigue en disenos/05-constelacion/.
   La parte final del archivo («PARTE FUNCIONAL») es lo que hace que funcione de verdad: menú, vídeos, cookies, páginas legales… */
/* ---------- Base ---------- */
:root{
  --bg:#f3f5fa; --white:#fff;
  --ink:#23286b; --ink-2:#454a80; --muted:#62678f;
  --violet:#6c5ce7; --violet-d:#5241d3; --violet-soft:#ecebfd;
  --amber:#f2a93b; --amber-soft:#fdf1dc;
  --line:rgba(35,40,107,.11); --line-2:rgba(35,40,107,.2);
  --shadow:0 1px 2px rgba(35,40,107,.06),0 18px 40px -22px rgba(35,40,107,.3);
  --head:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink-2);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a[role=button]{cursor:pointer}
h1,h2,h3{font-family:var(--head);color:var(--ink);margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.1}
h2{font-size:clamp(30px,4vw,48px)}
h2 em{font-style:normal;color:var(--violet)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
.wrap{width:min(1200px,100% - 32px);margin-inline:auto}
@media (min-width:768px){.wrap{width:min(1200px,100% - 80px)}}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon--fill{fill:currentColor;stroke:none}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:56px;z-index:1000;background:#fff;color:var(--ink);padding:8px 14px;border-radius:8px}
.section{padding:clamp(68px,9vw,116px) 0}

/* eyebrow: nodo + número + texto */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px/1.2 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-d)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,169,59,.2);flex:none}
.eyebrow i{font-style:normal;color:var(--ink);opacity:.42;letter-spacing:.05em}
.sec-head{text-align:center;max-width:740px;margin:0 auto 52px}
.sec-head h2{margin-top:18px}
.sec-head p{margin-top:16px;font-size:17.5px;color:var(--muted)}

/* botones (no funcionan: es una muestra) */
.btn{display:inline-flex;align-items:center;gap:12px;padding:9px 26px 9px 9px;border-radius:999px;background:var(--ink);color:#fff;font:600 15.5px/1.2 var(--body);text-align:left;box-shadow:0 16px 30px -16px rgba(35,40,107,.8);transition:background .2s,transform .2s}
.btn:hover{background:var(--violet-d);transform:translateY(-1px)}
.btn__ic{width:42px;height:42px;border-radius:50%;background:var(--amber);color:var(--ink);display:grid;place-items:center;flex:none}
.btn__ic .icon{width:22px;height:22px;stroke-width:1.8}
.btn__txt small{display:block;font:400 12.5px/1.3 var(--body);color:#c6c9f0;margin-top:3px}
.btn--sm{padding:5px 16px 5px 5px;font-size:14px;gap:9px;box-shadow:none}
.btn--sm .btn__ic{width:30px;height:30px}
.btn--sm .btn__ic .icon{width:17px;height:17px}
.btn--ghost{background:#fff;color:var(--ink);border:1px solid var(--line-2);box-shadow:none;padding:13px 24px;gap:10px}
.btn--ghost:hover{background:var(--violet-soft)}
.btn--ghost .icon{color:var(--violet)}
.btn--ghost:hover .icon{color:var(--violet-d)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:3px}
.link-arrow .icon{width:18px;height:18px;color:var(--violet)}

/* ---------- Aviso ---------- */
.announce{background:var(--ink);color:#dfe2f8;font:500 12.5px/1.4 var(--body);overflow:hidden}
.announce__in{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 34px;padding:9px 16px}
.announce span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.announce span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}
@media (max-width:620px){
  .announce__in{flex-direction:column;align-items:center;gap:2px;padding:8px 16px;font-size:11.5px}
}

/* ---------- Cabecera ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(243,245,250,.88);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.header{display:flex;align-items:center;gap:20px;height:74px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.logo-mark{width:38px;height:38px;flex:none;color:var(--ink)}
.wordmark{font:600 18px/1.05 var(--head);letter-spacing:-.02em;white-space:nowrap}
.wordmark span+span::before{content:" "}
.nav{display:flex;gap:30px;margin-left:auto;font:500 14.5px/1 var(--body);color:var(--ink)}
.nav a{position:relative;padding:8px 0}
.nav a::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--amber);transform:scale(0);transition:transform .2s}
.nav a:hover::after{transform:scale(1)}
.header .btn{margin-left:10px}
.menu-ic{display:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);place-items:center;color:var(--ink);flex:none}
@media (max-width:960px){
  .nav{display:none}
  .header .btn{margin-left:auto}
  .menu-ic{display:grid}
}
@media (max-width:560px){
  .header{height:66px;gap:10px}
  .logo-mark{width:34px;height:34px}
  .wordmark{font-size:14.5px}
  .wordmark span{display:block}
  .wordmark span+span::before{content:none}
  .hide-sm{display:none}
  .header .btn{padding-right:14px}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:52px 0 76px;background:radial-gradient(52% 60% at 78% 46%,rgba(108,92,231,.13),transparent 70%),var(--bg)}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(35,40,107,.16) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 92%);mask-image:linear-gradient(180deg,#000 10%,transparent 92%);pointer-events:none}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);column-gap:56px;grid-template-rows:1fr auto auto auto 1fr;grid-template-areas:". media" "intro media" "buy media" "facts media" ". media"}
.hero__intro{grid-area:intro}
.hero__media{grid-area:media}
.hero__buy{grid-area:buy}
.facts{grid-area:facts}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font:600 12px/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--violet-d);box-shadow:0 8px 20px -14px rgba(35,40,107,.35)}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,169,59,.2)}
.hero h1{font-size:clamp(46px,6.1vw,78px);line-height:.98;letter-spacing:-.045em;margin:26px 0 24px}
.hero h1 span{display:block}
.h1a{font-weight:300}
.h1b{font-weight:700;background:linear-gradient(95deg,var(--ink) 20%,var(--violet) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.h1b::after{content:"";display:inline-block;width:.15em;height:.15em;margin-left:.07em;border-radius:50%;background:var(--amber);box-shadow:0 0 0 .07em rgba(242,169,59,.25)}
.hero__tag{font:300 clamp(19px,1.75vw,23px)/1.45 var(--head);color:var(--ink-2);max-width:28ch;letter-spacing:-.01em}
.hero__buy{display:flex;flex-wrap:wrap;align-items:center;gap:20px 26px;margin-top:36px}
.price{padding-left:26px;border-left:1px solid var(--line-2)}
.price b{display:block;font:600 32px/1 var(--head);color:var(--ink);letter-spacing:-.03em}
.price span{display:block;font-size:12.5px;color:var(--muted);margin-top:7px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:42px}
.facts li{position:relative;padding:18px 14px 0 0;border-top:1px solid var(--line-2)}
.facts li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 4px var(--bg)}
.facts li:nth-child(2)::before{background:var(--amber)}
.facts li:nth-child(3)::before{background:#fff;border:1.5px solid var(--ink)}
.facts li:nth-child(4)::before{background:var(--ink)}
.facts b{display:block;font:600 19px/1.15 var(--head);color:var(--ink);letter-spacing:-.02em}
.facts span{display:block;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.35}
.hero__media{position:relative;width:100%;max-width:540px;aspect-ratio:560/620;justify-self:center;align-self:center}
.net{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.net .sec{stroke:var(--ink);stroke-opacity:.1;stroke-width:1}
.net .ring{fill:none;stroke:var(--violet);stroke-opacity:.38;stroke-width:1;stroke-dasharray:3 6}
.net .spoke{stroke:var(--ink);stroke-opacity:.2;stroke-width:1}
.net .flow{stroke:var(--violet);stroke-width:1.8;stroke-dasharray:2 16;stroke-linecap:round;opacity:.85}
.net .star{fill:var(--ink);opacity:.28}
.n-a{fill:var(--amber)} .n-v{fill:var(--violet)} .n-w{fill:#fff;stroke:var(--ink);stroke-width:1.4}
.halo{fill:none;stroke:var(--amber);stroke-opacity:.5;stroke-width:1.2}
.cover{position:absolute;left:20.54%;top:11.48%;width:58.93%;z-index:2}
.cover::before{content:"";position:absolute;inset:-16% -26%;background:radial-gradient(closest-side,rgba(108,92,231,.26),transparent);z-index:-1}
.cover img{width:100%;border-radius:3px 6px 6px 3px;box-shadow:0 2px 4px rgba(20,22,60,.22),0 28px 50px -18px rgba(20,22,60,.6),0 60px 90px -40px rgba(108,92,231,.55)}
@media (max-width:900px){
  .hero{padding:34px 0 56px}
  .hero__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"intro" "media" "buy" "facts"}
  .hero__media{max-width:430px;margin:30px auto 4px}
  .hero__tag{max-width:none}
}
@media (max-width:560px){
  .hero h1{margin:20px 0 16px}
  .pill{font-size:10px;letter-spacing:.05em;padding:7px 12px 7px 10px;gap:8px;white-space:nowrap}
  .hero__buy{flex-direction:column;align-items:stretch;gap:18px;margin-top:26px}
  .hero__buy .btn{justify-content:flex-start}
  .price{display:flex;align-items:baseline;gap:12px;padding:0;border:0}
  .price span{margin:0}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;margin-top:32px}
}

/* ---------- Ventajas ---------- */
.strip{background:#fff;border-block:1px solid var(--line)}
.strip__grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:36px 0 38px}
.strip__grid::before{content:"";position:absolute;top:58px;left:12.5%;right:12.5%;border-top:1px dashed rgba(108,92,231,.45)}
.strip__item{position:relative;text-align:center;padding:0 14px}
.strip__ic{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line-2);color:var(--violet);box-shadow:0 0 0 8px #fff}
.strip__item:nth-child(even) .strip__ic{color:var(--ink);background:var(--amber-soft);border-color:rgba(242,169,59,.5)}
.strip__item b{display:block;font:600 15.5px/1.3 var(--head);color:var(--ink);letter-spacing:-.01em}
.strip__item span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;line-height:1.45}
@media (max-width:760px){
  .strip__grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px;padding:32px 0}
  .strip__grid::before{display:none}
  .strip__item{padding:0 6px}
  .strip__item b{font-size:14.5px}
  .strip__item span{font-size:13px}
}

/* ---------- Sinopsis ---------- */
.syn{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.syn__head{position:sticky;top:110px}
.syn__head h2{margin-top:20px;font-size:clamp(34px,4.4vw,54px)}
.syn__head h2 em{display:block}
.syn__fig{display:block;width:100%;max-width:400px;margin-top:44px;overflow:visible}
.syn__fig .st{fill:none;stroke:var(--ink);stroke-opacity:.22;stroke-width:1.2}
.syn__fig .fl{fill:none;stroke:var(--violet);stroke-width:2;stroke-dasharray:2 16;stroke-linecap:round}
.syn__fig figcaption{display:none}
.syn__body>p{font-size:17px;line-height:1.78;margin-bottom:18px}
.syn__body>.syn__lead{font:400 clamp(19px,1.8vw,22px)/1.6 var(--head);color:var(--ink);letter-spacing:-.012em;margin-bottom:22px}
.themes{margin-top:32px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.themes__t{display:flex;align-items:center;gap:12px;font:600 12px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.themes__t::after{content:"";flex:1;border-top:1px dashed var(--line-2)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:inline-flex;align-items:center;gap:9px;padding:8px 15px 8px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:14px;line-height:1.3;color:var(--ink);font-weight:500}
.chips li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--violet);flex:none}
.chips li:nth-child(3n+2)::before{background:var(--amber)}
.chips li:nth-child(3n)::before{background:var(--ink)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:34px}
@media (max-width:900px){
  .syn{grid-template-columns:minmax(0,1fr);gap:34px}
  .syn__head{position:static}
  .syn__fig{max-width:320px;margin-top:30px}
}
@media (max-width:560px){.themes{padding:20px}.chips li{font-size:13.5px}}

/* ---------- Géneros ---------- */
.genres{background:var(--ink);color:#fff;padding:30px 0 32px;position:relative;overflow:hidden}
.genres::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.4px);background-size:22px 22px;pointer-events:none}
.genres__list{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.genres__list li{position:relative;text-align:center;padding:26px 8px 0;font:500 15.5px/1.3 var(--head);letter-spacing:-.005em}
.genres__list li::before{content:"";position:absolute;top:5px;left:0;right:0;border-top:1px solid rgba(255,255,255,.2)}
.genres__list li:first-child::before{left:50%}
.genres__list li:last-child::before{right:50%}
.genres__list li::after{content:"";position:absolute;top:1px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,169,59,.22)}
.genres__list li:nth-child(even)::after{background:#a99ff5;box-shadow:0 0 0 4px rgba(169,159,245,.22)}
@media (max-width:760px){
  .genres__list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .genres__list li{font-size:14px}
  .genres__list li:nth-child(odd)::before{left:50%;right:0}
  .genres__list li:nth-child(even)::before{left:0;right:50%}
}

/* ---------- Personajes: constelación ---------- */
.cast-sec{position:relative;overflow:hidden;background:#fff}
.cast-sec::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(35,40,107,.1) 1px,transparent 1.4px);background-size:28px 28px;-webkit-mask-image:radial-gradient(60% 45% at 50% 35%,#000,transparent);mask-image:radial-gradient(60% 45% at 50% 35%,#000,transparent);pointer-events:none}
.cast-sec .wrap{position:relative}
.cast{position:relative}
.cast__map,.cast__hub{display:none}
.cast__cards{position:relative;display:grid;gap:18px}
.cast__cards::before{content:"";position:absolute;left:55px;top:44px;bottom:44px;border-left:1.5px dashed rgba(108,92,231,.45)}
.char{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"pic head" "text text" "tags tags";column-gap:16px;align-items:center;box-shadow:0 14px 30px -26px rgba(35,40,107,.5)}
.char__pic{grid-area:pic;position:relative;width:76px;height:76px}
.char__img{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#1b1d3a;box-shadow:0 0 0 3px #fff,0 0 0 4.5px rgba(108,92,231,.45),0 12px 22px -10px rgba(35,40,107,.55)}
.char__img img{position:absolute;max-width:none;width:calc(var(--k,2.2) * 100%);height:auto;left:calc((.5 - var(--fx) * var(--k,2.2)) * 100%);top:calc((.5 - 1.5 * var(--k,2.2) * var(--fy)) * 100%)}
.char__img--q{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#efedfd 0 7px,#f8f7ff 7px 14px);box-shadow:0 0 0 3px #fff,0 0 0 4.5px rgba(242,169,59,.7)}
.char__img--q span{font:300 34px/1 var(--head);color:var(--violet)}
.char__lbl{display:none}
.char__head{grid-area:head;min-width:0}
.char__meta{display:flex;align-items:center;gap:9px;font:600 11.5px/1.2 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--violet-d)}
.char__n{color:var(--ink);opacity:.45;letter-spacing:.04em}
.char__n::after{content:"";display:inline-block;width:14px;margin-left:9px;vertical-align:middle;border-top:1px solid var(--line-2)}
.char__name{font-size:21px;margin-top:8px;letter-spacing:-.02em}
.char__text{grid-area:text;margin-top:16px;font-size:15px;line-height:1.66}
.char__text--q{font:300 30px/1 var(--head);color:var(--violet)}
.tags{grid-area:tags;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tags li{font:500 12.5px/1 var(--body);padding:7px 12px;border-radius:999px;background:var(--violet-soft);color:var(--violet-d)}
.tags li.warm{background:var(--amber-soft);color:#8a5410}
.cast__ai{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:34px;font-size:13.5px;color:var(--muted);text-align:center}
.cast__ai::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);flex:none}
@media (min-width:700px) and (max-width:1099px){
  .cast__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cast__cards::before{display:none}
  .char{grid-template-columns:84px minmax(0,1fr);align-content:start}
  .char__pic{width:84px;height:84px}
}
@media (min-width:1100px){
  .cast{padding-top:624px}
  .cast__map{display:block;position:absolute;top:0;left:50%;width:1000px;height:590px;margin-left:-500px}
  .cast__map svg{display:block;width:100%;height:100%;overflow:visible}
  .map .spoke{stroke:var(--ink);stroke-opacity:.18;stroke-width:1}
  .map .ring{fill:none;stroke:var(--violet);stroke-opacity:.4;stroke-width:1;stroke-dasharray:3 7}
  .map .flow{stroke:var(--violet);stroke-width:1.8;stroke-dasharray:2 16;stroke-linecap:round;opacity:.8}
  .map .star{fill:var(--ink);opacity:.25}
  .map .star.a{fill:var(--amber);opacity:.9}
  .map .orbit{fill:none;stroke:var(--violet);stroke-opacity:.35;stroke-dasharray:2 7}
  .map .orbit2{fill:none;stroke:var(--ink);stroke-opacity:.08}
  .cast__hub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:absolute;left:50%;top:275px;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;background:#fff;text-align:center;box-shadow:0 0 0 1px var(--line-2),0 0 0 10px rgba(108,92,231,.06),0 26px 50px -20px rgba(35,40,107,.45);z-index:2}
  .cast__hub .logo-mark{width:48px;height:48px}
  .cast__hub span{font:600 10.5px/1.3 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
  .cast__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .cast__cards::before{display:none}
  .cast__cards,.char{position:static}
  .char{display:block;padding:24px 22px 24px}
  .char__pic{position:absolute;z-index:3;width:108px;height:108px;left:calc(50% - 554px + var(--x) * 1px);top:calc(var(--y) * 1px - 54px)}
  .char__img{box-shadow:0 0 0 4px #fff,0 0 0 5.5px rgba(108,92,231,.5),0 18px 34px -12px rgba(35,40,107,.6)}
  .char__img--q{box-shadow:0 0 0 4px #fff,0 0 0 5.5px rgba(242,169,59,.8),0 18px 34px -12px rgba(35,40,107,.4)}
  .char__img--q span{font-size:48px}
  .char__lbl{display:block;position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:14px;white-space:nowrap;font:600 13px/1 var(--head);color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:7px 12px;border-radius:999px;box-shadow:0 8px 18px -10px rgba(35,40,107,.35)}
  .char__lbl i{font-style:normal;color:var(--violet);margin-right:6px}
  .char__name{font-size:22px}
  .char__text{margin-top:14px}
}

/* ---------- Cita ---------- */
.quote{position:relative;overflow:hidden;background:linear-gradient(180deg,#eceafd 0%,#f3f5fa 100%)}
.quote__deco{position:absolute;top:50%;width:300px;height:300px;margin-top:-150px;opacity:.9;pointer-events:none}
.quote__deco--l{left:-40px}
.quote__deco--r{right:-40px;transform:scaleX(-1)}
.quote__box{position:relative;max-width:920px;text-align:center}
.quote__mark{display:block;height:64px;margin-bottom:14px;font:700 150px/.9 var(--head);color:var(--amber)}
.quote blockquote{margin:0}
.quote blockquote p{font:300 clamp(21px,2.45vw,30px)/1.52 var(--head);color:var(--ink);letter-spacing:-.015em}
.quote blockquote em{font-style:normal;font-weight:600;color:var(--violet-d)}
.quote figcaption{display:inline-flex;align-items:center;gap:14px;margin-top:32px;font:500 13.5px/1.45 var(--body);color:var(--muted)}
.quote figcaption::before,.quote figcaption::after{content:"";width:34px;border-top:1px solid var(--violet);flex:none}
@media (max-width:900px){.quote__deco{display:none}}
@media (max-width:560px){.quote figcaption::before,.quote figcaption::after{width:18px}.quote__mark{height:52px;font-size:120px}}

/* ---------- Vídeos ---------- */
.vid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:72px;align-items:center}
.vid__txt h2{margin-top:18px}
.vid__txt p{margin:18px 0 30px;font-size:17.5px;color:var(--muted);max-width:38ch}
@media (max-width:900px){.vid{grid-template-columns:minmax(0,1fr);gap:40px}}

/* ---------- Ficha técnica ---------- */
.ficha{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:center;padding:52px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}
.ficha__art{position:relative}
.ficha__art::before{content:"";position:absolute;inset:-12% -14%;background:radial-gradient(closest-side,rgba(108,92,231,.18),transparent);z-index:0}
.ficha__art img{position:relative;width:100%;border-radius:3px 5px 5px 3px;box-shadow:0 2px 4px rgba(20,22,60,.2),0 26px 50px -22px rgba(20,22,60,.65)}
.ficha h2{margin-top:18px}
.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.spec div{position:relative;padding:17px 18px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec dt{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.spec dt::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--violet)}
.spec div:nth-child(even) dt::before{background:var(--amber)}
.spec dd{margin:9px 0 0;font:500 16px/1.35 var(--head);color:var(--ink);letter-spacing:-.01em}
.spec .is-price{background:var(--amber-soft)}
.spec .is-price dd{font-weight:700}
@media (max-width:900px){
  .ficha{grid-template-columns:minmax(0,1fr);gap:34px;padding:34px 26px}
  .ficha__art{width:170px;margin:0 auto}
}
@media (max-width:560px){
  .ficha{padding:28px 18px;border-radius:24px}
  .spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec div{padding:14px 12px}
  .spec dd{font-size:14.5px}
  .spec .is-wide{grid-column:1/-1}
}

/* ---------- Por qué comprarlo aquí ---------- */
.why{position:relative;overflow:hidden;background:var(--ink);border-radius:34px;padding:clamp(36px,6vw,80px);color:#cfd2f3}
.why::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 100% 0%,rgba(108,92,231,.5),transparent 70%);pointer-events:none}
.why__deco{position:absolute;top:0;right:0;width:420px;height:300px;pointer-events:none}
.why>*{position:relative}
.why>.why__deco{position:absolute}
.why .eyebrow{color:var(--amber)}
.why .eyebrow i{color:#fff}
.why__text{font:500 clamp(30px,4.5vw,58px)/1.08 var(--head);color:#fff;letter-spacing:-.035em;max-width:18ch;margin-top:24px}
.why__text em{font-style:normal;color:var(--amber)}
.why__sub{max-width:58ch;margin-top:24px;font-size:17.5px;color:#c9ccef}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:60px}
.principles li{position:relative;padding:30px 26px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.principles li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(242,169,59,.2)}
.principles .n{font:600 13px/1 var(--head);color:var(--amber);letter-spacing:.08em}
.principles b{display:block;font:600 19px/1.25 var(--head);color:#fff;margin-top:12px;letter-spacing:-.015em}
.principles p{margin-top:8px;font-size:15px;line-height:1.6;color:#b8bce7}
@media (max-width:900px){.principles{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.why__deco{opacity:.5}}
@media (max-width:560px){
  .why{border-radius:26px;padding:34px 22px}
  .principles{grid-template-columns:minmax(0,1fr);row-gap:26px;margin-top:40px}
  .principles li{padding-top:22px}
  .why__deco{width:260px;height:190px;opacity:.45}
}

/* ---------- Cómo comprar ---------- */
.how{background:#fff}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.step{position:relative;padding:30px 28px 32px;background:var(--bg);border:1px solid var(--line);border-radius:24px}
.step:not(:last-child)::after{content:"";position:absolute;top:57px;right:-31px;width:30px;border-top:1.5px dashed rgba(108,92,231,.6)}
.step:not(:last-child)::before{content:"";position:absolute;top:53px;right:-19px;width:8px;height:8px;border-radius:50%;background:var(--amber);z-index:1}
.step__n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;font:600 17px/1 var(--head);letter-spacing:.02em;box-shadow:0 0 0 6px #fff,0 0 0 7px var(--line-2)}
.step:nth-child(2) .step__n{background:var(--violet)}
.step:nth-child(3) .step__n{background:var(--amber);color:var(--ink)}
.step h3{font-size:21px;margin-top:24px}
.step p{margin-top:10px;font-size:15.5px}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px}
.checks li{display:inline-flex;align-items:center;gap:10px;padding:9px 18px 9px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:14.5px;font-weight:500;color:var(--ink)}
.ck{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--violet);color:#fff}
.ck .icon{width:15px;height:15px;stroke-width:2.4}
@media (max-width:900px){
  .steps{grid-template-columns:minmax(0,1fr);gap:22px;max-width:560px;margin:0 auto}
  .step{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px;padding:24px 22px}
  .step__n{grid-row:span 2}
  .step h3{margin-top:4px;font-size:19px}
  .step:not(:last-child)::after{top:auto;right:auto;bottom:-23px;left:49px;width:0;height:22px;border-top:0;border-left:1.5px dashed rgba(108,92,231,.6)}
  .step:not(:last-child)::before{display:none}
  .checks{flex-direction:column;align-items:center}
}

/* ---------- Autor ---------- */
.author{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:88px;align-items:center}
.author__fig{position:relative;isolation:isolate}
.author__frame{position:relative;aspect-ratio:2/3;border-radius:24px;overflow:hidden;background:#dfe2ee;box-shadow:0 30px 60px -30px rgba(35,40,107,.55)}
.author__frame img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.author__outline{position:absolute;left:0;right:0;top:0;aspect-ratio:2/3;transform:translate(20px,20px);border:1px solid rgba(108,92,231,.5);border-radius:24px;z-index:-1}
.author__outline::before,.author__outline::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%}
.author__outline::before{right:-6px;bottom:-6px;background:var(--amber);box-shadow:0 0 0 5px rgba(242,169,59,.2)}
.author__outline::after{right:-6px;top:30%;background:var(--violet)}
.author__fig figcaption{display:flex;align-items:center;gap:14px;margin-top:40px}
.author__fig figcaption::before{content:"";width:36px;height:36px;border-radius:50%;flex:none;background:radial-gradient(circle,var(--amber) 0 4px,transparent 5px),#fff;border:1px solid var(--line-2)}
.author__fig b{display:block;font:600 18px/1.2 var(--head);color:var(--ink);letter-spacing:-.015em}
.author__fig small{display:block;font-size:13.5px;color:var(--muted);margin-top:3px}
.author h2{margin-top:18px}
.author__bio{margin-top:24px;font-size:16.5px;line-height:1.78}
.author__lead{margin-top:20px;font:400 20px/1.5 var(--head);color:var(--ink);letter-spacing:-.012em}
.author .actions{margin-top:30px}
.vlink{display:flex;align-items:center;gap:14px;max-width:460px;margin-top:22px;padding:13px 18px 13px 13px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 26px -20px rgba(35,40,107,.5)}
.vlink__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--violet);color:#fff;flex:none}
.vlink__ic .icon{width:20px;height:20px;margin-left:2px}
.vlink b{display:block;font:600 15.5px/1.3 var(--head);color:var(--ink)}
.vlink small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.vlink>.icon{margin-left:auto;color:var(--violet)}
@media (max-width:900px){
  .author{grid-template-columns:minmax(0,1fr);gap:56px}
  .author__fig{width:min(320px,82%);margin:0 auto}
}

/* ---------- Preguntas ---------- */
.faq-sec{background:#fff}
.faq-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.faq-head{position:sticky;top:110px}
.faq-head h2{margin-top:18px}
.faq-fig{display:block;width:220px;margin-top:40px;overflow:visible}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;font:500 18px/1.38 var(--head);color:var(--ink);letter-spacing:-.012em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.pm{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);color:var(--violet);transition:transform .25s,background .25s,color .25s}
.pm .icon{width:16px;height:16px;stroke-width:2}
.faq details[open] .pm{transform:rotate(45deg);background:var(--violet);border-color:var(--violet);color:#fff}
.faq details[open] summary{color:var(--violet-d)}
.faq__a{padding:0 56px 24px 0;font-size:16px;line-height:1.72}
@media (max-width:900px){
  .faq-wrap{grid-template-columns:minmax(0,1fr);gap:30px}
  .faq-head{position:static}
  .faq-fig{display:none}
}
@media (max-width:560px){.faq summary{font-size:16.5px;padding:19px 0}.faq__a{padding-right:0}}

/* ---------- CTA final ---------- */
.cta{position:relative;overflow:hidden;display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:52px;align-items:center;padding:56px 60px;border-radius:34px;color:#fff;background:linear-gradient(118deg,#6c5ce7 0%,#4038a8 48%,#23286b 100%);box-shadow:0 40px 80px -40px rgba(35,40,107,.7)}
.cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000);pointer-events:none}
.cta>*{position:relative}
.cta__book img{width:100%;border-radius:3px 5px 5px 3px;box-shadow:0 30px 50px -20px rgba(10,10,40,.75)}
.cta h2{color:#fff;font-size:clamp(28px,3.3vw,42px)}
.cta h2 em{display:block;color:var(--amber)}
.cta p{margin-top:14px;color:#dcdcfb;font-size:17px}
.cta__actions{display:flex;flex-direction:column;gap:12px}
.btn--amber{background:var(--amber);color:var(--ink);box-shadow:0 18px 30px -16px rgba(0,0,0,.5)}
.btn--amber:hover{background:#f7bd62}
.btn--amber .btn__ic{background:var(--ink);color:var(--amber)}
.btn--line{justify-content:center;padding:15px 24px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none}
.btn--line:hover{background:rgba(255,255,255,.1)}
@media (max-width:1000px){
  .cta{grid-template-columns:130px minmax(0,1fr);gap:28px 36px;padding:44px 40px}
  .cta__actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
}
@media (max-width:620px){
  .cta{grid-template-columns:minmax(0,1fr);text-align:center;padding:36px 22px;border-radius:26px;gap:26px}
  .cta__book{width:130px;margin:0 auto}
  .cta__actions{flex-direction:column;align-items:stretch}
  .cta__actions .btn{justify-content:center}
}

/* ---------- Pie ---------- */
.site-footer{position:relative;overflow:hidden;background:#fff;border-top:1px solid var(--line);padding:76px 0 104px}
.footer__top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:44px}
.footer__brand p{margin-top:18px;max-width:36ch;font-size:15px;color:var(--muted)}
.footer__col h2{font:600 12px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-d);margin-bottom:20px}
.footer__col li{display:flex;align-items:center;gap:10px;margin-bottom:11px;font-size:15px;color:var(--ink)}
.footer__col li .icon{width:18px;height:18px;color:var(--violet)}
.footer__col a:hover{color:var(--violet-d)}
.footer__big{margin:70px 0 0;text-align:center;white-space:nowrap;font:700 clamp(30px,8.3vw,116px)/1 var(--head);letter-spacing:-.05em;background:linear-gradient(180deg,#dcdff1 0%,#f3f5fa 95%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:10px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.footer__brand{grid-column:1/-1}}
@media (max-width:900px){.footer__col:last-child{grid-column:1/-1}}
@media (max-width:560px){.site-footer{padding:60px 0 88px}.footer__big{margin-top:48px}}
@media (max-width:340px){.footer__top{grid-template-columns:minmax(0,1fr)}}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:11px;padding:7px 20px 7px 7px;border-radius:999px;background:var(--ink);color:#fff;font:600 14px/1 var(--body);box-shadow:0 18px 36px -12px rgba(35,40,107,.65),0 0 0 4px rgba(255,255,255,.7)}
.wa-float .btn__ic{width:44px;height:44px}
@media (max-width:640px){.wa-float{right:14px;bottom:14px;padding:6px}.wa-float__lbl{display:none}}

/* ---------- Movimiento suave ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero__intro,.hero__buy,.facts{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero__buy{animation-delay:.12s}
  .facts{animation-delay:.22s}
  .cover{animation:floaty 8s ease-in-out infinite}
  .flow,.fl{animation:flow 2.8s linear infinite}
  .pulse{transform-box:fill-box;transform-origin:center;animation:pulse 3.4s ease-in-out infinite}
  .pulse:nth-of-type(2n){animation-delay:1.1s}
  .map .orbit{transform-box:fill-box;transform-origin:center;animation:spin 60s linear infinite}
  .reel__play{animation:ping 3s ease-in-out infinite}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  @keyframes flow{to{stroke-dashoffset:-72}}
  @keyframes pulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.85;transform:scale(1.3)}}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes ping{0%,100%{box-shadow:0 0 0 10px rgba(255,255,255,.16),0 0 0 22px rgba(255,255,255,.07)}50%{box-shadow:0 0 0 14px rgba(255,255,255,.18),0 0 0 30px rgba(255,255,255,.05)}}
}

/* =====================================================================
   PARTE FUNCIONAL (lo que el diseño de muestra no tenía): menú del móvil, vídeos de Instagram,
   aviso de cookies, páginas legales, ficha del libro, aparición al bajar y barra de progreso.
   ===================================================================== */
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:6px}
::selection{background:var(--amber-soft);color:var(--ink)}
button{font:inherit;color:inherit;cursor:pointer}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav a[aria-current="page"]::after{transform:scale(1)}
.btn--ghost-inv{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none;padding:12px 22px;justify-content:center}
.btn--ghost-inv:hover{background:rgba(255,255,255,.12)}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.link-btn:hover,.footer__bottom a:hover{text-decoration:underline}

/* menú del móvil */
.menu-ic{background:none;padding:0;cursor:pointer}
.mobile-menu{border-top:1px solid var(--line);background:var(--bg)}
.mobile-menu[hidden]{display:none}
.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font:500 20px/1.2 var(--head);color:var(--ink);letter-spacing:-.015em;border-bottom:1px solid var(--line)}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu .icon{color:var(--violet)}
@media (min-width:961px){.mobile-menu{display:none}}
@media (max-width:359px){.header .btn{display:none}}

/* barra de progreso y cabecera que se compacta */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:linear-gradient(90deg,var(--violet),var(--amber));transform-origin:0 50%;transform:scaleX(var(--p,0));pointer-events:none}
.site-header{transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(35,40,107,.45)}
.header{transition:height .3s}
.site-header.is-scrolled .header{height:64px}

/* aparición al bajar */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}.progress{display:none}}

/* aviso al pulsar un botón sin destino */
.toast{position:fixed;left:50%;bottom:92px;z-index:100;transform:translate(-50%,12px);width:max-content;max-width:min(92vw,520px);background:var(--ink);color:#fff;padding:14px 20px;border-radius:14px;font-size:14.5px;line-height:1.45;box-shadow:0 12px 34px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast b{color:var(--amber)}

/* vídeos de Instagram (los crea script.js) */
.reels-wrap{min-width:0}
.reels{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 22px}
.reels::-webkit-scrollbar{display:none}
.reel{flex:0 0 calc(50% - 11px);min-width:0;scroll-snap-align:start}
.reels.is-few .reel:nth-child(2){margin-top:44px}
.reel__poster{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:0;border-radius:22px;overflow:hidden;isolation:isolate;color:#fff;text-align:left;cursor:pointer;background:linear-gradient(160deg,#23286b 0%,#3a3497 55%,#6c5ce7 100%);box-shadow:0 34px 60px -30px rgba(35,40,107,.7);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.reel:nth-child(even) .reel__poster.is-brand{background:linear-gradient(200deg,#6c5ce7 0%,#3a3497 48%,#23286b 100%)}
.reel:hover .reel__poster{transform:translateY(-5px)}
.reel__poster.is-brand::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(closest-side at 50% 45%,#000,transparent);mask-image:radial-gradient(closest-side at 50% 45%,#000,transparent)}
.reel__poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel__poster:not(.is-brand)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,10,40,.3),transparent 30%,transparent 55%,rgba(8,10,40,.75))}
.reel__ig{position:absolute;z-index:2;top:16px;left:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff}
.reel__ig .icon{width:20px;height:20px}
.reel__play{position:absolute;z-index:2;left:50%;top:50%;translate:-50% -50%;width:66px;height:66px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(255,255,255,.16),0 0 0 22px rgba(255,255,255,.07)}
.reel__play .icon{width:26px;height:26px;fill:currentColor;stroke:none;margin-left:3px}
.reel__brand{position:absolute;z-index:2;left:16px;right:16px;bottom:42px;display:flex;align-items:center;gap:9px;font:600 13.5px/1.2 var(--head);letter-spacing:-.01em}
.reel__brand .logo-mark{width:26px;height:26px;color:#fff;--logo-arc:#23286b}
.reel__tag{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;font:500 13px/1.25 var(--body);color:rgba(255,255,255,.85)}
.reel__poster:not(.is-brand) .reel__tag{font:600 16px/1.2 var(--head);color:#fff}
.reel iframe{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:#fff}
.reel__poster.is-embed{aspect-ratio:1/1.9;cursor:default}
.reel__cap{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--muted)}
.reel__ask{display:grid;align-content:center;justify-items:center;gap:10px;padding:22px;text-align:center;cursor:default;font-size:14.5px;line-height:1.45}
.reel__ask>*{position:relative;z-index:2}
.reel__ask p{max-width:24ch;margin-bottom:6px}
.reel__ask .btn{background:var(--amber);color:var(--ink);padding:10px 18px;font-size:14.5px;gap:0}
.reel__ask .btn:hover{background:#f7bd62}
.reel__ask .btn--ghost-inv{background:transparent;color:#fff}
.reels__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px}
.reels__hint{font-size:14px;color:var(--muted)}
.reels__arrows{display:flex;gap:10px}
.reels__arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:var(--ink);transition:background .2s,color .2s}
.reels__arrow:hover{background:var(--ink);color:#fff}
.reels__arrow--prev .icon{transform:scaleX(-1)}
@media (max-width:900px){.reels-wrap{max-width:520px}}
@media (max-width:560px){.reels{gap:12px}.reel{flex-basis:calc(50% - 6px)}.reels.is-few .reel:nth-child(2){margin-top:28px}.reel__poster{border-radius:18px}.reel__play{width:54px;height:54px}.reel__play .icon{width:22px;height:22px}}

/* aviso de cookies: Aceptar y Rechazar con el mismo peso, como pide la AEPD */
.cookies{position:fixed;z-index:90;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:min(440px,calc(100% - 36px));background:#fff;color:var(--ink-2);border:1px solid var(--line-2);border-radius:20px;padding:20px 22px;box-shadow:0 18px 50px -12px rgba(35,40,107,.4);font-size:14.5px;line-height:1.5}
.cookies[hidden]{display:none}
.cookies__title{font:600 20px/1.2 var(--head);color:var(--ink);margin-bottom:6px;letter-spacing:-.02em}
.cookies a,.ck-panel a{text-decoration:underline;text-underline-offset:2px;color:var(--violet-d)}
.cookies__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cookies .btn,.ck-panel .btn{padding:10px 18px;font-size:14.5px;gap:0;justify-content:center}
.cookies .btn--ghost,.ck-panel .btn--ghost{padding:10px 18px}
@media (max-width:520px){.cookies{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;padding:18px}.cookies__actions .btn{flex:1 1 auto}}
.ck-panel{width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);border:0;border-radius:24px;padding:clamp(22px,4vw,34px);background:#fff;color:var(--ink-2);box-shadow:0 30px 80px rgba(20,22,60,.4)}
.ck-panel::backdrop{background:rgba(20,22,60,.55)}
.ck-panel h2{font-size:clamp(24px,3vw,30px);margin-bottom:10px}
.ck-panel__intro{font-size:15px;margin-bottom:12px}
.ck-row{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}
.ck-row b{display:block;font-weight:600;color:var(--ink)}
.ck-row__d{display:block;font-size:14.5px;color:var(--muted);margin-top:4px}
.ck-always{flex:none;font-size:13px;font-weight:600;color:#2f8f5b;padding-top:2px}
.ck-switch{flex:none;-webkit-appearance:none;appearance:none;width:46px;height:26px;margin:2px 0 0;border-radius:99px;background:#cfd2e6;position:relative;cursor:pointer;transition:background .2s}
.ck-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.ck-switch:checked{background:var(--violet)}
.ck-switch:checked::after{transform:translateX(20px)}
.ck-panel__more{display:inline-block;margin-top:16px;font-size:14px;color:var(--muted)}

/* etiquetas, migas de pan y páginas legales */
.tag{display:inline-flex;align-items:center;gap:7px;font:600 13px/1.2 var(--body);padding:7px 13px;border-radius:999px;background:var(--violet-soft);color:var(--violet-d)}
.tag .icon{width:16px;height:16px}
.tag--warm{background:var(--amber-soft);color:#8a5410}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);padding-block:22px 0}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.legal{max-width:820px;padding-block:clamp(20px,4vw,44px) clamp(60px,8vw,110px)}
.legal h1{font-size:clamp(36px,5vw,58px);font-weight:600;margin:14px 0 10px}
.legal__date{color:var(--muted);font-size:14px;margin-bottom:clamp(26px,4vw,40px)}
.legal h2{font-size:clamp(22px,2.4vw,27px);margin:40px 0 12px}
.legal p+p{margin-top:12px}
.legal ul,.legal ol{padding-left:22px;display:grid;gap:8px;margin:12px 0;list-style:revert}
.legal a:not(.tag),.legal .link-btn,.acc__body a{color:var(--violet-d);text-decoration:underline;text-underline-offset:2px}
.legal dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:14px 0;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}
.legal dt{font-weight:600;color:var(--ink)}
.legal dd{margin:0}
.legal__table{overflow-x:auto;margin:16px 0}
.legal table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line)}
.legal th{font:600 12px/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.legal code{white-space:nowrap;font-size:.9em;background:var(--violet-soft);padding:1px 6px;border-radius:6px}
.legal__box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:14px 0}
.legal__box p{margin:0}
.legal__box p+p{margin-top:8px}
.legal__nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.legal__nav .tag[aria-current="page"]{background:var(--ink);color:#fff}
@media (max-width:520px){.legal dl{grid-template-columns:1fr;gap:2px}.legal dd+dt{margin-top:10px}}

/* ficha del libro (libro.html) */
.gallery .hero__media{margin-inline:auto}
.gallery .facts{margin-top:30px}
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:start;padding-block:26px clamp(50px,7vw,90px)}
.pdp__info{display:grid;gap:22px}
@media (min-width:901px){.pdp__info{position:sticky;top:104px}}
.tags-row{display:flex;flex-wrap:wrap;gap:8px}
.pdp h1{font-size:clamp(36px,4.6vw,58px);font-weight:600;letter-spacing:-.04em;line-height:1.02}
.pdp__author{margin-top:10px;color:var(--violet-d);font-weight:600}
.pdp__tagline{color:var(--ink-2);font:300 20px/1.45 var(--head);margin-top:12px;max-width:34ch}
.pdp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.pdp-price b{font:600 40px/1 var(--head);color:var(--ink);letter-spacing:-.03em}
.pdp-price span{font-size:14.5px;color:var(--muted)}
.bullets{display:grid;gap:10px}
.bullets li{display:flex;gap:12px;align-items:flex-start}
.bullets .icon{width:19px;height:19px;color:var(--violet);margin-top:4px}
.buy{display:grid;gap:10px}
.buy .btn{width:100%}
.buy .btn--ghost{justify-content:center}
.cod-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:grid;gap:12px;box-shadow:var(--shadow)}
.cod-box>b{font:600 19px/1.2 var(--head);color:var(--ink);display:flex;gap:10px;align-items:center}
.cod-box>b .icon{color:var(--violet)}
.cod-box ol{display:grid;gap:10px;counter-reset:c}
.cod-box li{counter-increment:c;display:flex;gap:12px;align-items:center;font-size:15px}
.cod-box li::before{content:counter(c);display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font:600 13px/1 var(--head)}
.cod-box li b{font-weight:600;color:var(--ink)}
.delivery{display:grid;gap:8px;font-size:15px}
.delivery div{display:flex;gap:12px;align-items:center}
.delivery .icon{width:20px;height:20px;color:var(--violet)}
.acc{border-top:1px solid var(--line)}
.acc:last-of-type{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font:500 17px/1.3 var(--head);color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:24px;font-weight:400;line-height:1;color:var(--violet)}
.acc[open] summary::after{content:"–"}
.acc__body{padding:0 0 22px;font-size:16px}
.acc__body p+p{margin-top:10px}
.specs{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0}
.specs dt{font-weight:600;color:var(--ink)}
.specs dd{margin:0}
@media (max-width:900px){.pdp{grid-template-columns:1fr}}

/* en el móvil solo se deja el primer aviso */
@media (max-width:620px){.announce span:not(:first-child){display:none}}

/* ---------- Ebook (solo se muestra si hay enlace en script.js: EBOOK_URL) ---------- */
.ebook{position:relative;overflow:hidden;display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(30px,5vw,56px);background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}
.ebook::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(108,92,231,.16) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 90% at 0% 50%,#000,transparent);mask-image:radial-gradient(60% 90% at 0% 50%,#000,transparent);pointer-events:none}
.ebook>*{position:relative}
.ebook__art img{width:100%;border-radius:3px 5px 5px 3px;box-shadow:0 2px 4px rgba(20,22,60,.2),0 26px 50px -22px rgba(20,22,60,.65)}
.ebook h2{margin:16px 0 14px}
.ebook p{max-width:52ch;font-size:17px}
.ebook .btn--amber{background:var(--amber);color:var(--ink)}
.ebook .btn--amber .btn__ic{background:var(--ink);color:var(--amber)}
.ebook .btn__txt small{color:rgba(35,40,107,.75)}
@media (max-width:700px){.ebook{grid-template-columns:minmax(0,1fr);text-align:center}.ebook__art{width:140px;margin:0 auto}.ebook p{margin-inline:auto}.ebook .actions{justify-content:center}}
.ebook__price{padding-right:26px;border-right:1px solid var(--line-2)}
.ebook__price b{display:block;font:600 32px/1 var(--head);color:var(--ink);letter-spacing:-.03em}
.ebook__price span{display:block;font-size:12.5px;color:var(--muted);margin-top:7px}
@media (max-width:700px){.ebook__price{padding:0;border:0;width:100%}}

/* ---------- Otras tiendas (solo si hay enlaces en script.js: STORES) ---------- */
.stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:980px;margin:0 auto}
.stores a{display:flex;align-items:center;gap:12px;height:100%;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.stores a:hover{transform:translateY(-3px);border-color:var(--violet)}
.stores b{font:600 18px/1.2 var(--head);color:var(--ink);letter-spacing:-.015em}
.stores small{display:block;font:400 13px/1.3 var(--body);color:var(--muted);margin-top:3px}
.stores a>.icon{margin-left:auto;color:var(--violet)}

/* =====================================================================
   MEJORAS (9/10/2026): navegación, animaciones y detalles. Las animaciones solo se activan
   si el visitante NO tiene «reducir movimiento» en su sistema.
   ===================================================================== */
html{scroll-padding-top:92px}
@view-transition{navigation:auto}
.nav a[aria-current]::after{transform:scale(1)}
.nav a[aria-current="true"]{color:var(--violet-d)}
.hero__alt{display:inline-flex;align-items:center;gap:8px;font:600 14px/1.2 var(--body);color:var(--violet-d);padding:9px 15px;border-radius:999px;background:var(--violet-soft);border:1px solid var(--line);transition:background .2s,transform .2s}
.hero__alt:hover{background:#fff;transform:translateY(-1px)}
.hero__alt .icon{width:16px;height:16px}
.char{transition:border-color .3s,box-shadow .3s}
.char:hover{border-color:rgba(108,92,231,.4);box-shadow:0 24px 44px -24px rgba(35,40,107,.6)}
.char__img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.char:hover .char__img{transform:scale(1.07)}
.step{transition:transform .3s,box-shadow .3s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.chips li{transition:transform .2s,border-color .2s}
.chips li:hover{transform:translateY(-2px);border-color:var(--violet)}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.btn:hover::before{transform:translateX(120%)}
.btn:active{transform:scale(.98)}
.cover img{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease-out}
.hero__media .net{translate:0 calc(var(--py,0) * -.04px)}
.hero__media .cover{translate:0 calc(var(--py,0) * .05px)}

/* ficha del libro: otras formas de comprarlo */
.alt-buy__t{font:600 12px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.stores--sm{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none;margin:0}
.stores--sm a{padding:14px 16px;border-radius:14px;box-shadow:none}
.stores--sm b{font-size:16px}
.ebook-line{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--amber-soft);color:#8a5410;font-weight:600;font-size:15px;transition:transform .2s}
.ebook-line:hover{transform:translateY(-2px)}
.ebook-line[hidden],.alt-buy[hidden],.hero__alt[hidden]{display:none}

@keyframes itemIn{from{opacity:0;transform:translateY(24px) scale(.97)}}
@keyframes fadeIn{from{opacity:0}}
@keyframes popIn{from{opacity:0;transform:scale(.35)}}
@keyframes nodePop{from{opacity:0;transform:scale(0)}}
@keyframes twinkle{0%,100%{opacity:.15}50%{opacity:.6}}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px)}}
@keyframes titleIn{from{opacity:0;transform:translateY(.35em);filter:blur(10px)}}
@keyframes headIn{from{opacity:0;transform:translateY(-14px)}}
@keyframes ringOut{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.28)}}

@media (prefers-reduced-motion:no-preference){
  /* cabecera y título de la portada */
  .site-header .header{animation:headIn .7s cubic-bezier(.2,.7,.2,1) backwards}
  .hero h1 .h1a,.hero h1 .h1b{animation:titleIn 1.1s cubic-bezier(.2,.7,.2,1) backwards}
  .hero h1 .h1b{animation-delay:.2s}
  /* listas: los elementos entran uno tras otro */
  .js .stagger>*{opacity:0}
  .js .stagger.is-in>*{opacity:1;animation:itemIn .85s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i,0) * .09s)}
  .js .stagger-fade>*{opacity:0}
  .js .stagger-fade.is-in>*{opacity:1;animation:fadeIn .9s ease backwards;animation-delay:calc(var(--i,0) * .1s)}
  /* personajes: las «estrellas» aparecen de golpe */
  .js .cast .char__pic{opacity:0}
  .js .cast.is-in .char__pic{opacity:1;animation:popIn .8s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:calc(var(--i,0) * .12s + .15s)}
  /* líneas de las constelaciones: se dibujan al aparecer */
  .js svg.draw .spoke line,.js svg.draw .sec line,.js svg.draw .st{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--i,0) * .07s)}
  .js svg.draw.is-in .spoke line,.js svg.draw.is-in .sec line,.js svg.draw.is-in .st{stroke-dashoffset:0}
  .js svg.draw circle[class^="n-"]{opacity:0}
  .js svg.draw.is-in circle[class^="n-"]{opacity:1;transform-box:fill-box;transform-origin:center;animation:nodePop .7s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:calc(.5s + var(--i,0) * .06s)}
  .net .star circle,.map .star{animation:twinkle 4.5s ease-in-out infinite}
  .net .star circle:nth-child(2n),.map .star:nth-child(2n){animation-delay:1.4s}
  .net .star circle:nth-child(3n),.map .star:nth-child(3n){animation-delay:2.6s}
  /* títulos: la palabra destacada se subraya al llegar */
  .js h2 em{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 2px;padding-bottom:.06em;transition:background-size 1.1s cubic-bezier(.2,.7,.2,1) .4s}
  .js h2.is-in em{background-size:100% 2px}
  /* preguntas: la respuesta se despliega con suavidad */
  .faq details[open] .faq__a{animation:faqIn .4s cubic-bezier(.2,.7,.2,1)}
  /* botón flotante de WhatsApp: aro que respira */
  .wa-float::before{content:"";position:absolute;inset:0;border-radius:999px;border:2px solid var(--ink);pointer-events:none;animation:ringOut 3.2s ease-out infinite}
}
.syn__head h2 em{width:fit-content}
@media (prefers-reduced-motion:no-preference){.js .cta h2 em{background:none}}
@media (min-width:901px){.pdp__info{position:static}.gallery{position:sticky;top:104px}}

/* =====================================================================
   MEJORAS 2 (9/10/2026): marca y profesionalidad. Como antes, todo lo que se mueve
   solo se activa si el visitante NO tiene «reducir movimiento».
   ===================================================================== */
html{scrollbar-color:rgba(108,92,231,.5) transparent;scrollbar-width:thin}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
h1,h2,h3{text-wrap:balance}
p,li,dd,figcaption{text-wrap:pretty}

/* portada: firma del autor, sello giratorio y estrellas fugaces */
.hero__by{margin:-6px 0 18px;font:400 16.5px/1.4 var(--body);color:var(--muted)}
.hero__by b{font-weight:600;color:var(--ink)}
.seal{position:absolute;z-index:3;left:3%;bottom:8%;width:118px;height:118px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 1px var(--line),0 18px 40px -18px rgba(35,40,107,.55)}
.seal__ring{position:absolute;inset:0;width:100%;height:100%}
.seal text{font:600 9.6px var(--head);letter-spacing:.16em;fill:var(--ink)}
.seal .logo-mark{width:38px;height:38px}
@media (max-width:560px){.seal{width:90px;height:90px;left:-2px;bottom:3%}.seal .logo-mark{width:28px;height:28px}}
.hero .shoot{position:absolute;top:13%;left:56%;width:150px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,rgba(108,92,231,0),rgba(108,92,231,.85));opacity:0;transform:rotate(-26deg);pointer-events:none}
.hero .shoot::after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px rgba(242,169,59,.9)}
.hero .shoot--2{top:5%;left:24%;width:110px}

/* franja «También en» */
.avail{background:#fff;border-bottom:1px solid var(--line)}
.avail[hidden]{display:none}
.avail__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 34px;padding:18px 0}
.avail__t{font:600 11.5px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.avail ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 32px}
.avail a{font:600 18px/1 var(--head);color:var(--ink);opacity:.6;letter-spacing:-.025em;transition:opacity .2s,color .2s}
.avail a:hover{opacity:1;color:var(--violet-d)}
@media (max-width:560px){.avail__in{gap:10px 20px;padding:16px 0}.avail ul{gap:6px 20px}.avail a{font-size:15.5px}}

/* detalles */
.spec dd small{font:500 13px/1 var(--body);color:var(--muted)}
.footer__sign{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font:600 15px/1 var(--head);color:var(--violet-d);letter-spacing:-.01em}
.footer__sign::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,169,59,.2)}
.footer__big .l{display:inline-block;background:linear-gradient(180deg,#dcdff1 0%,#f3f5fa 95%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* bloques oscuros: foco de luz que sigue al ratón */
.why,.cta{--mx:85%;--my:0%}
.why::after,.cta::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(460px circle at var(--mx) var(--my),rgba(169,159,245,.24),transparent 62%);opacity:0;transition:opacity .5s}
.why:hover::after,.cta:hover::after{opacity:1}
.why>*,.cta>*{z-index:1}

/* página 404 */
.nf{display:grid;justify-items:center;text-align:center;padding:clamp(70px,10vw,130px) 0}
.nf__n{font:700 clamp(96px,17vw,190px)/.9 var(--head);letter-spacing:-.06em;background:linear-gradient(95deg,var(--ink) 20%,var(--violet) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf h1{font-size:clamp(28px,4vw,42px);margin:22px 0 14px}
.nf p{max-width:46ch;color:var(--muted);font-size:17px}
.nf .actions{justify-content:center}

@keyframes shoot{0%{opacity:0;transform:rotate(-26deg) translateX(-170px)}5%{opacity:1}13%{opacity:0;transform:rotate(-26deg) translateX(230px)}100%{opacity:0;transform:rotate(-26deg) translateX(230px)}}
@keyframes shine{from{background-position:0% 0}to{background-position:100% 0}}
@keyframes nodePulse{0%,100%{box-shadow:0 0 0 4px rgba(242,169,59,.22)}50%{box-shadow:0 0 0 8px rgba(242,169,59,.06)}}

@media (prefers-reduced-motion:no-preference){
  .seal__ring{animation:spin 32s linear infinite}
  .hero .shoot{animation:shoot 9s ease-in 2.6s infinite}
  .hero .shoot--2{animation-duration:12s;animation-delay:7s}
  /* «Convergentes»: un brillo violeta recorre la palabra */
  .h1b{background-image:linear-gradient(95deg,var(--ink) 15%,var(--violet) 45%,#8f84f2 58%,var(--violet) 72%,var(--ink) 100%);background-size:240% 100%}
  .hero h1 .h1b{animation:titleIn 1.1s cubic-bezier(.2,.7,.2,1) .2s backwards,shine 7s ease-in-out 1.5s infinite alternate}
  .eyebrow::before,.pill::before{animation:nodePulse 3.2s ease-in-out infinite}
  /* cita: las palabras se van «encendiendo» */
  .js .quote__box .w{opacity:.12;transition:opacity .55s ease;transition-delay:calc(var(--w,0) * .022s + .2s)}
  .js .quote__box.is-in .w{opacity:1}
  /* foto del autor: se descubre de abajo arriba */
  .js .author__fig .author__frame{clip-path:inset(100% 0 0 0 round 24px);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1) .15s}
  .js .author__fig.is-in .author__frame{clip-path:inset(0 0 0 0 round 24px)}
  .js .author__fig .author__frame img{transform:scale(1.18);transition:transform 2.2s cubic-bezier(.2,.7,.2,1) .15s}
  .js .author__fig.is-in .author__frame img{transform:none}
  /* portadas de la ficha y del ebook: entran girando como un libro */
  .js .ficha .ficha__art img,.js .ebook .ebook__art img{opacity:0;transform:perspective(900px) rotateY(28deg) translateY(18px);transition:opacity .9s ease .25s,transform 1.3s cubic-bezier(.2,.7,.2,1) .25s}
  .js .ficha.is-in .ficha__art img,.js .ebook.is-in .ebook__art img{opacity:1;transform:perspective(900px) rotateY(-7deg)}
  .js .ficha.is-in .ficha__art:hover img,.js .ebook.is-in .ebook__art:hover img{transform:perspective(900px) rotateY(0deg) translateY(-4px);transition-delay:0s}
  /* el gran «Ecos Convergentes» del pie sube letra a letra */
  .js .footer__big .l{opacity:0;transform:translateY(45%);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--l,0) * .035s)}
  .js .footer__big.is-in .l{opacity:1;transform:none}
}

@media print{
  .announce,.site-header,.wa-float,.cookies,.progress,.toast,.reels-wrap,.reels__bar,.hero__media .net,.seal,.shoot,.avail,.cast__map,.cast__hub{display:none!important}
  body{background:#fff}
  .js [data-reveal],.js .stagger>*,.js .stagger-fade>*,.js .char__pic{opacity:1!important;transform:none!important}
  .cast{padding-top:0!important}
}

/* vídeos: menos hueco tras la cita y sombras de las tarjetas sin recortar */
#videos{padding-top:clamp(28px,4vw,48px)}
.reels{padding:4px 20px 64px;margin:0 -20px -42px}
@media (max-width:767px){.reels{padding-inline:16px;margin-inline:-16px}}

/* ---------- Opiniones de lectores (11/10/2026; las rellena script.js con OPINIONES y VALORACION) ---------- */
.reviews-sec{position:relative;overflow:hidden;padding-top:clamp(28px,4vw,48px)}
.reviews-sec[hidden]{display:none}
.reviews{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,80px);align-items:center}
.reviews__head h2{margin-top:18px}
.reviews__p{margin-top:16px;font-size:17px;color:var(--muted);max-width:40ch}
.reviews .actions{margin-top:26px}
.reviews .link-arrow[hidden]{display:none}
.star{width:20px;height:20px;fill:#d9dcec}
.star.on{fill:var(--amber)}
.rating{display:flex;align-items:center;gap:16px;margin-top:22px}
.rating[hidden]{display:none}
.rating__n{font:700 54px/1 var(--head);color:var(--ink);letter-spacing:-.04em}
.rating__r{display:grid;gap:6px}
.rating__stars{display:inline-flex;gap:3px}
.rating__stars .star{width:22px;height:22px}
.rating__r small{font-size:13.5px;color:var(--muted)}
.reviews__list{display:grid;gap:18px}
.review{position:relative;margin:0;padding:clamp(26px,3.4vw,38px);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 60px -36px rgba(35,40,107,.55);overflow:hidden;isolation:isolate}
.review::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(108,92,231,.14) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 80% at 100% 0%,#000,transparent);mask-image:radial-gradient(70% 80% at 100% 0%,#000,transparent)}
.review__mark{position:absolute;right:26px;top:-6px;font:700 130px/1 var(--head);color:var(--violet-soft);z-index:-1}
.review__stars{display:inline-flex;gap:4px}
.review__title{margin-top:16px;font:600 20px/1.2 var(--head);color:var(--violet-d);letter-spacing:-.015em}
.review blockquote{margin:12px 0 0}
.review blockquote p{font:400 clamp(20px,2.1vw,26px)/1.4 var(--head);color:var(--ink);letter-spacing:-.015em}
.review figcaption{display:flex;align-items:center;gap:12px;margin-top:24px}
.review__av{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--ink));color:#fff;font:600 17px/1 var(--head);box-shadow:0 0 0 4px var(--violet-soft)}
.review figcaption b{display:block;font:600 15.5px/1.25 var(--head);color:var(--ink)}
.review figcaption small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.review__more{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-weight:600;font-size:14.5px;color:var(--violet-d);border-bottom:1px solid currentColor;padding-bottom:2px}
.review__more .icon{width:16px;height:16px;transition:transform .2s}
.review__more:hover .icon{transform:translateX(3px)}
.reviews__list.is-one .review{transform:rotate(-1deg)}
.pdp-rating{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted);margin-top:-8px}
.pdp-rating[hidden]{display:none}
.pdp-rating b{color:var(--ink)}
.pdp-rating:hover span{text-decoration:underline}
@media (max-width:900px){.reviews{grid-template-columns:minmax(0,1fr)}.reviews__list.is-one .review{transform:none}}
@media (prefers-reduced-motion:no-preference){
  .js .reviews__list:not(.is-in) .review .star.on{opacity:0}
  .js .reviews__list.is-in .review .star.on{animation:nodePop .55s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:.45s}
  .js .reviews__list.is-in .review .star.on:nth-child(2){animation-delay:.57s}
  .js .reviews__list.is-in .review .star.on:nth-child(3){animation-delay:.69s}
  .js .reviews__list.is-in .review .star.on:nth-child(4){animation-delay:.81s}
  .js .reviews__list.is-in .review .star.on:nth-child(5){animation-delay:.93s}
}