/* Bases compartidas del sitio y del panel. */
:root{--curve:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0}
a{color:inherit;text-underline-offset:5px}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
h1,h2,h3,p{margin:0}
nav{display:flex;align-items:center}
label{display:block}
textarea{resize:vertical}
details p{max-width:680px}
.progress span{display:block;height:100%;transform:scaleX(0);transform-origin:left;transition:transform 550ms var(--curve)}
.story-word{display:block}
.chat-panel{position:fixed;z-index:20}
.chat-head{display:flex;justify-content:space-between}
.chat-head span{display:block}
#chat-messages{overflow:auto}
#chat-messages p{white-space:pre-wrap;overflow-wrap:anywhere}
#chat-messages .user{margin-left:35px}
#chat-messages .lau{border:1px solid var(--hot)}
#chat-form{display:flex;border-top:1px solid var(--line)}
.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:99}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Sistema oscuro Superwhisper compartido con el panel de Lau. */
.book-landing {
  --color-midnight:#000000; --color-obsidian:#0f0f10; --color-charcoal:#1c1d1f;
  --color-white:#ffffff; --color-mist:#b8babf; --color-ash:#888b91;
  --color-electric-signal:#e0397a; --surface-plum:#190710; --surface-rose:#230d19;
  --gradient-aurora:linear-gradient(#000000 .85%,#721139 33.4%,#aa4b75 49.68%,#dc87ad 70.84%,#e7c4d5 95.8%,#fcdbef 107.19%);
  --font-inter:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --paper:var(--color-midnight); --ink:var(--color-white); --muted:var(--color-mist);
  --line:rgba(255,255,255,.15); --hot:var(--color-electric-signal);
  --radius-cards:24px; --radius-buttons:9px; --radius-inputs:9px; --radius-pill:9999px;
  --shadow-subtle:0 0 0 2px rgba(255,255,255,.2) inset;
  --shadow-subtle-2:0 0 0 1px rgba(255,255,255,.2) inset;
  --shadow-sm:0 1px 4px rgba(0,0,0,.25),0 4px 59px rgba(0,0,0,.1);
  --shadow-xl:0 8px 32px rgba(0,0,0,.4);
  --page-max-width:1200px; --section-gap:64px; --card-padding:24px; --element-gap:16px;
  color-scheme:dark;background:var(--paper);color:var(--ink);
  font:400 16px/1.5 var(--font-inter);letter-spacing:-.16px;
  font-feature-settings:'ss01' on,'cv11' on;
}
.book-landing .wrap{width:calc(100% - 48px);max-width:var(--page-max-width);margin-inline:auto}
.book-landing main{display:flow-root}
.book-landing .section-space{margin-block:var(--section-gap);padding:0}
.book-landing h1,.book-landing h2,.book-landing h3{font-family:var(--font-inter);font-weight:500;color:var(--ink);text-wrap:pretty}
.book-landing h1{font-size:60px;line-height:1.06;letter-spacing:-3.42px;max-width:700px;margin-inline:auto}
.book-landing h2{font-size:48px;line-height:1.07;letter-spacing:-2.4px;max-width:800px}
.book-landing h3{font-size:24px;line-height:1.25;letter-spacing:-.6px}
.book-landing p{max-width:800px;color:var(--muted)}
.book-landing a{color:var(--hot);text-underline-offset:4px}
.book-landing a:hover{color:white}
.book-landing :focus-visible{outline:3px solid white;outline-offset:4px}
.book-landing .section-label{font-size:12px;line-height:1.56;letter-spacing:.14px;margin-bottom:16px;color:var(--muted)}
.book-landing .lead{font-size:18px;line-height:1.5;letter-spacing:-.18px;margin-top:24px}
.book-landing .small,.book-landing .reassurance{font-size:14px;line-height:1.5;color:var(--muted)}
.book-landing .button,.book-landing button{font:500 15px/1.5 var(--font-inter);border-radius:var(--radius-buttons);padding:10px 16px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:0 4px;flex-wrap:wrap;background:white;color:black;border:1px solid transparent;text-decoration:none;box-shadow:none;transition:background-color 160ms ease,border-color 160ms ease}
.book-landing .button:hover,.book-landing button:hover{background:#e5e7eb;color:black}
.book-landing .button:active,.book-landing button:active{transform:none}
.book-landing .button.ghost,.book-landing .chat-toggle,.book-landing .chat-head button,.book-landing #chat-form button{background:var(--color-charcoal);color:white;border:1px solid var(--line)}
.book-landing .button.ghost:hover,.book-landing .chat-toggle:hover,.book-landing .chat-head button:hover,.book-landing #chat-form button:hover{background:#333333;border-color:rgba(255,255,255,.3)}
.book-landing .site-header{width:fit-content;max-width:calc(100% - 32px);padding:8px 12px 8px 24px;margin:24px auto;display:flex;align-items:center;gap:32px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--color-obsidian)}
.book-landing .wordmark{font:500 16px/1.5 var(--font-inter);letter-spacing:-.16px;color:white;text-decoration:none}
.book-landing .wordmark span{display:block;font:400 12px/1.56 var(--font-inter);letter-spacing:.14px;color:var(--muted)}
.book-landing nav{gap:24px;font-size:14px}
.book-landing nav>a{color:var(--color-mist);text-decoration:none}
.book-landing nav .nav-primary{border-radius:var(--radius-pill);font-size:13px;padding:8px 16px;color:black}
.book-landing .opening{display:flex;flex-direction:column;align-items:center;gap:48px;padding:64px 32px 48px;border-radius:var(--radius-cards);background:var(--gradient-aurora);border:1px solid var(--line);box-shadow:none;text-align:center;overflow:hidden}
.book-landing .opening-copy{max-width:748px;padding:24px;border-radius:24px;background:rgba(0,0,0,.64)}
.book-landing .opening p{margin-inline:auto}
.book-landing .opening .lead{max-width:640px;color:#e5e7eb}
.book-landing .edition{font-size:14px;margin-top:24px;color:#e5e7eb}
.book-landing .action-group{margin-top:24px}
.book-landing .reassurance{margin-top:16px}
.book-landing .opening .reassurance{color:#e5e7eb}
.book-landing figure{margin:0;min-width:0}
.book-landing .cover-panel{width:min(100%,320px)}
.book-landing .cover-panel img,.book-landing .back-panel img{display:block;width:100%;height:auto;object-fit:contain}
.book-landing .auth-strip{margin-block:64px}
.book-landing .auth-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--color-obsidian);font-size:14px}
.book-landing .auth-content p,.book-landing .auth-content a{max-width:32ch}
.book-landing .section-intro{margin-bottom:32px}
.book-landing .reading-section>.wrap,.book-landing .steps-section>.wrap,.book-landing .goal-section,.book-landing .reserve-layout,.book-landing .questions-section,.book-landing .closing-copy{padding:var(--card-padding);border-radius:var(--radius-cards);border:1px solid var(--line);background:var(--color-obsidian);box-shadow:var(--shadow-sm)}
.book-landing .reading-section>.wrap,.book-landing .closing-copy{background:var(--surface-plum)}
.book-landing .reading-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.book-landing .back-panel{max-width:360px}
.book-landing .back-panel img{border-radius:12px}
.book-landing figcaption{font-size:12px;line-height:1.56;margin-top:16px;color:var(--muted)}
.book-landing .reading-copy p{margin:0 0 24px}
.book-landing .reading-copy .reading-quote{font-size:24px;line-height:1.25;letter-spacing:-.6px;color:white;border-left:2px solid var(--hot);padding-left:24px}
.book-landing .reading-copy .attribution{font-size:14px;margin-bottom:0}
.book-landing .benefit-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.book-landing .benefit-grid li{padding:24px;background:var(--surface-plum);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}
.book-landing .benefit-grid li:last-child{grid-column:1/-1;background:var(--color-obsidian)}
.book-landing .benefit-grid h3{margin-bottom:16px}
.book-landing .item-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;box-shadow:var(--shadow-subtle);color:var(--hot);font-size:12px;margin-bottom:24px}
.book-landing .steps-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.book-landing .steps-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface-plum)}
.book-landing .steps-list h3{margin-bottom:16px}
.book-landing .steps-list .item-number{margin:0}
.book-landing .goal-section,.book-landing .reserve-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.book-landing .goal-section .lead{margin-bottom:16px}
.book-landing .goal-card{padding:24px;border-radius:24px;background:var(--surface-rose);border:1px solid var(--line)}
.book-landing .count{display:flex;align-items:baseline;gap:16px}
.book-landing .count span:first-child,.book-landing .price strong{font:500 60px/1.06 var(--font-inter);letter-spacing:-3.42px;color:white}
.book-landing .count span:last-child{font-size:24px;color:var(--muted)}
.book-landing .progress{height:4px;margin:24px 0 16px;background:#333333;border-radius:9999px;overflow:hidden}
.book-landing .progress span{background:var(--hot)}
.book-landing #progress-caption,.book-landing .price-note{font-size:14px;color:var(--muted)}
.book-landing .price-note{margin-top:24px}
.book-landing .goal-card .button{margin-top:24px}
.book-landing .book-name{margin-top:24px;font-size:18px}
.book-landing .price{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:32px 0 8px}
.book-landing .price span{background:var(--color-charcoal);color:var(--muted);border:1px solid var(--line);padding:4px 12px;border-radius:9999px;font-size:12px;margin:0}
.book-landing .delivery-note{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.book-landing .delivery-note h3{margin-bottom:16px}
.book-landing .delivery-note p+p{margin-top:16px}
.book-landing #checkout{padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface-plum);min-width:0}
.book-landing #checkout>p{font-size:14px;margin:16px 0 24px}
.book-landing label{font-size:14px;font-weight:500;margin-top:24px;color:white}
.book-landing input:not([type=radio]):not([type=checkbox]),.book-landing textarea{width:100%;min-width:0;display:block;padding:12px 16px;border:1px solid #70757c;border-radius:9px;background:var(--color-charcoal);color:white;font:400 16px/1.5 var(--font-inter);margin-top:8px}
.book-landing input::placeholder,.book-landing textarea::placeholder{color:var(--muted);opacity:1}
.book-landing fieldset{border:0;padding:0;margin:24px 0 16px;min-width:0}
.book-landing legend{font-size:14px;font-weight:500}
.book-landing .choice{display:flex;gap:12px;align-items:start;font-size:14px;font-weight:400;margin-top:16px}
.book-landing fieldset .choice{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--color-charcoal);cursor:pointer}
.book-landing fieldset .choice:has(input:checked){box-shadow:var(--shadow-subtle-2)}
.book-landing .choice input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:white}
.book-landing .ack,.book-landing .order-support{border-top:1px solid var(--line);padding-top:24px}
.book-landing #checkout .button{width:100%;margin-top:0}
.book-landing #checkout-status,.book-landing #receipt{color:white;overflow-wrap:anywhere}
.book-landing #checkout-status:empty,.book-landing #receipt:empty{display:none}
.book-landing .questions-section h2{margin-bottom:32px}
.book-landing details{border-top:1px solid var(--line);padding:0}
.book-landing summary{padding:24px 0;cursor:pointer;font-size:18px;color:white}
.book-landing summary::marker{color:var(--hot)}
.book-landing details p{padding:0 0 24px}
.book-landing .closing-copy{text-align:left}
.book-landing .closing-copy .button{margin-top:24px}
.book-landing .site-footer{display:flex;justify-content:space-between;gap:24px;padding:0 0 112px;border:0;font-size:14px}
.book-landing .site-footer>p:not(.wordmark){max-width:32ch}
.book-landing .chat-toggle{position:fixed;right:24px;bottom:24px;z-index:10;box-shadow:var(--shadow-xl)}
.book-landing .chat-panel{background:var(--color-obsidian);color:white;border:1px solid var(--line);border-radius:24px;overflow:auto;max-height:calc(100dvh - 112px);bottom:88px;right:24px;width:min(400px,calc(100vw - 32px));box-shadow:var(--shadow-xl)}
.book-landing .chat-head{background:var(--color-charcoal);padding:16px 24px;align-items:center}
.book-landing .chat-head strong{font:500 24px/1.25 var(--font-inter);letter-spacing:-.6px}
.book-landing .chat-head span{font-size:12px;color:var(--muted)}
.book-landing .chat-head button{font-size:24px;min-width:44px;padding:4px}
.book-landing #chat-messages{padding:24px;font-size:14px;height:256px;max-height:32dvh}
.book-landing #chat-messages p{background:var(--color-charcoal);color:white;border-radius:12px;padding:12px 16px;margin-bottom:16px}
.book-landing #chat-messages .user{background:var(--surface-rose)}
.book-landing #chat-messages .lau{border-color:var(--hot)}
.book-landing .chat-note{padding:0 24px 16px}
.book-landing #chat-form{padding:16px;gap:8px;align-items:center}
.book-landing #chat-input{margin:0}
.book-landing #chat-form button{min-width:44px}
.book-landing #chat-status{padding:0 24px 16px;font-size:12px}
.book-landing .skip{color:black;border-radius:9px}
.book-landing .story-word{margin-top:0}
@media(prefers-reduced-motion:no-preference){
 .book-landing.motion .story-word{opacity:.92;transform:translateY(8px);transition:opacity 450ms var(--curve),transform 450ms var(--curve);transition-delay:0s}
 .book-landing.motion .story-word.read{opacity:1;transform:none}
}
@media(max-width:900px){
 .book-landing h1{font-size:48px;line-height:1.07;letter-spacing:-2.4px}
 .book-landing .reading-layout,.book-landing .goal-section,.book-landing .reserve-layout{gap:24px}
}
@media(max-width:700px){
 .book-landing .wrap{width:calc(100% - 32px)}
 .book-landing .site-header{width:fit-content;gap:16px;padding:8px 8px 8px 16px}
 .book-landing .site-header .wordmark span{display:none}
 .book-landing nav{gap:8px}
 .book-landing nav>a:first-child{display:none}
 .book-landing nav .nav-primary{padding:8px 12px;font-size:12px}
 .book-landing .opening{padding:48px 24px 32px;gap:32px}
 .book-landing h2{font-size:30px;line-height:1.2;letter-spacing:-1.2px}
 .book-landing .cover-panel{max-width:280px}
 .book-landing .reading-layout,.book-landing .goal-section,.book-landing .reserve-layout,.book-landing .benefit-grid{grid-template-columns:1fr}
 .book-landing .back-panel{max-width:280px}
 .book-landing .steps-list li{padding:24px;grid-template-columns:1fr}
 .book-landing .auth-content,.book-landing .site-footer{flex-direction:column;align-items:start}
 .book-landing .auth-content p,.book-landing .auth-content a{max-width:none}
 .book-landing .chat-toggle{right:16px;bottom:16px;max-width:calc(100vw - 32px)}
 .book-landing .chat-panel{right:16px;bottom:80px}
}
@media(prefers-reduced-motion:reduce){
 .book-landing .story-word{opacity:1!important;transform:none!important}
 .book-landing *{transition:none!important;animation:none!important}
}

/* Scroll narrative: native sticky keeps touch scrolling on the compositor.
   No overflow/transform on sticky ancestors. svh avoids browser-toolbar jumps. */
/* The static baseline also serves reduced motion and browsers without JS. */
.book-landing .opening{display:block;position:relative;padding:0;border:0;border-radius:0;background:none;overflow:visible;text-align:center}
.book-landing .hero-stage{position:relative;overflow:hidden;isolation:isolate;background:#000;--hero-progress:0}
.book-landing .hero-aurora{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 70% 90%,#e0397a70,transparent 65%),var(--gradient-aurora);opacity:.28}
.book-landing .hero-title{position:relative;z-index:2;padding-block:48px;text-shadow:0 2px 32px #000}
.book-landing .hero-title h1{font-size:clamp(40px,5vw,72px);letter-spacing:-.057em;max-width:780px;line-height:1.02;margin-inline:auto}
.book-landing .hero-title .section-label{color:#e5e7eb}
.book-landing .hero-title .opening-copy{background:none;padding:0;max-width:560px;margin:24px auto 0}
.book-landing .hero-title .lead{font-size:17px;line-height:1.5}
.book-landing .hero-title .edition{margin-top:20px}
.book-landing .hero-title .action-group{margin-top:16px}
.book-landing .hero-assembly{position:relative;pointer-events:none}
.book-landing .hero-portrait,.book-landing .hero-logo{display:none}
.book-landing .hero-book{width:min(72vw,400px);aspect-ratio:715/1104;margin:0 auto 48px}
.book-landing .hero-book img{display:block;width:100%;height:100%;object-fit:contain}
.book-landing .hero-scroll-line{display:none}
.hero-typed{position:relative}
.hero-type-visual{display:none}
.typing-active .hero-text{opacity:0}
.typing-active .hero-type-visual{display:block;position:absolute;inset:0;text-align:inherit}
@media(prefers-reduced-motion:no-preference){
 .book-landing.scroll-motion .opening{height:260svh}
 .book-landing.scroll-motion .hero-stage{position:sticky;top:0;height:100svh;min-height:600px}
 .book-landing.scroll-motion .hero-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding-block:24px;opacity:var(--copy-opacity,1);transform:translateY(var(--copy-y,0px))}
 .book-landing.scroll-motion .hero-title:focus-within{opacity:1;transform:none}
 .book-landing.scroll-motion .hero-assembly{position:absolute;inset:0}
 .book-landing.scroll-motion .hero-portrait,.book-landing.scroll-motion .hero-logo{display:block;position:absolute;left:0;top:0;width:100px;height:auto;max-width:none;transform-origin:top left;will-change:transform;opacity:var(--pieces-opacity,1)}
 .book-landing.scroll-motion .hero-portrait{mix-blend-mode:lighten}
 .book-landing.scroll-motion .hero-book{position:absolute;left:50%;top:50%;width:min(64vw,46svh,420px);margin:0;transform:translate(-50%,-50%);opacity:var(--book-opacity,0);box-shadow:0 24px 80px #0008}
 .book-landing.scroll-motion .hero-scroll-line{display:block;position:absolute;bottom:4%;left:50%;width:1px;height:32px;background:#ffffff30}
 .book-landing.scroll-motion .hero-scroll-line:after{content:"";display:block;height:100%;background:var(--hot);transform:scaleY(calc(.15 + var(--hero-progress)*.85));transform-origin:top}
}
.book-landing .reading-section>.wrap{position:relative;padding:48px}
.book-landing .synopsis-intro{position:relative;isolation:isolate;padding-block:48px;min-height:240px}
.book-landing .synopsis-mandala{position:absolute;z-index:-1;right:0;top:-24px;width:min(46%,300px);height:280px;object-fit:contain;opacity:.09;pointer-events:none}
.book-landing .reading-art{position:sticky;top:32px;isolation:isolate;padding:24px 0}
.book-landing .back-panel{position:relative;margin-inline:auto;width:100%}
.book-landing .botanical{position:absolute;z-index:-1;pointer-events:none;width:70%;height:70%;object-fit:contain;opacity:.16}
.book-landing .botanical-one{left:-15%;top:-5%;transform:rotate(-14deg)}
.book-landing .botanical-two{right:-15%;bottom:-8%;transform:rotate(15deg)}
.book-landing .reading-copy p{padding-block:16px;margin-bottom:32px}
.book-landing .benefits-section .section-intro,.book-landing .steps-section .section-intro{position:relative;isolation:isolate;padding-block:8px;margin-bottom:24px}
.book-landing .benefits-section .section-intro:before,.book-landing .steps-section .section-intro:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(-18deg,transparent 0 18px,#e0397a0b 19px 20px);mask-image:linear-gradient(90deg,transparent,#000,transparent);pointer-events:none}
.book-landing .benefit-grid,.book-landing .steps-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.book-landing .benefit-grid li,.book-landing .steps-list li{--card-accent:#e0397a;display:block;margin:0;padding:32px 24px;border-radius:24px;background:var(--surface-plum);border:1px solid var(--line);border-top:2px solid var(--card-accent);min-width:0;padding:24px}
.book-landing .benefit-grid li:nth-child(2),.book-landing .steps-list li:nth-child(2){--card-accent:#dc87ad;background:var(--surface-rose)}
.book-landing .benefit-grid li:last-child,.book-landing .steps-list li:last-child{--card-accent:#e7c4d5;background:var(--color-obsidian);grid-column:auto}
.book-landing .feature-card .item-number{width:auto;height:auto;display:block;text-align:left;box-shadow:none;font-size:64px;line-height:1;letter-spacing:-.057em;color:var(--card-accent);margin:0 0 16px;font-size:40px}
.book-landing .feature-card h3{font-size:22px;letter-spacing:-.6px;margin-bottom:8px}
/* Enhanced only after observers are ready; content stays visible without JS. */
@media(prefers-reduced-motion:no-preference){
 .book-landing.scroll-motion .back-panel{transform:perspective(1000px) rotateY(-22deg) rotateZ(5deg) scale(.88);opacity:.35;transform-origin:left center;transition:transform 1300ms var(--curve),opacity 900ms ease}
 .book-landing.scroll-motion .back-panel.revealed{transform:perspective(1000px) rotateY(0) rotateZ(0) scale(1);opacity:1}
 .book-landing.scroll-motion .feature-card{opacity:0;transform:translateY(64px) rotateX(9deg);transition:opacity 700ms ease,transform 900ms var(--curve);transition-delay:var(--reveal-delay,0ms)}
 .book-landing.scroll-motion .feature-card.revealed{opacity:1;transform:none}
 .book-landing.scroll-motion .reading-copy .story-word{opacity:.42;transform:translateY(24px);transition:opacity 650ms ease,transform 850ms var(--curve)}
 .book-landing.scroll-motion .reading-copy .story-word.read{opacity:1;transform:none}
}
@media(max-width:700px){
 .book-landing .reading-section>.wrap{padding:24px}
 .book-landing .synopsis-intro{padding-block:24px;min-height:220px}
 .book-landing .synopsis-mandala{width:75%;height:210px;top:0}
 .book-landing .reading-art{top:12px;padding:12px 0}
 /* Keep the two-column sticky story even at 375px; the book becomes a slim
    visual companion while the complete, unchanged synopsis remains readable. */
 .book-landing .reading-layout{grid-template-columns:minmax(0,.32fr) minmax(0,.68fr);gap:16px}
 .book-landing .reading-copy .reading-quote{font-size:20px;padding-left:12px}
 .book-landing .reading-copy p{font-size:16px;margin-bottom:32px}
 .book-landing .back-panel figcaption{font-size:11px}
 .book-landing .benefit-grid,.book-landing .steps-list{grid-template-columns:1fr}
 /* En celular el número va a un lado del texto para que las tarjetas no se estiren. */
 .book-landing .benefit-grid,.book-landing .steps-list{gap:12px}
 .book-landing .benefit-grid li,.book-landing .steps-list li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding:20px 16px}
 .book-landing .feature-card .item-number{font-size:32px;margin:0;grid-row:1/span 2}
 .book-landing .benefit-grid li>:not(.item-number){grid-column:2}
 .book-landing .feature-card h3{font-size:20px}
 .book-landing .feature-card p{font-size:15px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .book-landing .opening{height:auto}
 .book-landing .hero-stage{position:relative;--hero-progress:1!important}
 .book-landing .reading-art{position:relative;top:auto}
 .book-landing .cover-panel,.book-landing .back-panel,.book-landing .feature-card{opacity:1;transform:none;clip-path:none}
}

.book-landing .buyer-checkout{min-width:0}
.book-landing .buyer-account{padding:24px;margin-bottom:24px;border:1px solid var(--line);border-top:2px solid var(--hot);border-radius:24px;background:var(--surface-plum);overflow-wrap:anywhere}
.book-landing .buyer-account p,.book-landing .buyer-account h3{margin-bottom:16px}
.book-landing .buyer-account h3{margin-top:24px}
.book-landing #buyer-orders{list-style:none;padding:0;margin:0}
.book-landing #buyer-orders li{padding:16px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.book-landing #buyer-auth-status:empty{display:none}

@media(max-width:700px){
 .book-landing .hero-title{width:100%;padding-inline:22px}
 .book-landing .hero-title h1{font-size:clamp(36px,10.4vw,48px);max-width:440px}
 .book-landing .hero-title .section-label{font-size:10px}
 .book-landing .hero-title .opening-copy{margin-top:16px}
 .book-landing .hero-title .lead{font-size:15px;line-height:1.45}
 .book-landing .hero-title .edition{font-size:11px;margin-top:14px}
 .book-landing .hero-title .button{font-size:12px;padding:14px 12px;gap:5px;flex-wrap:wrap}
 .book-landing .hero-title .reassurance{font-size:11px;max-width:270px}
 .book-landing.scroll-motion .hero-title{justify-content:flex-start;padding-top:32px}
 .book-landing.scroll-motion .hero-book{top:53%;width:min(72vw,48svh)}
}

/* A single six-face object, moved from the assembly into the synopsis slot. */
.book-landing .book-slot{display:block;position:relative;width:100%;aspect-ratio:715/1104;perspective:1400px}
.book-landing .book-fallback{display:block}
.book-landing.scroll-motion .book-fallback{visibility:hidden}
.book-landing.scroll-motion .back-panel,.book-landing.scroll-motion .back-panel.revealed{transform:none;opacity:1;transition:none}
.book-landing .hero-book{--book-depth:0px;--book-angle:0deg;perspective:1400px;overflow:visible}
.book-landing .book-solid{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(var(--book-depth) / -2)) rotateY(var(--book-angle))}
.book-landing .hero-book{position:relative}
.book-landing .book-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#151416;border:0;outline:0;box-shadow:none;border-radius:0}
.book-landing .hero-book .book-face img{width:100%;height:100%;max-width:none;object-fit:fill;border-radius:0;user-select:none;-webkit-user-drag:none}
.book-landing .book-front,.book-landing .book-back{inset:0}
.book-landing .book-front{transform:translateZ(calc(var(--book-depth) / 2))}
.book-landing .book-back{transform:rotateY(180deg) translateZ(calc(var(--book-depth) / 2))}
.book-landing .book-spine,.book-landing .book-pages{top:-.4px;height:calc(100% + .8px);width:calc(var(--book-depth) + .8px);left:calc(50% - var(--book-depth) / 2 - .4px)}
.book-landing .book-spine{transform:translateX(calc(var(--book-width) / -2)) rotateY(-90deg)}
.book-landing .book-pages{transform:translateX(calc(var(--book-width) / 2)) rotateY(90deg);background:repeating-linear-gradient(90deg,#29282b 0 1px,#343237 1px 2px)}
.book-landing .book-top,.book-landing .book-bottom{left:-.4px;width:calc(100% + .8px);height:calc(var(--book-depth) + .8px);top:calc(50% - var(--book-depth) / 2 - .4px);background:#29282c}
.book-landing .book-top{transform:translateY(calc(var(--book-height) / -2)) rotateX(90deg)}
.book-landing .book-bottom{transform:translateY(calc(var(--book-height) / 2)) rotateX(-90deg)}
.book-landing .hero-book:not(.has-depth) .book-face:not(.book-front){visibility:hidden}
.book-landing.scroll-motion .hero-book.book-travelling{position:fixed;left:0;top:0;margin:0;opacity:1;z-index:5;pointer-events:none;box-shadow:none}
.book-landing.scroll-motion .hero-book.book-docked{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:1;transform:none;box-shadow:none;pointer-events:auto;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none}
.book-landing .hero-book.book-dragging{cursor:grabbing}
@media(max-width:700px){
 .book-landing .reading-layout{grid-template-columns:1fr}
 .book-landing .reading-art{position:relative;top:auto}
 .book-landing .back-panel{width:min(100%,240px)}
}

/* Acceso por correo, con los mismos controles del formulario de compra. */
.book-landing .buyer-account form .button{margin-top:16px;width:100%}
.book-landing #cambiar-correo{margin-top:16px}

/* Ventana de acceso. El <dialog> es hijo del body, así que hereda los tokens
   de .book-landing; solo hay que darle caja, fondo y centrado. */
.book-landing .nav-login{background:none;border:0;color:var(--muted);font:inherit;font-size:14px;padding:8px 4px;text-decoration:underline;text-underline-offset:5px}
.book-landing .nav-login:hover{color:var(--ink)}
.book-landing #login-dialog{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:0;border:0;background:transparent;color:var(--ink)}
.book-landing #login-dialog::backdrop{background:rgba(0,0,0,.72)}
.book-landing #login-dialog .buyer-account{margin:0;box-shadow:var(--shadow-xl)}
.book-landing .dialog-close{position:absolute;top:14px;right:16px;z-index:1;background:none;border:0;color:var(--muted);font-size:30px;line-height:1;padding:4px 10px;border-radius:var(--radius-buttons)}
.book-landing .dialog-close:hover{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
  .book-landing #login-dialog[open]{animation:aparece-acceso 220ms var(--curve)}
  @keyframes aparece-acceso{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:700px){
  .book-landing #login-dialog{width:calc(100vw - 24px)}
  .book-landing #login-dialog .buyer-account{padding:20px}
}

.book-landing #checkout :focus-visible{outline:3px solid #0088ff;outline-offset:4px}
.book-landing .shipping-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;border:0;padding:0}
.shipping-address{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}

/* Panel de Lau: comparte el sistema oscuro y los controles del sitio. */
.panel-lau{--line:#29282d;--shadow-subtle:none;--shadow-subtle-2:none}
.panel-lau .navegacion-panel{display:flex;justify-content:space-between;width:calc(100% - 48px);max-width:var(--page-max-width);gap:16px;border:0;box-shadow:var(--shadow-xl)}
.panel-lau .navegacion-panel .wordmark{display:block;font-size:14px}
.panel-lau .navegacion-panel button{border-radius:var(--radius-pill);font-size:13px}
.panel-lau .admin{padding:32px 0 80px}
.panel-lau .encabezado-panel{padding:24px 0 32px}
.panel-lau h1{margin:0;font-size:60px;letter-spacing:-3.42px}
.panel-lau h2{font-size:30px;line-height:1.2;letter-spacing:-1.2px;margin:0 0 16px}
.panel-lau .encabezado-panel .lead{margin-top:16px}
.panel-lau .tarjeta-panel,.panel-lau .ticket{padding:24px;border:0;border-radius:var(--radius-cards);background:var(--color-obsidian);box-shadow:var(--shadow-xl)}
.panel-lau #login{max-width:440px;margin:24px auto 0}
.panel-lau #login button{width:100%;margin-top:24px}
.panel-lau input,.panel-lau textarea{border-color:var(--line)}
.panel-lau :focus-visible{outline:3px solid var(--color-electric-signal);outline-offset:4px}
.panel-lau .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:0;background:none}
.panel-lau .metrics>div{padding:24px;border-radius:var(--radius-cards);background:var(--color-obsidian);color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.panel-lau .metrics strong{display:block;font:500 clamp(28px,3.2vw,40px)/1.15 var(--font-inter);letter-spacing:-.05em;color:var(--color-white);margin-bottom:12px;font-variant-numeric:tabular-nums}
.panel-lau .control-preventa{display:grid;gap:16px}
.panel-lau #sale-status{color:var(--color-white)}
.panel-lau #sale-status::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-electric-signal);margin-right:10px}
.panel-lau .acciones-panel{display:flex;flex-wrap:wrap;gap:12px}
.panel-lau .button.ghost:hover{border-color:#3a383d}
.panel-lau .seccion-panel{margin-top:48px;min-width:0}
.panel-lau .table-wrap{overflow:auto;margin-top:24px;border-radius:var(--radius-cards);background:var(--color-obsidian);box-shadow:var(--shadow-xl)}
.panel-lau table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}
.panel-lau th,.panel-lau td{padding:20px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.panel-lau th{background:var(--color-charcoal);font-weight:500;color:var(--muted)}
.panel-lau td{min-width:120px;max-width:260px;overflow-wrap:anywhere}
.panel-lau td:nth-child(4){min-width:220px}
.panel-lau td small{display:block;margin-top:8px;color:var(--muted)}
.panel-lau td button{margin-top:12px;font-size:13px}
.panel-lau td .button.ghost{margin-top:0}
.panel-lau tr:last-child td{border-bottom:0}
.panel-lau .badge{font-size:12px;padding:6px 10px;border-radius:var(--radius-pill);background:var(--surface-rose);color:#ed9aba;display:inline-block;margin-bottom:4px}
.panel-lau .badge.confirmada{background:var(--color-charcoal);color:var(--color-mist)}
.panel-lau .ticket{margin:20px 0}
.panel-lau .ticket h3{font-size:18px;overflow-wrap:anywhere}
.panel-lau .ticket p{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}
.panel-lau .ticket .reason{color:#ed9aba}
.panel-lau .ticket form{display:flex;align-items:end;gap:16px}
.panel-lau .ticket textarea{flex:1;min-height:112px;resize:vertical}
.panel-lau .admin-message{color:#ed9aba;margin:0 0 24px;overflow-wrap:anywhere}
.panel-lau .admin-message:empty{display:none}
.panel-lau #inbox>p{padding:24px 0}
@media(max-width:700px){
 .panel-lau .navegacion-panel{width:calc(100% - 32px);gap:8px;padding:8px 12px 8px 16px}
 .panel-lau .admin{padding-top:8px}
 .panel-lau h1{font-size:48px;letter-spacing:-2.4px}
 .panel-lau .metrics{grid-template-columns:1fr;gap:12px}
 .panel-lau .metrics>div{padding:20px 24px}
 .panel-lau .acciones-panel,.panel-lau .ticket form{flex-direction:column;align-items:stretch}
 .panel-lau .ticket textarea{flex:auto}
 .panel-lau .seccion-panel{margin-top:40px}
}

/* Historial de La Jefa: tarjetas que se ajustan al ancho del celular. */
.panel-lau .ticket{min-width:0;overflow-wrap:anywhere}
.panel-lau .mensaje-conversacion{margin:20px 0;padding:16px;border-radius:12px;background:var(--color-charcoal);min-width:0}
.panel-lau .mensaje-conversacion small{display:block;color:var(--color-mist);margin-top:4px}
.panel-lau .mensaje-conversacion p{margin-bottom:0}
.panel-lau .ticket textarea{min-width:0;width:100%;box-sizing:border-box}

/* El respaldo conserva sus imágenes accesibles; WebGL toma el relevo al estar listo. */
.book-landing .book-webgl{position:absolute;display:none;pointer-events:none}
.book-landing .webgl-ready .book-webgl{display:block}
.book-landing .webgl-ready .book-solid{opacity:0}
.book-landing.scroll-motion .hero-book.webgl-ready{box-shadow:none}
@media(prefers-reduced-motion:reduce){
 .book-landing .webgl-ready .book-webgl{display:none}
 .book-landing .webgl-ready .book-solid{opacity:1}
}

.book-landing .bank-data{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--color-charcoal)}
.book-landing .bank-data dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:12px 0 0;align-items:center}
.book-landing .bank-data dt{color:var(--muted);font-size:14px}
.book-landing .bank-data dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.book-landing .copy-clabe{margin-left:8px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
