:root{
  --red:#C2252C;--wine:#54152C;--paper:#F5F5F5;--silver:#C0C0C0;--ink:#1A1A1A;--rose:#EBC8CB;
  --text:rgba(245,245,245,.92);--muted:rgba(245,245,245,.68);--line:rgba(245,245,245,.16);
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Poppins',Arial,sans-serif;
  --veil:.35;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:#140609;color:var(--text);font:300 15px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.08}
h2{font-size:clamp(34px,3.6vw,50px);text-align:center}
h3{font-weight:500;font-size:15px;letter-spacing:.01em}
em{font-style:italic;color:var(--rose)}
img,video{display:block;max-width:100%}
.skip{position:fixed;left:12px;top:-60px;background:var(--paper);color:var(--ink);padding:10px 14px;z-index:50}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--rose);outline-offset:4px}

/* Fondo continuo: la corona acompaña toda la página */
.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#140609}
.backdrop video{width:100%;height:100%;object-fit:cover}
.veil{position:absolute;inset:0;background:rgba(20,6,9,var(--veil));transition:background .6s ease}
.veil::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 0%,rgba(20,6,9,.55) 100%)}

/* Cabecera */
.header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5%;transition:background .4s ease,backdrop-filter .4s ease}
.header.is-solid{background:rgba(20,6,9,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wordmark{font:400 26px/1 var(--serif);text-decoration:none;color:var(--paper);letter-spacing:.01em}
.wordmark span{display:block;font:400 9px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.header nav{display:flex;gap:32px;font-size:12px}
.header nav a{text-decoration:none;color:var(--muted);transition:color .2s}
.header nav a:hover{color:var(--paper)}
.nav-cta{font-size:12px;text-decoration:none;padding:9px 18px;border:1px solid rgba(245,245,245,.45);transition:background .2s,color .2s}
.nav-cta:hover{background:var(--paper);color:var(--wine)}

/* Botones */
.btn{display:inline-block;text-decoration:none;font-size:13px;letter-spacing:.02em;padding:15px 28px;transition:background .25s,color .25s,border-color .25s}
.btn-solid{background:var(--red);color:var(--paper);border:1px solid var(--red)}
.btn-solid:hover{background:var(--wine);border-color:var(--wine)}
.btn-line{border:1px solid rgba(245,245,245,.45);color:var(--paper)}
.btn-line:hover{border-color:var(--paper)}

/* Portada */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 6% 80px}
.kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.hero h1{font-size:clamp(42px,5.4vw,74px);max-width:14ch}
.lead{max-width:44ch;margin:26px auto 0;color:var(--muted)}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:38px}

/* Bloques */
.block{padding:clamp(72px,9vw,120px) 6%;max-width:1180px;margin:0 auto}
.sub{text-align:center;color:var(--muted);max-width:52ch;margin:14px auto 0}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease,transform 1.1s ease}
[data-reveal].is-in{opacity:1;transform:none}

/* Vídeo de Ali */
.film-frame{position:relative;max-width:980px;margin:36px auto 0;aspect-ratio:16/9;background:#0d0406;box-shadow:0 40px 90px -35px rgba(0,0,0,.9);outline:1px solid var(--line);outline-offset:10px}
.film-frame video{width:100%;height:100%;object-fit:cover}
.film-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:0;cursor:pointer;color:var(--paper);font:italic 400 20px var(--serif);background:linear-gradient(180deg,rgba(20,6,9,0) 45%,rgba(20,6,9,.55))}
.film-play span{width:84px;height:84px;border-radius:50%;background:var(--red);position:relative;transition:transform .3s}
.film-play span::after{content:"";position:absolute;left:34px;top:27px;border-style:solid;border-width:15px 0 15px 23px;border-color:transparent transparent transparent var(--paper)}
.film-play:hover span{transform:scale(1.06)}
.film.is-playing .film-play{display:none}

/* Frase de Ali + dudas */
.quote{text-align:center}
.quote-text{font:400 clamp(30px,3.4vw,46px)/1.2 var(--serif);max-width:24ch;margin:0 auto}
.pains{max-width:680px;margin:48px auto 0;text-align:left;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 32px 20px 0;position:relative;font-size:15px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:18px;color:var(--rose);transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 32px 22px 0;color:var(--muted)}

