/* Staff Modern · hoja de estilos */
@font-face{font-family:"Cormorant";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant";font-weight:500;font-style:italic;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}

:root{--ink:#0b0a0a;--bone:#f3eee7;--red:#c9140d;--red-2:#e5271c;--pend:#ffe14d;
  --f-serif:"Cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;--f-sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);--gut:clamp(22px,5vw,64px);
  --paper:#f6f1ea;--mute:#aaa39b;--line:rgba(255,255,255,.17);--accent:#ee4034;--card:rgba(255,255,255,.04)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;background:var(--ink);color:var(--paper);font:300 17px/1.65 var(--f-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}
ul,ol{list-style:none}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* colores por sección */
section,footer{background:var(--ink);color:var(--paper)}
section.lt,footer.lt{--paper:#0b0a0a;--mute:#5d5650;--line:rgba(11,10,10,.16);--accent:#c9140d;--card:#fff;background:var(--bone)}
section.lt.w{background:#fff}

/* aviso de vista previa (se quita al publicar) */
.preview-bar{position:fixed;left:0;right:0;top:0;height:30px;display:flex;align-items:center;justify-content:center;background:var(--pend);color:#1a1500;font:500 12px var(--f-sans);padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:90}
body.pv{--bar:30px}
.pend{background:var(--pend);color:#1a1500;padding:0 .3em;font-style:normal;font-family:var(--f-sans);font-weight:500;font-size:.8em;letter-spacing:0;-webkit-box-decoration-break:clone;box-decoration-break:clone}

.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gut)}
section{padding-block:clamp(84px,11vw,176px);position:relative}

/* tipografía */
h1,h2,h3{font-family:var(--f-serif);font-weight:500;letter-spacing:-.012em;line-height:1.02;text-wrap:balance}
h2{font-size:clamp(42px,6vw,92px)}
h3{font-size:clamp(26px,2.6vw,36px);line-height:1.1}
.serif{font-style:italic;font-weight:400;color:var(--accent)}
.eyebrow{display:flex;align-items:center;gap:16px;font:500 11px/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:26px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--mute);max-width:56ch}
.sec-head{margin-bottom:clamp(44px,6vw,92px);max-width:980px}
.sec-head h2{max-width:15ch}
.sec-head .lead{margin-top:26px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--red);color:#fff;border:1px solid var(--red);padding:17px 30px;font:500 12px/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;transition:background .35s,color .35s,border-color .35s,transform .35s var(--ease)}
.btn:hover{background:#fff;color:var(--red);border-color:#fff}
.btn .ar{transition:transform .35s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn.lg{padding:21px 38px;font-size:12.5px}
.btn.sm{padding:12px 20px;font-size:11px}
.btn.ghost{background:transparent;color:var(--paper);border-color:currentColor}
.btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
section.lt .btn.ghost:hover{color:var(--bone)}
.btn.light{background:#fff;color:#0b0a0a;border-color:#fff}
.btn.light:hover{background:#0b0a0a;color:#fff;border-color:#0b0a0a}

/* cabecera */
.top{position:fixed;left:0;right:0;top:var(--bar,0px);z-index:60;transition:background .45s,border-color .45s,color .45s;border-bottom:1px solid transparent;color:#f6f1ea}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px;max-width:1440px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:42px;height:42px;border-radius:50%}
.brand span{display:flex;flex-direction:column;gap:3px}
.brand b{font:500 20px/1 var(--f-serif);letter-spacing:.2em;text-transform:uppercase}
.brand span span{font:400 9.5px/1 var(--f-sans);letter-spacing:.42em;text-transform:uppercase;opacity:.7}
.nav{display:none;gap:36px}
.nav a{font:400 11.5px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;opacity:.75;transition:opacity .3s}
.nav a:hover{opacity:1}
@media(min-width:900px){.nav{display:flex}}
.top.on{background:rgba(11,10,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.12)}
.top.lt{color:#0b0a0a}
.top.lt.on{background:rgba(243,238,231,.9);border-bottom-color:rgba(11,10,10,.12)}
.top .prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.top .prog i{display:block;height:100%;width:var(--p,0%);background:var(--red-2)}
.top .prog b{display:none}

/* portada */
.hero{min-height:100svh;display:flex;align-items:flex-end;padding-block:150px 84px;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media .layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0b0a0a 3%,rgba(11,10,10,.8) 46%,rgba(11,10,10,.5) 100%)}
.hero .wrap{position:relative;z-index:2;max-width:1440px}
.hero-card{display:none}
.hero h1{font-size:clamp(58px,15vw,152px);line-height:.9;letter-spacing:-.025em;font-weight:500}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.hero h1 .ln>span{display:block;transform:translateY(108%);animation:up 1.2s var(--ease) forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
.hero h1 .ln:nth-child(3)>span{animation-delay:.26s}
@keyframes up{to{transform:none}}
.hero h1 .red{color:var(--accent);font-style:italic;font-weight:400}
.hero h1 .serif{font-size:.36em;line-height:1.15;letter-spacing:0;color:#f6f1ea;font-weight:400;display:block;margin-top:.5em}
.hero .eyebrow{color:#f6f1ea;margin-bottom:34px}
.hero .lead{color:#e6dfd6;margin-top:34px;max-width:46ch;font-size:clamp(17px,1.6vw,20px)}
.pack{margin-top:30px;font:500 11px/1.7 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:#f6f1ea}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero .btn.ghost{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px 34px;margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);max-width:620px}
.chip{font:400 11.5px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:#d9d1c7}
.chip i{font-style:normal;color:var(--accent);letter-spacing:.2em;margin-right:8px}
.scroll-cue,.marquee,.glow,.sparkle,.bleach,.seal{display:none!important}
@media(min-width:960px){
  .hero-media .layer{filter:blur(26px) brightness(.62) saturate(1.1);transform:scale(1.2)}
  .hero-media::after{background:linear-gradient(to right,rgba(11,10,10,.9) 0%,rgba(11,10,10,.35) 60%,rgba(11,10,10,.2) 100%),linear-gradient(to top,rgba(11,10,10,.85) 0%,rgba(11,10,10,0) 30%)}
  .hero{padding-block:130px 70px}
  .hero .wrap{padding-right:calc(var(--gut) + min(34vw,560px))}
  .hero-card{display:block;position:absolute;z-index:2;right:max(var(--gut),calc((100vw - 1440px)/2 + var(--gut)));top:calc(var(--bar,0px) + 104px);bottom:64px;aspect-ratio:9/16;max-width:34vw}
  .hero-card .pic{position:absolute;inset:0;padding:10px;border:1px solid rgba(255,255,255,.4);background:rgba(11,10,10,.25)}
  .hero-card .pic img,.hero-card .pic video{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover}
}

/* problema */
.pain{display:grid;gap:0 clamp(28px,6vw,96px);grid-template-columns:1fr}
.pain li{font:400 clamp(24px,2.5vw,36px)/1.22 var(--f-serif);padding:30px 0;border-top:1px solid var(--line);color:var(--paper)}
.pain li em{color:var(--accent)}
@media(min-width:800px){.pain{grid-template-columns:1fr 1fr}.pain li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:799px){.pain li:last-child{border-bottom:1px solid var(--line)}}

/* dos columnas */
.two{display:grid;gap:clamp(40px,7vw,120px);align-items:center}
@media(min-width:900px){.two{grid-template-columns:1.05fr .95fr}}
.brands{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:40px;font:italic 400 22px var(--f-serif);color:var(--paper)}
.brands span+span::before{content:"";display:inline-block;width:1px;height:18px;background:var(--line);margin:0 22px;vertical-align:-2px}

/* marcos de foto y vídeo */
.frame{position:relative;overflow:hidden;background:#161413;aspect-ratio:4/5}
.frame img,.frame video{width:100%;height:100%;object-fit:cover}
.frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.5);pointer-events:none}
.stack{position:relative}

/* tu visita */
.steps-grid{display:grid;gap:clamp(40px,7vw,110px);align-items:center}
@media(min-width:900px){.steps-grid{grid-template-columns:1.1fr .9fr}}
.steps li{padding:30px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps h3{margin-bottom:10px}
.steps p{color:var(--mute);max-width:46ch}

/* precios */
.tickets{display:grid;gap:22px}
@media(min-width:900px){.tickets{grid-template-columns:repeat(3,1fr)}}
.ticket{display:flex}
.ticket>div{flex:1;border:1px solid var(--line);background:var(--card);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column}
.ticket h3{min-height:3.3em;margin-bottom:26px}
.ticket .row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.ticket .k{font:400 10.5px var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.ticket .v{text-align:right}
.ticket .row.final{margin-top:auto;padding-top:24px;align-items:flex-end}
.ticket .big{font:500 clamp(56px,6vw,88px)/.9 var(--f-serif);color:var(--accent);letter-spacing:-.02em}
.ticket .big .pend{font-size:.5em}

/* para quién */
.fit{display:grid;gap:22px}
@media(min-width:800px){.fit{grid-template-columns:1fr 1fr}}
.fit>div{border:1px solid var(--line);background:var(--card);padding:clamp(28px,3.4vw,52px)}
.fit h3{margin-bottom:26px}
.fit li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--line);color:var(--mute);font-size:16px}
.fit li::before{content:"";position:absolute;left:0;top:28px;width:16px;height:1px;background:var(--accent)}
.fit .no li::before{background:var(--mute)}
.fit .yes li{color:var(--paper)}

/* cifras y persona */
.stats{display:grid;gap:0 32px;margin-bottom:clamp(56px,8vw,120px)}
@media(min-width:800px){.stats{grid-template-columns:repeat(3,1fr)}}
.stat{padding:26px 0 30px;border-top:1px solid var(--line)}
.stat .n{font:500 clamp(68px,8vw,120px)/.95 var(--f-serif);letter-spacing:-.02em}
.stat .n small{font:italic 400 .34em var(--f-serif);color:var(--accent);letter-spacing:0}
.stat p{margin-top:12px;color:var(--mute);font-size:15px;max-width:30ch}
.person{display:grid;gap:clamp(36px,6vw,100px);align-items:center}
@media(min-width:800px){.person{grid-template-columns:.8fr 1fr}.person .frame{max-height:80svh}}
.person h3{font-size:clamp(44px,5.4vw,84px);margin-bottom:22px}
.person p{color:var(--mute);max-width:44ch;font-size:18px}

/* casos */
.reels{display:grid;gap:18px;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
@media(min-width:800px){.reels{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible;gap:24px}}
.reel{position:relative;aspect-ratio:9/16;overflow:hidden;background:#000;scroll-snap-align:start}
.reel img,.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0) 38%,rgba(0,0,0,0) 80%,rgba(0,0,0,.35));pointer-events:none}
.reel .tag{position:absolute;left:18px;top:18px;z-index:2;font:500 10px var(--f-sans);letter-spacing:.26em;text-transform:uppercase;color:#fff}
.reel .cap{position:absolute;left:18px;right:90px;bottom:16px;z-index:2;font:italic 400 clamp(22px,2vw,28px)/1.1 var(--f-serif);color:#fff}
.snd{position:absolute;right:14px;bottom:14px;z-index:3;font:500 9.5px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.6);padding:8px 10px;background:rgba(0,0,0,.25);backdrop-filter:blur(6px);transition:background .3s,color .3s}
.snd:hover{background:#fff;color:#000}
.reviews{display:grid;gap:0 36px;margin-top:clamp(56px,8vw,110px)}
@media(min-width:800px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{padding:28px 0 32px;border-top:1px solid var(--line)}
.review .stars{color:var(--accent);letter-spacing:.3em;font-size:13px;margin-bottom:16px}
.review p{font:italic 400 clamp(22px,2vw,28px)/1.25 var(--f-serif);color:var(--paper)}
.review cite{display:block;margin-top:18px;font:400 10.5px var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-style:normal}

/* llamadas a la acción */
section.cta{background:linear-gradient(180deg,#c9140d,#a50f09);color:#fff;text-align:center;padding-block:clamp(88px,12vw,170px);--paper:#fff;--mute:#ffd9d4;--accent:#fff}
.cta h2{font-size:clamp(46px,7vw,110px);max-width:14ch;margin-inline:auto}
.cta p{margin:26px auto 0;color:#ffe3de;font-size:clamp(17px,1.6vw,21px)}
.cta .btn{margin-top:42px}
section.cta.final{background:#0b0a0a;isolation:isolate;overflow:hidden}
.cta.final .bg{position:absolute;inset:0;z-index:-1}
.cta.final .bg img,.cta.final .bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta.final .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,10,.88),rgba(11,10,10,.5) 60%,rgba(11,10,10,.6))}
.cta.final h2{max-width:16ch}
.cta.final .btn{background:var(--red);color:#fff;border-color:var(--red)}
.cta.final .btn:hover{background:#fff;color:var(--red);border-color:#fff}

/* avisos, dudas y resumen */
.note{max-width:820px;margin-inline:auto;text-align:center;border:1px solid var(--line);padding:clamp(34px,5vw,64px)}
.note h3{font:500 11px/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.note p{font:400 clamp(24px,2.6vw,34px)/1.25 var(--f-serif);color:var(--paper)}
.faq{max-width:900px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font:500 clamp(23px,2.3vw,31px)/1.15 var(--f-serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 30px/1 var(--f-sans);color:var(--accent);transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 28px;color:var(--mute);max-width:60ch}
.recap{max-width:900px}
.recap li{font:400 clamp(24px,2.6vw,36px)/1.2 var(--f-serif);padding:24px 0;border-top:1px solid var(--line)}
.recap li:last-child{border-bottom:1px solid var(--line)}

/* web: promo, servicios, galería, ubicación */
.promo{display:grid;gap:34px;align-items:center;border:1px solid var(--line);padding:clamp(32px,5vw,72px)}
@media(min-width:900px){.promo{grid-template-columns:1fr auto}}
.promo h2{font-size:clamp(38px,5vw,76px);max-width:16ch}
.promo p{margin-top:20px;color:var(--mute);max-width:52ch}
.cards{display:grid;gap:0 36px}
@media(min-width:700px){.cards.c3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cards.c3{grid-template-columns:repeat(3,1fr)}}
.card{padding:34px 0 38px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.card p{color:var(--mute);font-size:16px;flex:1}
.card .from{font:500 11px var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-top:10px}
.gallery{display:grid;gap:18px;grid-auto-flow:column;grid-auto-columns:70%;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:clamp(48px,7vw,100px);scrollbar-width:none}
.gallery::-webkit-scrollbar{display:none}
.gallery .frame{scroll-snap-align:start;aspect-ratio:3/4}
@media(min-width:800px){.gallery{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);grid-auto-columns:auto;overflow:visible}}
.place{display:grid;gap:44px;align-items:start}
@media(min-width:900px){.place{grid-template-columns:1fr 1fr}}
.place dl>div{padding:22px 0;border-top:1px solid var(--line)}
.place dl>div:last-child{border-bottom:1px solid var(--line)}
.place dt{font:500 10.5px var(--f-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.place dd{font:400 26px/1.2 var(--f-serif)}
.place dd a{border-bottom:1px solid var(--line)}
.count{display:flex;gap:26px;margin-top:30px}
.count div{display:flex;flex-direction:column;gap:6px;font:500 11px var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.count b{font:500 56px/1 var(--f-serif);color:var(--paper);letter-spacing:0}

/* pie, cookies y botones fijos */
footer{padding-block:44px;border-top:1px solid var(--line);font-size:13px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 40px;color:var(--mute)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 26px}
footer a:hover{color:var(--paper)}
footer strong{font-weight:500}
.cookies{position:fixed;left:18px;bottom:18px;z-index:95;max-width:380px;padding:24px;background:#fff;color:#1b1816;border:1px solid #0b0a0a;font-size:13.5px;line-height:1.5;display:none}
.cookies.on{display:block}
.cookies b{display:block;font:500 22px var(--f-serif);margin-bottom:6px}
.cookies .acts{display:flex;gap:10px;margin-top:16px}
.cookies button{flex:1;padding:12px;font:500 10.5px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid #0b0a0a}
.cookies .ok{background:#0b0a0a;color:#fff}
@media(max-width:899px){.cookies{bottom:84px;left:12px;right:12px;max-width:none}}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(11,10,10,.95),rgba(11,10,10,.6));transform:translateY(110%);transition:transform .5s var(--ease)}
.sticky.on{transform:none}
.sticky .btn{width:100%}
@media(min-width:900px){.sticky{display:none}}
.float-cta{display:none}
@media(min-width:900px){.float-cta{display:inline-flex;position:fixed;right:28px;bottom:28px;z-index:70;transform:translateY(160%);transition:transform .5s var(--ease),background .35s,color .35s;box-shadow:0 18px 40px -14px rgba(0,0,0,.6)}.float-cta.on{transform:none}.float-cta i{display:none}}

/* aparición */
.rv,.rv-s{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.rv-s{transform:translateY(34px) scale(.985)}
.rv.in,.rv-s.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.rv-s{opacity:1;transform:none;transition:none}.hero h1 .ln>span{transform:none;animation:none}}

/* ===== película que avanza con el scroll (landing de promos) ===== */
.stage{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility .7s}
.stage.on{opacity:1;visibility:visible}
.stage .bgc{position:absolute;inset:-8%;width:116%;height:116%;filter:blur(34px) brightness(.42) saturate(1.2);display:none}
.stage .fw{position:absolute;inset:0;overflow:hidden}
.stage .fc{position:absolute;inset:0;width:100%;height:100%}
.stage .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,10,.86) 0%,rgba(11,10,10,.7) 100%)}
.stage .fcap{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:12px;font:500 10.5px var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6);z-index:2}
.stage .fcap i{width:28px;height:1px;background:#fff}
.stage .fcap span{transition:opacity .4s}
@media(min-width:960px){
  .stage .bgc{display:block}
  .stage .scrim{background:linear-gradient(90deg,rgba(11,10,10,.82),rgba(11,10,10,.35) 60%,rgba(11,10,10,.5))}
  .stage .fw{inset:auto;right:max(var(--gut),calc((100vw - 1440px)/2 + var(--gut)));top:calc(var(--bar,0px) + 104px);bottom:64px;aspect-ratio:9/16;max-width:34vw;border:1px solid rgba(255,255,255,.4);padding:10px;background:rgba(11,10,10,.3)}
  .stage .fc{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}
  .stage .fcap{left:28px;bottom:26px}
}
body.film{background:#0b0a0a}
.sc{background:transparent;min-height:100svh;display:flex;align-items:center;padding-block:clamp(90px,12vw,170px)}
.sc>.wrap{position:relative}
@media(min-width:960px){.sc>.wrap{padding-right:calc(var(--gut) + min(34vw,520px) + 48px)}}
@media(max-width:959px){
  .sc>.wrap>*{background:rgba(11,10,10,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:26px 22px}
  .sc .pain,.sc .steps,.sc .tickets,.sc .fit{padding:0;background:none;backdrop-filter:none}
  .sc .pain li,.sc .steps li{background:rgba(11,10,10,.66);backdrop-filter:blur(10px);padding-inline:20px}
  .sc .sec-head{padding:26px 22px}
}
.sc .tickets{grid-template-columns:1fr}
@media(min-width:1180px){.sc .tickets{grid-template-columns:repeat(3,1fr)}}
.sc .ticket h3{min-height:0;font-size:24px}
.sc .ticket>div{background:rgba(11,10,10,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sc .fit>div{background:rgba(11,10,10,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sc .fit{grid-template-columns:1fr}
.sc .pain{grid-template-columns:1fr}
.sc .pain li:last-child{border-bottom:1px solid var(--line)}
.sc .pain li:nth-last-child(2){border-bottom:0}
section.solid{background:#0b0a0a;position:relative;z-index:2}
section.solid.slim{padding-block:clamp(48px,6vw,90px)}
section.cta,.cta.final,footer{position:relative;z-index:2}
.r4{grid-auto-columns:78%}
@media(min-width:900px){.r4{grid-template-columns:repeat(4,1fr);gap:18px}}
.sc .steps li{padding:24px 0}
.sc .tickets{grid-template-columns:1fr}
.ticket .big{white-space:nowrap}
@media(min-width:700px){
  .sc .ticket>div{display:grid;grid-template-columns:1fr 1.1fr;column-gap:34px;align-items:center}
  .sc .ticket h3{grid-column:1;grid-row:1/4}
  .sc .ticket .row{grid-column:2}
  .sc .ticket .row.final{margin-top:0}
}

/* =========================================================
   Dirección editorial rompedora (solo landing de promos)
   ========================================================= */
@font-face{font-family:"Anton";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/anton-latin-400-normal.woff2) format("woff2")}
body.film{--f-hard:"Anton","Impact","Arial Narrow",sans-serif;--red:#dc1a10;--red-2:#ff2a1d;--bone:#f4f2ee}
body.film section.lt,body.film footer.lt{background:#f4f2ee;--accent:#dc1a10}
body.film h1,body.film h2{font-family:var(--f-hard);font-weight:400;text-transform:uppercase;letter-spacing:.002em;line-height:.93}
body.film h2{font-size:clamp(50px,8.2vw,132px);max-width:13ch}
body.film h2 .serif,body.film h1 .serif{font-family:var(--f-serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;color:var(--accent);font-size:.78em;line-height:.9}
body.film .sec-head{max-width:none}
body.film .sec-head h2{max-width:12ch}
body.film .eyebrow{font:500 11px/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--paper);gap:0;margin-bottom:28px}
body.film .eyebrow::before{content:"[ ";width:auto;height:auto;background:none;margin-right:.5em;color:var(--accent);letter-spacing:0}
body.film .eyebrow::after{content:" ]";margin-left:.5em;color:var(--accent);letter-spacing:0}
body.film .hero .eyebrow{color:#fff}
body.film .hero h1{font-size:clamp(60px,16.5vw,112px);line-height:.9}
@media(min-width:960px){body.film .hero h1{font-size:clamp(84px,10vw,168px)}}
body.film .hero h1 .red{font-family:var(--f-hard);font-style:normal;font-weight:400;color:var(--red-2)}
body.film .hero h1 .serif{display:block;font-size:.34em;color:#fff;margin-top:.55em;line-height:1.1}
body.film .hero-card .pic{border-color:rgba(255,255,255,.55)}
.stk{position:absolute;left:-22px;bottom:84px;z-index:3;background:var(--red);color:#fff;font:400 clamp(20px,2vw,28px)/.95 var(--f-hard,"Anton",Impact,sans-serif);text-transform:uppercase;padding:14px 18px 12px;transform:rotate(-4deg);letter-spacing:.01em}
body.film .btn{font-weight:500;letter-spacing:.2em}
body.film .btn::before{content:"[";margin-right:2px;opacity:.9;letter-spacing:0}
body.film .btn::after{content:"]";margin-left:2px;opacity:.9;letter-spacing:0;order:3}
body.film .btn .ar{order:2}
body.film .sticky .btn::before,body.film .sticky .btn::after{display:none}

/* banda */
.band{position:relative;z-index:2;background:var(--red);color:#0b0a0a;overflow:hidden;white-space:nowrap;padding:14px 0 10px}
.band .tk{display:inline-flex;gap:0;animation:band 34s linear infinite}
.band span{font:400 clamp(26px,3.4vw,46px)/1 "Anton",Impact,sans-serif;text-transform:uppercase;padding-right:.9em;letter-spacing:.01em}
.band span::after{content:"/";margin-left:.9em;color:#fff}
@keyframes band{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.band .tk{animation:none}}

/* película: del blanco y negro al color */
.stage .fc,.stage .bgc{filter:grayscale(var(--g,1)) contrast(1.04)}
.stage .bgc{filter:grayscale(var(--g,1)) blur(34px) brightness(.42) saturate(1.2)}
body.film .stage .fcap{font-family:var(--f-sans)}
body.film .stage .fcap span::before{content:"[ "}
body.film .stage .fcap span::after{content:" ]"}
body.film .stage .fcap i{display:none}

/* escenas */
body.film .pain li{font-family:var(--f-serif);font-size:clamp(24px,2.6vw,38px)}
body.film .steps h3,body.film .ticket h3,body.film .fit h3,body.film .person h3{font-family:var(--f-hard);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:1}
body.film .steps h3{font-size:clamp(26px,2.6vw,38px)}
body.film .ticket h3{font-size:clamp(24px,2.1vw,30px)}
body.film .ticket .big{font-family:var(--f-hard);font-weight:400;font-size:clamp(64px,6.4vw,104px);color:var(--red-2)}
body.film .fit h3{font-size:clamp(26px,2.4vw,34px)}
body.film .person h3{font-size:clamp(56px,7vw,112px)}
body.film .stat .n{font-family:var(--f-hard);font-weight:400;font-size:clamp(84px,11vw,180px);line-height:.9;letter-spacing:0}
body.film .stat .n small{font-family:var(--f-serif);font-style:italic;font-size:.28em;color:var(--accent)}
body.film .stat{border-top:2px solid var(--paper)}
body.film .stat p{color:var(--paper);opacity:.75}
body.film section.lt .person p{color:#3b3631}
body.film section.lt .lead,body.film section.lt .steps p{color:#4a443e}
body.film .note{border:2px solid var(--paper)}
body.film .note p{font-family:var(--f-hard);text-transform:uppercase;font-size:clamp(28px,3.4vw,52px);line-height:1}
body.film .note .pend{font-size:.5em}
body.film .note h3{font-family:var(--f-sans)}
body.film .recap li{font-family:var(--f-hard);text-transform:uppercase;font-size:clamp(32px,5.2vw,84px);line-height:.98;padding:18px 0 14px;border-top:2px solid var(--line);display:flex;align-items:baseline;gap:.4em}
body.film .recap li::before{content:"/";color:var(--red-2)}
body.film .recap li:last-child{border-bottom:2px solid var(--line)}
body.film .faq summary{font-family:var(--f-serif);font-weight:500}
body.film section.lt .faq details,body.film section.lt .faq details:last-child{border-color:rgba(11,10,10,.25)}
body.film .reels .reel video,body.film .reels .reel img{filter:grayscale(1) contrast(1.08);transition:filter .9s var(--ease)}
body.film .reels .reel.live video,body.film .reels .reel:hover video{filter:none}
body.film .reel .cap{font-family:var(--f-hard);font-style:normal;text-transform:uppercase;font-size:clamp(22px,1.9vw,28px);line-height:1}
body.film .person .frame,body.film .reel{border:0}

/* bloques de color */
body.film section.cta{background:var(--red);padding-block:clamp(96px,14vw,200px)}
body.film .cta h2{font-size:clamp(64px,12.5vw,210px);max-width:none;line-height:.9;color:#fff}
body.film .cta p{font-family:var(--f-sans);font-weight:400;color:#fff}
body.film .cta .btn.light{background:#0b0a0a;color:#fff;border-color:#0b0a0a}
body.film .cta .btn.light:hover{background:#fff;color:#0b0a0a;border-color:#fff}
body.film .cta.final{background:#0b0a0a}
body.film .cta.final h2{max-width:11ch;margin-inline:auto}
body.film footer.lt{background:#f4f2ee}

/* contraste y tamaño de los textos de apoyo */
body.film{--mute:#d2cbc2;font-size:18px}
body.film section.lt{--mute:#3f3a35}
body.film .lead,body.film .steps p,body.film .stat p,body.film .person p,body.film .faq details p{font-size:clamp(17px,1.35vw,20px);line-height:1.6}
body.film .steps p,body.film .stat p{color:var(--mute);opacity:1}
body.film .fit li{font-size:17px;color:#e6dfd6}
body.film .fit .no li{color:#c9c2b9}
body.film .ticket .k,body.film .review cite,body.film .brand span span{font-size:12px;color:var(--mute)}
body.film .eyebrow,body.film .chip,body.film .pack,body.film .stage .fcap,body.film .reel .tag{font-size:12px}
body.film .chip{color:#e6dfd6}
body.film .nav a{font-size:12.5px}
body.film .snd{font-size:11px}
body.film .ticket .row{font-size:16px}
body.film .cookies{font-size:14px}

/* detalles finales */
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:#fff;color:#0b0a0a;padding:12px 18px;font:500 12px var(--f-sans);letter-spacing:.14em;text-transform:uppercase;transition:top .2s}
.skip:focus{top:40px}
html{scroll-padding-top:96px}
.hero{min-height:100vh;min-height:100svh}
@media(max-width:899px){footer{padding-bottom:calc(44px + 84px)}}
a.btn:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* paleta granate del logo, alternancia claro/oscuro y textos más legibles */
:root{--red:#b83020;--red-2:#d9472f}
body.film{--red:#b83020;--red-2:#d9472f}
body.film section.lt,body.film footer.lt{--accent:#b83020}
body.film section.lt.sand{background:#e9dfd3}
body.film section.lt.sand{--card:#f6f0e8;--line:rgba(11,10,10,.2)}
section.solid.lt{z-index:2}
.btn,.cta .btn{background:var(--red);border-color:var(--red)}
.btn:hover,.cta .btn:hover{background:#fff;color:var(--red);border-color:#fff}
.band{background:var(--red);color:#f6efe6}
.stk{background:var(--red)}
.cta{background:var(--red)}
.top .prog i{background:#f3eee7}
body.film .eyebrow::before,body.film .eyebrow::after{color:var(--red-2)}
body.film section.lt .eyebrow::before,body.film section.lt .eyebrow::after{color:var(--red)}
body.film .eyebrow{font-size:12.5px;letter-spacing:.26em}
body.film .stage .fcap{font-size:12.5px}
body.film .ticket .k{font-size:12.5px;color:#d2cbc2}
body.film .reel .cap{font-size:15px}
body.film .reel .tag{font-size:11.5px}
body.film .lead,body.film .steps p,body.film .person p{font-size:17px;line-height:1.6}
body.film .pain li{font-size:clamp(26px,2.8vw,40px)}
.reel video,.hero video,.person video{filter:contrast(1.04) saturate(.97)}
body.film .cta.final h2{font-family:var(--f-hard);font-weight:400;text-transform:uppercase;font-size:clamp(56px,11vw,168px);line-height:.9;max-width:11ch}
body.film .cta.final{padding-block:clamp(110px,16vw,240px)}
body.film .cta.final .btn{background:var(--red)}
body.film .cta.final .btn:hover{background:#fff;color:var(--red)}
body.film section.lt.sand .reel{border:0}
body.film section.lt.sand .review{background:#f6f0e8;color:#1b1816;border:1px solid rgba(11,10,10,.16)}
body.film section.lt.sand .review cite{color:#4a443e}
body.film section.lt.sand .note{border-color:rgba(11,10,10,.25)}
body.film section.lt.sand .note p,body.film section.lt.sand .note h3{color:#0b0a0a}

/* reseñas y promos con datos reales */
body.film .review p{font-family:var(--f-serif);font-style:italic;font-size:clamp(21px,1.9vw,27px);line-height:1.25;margin:14px 0 18px}
body.film .review .stars{color:var(--red);letter-spacing:.2em;font-size:15px}
body.film .review cite{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
body.film .ticket .big::after{content:""}

/* horario */
.hrs{display:block;margin-top:6px;font-size:13px;opacity:.85}
.hrs2{display:inline-block;margin-top:8px;font-size:14px;opacity:.9;letter-spacing:.02em}

/* movimiento al pasar el cursor, solo en escritorio y respetando "reducir movimiento" */
.ticket>div,.reel,.stat,.review,.steps li,.fit .yes,.fit .no,.person .frame{transition:translate .5s var(--ease),border-color .4s,box-shadow .5s var(--ease),background-color .4s}
.reel video,.reel img{transition:scale .9s var(--ease),filter .9s var(--ease)}
.btn .ar{display:inline-block;transition:translate .35s var(--ease)}
.faq summary{transition:color .3s,padding-left .35s var(--ease)}
.faq details{transition:background-color .3s}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .ticket>div:hover{translate:0 -8px;border-color:var(--red);box-shadow:0 26px 50px -26px rgba(0,0,0,.65),0 0 0 1px var(--red)}
  .ticket>div:hover .big{transform:scale(1.05);transform-origin:right bottom}
  .ticket .big{transition:transform .5s var(--ease),color .3s}
  .sc .ticket>div:hover{background:rgba(24,12,10,.82)}
  .reel:hover video,.reel:hover img{scale:1.06}
  .reel:hover{box-shadow:0 30px 56px -30px rgba(0,0,0,.7)}
  body.film .reels .reel:hover video,body.film .reels .reel:hover img{filter:grayscale(0) contrast(1.05)}
  .reel .cap{transition:translate .5s var(--ease)}
  .reel:hover .cap{translate:0 -6px}
  .stat:hover,.review:hover{translate:0 -6px;box-shadow:0 24px 44px -28px rgba(0,0,0,.4)}
  .steps li:hover{translate:8px 0}
  .fit .yes:hover,.fit .no:hover{translate:0 -4px}
  .person .frame:hover{translate:0 -6px}
  .btn:hover .ar{translate:6px 0}
  .btn:hover{translate:0 -2px}
  .faq summary:hover{color:var(--red);padding-left:10px}
  .faq details[open] summary::after{transform:rotate(45deg)}
  .band:hover .tk{animation-play-state:paused}
  .brands span{transition:color .3s,translate .35s var(--ease)}
  .brands span:hover{color:var(--red-2);translate:0 -3px}
  .float-cta:hover{translate:0 -3px}
}
/* en móvil, una pequeña respuesta al tocar */
@media (hover:none){
  .ticket>div:active,.reel:active,.review:active{translate:0 -3px}
  .btn:active{translate:0 1px;filter:brightness(.92)}
}
body.film .reels .reel video,body.film .reels .reel img{transition:scale .9s var(--ease),filter .9s var(--ease)}

/* zonas de toque cómodas en móvil */
@media (max-width:820px){
  .btn.sm{min-height:44px;padding-inline:20px}
  .snd{min-height:44px;min-width:88px;font-size:12px}
  footer nav a{display:inline-flex;align-items:center;min-height:44px}
  body.film .reel .tag{font-size:12px}
  .faq summary{min-height:56px}
}

/* botón de WhatsApp */
.wa{position:fixed;right:16px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:72;display:inline-flex;align-items:center;gap:10px;height:56px;min-width:56px;justify-content:center;border-radius:28px;background:#25d366;color:#fff;box-shadow:0 14px 30px -12px rgba(0,0,0,.6);transition:translate .35s var(--ease),box-shadow .35s,background .3s}
.wa svg{flex:none}
.wa span{display:none;font:500 13px/1 var(--f-sans);letter-spacing:.06em;white-space:nowrap}
.wa:active{translate:0 1px;filter:brightness(.94)}
@media(min-width:900px){
  .wa{right:28px;bottom:90px;padding:0 22px 0 18px}
  .wa span{display:inline}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.wa:hover{translate:0 -3px;background:#1fbd5a;box-shadow:0 20px 36px -14px rgba(0,0,0,.65)}}
.wa-link{display:inline-block;margin-top:22px;color:#fff;font-size:15px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5);min-height:44px;line-height:44px}
.wa-link:hover{text-decoration-color:#fff}
.cookies{z-index:96}

/* packs */
@media(min-width:900px){.tickets.two{grid-template-columns:repeat(2,1fr)}}
#packs .ticket h3{min-height:0}
#packs .ticket .v{max-width:62%}
#packs .ticket .k,body.film #packs .ticket .k{color:#6b6259}

/* promos destacadas */
#promos .tickets{gap:26px}
#promos .ticket>div{position:relative;overflow:hidden;background:linear-gradient(160deg,#c23a26 0%,#8f2216 58%,#6a170f 100%)!important;border:1px solid rgba(255,214,200,.35);box-shadow:0 30px 60px -28px rgba(184,48,32,.75),0 0 0 1px rgba(255,255,255,.04) inset;color:#fbf3ea}
#promos .ticket>div::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 85% -10%,rgba(255,255,255,.22),transparent 60%);pointer-events:none}
#promos .ticket>div>*{position:relative}
#promos .tag{align-self:flex-start;margin-bottom:18px;padding:7px 12px;background:#fbf3ea;color:#8f2216;font:500 11.5px var(--f-sans);letter-spacing:.22em;text-transform:uppercase}
#promos .ticket h3{color:#fff;min-height:0}
#promos .ticket .row{border-top-color:rgba(255,255,255,.28)}
#promos .ticket .k{color:#ffd9ce!important}
#promos .ticket .v{color:#fff}
#promos .ticket .big{color:#fff!important;text-shadow:0 6px 24px rgba(0,0,0,.28)}
#promos .ticket .row.final{margin-top:auto}
#promos .tk-cta{margin-top:22px;width:100%;justify-content:center;background:#fbf3ea;color:#8f2216;border-color:#fbf3ea}
#promos .tk-cta:hover{background:#fff}
@media(min-width:900px){#promos .ticket>div{padding:clamp(30px,3vw,46px)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  #promos .ticket>div:hover{background:linear-gradient(160deg,#d6432d 0%,#a02718 58%,#751a10 100%)!important;box-shadow:0 36px 70px -26px rgba(217,71,47,.9)}
}
@media(prefers-reduced-motion:no-preference){
  @keyframes sm-glow{0%,100%{box-shadow:0 30px 60px -28px rgba(184,48,32,.75)}50%{box-shadow:0 30px 70px -20px rgba(217,71,47,.95)}}
  #promos .ticket>div{animation:sm-glow 4.5s ease-in-out infinite}
}
@media(min-width:700px){
  #promos .ticket>div{grid-template-rows:auto auto auto auto}
  #promos .tag{grid-column:1;grid-row:1;margin-bottom:0}
  #promos .ticket h3{grid-column:1;grid-row:2/4;align-self:start;margin-top:14px;font-size:clamp(26px,2.4vw,34px)}
  #promos .ticket .row{grid-column:2}
  #promos .ticket .row:nth-of-type(1){grid-row:1/3;align-self:end}
  #promos .ticket .row.final{grid-row:3/5}
  #promos .tk-cta{grid-column:1/-1;grid-row:5;margin-top:26px}
}

/* arreglos móvil: botón fantasma legible al tocar, y valoraciones con margen */
.hero .btn.ghost:hover{background:#fff;color:#0b0a0a;border-color:#fff}
@media(hover:none){
  .btn:hover,.cta .btn:hover,.cta.final .btn:hover{background:var(--red);color:#fff;border-color:var(--red);translate:0 0}
  .btn.ghost:hover,.hero .btn.ghost:hover{background:transparent;color:#fff;border-color:currentColor}
  .btn.light:hover,body.film .cta .btn.light:hover{background:#fff;color:#0b0a0a;border-color:#fff}
  #promos .tk-cta:hover{background:#fbf3ea;color:#8f2216;border-color:#fbf3ea}
  .btn:hover .ar{transform:none;translate:0 0}
  .btn:active{filter:brightness(.92)}
}
body.film section.lt.sand .review{padding:28px clamp(22px,6vw,32px) 32px}
.reviews{gap:16px 36px}
