:root{
  --papel:#f7f0e2; --papel2:#efe4cc; --tinta:#1d2a3a; --suave:#51607a;
  --noche:#1d2f45; --noche2:#27496d; --ambar:#c8872b; --ambar2:#a96d17; --linea:rgba(29,42,58,.14);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:14px;
}
@media (prefers-color-scheme:dark){
  :root{--papel:#141d2a; --papel2:#1b2738; --tinta:#efe6d3; --suave:#a9b4c6; --linea:rgba(239,230,211,.16)}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--papel);color:var(--tinta);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7vw,4.8rem)}
h1 em{font-style:italic;color:var(--ambar2)}
h2{font-size:clamp(1.8rem,4vw,2.7rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ambar2);margin-bottom:1rem}
section{padding:clamp(56px,9vw,110px) 0}

/* botones */
.btn{display:inline-block;background:var(--ambar);color:#1b1304;text-decoration:none;font:600 1rem/1 var(--sans);padding:16px 28px;border-radius:999px;border:2px solid var(--ambar);transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 6px 18px rgba(200,135,43,.28)}
.btn:hover{transform:translateY(-2px);background:#d9972f}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--noche2);outline-offset:3px}
.btn--ghost{background:transparent;color:var(--tinta);border-color:var(--tinta);box-shadow:none}
.btn--ghost:hover{background:var(--tinta);color:var(--papel)}
.btn--small{padding:10px 18px;font-size:.9rem;box-shadow:none}
.btn--light{background:#f7f0e2;border-color:#f7f0e2;color:#1d2f45;box-shadow:none}
.btn--light:hover{background:#fff}

/* cabecera */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--papel) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-color:var(--linea)}
.top__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 1.1rem var(--serif);color:var(--noche2)}
@media (prefers-color-scheme:dark){.brand{color:var(--tinta)}}
.brand__compass{width:34px;height:34px}
.needle{transform-origin:20px 20px;transition:transform .15s linear}
.menu{display:flex;align-items:center;gap:26px}
.menu a{text-decoration:none;font-size:.95rem;font-weight:500}
.menu a:not(.btn):hover{color:var(--ambar2)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--tinta);transition:.25s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;padding-top:clamp(36px,6vw,80px);background:
  radial-gradient(900px 500px at 85% 10%,rgba(200,135,43,.18),transparent 60%),
  radial-gradient(700px 420px at 0% 100%,rgba(39,73,109,.14),transparent 60%),var(--papel)}
.rose{position:absolute;right:-180px;top:-120px;width:720px;height:720px;opacity:.12;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%231d2f45' stroke-width='.8'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Ccircle cx='100' cy='100' r='78' stroke-dasharray='1 3'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Cpath d='M100 6 L112 88 L194 100 L112 112 L100 194 L88 112 L6 100 L88 88 Z' fill='%231d2f45' fill-opacity='.35'/%3E%3Cpath d='M34 34 L92 92 M166 34 L108 92 M34 166 L92 108 M166 166 L108 108'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  animation:spin 160s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,70px);align-items:center}
.hero__sub{font:italic 1.5rem var(--serif);color:var(--suave);margin:-.2rem 0 1.4rem}
.hero__lead{font-size:1.12rem;max-width:34em}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin:1.8rem 0 1rem}
.hero__note{font-size:.88rem;color:var(--suave)}
.book{position:relative;max-width:380px;margin-inline:auto;rotate:2.5deg;transition:rotate .5s,scale .5s}
.book:hover{rotate:0deg;scale:1.02}
.book img{border-radius:2px 5px 5px 2px;box-shadow:-10px 18px 40px rgba(20,30,50,.38),inset 3px 0 0 rgba(255,255,255,.25)}
.book::before{content:"";position:absolute;inset:auto 8% -26px 8%;height:26px;background:radial-gradient(ellipse at center,rgba(0,0,0,.28),transparent 70%);filter:blur(6px)}

/* cita */
.quote{background:var(--noche);color:#f7f0e2;padding:clamp(44px,7vw,80px) 0;text-align:center}
.quote blockquote{margin:0;font:italic clamp(1.3rem,3vw,1.9rem)/1.5 var(--serif)}

/* invitación */
.invite__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,5vw,70px);align-items:start}
.letter{background:var(--papel2);padding:clamp(24px,4vw,44px);border-radius:var(--r);box-shadow:0 1px 0 var(--linea),0 20px 50px -30px rgba(20,30,50,.5);position:relative;rotate:-.6deg}
.letter::before{content:"";position:absolute;top:-14px;left:50%;width:110px;height:28px;background:rgba(200,135,43,.35);transform:translateX(-50%) rotate(-2deg)}
.letter p{font-family:var(--serif);font-size:1.1rem}
.sign{margin-top:1.4rem;color:var(--suave)}
.sign span{font:italic 1.6rem var(--serif);color:var(--noche2)}
@media (prefers-color-scheme:dark){.sign span{color:var(--ambar)}}

/* cabeceras de sección */
.section-head{text-align:center;max-width:680px;margin:0 auto 3rem}
.section-head p:last-child{color:var(--suave)}

/* tarjetas */
.about{background:var(--papel2)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--papel);padding:34px 28px;border-radius:var(--r);border:1px solid var(--linea)}
.card svg{width:52px;height:52px;color:var(--noche2);margin-bottom:14px}
@media (prefers-color-scheme:dark){.card svg{color:var(--tinta)}}
.card p{color:var(--suave);margin:0}