/* Pasos */
.step-list{list-style:none;margin:48px auto 0;padding:0;max-width:720px;position:relative}
.step-list::before{content:"";position:absolute;left:22px;top:12px;bottom:12px;width:1px;background:var(--line)}
.step-list li{display:grid;grid-template-columns:46px 1fr;gap:22px;padding:18px 0}
.n{font:400 15px var(--serif);color:var(--rose);width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#1c0a10;position:relative}
.step-list p{color:var(--muted);margin-top:4px}
.step-list a{color:var(--rose);text-underline-offset:3px}

/* Qué incluye */
.include-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:48px;background:var(--line);border:1px solid var(--line)}
.include-grid>div{background:rgba(20,6,9,.55);padding:34px 26px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.include-grid strong{display:block;font:400 48px/1 var(--serif);color:var(--rose);margin-bottom:18px}
.include-grid p{color:var(--muted);font-size:14px;margin-top:8px}
.note{text-align:center;color:var(--muted);font-size:13px;margin-top:26px}

/* Ali */
.ali{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:center}
.ali-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:88% 30%;filter:saturate(.85) contrast(1.02)}
.ali-copy h2{text-align:left;margin-bottom:24px}
.ali-copy p{color:var(--muted);max-width:46ch;margin-top:14px}
.signature{font:italic 400 30px var(--serif)!important;color:var(--paper)!important;margin-top:28px!important}

/* Reserva: panel claro para leer y pagar cómodo */
.reserve-card{max-width:760px;margin:0 auto;background:var(--paper);color:var(--ink);padding:clamp(28px,5vw,56px);box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.reserve-card h2{color:var(--wine)}
.price{text-align:center;font:400 64px/1 var(--serif);color:var(--wine);margin-top:18px}
.price small{display:block;font:400 12px var(--sans);letter-spacing:.08em;color:#6b5a5e;margin-top:10px}
.after{text-align:center;color:#555;font-size:14px;max-width:48ch;margin:18px auto 0}
.reserve-card details{border-color:#ddd;margin-top:30px;border-top:1px solid #ddd}
.reserve-card summary{font-size:13px;letter-spacing:.04em}
.reserve-card summary::after{color:var(--red)}
.terms-body p{color:#444;font-size:13px;padding-bottom:12px}
.terms-body a{color:var(--red)}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:26px;font-size:13px;color:#333;cursor:pointer}
.consent input{margin-top:4px;accent-color:var(--red);width:18px;height:18px;flex:none}
.consent-hint{font-size:12px;color:#777;margin-top:10px}
.pay-methods{margin-top:24px;display:grid;gap:18px}
.pay-method{border-top:1px solid #e3e3e3;padding-top:16px}
.pay-title{font-weight:500;margin-bottom:10px}
.pay-title small{font-weight:300;color:#777;margin-left:6px}
.copy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.copy-row code{font:500 15px var(--sans);letter-spacing:.03em}
.copy{border:1px solid #ccc;background:#fff;padding:6px 12px;font:400 12px var(--sans);cursor:pointer}
.pay-note{font-size:12px;color:#666;margin-top:8px}
.pay-note a{color:var(--red)}

/* Preguntas */
.faq-list{max-width:720px;margin:40px auto 0;border-top:1px solid var(--line)}

/* Pie */
.footer{text-align:center;padding:90px 6% 50px;border-top:1px solid var(--line);background:rgba(20,6,9,.6)}
.footer-line{font:italic 400 clamp(26px,3vw,38px) var(--serif);color:var(--paper);margin-bottom:40px}
.footer .wordmark{display:inline-block;margin-bottom:34px}
.footer small{display:block;font-size:11px;color:var(--muted);line-height:1.8}
.footer small a{color:var(--muted)}
.credit{margin-top:8px;opacity:.6}

@media (max-width:860px){
  .header nav{display:none}
  .include-grid{grid-template-columns:1fr 1fr}
  .ali{grid-template-columns:1fr}
  .ali-copy h2{text-align:center}
  .ali-copy{text-align:center}
  .ali-copy p{margin-left:auto;margin-right:auto}
}
@media (max-width:520px){
  body{font-size:14px}
  .block{padding-left:16px;padding-right:16px}
  .header{padding:14px 16px}
  .wordmark{font-size:22px}
  .include-grid{grid-template-columns:1fr}
  .price{font-size:54px}
  .film-play span{width:66px;height:66px}
  .film-play span::after{left:26px;top:21px;border-width:12px 0 12px 18px}
}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
[hidden]{display:none!important}