/* ruta */
.route{list-style:none;margin:0 auto;padding:0;max-width:760px;position:relative}
.route::before{content:"";position:absolute;left:23px;top:12px;bottom:12px;border-left:3px dotted var(--ambar)}
.route li{position:relative;display:flex;gap:22px;padding:0 0 30px}
.pin{flex:none;width:48px;height:48px;border-radius:50%;background:var(--noche);color:#f7f0e2;display:grid;place-items:center;font:600 1.15rem var(--serif);border:3px solid var(--papel);box-shadow:0 0 0 2px var(--ambar);position:relative;z-index:1}
.route li:last-child .pin{background:var(--ambar);color:#1b1304}
.route h3{margin:.4rem 0 .25rem}
.route p{color:var(--suave);margin:0}

/* cuaderno */
.notebook{background:var(--noche);color:#f7f0e2}
.notebook .eyebrow{color:#e3b564}
.notebook__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.notebook p{color:#dfe5ef}
.page{background:#fbf6ea;color:#22314a;padding:38px 34px 34px 62px;border-radius:6px 14px 14px 6px;rotate:1.6deg;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);position:relative;
  background-image:repeating-linear-gradient(transparent,transparent 41px,rgba(39,73,109,.28) 42px);background-position:0 20px}
.page::before{content:"";position:absolute;left:44px;top:0;bottom:0;width:2px;background:rgba(190,60,60,.4)}
.page p{font:italic 1.3rem/42px var(--serif);margin:0;color:#22314a}
.page__end{color:var(--ambar2)!important;font-weight:600}

/* frases */
.notes{columns:3 300px;column-gap:22px}
.note{break-inside:avoid;margin:0 0 22px;padding:30px 26px;background:#fbf3d6;color:#2a2515;border-radius:4px;box-shadow:0 14px 26px -16px rgba(0,0,0,.45);position:relative}
.note:nth-child(2n){background:#e8f0e3;rotate:.8deg}
.note:nth-child(3n){background:#e3ebf5;rotate:-.9deg}
.note:nth-child(2n+1){rotate:-.5deg}
.note::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;background:rgba(200,135,43,.4);transform:translateX(-50%) rotate(2deg)}
.note blockquote{margin:0;font:italic 1.12rem/1.55 var(--serif)}

/* autor */
.author{background:var(--papel2)}
.author__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,70px);align-items:center}
.author__photo{position:relative;width:100%;max-width:420px;margin-inline:auto;aspect-ratio:4/5;border-radius:220px 220px 14px 14px;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,#34628f 0%,#1d2f45 70%);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.author__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.author__ph{position:absolute;inset:0;display:none;place-items:center;font:600 5rem var(--serif);color:#e3b564}
.author__photo.no-photo .author__ph{display:grid}
.lead{font:italic 1.3rem/1.5 var(--serif);color:var(--noche2)}
@media (prefers-color-scheme:dark){.lead{color:var(--ambar)}}
.social{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:1.6rem 0 0}
.social a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--tinta);border-radius:999px;text-decoration:none;font-size:.9rem}
.social svg{width:18px;height:18px}
.social a:hover{background:var(--tinta);color:var(--papel)}

/* comprar */
.buy{background:radial-gradient(800px 400px at 50% 0%,rgba(200,135,43,.16),transparent 70%),var(--papel)}
.stores{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:2.4rem}
.store{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:26px 24px;background:var(--noche);color:#f7f0e2;border-radius:var(--r);text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 18px 32px -22px rgba(0,0,0,.7)}
.store:hover{transform:translateY(-4px);box-shadow:0 24px 40px -20px rgba(0,0,0,.7)}
.store__name{font:600 1.5rem var(--serif)}
.store__go{color:#e3b564;font-weight:600}
.store__go i{font-style:normal;display:inline-block;transition:transform .2s}
.store:hover .store__go i{transform:translateX(5px)}
.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:22px;border:1px dashed var(--linea);border-radius:var(--r);font-size:.92rem}
.meta dt{font-weight:600;color:var(--ambar2);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.meta dd{margin:0}

/* cierre / pie */
.closing{background:var(--noche2);color:#f7f0e2;text-align:center}
.closing__big{font:italic clamp(1.4rem,3.4vw,2.2rem)/1.4 var(--serif);margin-bottom:1.8rem}
.foot{background:#111b29;color:#b8c3d6;padding:40px 0 90px;font-size:.9rem}
.foot__in{display:grid;gap:14px;text-align:center}
.foot__brand{font:600 1.3rem var(--serif);color:#f7f0e2;margin:0}
.foot nav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.foot a{text-decoration:none}.foot a:hover{color:#e3b564}
.foot__copy{font-size:.8rem;opacity:.75;max-width:640px;margin:0 auto}

/* CTA fijo móvil */
.sticky-buy{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;display:none;text-align:center;background:var(--ambar);color:#1b1304;font-weight:700;padding:15px;border-radius:999px;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35);transform:translateY(140%);transition:transform .3s}
.sticky-buy.show{transform:none}

/* revelado */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:900px){
  .hero__in,.invite__in,.notebook__in,.author__in{grid-template-columns:1fr}
  .hero__book{order:-1}.book{max-width:260px}
  .cards{grid-template-columns:1fr}
  .stores,.meta{grid-template-columns:1fr 1fr}
  .burger{display:block}
  .menu{position:absolute;left:0;right:0;top:68px;background:var(--papel);flex-direction:column;align-items:flex-start;padding:18px 24px 26px;gap:16px;border-bottom:1px solid var(--linea);display:none}
  .menu.open{display:flex}
  .sticky-buy{display:block}
  .rose{width:480px;height:480px;right:-160px;top:-60px}
}
@media (max-width:520px){.stores,.meta{grid-template-columns:1fr}.page{padding-left:54px}.page p{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* presentación */
.launch{background:var(--papel)}
.launch__head{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,70px);align-items:center;margin-bottom:3rem}
.launch__credit{font-size:.85rem;color:var(--suave)}
.poster{margin:0;max-width:300px;justify-self:center;rotate:2deg}
.poster img{border-radius:4px;box-shadow:0 24px 44px -22px rgba(0,0,0,.6);border:8px solid #fffdf7}
.gallery{columns:3 260px;column-gap:18px}
.shot{display:block;width:100%;margin:0 0 18px;padding:8px;border:0;background:#fffdf7;border-radius:4px;box-shadow:0 14px 26px -16px rgba(0,0,0,.5);cursor:zoom-in;break-inside:avoid;transition:transform .25s,box-shadow .25s}
.shot img{width:100%;height:auto;border-radius:2px}
.shot:nth-child(3n+1){rotate:-.7deg}.shot:nth-child(3n+2){rotate:.6deg}
.shot:hover{transform:translateY(-4px);box-shadow:0 22px 34px -16px rgba(0,0,0,.55)}
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
.lb::backdrop{background:rgba(10,16,26,.92)}
.lb[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;justify-items:center}
.lb figure{margin:0;max-width:100%;text-align:center;grid-column:2}
.lb img{max-width:100%;max-height:82vh;width:auto;height:auto;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lb figcaption{margin-top:12px;font:italic 1.05rem var(--serif);color:#e8dfc9}
.lb button{background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;border-radius:50%;width:48px;height:48px;font-size:2rem;line-height:1}
.lb button:hover{background:rgba(255,255,255,.28)}
.lb__p{grid-column:1;grid-row:1}.lb__n{grid-column:3;grid-row:1}
.lb__x{position:absolute;top:14px;right:14px}
.foot__social{list-style:none;display:flex;gap:14px;justify-content:center;margin:0;padding:0}
.foot__social a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(247,240,226,.35);border-radius:50%}
.foot__social svg{width:20px;height:20px}
@media (max-width:900px){.launch__head{grid-template-columns:1fr}.poster{max-width:240px}.gallery{columns:2 150px;column-gap:12px}.shot{margin-bottom:12px;padding:5px}.lb[open]{grid-template-columns:1fr}.lb figure{grid-column:1}.lb__p,.lb__n{position:absolute;top:50%;grid-column:auto}.lb__p{left:8px}.lb__n{right:8px}}
