/* =========================================================
   MARIACHI MÉXICO SHOW — La Serenata
   Negro carbón · vino · oro envejecido · marfil
   ========================================================= */
:root{
  --ink:#0a0807;--ink2:#120d0c;--ink3:#1b1311;
  --wine:#6b1426;--wine2:#3a0b16;--wine3:#8c1d35;
  --gold:#c8a24a;--gold2:#ecd48f;--gold3:#8a6a26;
  --ivory:#f4ecd9;--mute:#b7aa92;
  --line:rgba(200,162,74,.28);
  --ff-d:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --ff-s:"Pinyon Script","Snell Roundhand",cursive;
  --ff-b:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --wrap:min(1240px,100% - 2*clamp(20px,5vw,56px));
  --hh:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 1.0625rem/1.7 var(--ff-b);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .7  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-family:var(--ff-d);font-weight:500;line-height:1.04;margin:0;letter-spacing:-.01em}
p{margin:0 0 1em}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}
.wrap{width:var(--wrap);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:10000;background:var(--gold);color:var(--ink);padding:10px 18px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}

/* ---------- Tipografía ---------- */
.eyebrow{font:500 .78rem/1 var(--ff-b);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.script{font-family:var(--ff-s);font-weight:400;color:var(--gold2);letter-spacing:0}
.gold{background:linear-gradient(100deg,#9a7430 0%,#ecd48f 38%,#c8a24a 55%,#f6e4a8 78%,#a67f35 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-xl{font-size:clamp(3.2rem,10.5vw,9rem);font-weight:500}
.h-lg{font-size:clamp(2.4rem,6vw,4.6rem)}
.h-md{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:#e3d8c0;max-width:60ch}
.mute{color:var(--mute)}

/* ---------- Botones ---------- */
.btn{--bg:var(--gold);position:relative;display:inline-flex;align-items:center;gap:.7em;padding:1em 1.8em;border-radius:999px;font:600 .82rem/1 var(--ff-b);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:linear-gradient(120deg,#b38a36,#ecd48f 45%,#c8a24a);box-shadow:0 10px 30px -10px rgba(200,162,74,.55),inset 0 1px 0 rgba(255,255,255,.4);overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(200,162,74,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--ghost{background:transparent;color:var(--gold2);box-shadow:inset 0 0 0 1px var(--gold)}
.btn--ghost:hover{background:rgba(200,162,74,.12);box-shadow:inset 0 0 0 1px var(--gold2)}
.btn svg{width:1.25em;height:1.25em;flex:none}
.btn--wa{background:linear-gradient(120deg,#1da851,#4fe08a 50%,#25d366);color:#04210f;box-shadow:0 10px 30px -10px rgba(37,211,102,.55),inset 0 1px 0 rgba(255,255,255,.4)}

/* ---------- Cortina de transición ---------- */
.curtain{position:fixed;inset:0;z-index:9998;pointer-events:none;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 0%,#5b1224 0%,#2a0912 55%,#0d0607 100%);clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease)}
.curtain::before,.curtain::after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.curtain::before{bottom:0}.curtain::after{top:0}
.curtain__seal{width:84px;height:84px;opacity:0;transform:scale(.8);transition:opacity .4s .15s,transform .6s .15s var(--ease)}
.is-leaving .curtain{clip-path:inset(0 0 0 0);pointer-events:all}
.is-leaving .curtain__seal{opacity:1;transform:scale(1)}
html.tr-in .curtain{clip-path:inset(0 0 0 0);transition:none}
html.tr-in .curtain__seal{opacity:1;transform:none;transition:none}
html.tr-in.tr-out .curtain{clip-path:inset(100% 0 0 0);transition:clip-path .7s var(--ease)}
html.tr-in.tr-out .curtain__seal{opacity:0;transition:opacity .25s}

/* ---------- Progreso ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:120;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold3),var(--gold2),var(--gold))}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;height:var(--hh);z-index:100;display:flex;align-items:center;transition:background .4s,backdrop-filter .4s,box-shadow .4s,transform .5s var(--ease)}
.hdr.is-solid{background:rgba(10,8,7,.95);box-shadow:0 1px 0 var(--line)}
.hdr__in{width:var(--wrap);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:44px;height:44px;flex:none}
.brand__t{display:flex;flex-direction:column;line-height:1}
.brand__t b{font:600 1.18rem/1 var(--ff-d);letter-spacing:.06em;text-transform:uppercase}
.brand__t span{font:400 .62rem/1 var(--ff-b);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}
.nav a:not(.btn){position:relative;font:500 .8rem/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;padding:10px 2px;color:#e6dcc4;transition:color .3s}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav a:not(.btn):hover,.nav a[aria-current="page"]{color:var(--gold2)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{padding:.85em 1.3em}
.burger{display:none;width:46px;height:46px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);position:relative;z-index:130}
.burger i{position:absolute;left:13px;right:13px;height:1.5px;background:var(--gold2);transition:transform .4s var(--ease),opacity .3s}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:23px}.burger i:nth-child(3){top:29px}
.menu-open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:920px){
  .burger{display:block}
  .nav{position:fixed;inset:0;z-index:125;flex-direction:column;justify-content:center;gap:6px;background:radial-gradient(100% 80% at 50% 0%,#3a0b16,#0a0807 70%);clip-path:circle(0% at calc(100% - 44px) 38px);transition:clip-path .7s var(--ease);visibility:hidden}
  .menu-open .nav{clip-path:circle(150% at calc(100% - 44px) 38px);visibility:visible}
  .nav a:not(.btn){font:500 clamp(2rem,9vw,3rem)/1.2 var(--ff-d);letter-spacing:.02em;text-transform:none;opacity:0;transform:translateY(18px);transition:opacity .5s,transform .6s var(--ease),color .3s}
  .menu-open .nav a{opacity:1;transform:none}
  .menu-open .nav a:nth-child(1){transition-delay:.15s}.menu-open .nav a:nth-child(2){transition-delay:.2s}.menu-open .nav a:nth-child(3){transition-delay:.25s}.menu-open .nav a:nth-child(4){transition-delay:.3s}.menu-open .nav a:nth-child(5){transition-delay:.35s}.menu-open .nav a:nth-child(6){transition-delay:.4s}
  .nav .btn{margin-top:22px}
  .menu-open{overflow:hidden}
}

/* ---------- Greca (hilo de oro) ---------- */
.greca{width:100%;height:22px;color:var(--gold)}
.greca path{fill:none;stroke:currentColor;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.in .greca path,.greca.in path{animation:draw 2.4s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.divider{display:flex;align-items:center;gap:18px;color:var(--gold);margin-block:clamp(28px,5vw,56px)}
.divider .greca{flex:1;max-width:420px}
.divider .greca:first-child{transform:scaleX(-1)}
.divider svg.nt{width:22px;height:22px;flex:none}

/* ---------- Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}
.line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.line>span{display:block;transform:translateY(112%);transition:transform 1.2s var(--ease);transition-delay:var(--d,0s)}
.in .line>span,.line.in>span{transform:none}
.no-js [data-reveal]{opacity:1;transform:none}
.no-js .line>span{transform:none}

/* ---------- Intro ---------- */
.intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;text-align:center;background:#050403;transition:opacity .9s .5s,visibility 0s 1.5s}
.intro__glow{position:absolute;width:44vmax;height:44vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,196,102,.9) 0%,rgba(255,150,60,.35) 22%,rgba(120,40,20,.12) 48%,transparent 66%);filter:blur(6px);animation:flicker 3.2s infinite;transition:transform 1.5s var(--ease),opacity 1.2s;will-change:transform}
@keyframes flicker{0%,100%{opacity:.92;transform:scale(1)}30%{opacity:.75;transform:scale(.985)}55%{opacity:1;transform:scale(1.02)}80%{opacity:.82;transform:scale(.995)}}
.intro__box{position:relative;padding:24px;max-width:640px;transition:opacity .6s,transform .8s var(--ease)}
.intro__box p{color:#f3dcae;font:italic 500 clamp(1.3rem,3.4vw,1.9rem)/1.3 var(--ff-d);margin:0 0 28px;text-shadow:0 0 30px rgba(255,180,80,.5)}
.intro .btn{animation:rise 1.1s .5s var(--ease) both}
.intro__skip{display:block;margin:20px auto 0;color:#9a8a6c;font:500 .72rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase}
.intro__skip:hover{color:var(--gold2)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.intro.go .intro__glow{transform:scale(7);opacity:.0}
.intro.go .intro__box{opacity:0;transform:scale(1.06)}
.intro.go{opacity:0;visibility:hidden}
html.intro-done .intro,html.reduced .intro{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#07050a 0%,#1a0a14 45%,#3a0b16 100%)}
.hero__light{position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 520px at var(--mx,28%) var(--my,62%),rgba(255,184,92,.22),transparent 70%);transition:background .2s}
.stars{position:absolute;inset:0;z-index:-2}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff6dc;opacity:.7;animation:tw 4s infinite ease-in-out;animation-delay:var(--d)}
@keyframes tw{50%{opacity:.12;transform:scale(.6)}}
.moon{position:absolute;right:12%;top:16%;width:clamp(70px,9vw,130px);aspect-ratio:1;border-radius:50%;z-index:-2;background:radial-gradient(circle at 35% 35%,#fff8e6,#ecd48f 55%,#b89443);box-shadow:0 0 90px 24px rgba(236,212,143,.22)}
.ridge{position:absolute;left:-2%;right:-2%;bottom:0;width:104%;height:auto;z-index:-1;will-change:transform}
.ridge--1{bottom:8%;opacity:.55}.ridge--2{bottom:0;opacity:.9}.ridge--3{bottom:-2%}
.skyline{position:absolute;left:0;right:0;bottom:5%;width:100%;height:auto;max-height:22vh;z-index:-1;color:var(--gold);opacity:.6}
.skyline path{fill:none;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 5s 1.2s var(--ease) forwards}
.hero__in{padding:calc(var(--hh) + 5vh) 0 clamp(150px,27vh,260px);text-align:center}
.hero__in .eyebrow{margin-bottom:26px}
.hero h1{margin-inline:auto;max-width:14ch}
.hero__sub{margin:22px auto 0;font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}
.hero__p{margin:22px auto 38px;max-width:52ch;color:#dccfb3}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:26px;height:44px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--gold)}
.cue::after{content:"";position:absolute;left:50%;top:9px;width:3px;height:9px;border-radius:2px;margin-left:-1.5px;background:var(--gold2);animation:cue 2s infinite var(--ease)}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* ---------- Secciones ---------- */
.sec{padding-block:clamp(70px,11vw,150px);position:relative}
.sec--alt{background:linear-gradient(180deg,var(--ink) 0%,#150b0e 50%,var(--ink) 100%)}
.sec__hd{max-width:760px;margin-bottom:clamp(36px,6vw,70px)}
.sec__hd .eyebrow{margin-bottom:20px}
.sec__hd p{margin-top:20px}
.center{text-align:center;margin-inline:auto}
.center .eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(270deg,transparent,var(--gold))}

/* Page hero (interiores) */
.phero{position:relative;padding:calc(var(--hh) + clamp(60px,10vw,130px)) 0 clamp(50px,8vw,100px);text-align:center;overflow:hidden;isolation:isolate;background:radial-gradient(90% 120% at 50% 0%,#4a0f20 0%,#14090c 60%,var(--ink) 100%)}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:radial-gradient(420px 420px at var(--mx,70%) var(--my,40%),rgba(255,184,92,.18),transparent 70%)}
.phero h1{margin:18px auto 0;max-width:16ch}
.phero .lead{margin:22px auto 0}

/* Banda prestigio */
.band{border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(107,20,38,.25),rgba(10,8,7,0) 30%,rgba(10,8,7,0) 70%,rgba(107,20,38,.25))}
.band__g{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.band__i{padding:clamp(28px,4vw,52px) clamp(14px,3vw,36px);text-align:center;position:relative}
.band__i+.band__i::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}
.band__n{font:500 clamp(2.4rem,5vw,4rem)/1 var(--ff-d)}
.band__l{margin-top:10px;font:500 .74rem/1.5 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
@media (max-width:700px){.band__g{grid-template-columns:1fr}.band__i+.band__i::before{left:20%;right:20%;top:0;bottom:auto;width:auto;height:1px}}

/* La ventana (video) */
.vent{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px);align-items:center}
.arch{position:relative;width:min(100%,440px);margin-inline:auto;aspect-ratio:3/4.4;border-radius:999px 999px 18px 18px;padding:14px;background:linear-gradient(160deg,#c8a24a,#5a3f12 40%,#ecd48f 70%,#8a6a26);box-shadow:0 40px 90px -30px rgba(0,0,0,.9)}
.arch__in{position:relative;height:100%;border-radius:inherit;overflow:hidden;background:#000}
.arch video,.arch img{width:100%;height:100%;object-fit:cover}
.arch__in::after{content:"";position:absolute;inset:0;background:#050303;opacity:.6;transition:opacity 1.6s var(--ease);pointer-events:none}
.arch.lit .arch__in::after{opacity:0}
.arch__glow{position:absolute;inset:-18% -30%;z-index:-1;background:radial-gradient(circle,rgba(255,176,80,.5),transparent 60%);opacity:0;transition:opacity 1.6s;filter:blur(30px)}
.arch.lit .arch__glow{opacity:1}
.arch__tag{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:.5em 1.1em;border-radius:999px;background:rgba(10,8,7,.72);backdrop-filter:blur(6px);font:500 .68rem/1 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);white-space:nowrap}
@media (max-width:860px){.vent{grid-template-columns:1fr}.arch{order:-1;width:min(86%,360px)}}

/* Tarjetas lotería */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(16px,2.4vw,28px)}
.card{position:relative;border-radius:18px;padding:12px;background:linear-gradient(160deg,#2a1218,#120a0b);box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -34px #000;transition:transform .5s var(--ease),box-shadow .5s;text-align:left;display:flex;flex-direction:column;min-height:100%}
.card:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:inset 0 0 0 1px var(--gold),0 40px 70px -30px #000}
.card__art{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.card__art img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.card:hover .card__art img{transform:scale(1.08)}
.card__no{position:absolute;top:10px;left:10px;font:600 .72rem/1 var(--ff-b);letter-spacing:.2em;color:var(--ink);background:var(--gold);border-radius:6px;padding:.45em .7em}
.card__b{padding:18px 8px 10px;flex:1;display:flex;flex-direction:column}
.card h3{font-size:1.9rem;color:var(--gold2)}
.card p{margin:10px 0 0;color:#cdbfa3;font-size:.98rem;line-height:1.6}
.card__go{margin-top:auto;padding-top:16px;font:600 .72rem/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.card__go::after{content:" →";transition:margin .3s}
.card:hover .card__go::after{margin-left:6px}

/* Tira horizontal */
.strip{display:flex;gap:clamp(14px,2vw,26px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(20px,calc((100vw - 1240px)/2)) 30px;scrollbar-width:thin;scrollbar-color:var(--gold3) transparent;-webkit-overflow-scrolling:touch}
.strip figure{flex:none;width:clamp(240px,30vw,400px);margin:0;scroll-snap-align:center;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5;box-shadow:inset 0 0 0 1px var(--line)}
.strip figure:nth-child(even){margin-top:34px}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.strip figure:hover img{transform:scale(1.06)}
.strip figcaption{position:absolute;inset:auto 0 0 0;padding:44px 18px 16px;background:linear-gradient(transparent,rgba(5,3,3,.85));font:italic 500 1.15rem/1.2 var(--ff-d);color:var(--ivory)}

/* Dos columnas texto + foto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.split--r .split__m{order:2}
.split__m{position:relative}
.frame{position:relative;border-radius:6px;padding:10px;background:linear-gradient(150deg,#c8a24a,#6a4c16 45%,#ecd48f);box-shadow:0 40px 80px -36px #000}
.frame img{width:100%;height:auto;border-radius:2px;aspect-ratio:var(--ar,4/5);object-fit:cover}
.frame--tilt{transform:rotate(-2deg)}
.frame--tilt2{transform:rotate(2.4deg)}
.frame::after{content:"";position:absolute;inset:-14px;border:1px solid var(--line);border-radius:10px;pointer-events:none;transform:translate(14px,14px)}
@media (max-width:860px){.split{grid-template-columns:1fr}.split--r .split__m{order:0}}

/* Pilares */
.pil{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(18px,3vw,40px);margin-top:clamp(30px,5vw,60px)}
.pil__i{padding:28px 26px 30px;border-radius:16px;background:linear-gradient(160deg,rgba(107,20,38,.28),rgba(20,13,12,.6));box-shadow:inset 0 0 0 1px var(--line)}
.pil__i svg{width:38px;height:38px;color:var(--gold);margin-bottom:18px}
.pil__i h3{font-size:1.6rem;margin-bottom:8px;color:var(--gold2)}
.pil__i p{margin:0;color:#cdbfa3;font-size:.98rem}

/* Tickets */
.ticket{display:inline-flex;align-items:center;gap:18px;padding:16px 28px;border-radius:12px;position:relative;background:linear-gradient(120deg,#3a0b16,#6b1426);box-shadow:inset 0 0 0 1px var(--gold),0 20px 50px -24px #000}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--ink)}
.ticket::before{left:-9px;box-shadow:inset -1px 0 0 var(--gold)}.ticket::after{right:-9px;box-shadow:inset 1px 0 0 var(--gold)}
.ticket b{font:500 2.6rem/1 var(--ff-d);color:var(--gold2)}
.ticket span{font:500 .7rem/1.4 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:#e9d9b0;text-align:left}

/* Repertorio */
.gen{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.6vw,32px)}
.gen__c{padding:30px 28px;border-radius:18px;background:linear-gradient(170deg,rgba(60,14,26,.55),rgba(14,10,9,.9));box-shadow:inset 0 0 0 1px var(--line)}
.gen__c h3{font-size:2rem;color:var(--gold2);margin-bottom:4px}
.gen__c .script{font-size:1.5rem;display:block;margin-bottom:18px;color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:.55em 1em;border-radius:999px;font:500 .9rem/1.2 var(--ff-b);color:#ead9b1;background:rgba(200,162,74,.07);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s,transform .25s var(--ease)}
.chip:hover{box-shadow:inset 0 0 0 1px var(--gold);transform:translateY(-1px)}
.chip[aria-pressed="true"]{background:linear-gradient(120deg,#b38a36,#ecd48f);color:var(--ink);box-shadow:none;font-weight:600}
.pick{position:fixed;left:50%;bottom:20px;z-index:110;transform:translate(-50%,160%);transition:transform .6s var(--ease);display:flex;align-items:center;gap:16px;padding:12px 12px 12px 26px;border-radius:999px;background:rgba(20,10,12,.92);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--gold),0 20px 50px -10px #000;max-width:calc(100% - 28px)}
.pick.on{transform:translate(-50%,0)}
.pick span{font:500 .95rem/1.2 var(--ff-b);white-space:nowrap}

/* Formularios */
.form{display:grid;gap:20px;grid-template-columns:1fr 1fr}
.form .full{grid-column:1/-1}
.fld{display:flex;flex-direction:column;gap:8px}
.fld label{font:500 .72rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.fld input,.fld select,.fld textarea{width:100%;padding:15px 16px;border-radius:10px;border:0;font:400 1rem/1.4 var(--ff-b);color:var(--ivory);background:rgba(244,236,217,.05);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,background .3s;color-scheme:dark}
.fld select option{background:#1b1311;color:var(--ivory)}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--gold2);background:rgba(244,236,217,.08)}
.fld.err input,.fld.err select,.fld.err textarea{box-shadow:inset 0 0 0 1.5px #ff8d8d}
.fld .msg{min-height:1.2em;font-size:.84rem;color:#ffb0b0}
.panel{padding:clamp(24px,4vw,48px);border-radius:22px;background:linear-gradient(165deg,rgba(60,14,26,.6),rgba(14,10,9,.95));box-shadow:inset 0 0 0 1px var(--line),0 50px 100px -50px #000}
@media (max-width:640px){.form{grid-template-columns:1fr}}

/* Galería */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:34px}
.masonry{columns:3 280px;column-gap:clamp(12px,1.6vw,20px)}
.masonry figure{margin:0 0 clamp(12px,1.6vw,20px);break-inside:avoid;position:relative;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.masonry figure[hidden]{display:none}
.masonry button{display:block;width:100%;position:relative}
.masonry img{width:100%;height:auto;transition:transform 1s var(--ease),filter .5s}
.masonry button::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(10,8,7,.7));opacity:0;transition:opacity .4s}
.masonry button:hover img{transform:scale(1.05)}
.masonry button:hover::after{opacity:1}
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,2vw,26px)}
.vid{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:9/16;background:#000;box-shadow:inset 0 0 0 1px var(--line)}
.vid--w{aspect-ratio:16/9}
.vid img,.vid video{width:100%;height:100%;object-fit:cover}
.vid button{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 50%,rgba(10,8,7,.7))}
.vid .play{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:rgba(10,8,7,.55);backdrop-filter:blur(4px);box-shadow:inset 0 0 0 1.5px var(--gold);transition:transform .4s var(--ease),background .3s}
.vid button:hover .play{transform:scale(1.12);background:var(--gold)}
.vid button:hover .play svg{color:var(--ink)}
.vid .play svg{width:24px;height:24px;color:var(--gold2);margin-left:3px}
.lb{border:0;padding:0;background:transparent;color:var(--ivory);width:100vw;height:100vh;max-width:none;max-height:none}
.lb::backdrop{background:rgba(5,3,3,.94);backdrop-filter:blur(6px)}
.lb__in{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:56px 16px}
.lb img{max-width:min(94vw,1300px);max-height:82vh;width:auto;height:auto;border-radius:6px;box-shadow:0 0 0 8px #c8a24a22,0 40px 90px #000}
.lb__b{position:absolute;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;color:var(--gold2);box-shadow:inset 0 0 0 1px var(--line);background:rgba(10,8,7,.6);transition:background .3s,color .3s}
.lb__b:hover{background:var(--gold);color:var(--ink)}
.lb__x{top:14px;right:14px}.lb__p{left:14px;top:50%}.lb__n{right:14px;top:50%}

/* CTA final */
.cta{position:relative;overflow:hidden;text-align:center;isolation:isolate;background:radial-gradient(80% 140% at 50% 120%,#6b1426 0%,#2a0912 45%,var(--ink) 80%)}
.cta h2{max-width:14ch;margin:20px auto 0}
.cta p{margin:22px auto 36px;max-width:50ch;color:#e0d3b6}

/* Footer */
.ftr{padding:clamp(50px,7vw,90px) 0 30px;border-top:1px solid var(--line);background:#070504}
.ftr__g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(30px,5vw,70px)}
.ftr h4{font:500 .74rem/1 var(--ff-b);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr li a{color:#d2c5aa;transition:color .3s}
.ftr li a:hover{color:var(--gold2)}
.ftr__b{display:flex;gap:7px;margin-top:22px}
.ftr__b i{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2c4,#c8a24a 55%,#6a4c16)}
.ftr__c{margin-top:46px;padding-top:22px;border-top:1px solid rgba(200,162,74,.14);display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:space-between;font-size:.86rem;color:#8d8167}
@media (max-width:820px){.ftr__g{grid-template-columns:1fr 1fr}.ftr__g>:first-child{grid-column:1/-1}}

/* WhatsApp flotante */
.wa{position:fixed;right:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:105;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#1fb85a,#25d366);box-shadow:0 14px 34px -8px rgba(37,211,102,.6),0 0 0 1px rgba(255,255,255,.18) inset;transition:transform .4s var(--ease)}
.wa svg{width:32px;height:32px}
.wa::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;opacity:.5;animation:ping 2.6s infinite var(--ease);z-index:-1}
@keyframes ping{to{transform:scale(1.7);opacity:0}}
.wa:hover{transform:scale(1.08) rotate(-6deg)}
.wa__t{position:absolute;right:76px;white-space:nowrap;padding:.7em 1.1em;border-radius:999px;font:500 .8rem/1 var(--ff-b);background:var(--ivory);color:var(--ink);opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
.wa:hover .wa__t,.wa:focus-visible .wa__t{opacity:1;transform:none}
body.has-pick .wa{bottom:90px}

/* Notas */
#notes{position:fixed;inset:0;width:100vw;height:100vh;z-index:9990;pointer-events:none}

/* 404 */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 0 60px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal],.line>span{opacity:1;transform:none}
  .greca path,.skyline path{stroke-dashoffset:0}
  .curtain{display:none}
}

/* ---------- Botón de sonido ---------- */
.snd{position:fixed;left:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:105;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--gold2);background:rgba(10,8,7,.72);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,background .3s,transform .4s var(--ease)}
.snd svg{width:22px;height:22px}
.snd:hover{box-shadow:inset 0 0 0 1px var(--gold);transform:scale(1.06)}
body.has-pick .snd{bottom:90px}

/* ---------- Actos de la serenata (storytelling) ---------- */
.acts{--p:0;position:relative;display:grid;gap:clamp(70px,11vw,150px)}
.acts::before,.acts::after{content:"";position:absolute;left:50%;top:0;width:1px;transform:translateX(-.5px)}
.acts::before{bottom:0;background:var(--line)}
.acts::after{height:calc(var(--p)*100%);background:linear-gradient(var(--gold3),var(--gold2));box-shadow:0 0 14px rgba(236,212,143,.6)}
.act{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.act__t{padding-block:10px}
.act:nth-child(even) .act__t{order:2}
.act__n{font:500 clamp(4.5rem,11vw,9rem)/.9 var(--ff-d);color:transparent;-webkit-text-stroke:1px rgba(200,162,74,.55);margin-bottom:6px;font-style:italic}
.act h3{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:16px}
.act .script{display:block;font-size:1.7rem;margin-bottom:12px}
.act p{color:#d8cbb0;max-width:46ch}
.act::before{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2c4,#c8a24a 55%,#6a4c16);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--line);z-index:2}
@media (max-width:860px){
  .acts::before,.acts::after{left:9px}
  .act{grid-template-columns:1fr;padding-left:38px;gap:26px}
  .act::before{left:9px;top:12px;margin-top:0}
  .act:nth-child(even) .act__t{order:0}
}

/* ---------- Línea de tiempo / raíces ---------- */
.tl{list-style:none;margin:0;padding:0;display:grid;gap:0}
.tl li{display:grid;grid-template-columns:150px 1fr;gap:clamp(16px,4vw,50px);padding:26px 0;border-top:1px solid var(--line)}
.tl li:last-child{border-bottom:1px solid var(--line)}
.tl b{font:500 clamp(1.5rem,3vw,2.2rem)/1.1 var(--ff-d);color:var(--gold2)}
.tl h3{font-size:1.5rem;margin-bottom:6px}
.tl p{margin:0;color:#d0c3a8;max-width:62ch}
@media (max-width:640px){.tl li{grid-template-columns:1fr;gap:8px}}

/* ---------- Pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(18px,2.6vw,34px);counter-reset:s}
.step{position:relative;padding:34px 26px 28px;border-radius:16px;background:linear-gradient(165deg,rgba(60,14,26,.5),rgba(14,10,9,.9));box-shadow:inset 0 0 0 1px var(--line);counter-increment:s}
.step::before{content:counter(s,decimal-leading-zero);position:absolute;top:-18px;left:22px;font:600 .8rem/1 var(--ff-b);letter-spacing:.2em;color:var(--ink);background:var(--gold);border-radius:999px;padding:.55em 1em}
.step h3{font-size:1.55rem;color:var(--gold2);margin-bottom:8px}
.step p{margin:0;color:#cdbfa3;font-size:.98rem}

/* ---------- Preguntas frecuentes ---------- */
.faq{max-width:860px;margin-inline:auto;display:grid;gap:12px}
.faq details{border-radius:14px;background:rgba(244,236,217,.035);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s}
.faq details[open]{background:linear-gradient(165deg,rgba(60,14,26,.45),rgba(14,10,9,.7));box-shadow:inset 0 0 0 1px var(--gold3)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;font:500 1.35rem/1.25 var(--ff-d)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:300 1.4rem/1 var(--ff-b);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--line);transition:transform .4s var(--ease),background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:rgba(200,162,74,.14)}
.faq .a{padding:0 26px 24px;color:#d4c7ab;max-width:70ch}
.faq .a p:last-child{margin:0}

/* ---------- Misceláneos ---------- */
.ok{margin-top:22px;padding:18px 22px;border-radius:12px;background:rgba(37,211,102,.1);box-shadow:inset 0 0 0 1px rgba(37,211,102,.4);color:#c7f5d9}
.ok[hidden]{display:none}
.quote{font:italic 500 clamp(1.6rem,3.6vw,2.6rem)/1.25 var(--ff-d);max-width:26ch}
.quote em{color:var(--gold2)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,3vw,36px)}
.ig{display:inline-flex;align-items:center;gap:.6em}
.occ-date{display:inline-block;margin-top:14px;padding:.45em .9em;border-radius:999px;font:500 .72rem/1 var(--ff-b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);box-shadow:inset 0 0 0 1px var(--line)}
.sound-note{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:34px;font:500 .74rem/1.4 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.sound-note svg{width:20px;height:20px;color:var(--gold)}

main{overflow-x:clip}
.sec,.cta,.acts{overflow-x:clip}

/* ---------- Ajustes finos ---------- */
img,video{height:auto}
.brand img{width:44px;height:44px}
.ftr .brand img{width:52px;height:52px}
.curtain__seal img,.intro__box img{width:100%;height:auto}
@media (max-width:640px){
  .eyebrow{letter-spacing:.2em;font-size:.7rem}
  .eyebrow::before{width:20px}
  .moon{right:7%;top:calc(var(--hh) + 3vh);width:50px;opacity:.9}
  .hero__in{padding-top:calc(var(--hh) + 9vh)}
  .hero h1{font-size:clamp(3rem,15vw,4.4rem)}
  .btn{padding:1em 1.5em}
}

/* =========================================================
   V2 · TAPIZ de líneas de oro · PORTAL de la trompeta · FIGURAS
   FAROL (b/n) · PLANES · COTIZADOR · BOLETO
   ========================================================= */

/* ---------- Tapiz (guilloché dorado fijo) ---------- */
.tapiz{position:fixed;inset:-80px 0;z-index:-1;pointer-events:none;background:url(../img/tapiz.svg) center/cover no-repeat;opacity:.16;will-change:transform}
@media (max-aspect-ratio:1/1){.tapiz{background-image:url(../img/tapiz-v.svg)}}
.sec--alt{background:linear-gradient(180deg,rgba(10,8,7,0) 0%,rgba(24,11,15,.74) 50%,rgba(10,8,7,0) 100%)}

/* ---------- Grabados de línea (se dibujan al entrar) ---------- */
.art{display:block;width:100%;height:auto;overflow:visible;fill:none;stroke:var(--gold);stroke-linecap:butt;stroke-linejoin:round;--sw:1.2;pointer-events:none}
.art use{opacity:0;stroke-dasharray:1;stroke-dashoffset:1;transition:opacity 1.3s ease,stroke-dashoffset 3.8s var(--ease)}
.art.in use{opacity:1;stroke-dashoffset:0}
html.reduced .art use,html.no-js .art use{opacity:1;stroke-dashoffset:0;transition:none}
symbol path.b{stroke-width:calc(var(--sw)*1.5)}
symbol path.t{stroke-width:calc(var(--sw)*1.05)}
symbol path.f{stroke-width:calc(var(--sw)*.65);stroke-opacity:.8}
symbol path.d{fill:var(--gold);stroke:none}
.divider .art--emb{width:clamp(84px,9vw,118px);flex:none;stroke:var(--gold2)}
.cta__art{position:absolute;z-index:-1;pointer-events:none;opacity:.5}
.cta__art .art{stroke:var(--gold3)}
.cta__art--l{left:max(-70px,-5vw);bottom:-30px;width:min(34vw,400px)}
.cta__art--r{right:-3vw;top:6%;width:min(46vw,580px);transform:rotate(-12deg)}
@media (max-width:700px){.cta__art{opacity:.28}.cta__art--l{width:62vw}.cta__art--r{width:92vw;top:2%}}

/* ---------- Portal de la trompeta ---------- */
html:not(.tp-on) .tp,html.no-js .tp{display:none}
html.tp-on:not(.tp-done) .hdr,html.tp-on:not(.tp-done) .wa{opacity:0;pointer-events:none}
.hdr,.wa{transition-property:background,backdrop-filter,box-shadow,transform,opacity;}
.tp{position:relative;height:470svh;background:#050909}
@media (max-width:760px){.tp{height:400svh}}
.tp__stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#050909;isolation:isolate}
.tp__bg{position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 48%,#0d2320 0%,#07110f 58%,#030606 100%)}
.tp__bg::after{content:"";position:absolute;inset:0;background:url(../img/tapiz.svg) center/cover no-repeat;opacity:.22}
.tp__side{position:absolute;top:50%;display:none;pointer-events:none;transform:translateY(-50%)}
.tp__side .art{stroke:var(--gold2)}
.tp__side--l{left:max(2vw,12px);width:min(27vw,430px);opacity:.62}
.tp__side--r{right:max(4vw,16px);width:min(13vw,200px);opacity:.7;transform:translateY(-50%) rotate(7deg)}
@media (min-width:1080px){.tp__side{display:block}}
.tp__ph{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;backface-visibility:hidden}
.tp__ph img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.tp__ph img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}}
.tp__dim{position:absolute;inset:0;background:#030505;opacity:0;pointer-events:none}
.tp__cv{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.tp__sky{position:absolute;inset:0;opacity:0;pointer-events:none;background:
  radial-gradient(1.6px 1.6px at 14% 22%,#fff6dc,transparent),radial-gradient(1.2px 1.2px at 28% 12%,#fff6dc,transparent),radial-gradient(2px 2px at 41% 30%,#fff6dc,transparent),
  radial-gradient(1.2px 1.2px at 63% 16%,#fff6dc,transparent),radial-gradient(1.6px 1.6px at 77% 28%,#fff6dc,transparent),radial-gradient(1.2px 1.2px at 88% 10%,#fff6dc,transparent),
  radial-gradient(1.2px 1.2px at 8% 44%,#fff6dc,transparent),radial-gradient(1.6px 1.6px at 92% 46%,#fff6dc,transparent),radial-gradient(1.2px 1.2px at 52% 8%,#fff6dc,transparent),
  radial-gradient(60px 60px at 78% 20%,rgba(255,236,190,.95),rgba(255,236,190,.25) 60%,transparent 70%),
  linear-gradient(180deg,#07050a 0%,#1a0a14 45%,#3a0b16 100%)}
.tp__light{position:absolute;left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,238,180,1) 0%,rgba(255,190,90,.72) 10%,rgba(214,110,40,.3) 28%,rgba(120,40,20,.1) 46%,transparent 62%);opacity:0;transform:scale(.04);will-change:transform,opacity;mix-blend-mode:screen}
.tp__stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 52%,rgba(3,6,6,.86) 100%);opacity:var(--vg,1)}
.tp__txt{position:absolute;left:0;right:0;bottom:calc(13svh + 56px);z-index:2;text-align:center;padding-inline:20px;pointer-events:none;opacity:var(--o,0);transition:opacity .5s;transform:translateY(calc((1 - var(--o,0))*14px))}
.tp__txt .script{font-size:clamp(1.9rem,4.8vw,3.4rem);line-height:1.15;color:var(--gold2);text-shadow:0 2px 22px rgba(0,0,0,.95),0 0 34px rgba(0,0,0,.8);margin:16px 0 0}
.tp__txt .eyebrow{color:var(--gold2);text-shadow:0 1px 12px #000}
.tp__end{position:absolute;left:0;right:0;top:50%;z-index:2;margin:0;padding-inline:16px;text-align:center;font-size:clamp(2.6rem,9vw,6.6rem);line-height:1.05;color:#fff1c9;text-shadow:0 0 44px rgba(255,190,90,.75),0 2px 20px rgba(0,0,0,.6);opacity:0;transform:translateY(-50%) scale(.94);pointer-events:none}
.tp__cue{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 22px);transform:translateX(-50%);z-index:3;display:grid;justify-items:center;gap:8px;min-height:44px;padding:8px 20px;color:var(--gold2);opacity:var(--co,0);transition:opacity .6s;text-align:center}
.tp__cue b{font:500 .74rem/1 var(--ff-b);letter-spacing:.3em;text-transform:uppercase}
.tp__cue small{font:500 .64rem/1 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.tp__mouse{position:relative;width:22px;height:34px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--gold2)}
.tp__mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--gold2);animation:tpm 1.7s infinite var(--ease)}
@keyframes tpm{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
.tp__cue.nudge b{animation:tpn 1.3s infinite}
@keyframes tpn{50%{opacity:.4}}
.tp__skip{position:absolute;right:clamp(14px,3vw,34px);top:clamp(14px,3vw,30px);z-index:4;min-height:44px;padding:0 1.3em;border-radius:999px;font:500 .7rem/1 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);background:rgba(10,8,7,.55);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px var(--line);opacity:var(--so,0);transition:opacity .6s,box-shadow .3s}
.tp__skip:hover{box-shadow:inset 0 0 0 1px var(--gold)}
html.tp-on:not(.intro-done) .tp__cue,html.tp-on:not(.intro-done) .tp__skip{opacity:0;pointer-events:none}

/* ---------- Grandes figuras ---------- */
.vip{position:relative;overflow:hidden}
.vip__art{position:absolute;z-index:0;pointer-events:none;opacity:.5}
.vip__art--l{left:-4vw;top:3%;width:min(34vw,420px);transform:rotate(-10deg)}
.vip .wrap{position:relative;z-index:1}
.vip__g{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:clamp(14px,2.8vw,40px);align-items:center;margin-top:clamp(34px,5vw,64px)}
.vip__f{margin:0;position:relative}
.vip__fr{position:relative;padding:10px;border-radius:999px 999px 14px 14px;background:linear-gradient(160deg,#c8a24a,#5a3f12 40%,#ecd48f 70%,#8a6a26);box-shadow:0 50px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.4)}
.vip__fr img{width:100%;height:auto;aspect-ratio:4/5.7;object-fit:cover;border-radius:inherit;border-radius:990px 990px 6px 6px;transition:transform 1.4s var(--ease);filter:saturate(1.05) contrast(1.04)}
.vip__f--b .vip__fr img{aspect-ratio:4/5.3}
.vip__f:hover .vip__fr img{transform:scale(1.04)}
.vip__fr{overflow:hidden}
.vip__f--a{transform:translateY(40px) rotate(-1.6deg)}
.vip__f--c{transform:translateY(40px) rotate(1.6deg)}
.vip__f--b .vip__fr{box-shadow:0 60px 110px -40px rgba(0,0,0,.95),0 0 80px -10px rgba(200,162,74,.25)}
.vip__flash{position:absolute;inset:0;border-radius:999px 999px 14px 14px;background:#fff;opacity:0;pointer-events:none}
.vip__f.in .vip__flash{animation:flash 1.2s .45s ease-out}
@keyframes flash{0%{opacity:0}7%{opacity:.9}100%{opacity:0}}
@media (max-width:820px){
  .vip__g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:8px max(20px,5vw) 30px;margin-inline:calc(-1*max(20px,5vw));scrollbar-width:none}
  .vip__g::-webkit-scrollbar{display:none}
  .vip__f{flex:0 0 76%;scroll-snap-align:center;transform:none!important}
  .vip__f--b{order:-1}
}

/* ---------- Farol (foto en blanco y negro) ---------- */
.lant{position:relative;aspect-ratio:1;max-width:560px;margin-inline:auto;border-radius:6px;overflow:hidden;--lx:50%;--ly:42%;touch-action:pan-y;cursor:crosshair;box-shadow:0 0 0 10px #12100e,0 0 0 11px var(--gold3),0 50px 100px -40px #000;background:#0a0807}
.lant img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lant__bw{filter:grayscale(1) brightness(.34) contrast(1.2)}
.lant__lit{position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle clamp(120px,24vw,200px) at var(--lx) var(--ly),#000 0,#000 38%,transparent 100%);mask-image:radial-gradient(circle clamp(120px,24vw,200px) at var(--lx) var(--ly),#000 0,#000 38%,transparent 100%)}
.lant__lit img{filter:sepia(.9) saturate(1.9) hue-rotate(-12deg) brightness(1.04) contrast(1.08)}
.lant::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle clamp(140px,28vw,240px) at var(--lx) var(--ly),rgba(255,190,100,.3),transparent 70%);mix-blend-mode:screen}
.lant__hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:.55em 1.1em;border-radius:999px;background:rgba(10,8,7,.7);backdrop-filter:blur(6px);font:500 .66rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);white-space:nowrap;transition:opacity .6s}
.lant.used .lant__hint{opacity:0}
.mono img{filter:contrast(1.06)}
.mono{overflow:hidden}

/* ---------- Planes y precios ---------- */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(16px,2.2vw,26px);align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;border-radius:20px;overflow:hidden;background:linear-gradient(170deg,rgba(60,14,26,.55),rgba(14,10,9,.94));box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -50px #000;transition:transform .5s var(--ease),box-shadow .5s}
.plan:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px var(--gold),0 50px 90px -46px #000}
.plan--hi{background:linear-gradient(170deg,#6b1426,#2a0912 62%,#120a0b);box-shadow:inset 0 0 0 1.5px var(--gold2),0 50px 100px -50px rgba(200,162,74,.4)}
.plan__art{position:absolute;right:-14px;top:-10px;width:128px;opacity:.42;pointer-events:none}
.plan__tag{position:relative;font:500 .66rem/1.2 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;max-width:70%}
.plan h3{position:relative;font-size:1.95rem;color:var(--gold2);max-width:11ch}
.plan__price{margin:18px 0 20px}
.plan__price b{display:block;font:500 clamp(2.5rem,4.2vw,3.3rem)/1 var(--ff-d);background:linear-gradient(100deg,#9a7430,#ecd48f 40%,#c8a24a 60%,#f6e4a8);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan__price span{display:block;margin-top:6px;font:500 .68rem/1.4 var(--ff-b);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.plan ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;color:#e2d6bb;font-size:.97rem;line-height:1.45}
.plan li{position:relative;padding-left:26px}
.plan li::before{content:"♪";position:absolute;left:0;top:0;color:var(--gold)}
.plan .btn{margin-top:auto;justify-content:center}
.plans__n{margin:36px auto 0;text-align:center;color:#cdbfa3;max-width:62ch}

/* ---------- Cotizador ---------- */
.qhero{position:relative;padding:calc(var(--hh) + clamp(50px,8vw,110px)) 0 clamp(46px,6vw,80px);overflow:hidden;isolation:isolate;background:radial-gradient(90% 120% at 18% 0%,#2a0912 0%,rgba(10,8,7,.4) 70%)}
.qhero__img{position:absolute;right:0;top:0;bottom:0;width:min(46%,620px);z-index:-1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 42%);mask-image:linear-gradient(90deg,transparent,#000 42%)}
.qhero__img img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.qhero__in{position:relative}
.qhero .h-xl{max-width:9ch}
.qhero .lead{max-width:44ch;margin:24px 0 28px}
.qhero__k{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.qhero__k li{padding:.65em 1.1em;border-radius:999px;font:500 .72rem/1 var(--ff-b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);box-shadow:inset 0 0 0 1px var(--line);background:rgba(10,8,7,.4)}
@media (max-width:860px){.qhero__img{width:100%;opacity:.38;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 92%);mask-image:linear-gradient(180deg,#000 10%,transparent 92%)}}

.q{padding-block:clamp(36px,5vw,70px) clamp(70px,9vw,120px)}
.q__g{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);gap:clamp(30px,5vw,76px);align-items:start}
.q__side{position:sticky;top:calc(var(--hh) + 22px)}
.q__nav{list-style:none;margin:0 0 16px;padding:0;display:flex;justify-content:space-between;gap:4px}
.q__nav button{display:grid;justify-items:center;gap:9px;min-width:44px;min-height:44px;padding:2px 4px;font:500 .62rem/1.2 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);transition:color .3s}
.q__nav i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 .86rem/1 var(--ff-b);font-style:normal;box-shadow:inset 0 0 0 1px var(--line);transition:background .4s,color .4s,box-shadow .4s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.q__nav li.on i{background:linear-gradient(135deg,#b38a36,#ecd48f);color:var(--ink);box-shadow:none;transform:scale(1.14)}
.q__nav li.on button{color:var(--gold2)}
.q__nav li.done i{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold2)}
.q__nav li.done button{color:#d9c99f}
.q__bar{height:2px;background:var(--line);border-radius:2px;margin-bottom:36px;overflow:hidden}
.q__bar i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--qp,.1));background:linear-gradient(90deg,var(--gold3),var(--gold2));transition:transform .8s var(--ease);box-shadow:0 0 12px rgba(236,212,143,.7)}
.qs{animation:qin .65s var(--ease) both}
.qs[hidden]{display:none}
@keyframes qin{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.qs header{margin-bottom:28px}
.qs h3{font-size:clamp(2.1rem,4.6vw,3.3rem);margin:14px 0 10px}
.qs header p{margin:0;color:#cdbfa3;max-width:56ch}
.qs fieldset{border:0;padding:0;margin:0;min-width:0}
.qplans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.qp{display:block;position:relative;cursor:pointer}
.qp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}
.qp__c{position:relative;display:flex;flex-direction:column;height:100%;padding:24px 22px 22px;border-radius:18px;overflow:hidden;background:linear-gradient(170deg,rgba(60,14,26,.5),rgba(14,10,9,.92));box-shadow:inset 0 0 0 1px var(--line);transition:transform .45s var(--ease),box-shadow .4s,background .5s}
.qp:hover .qp__c{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold3)}
.qp input:focus-visible+.qp__c{outline:2px solid var(--gold2);outline-offset:3px}
.qp input:checked+.qp__c{background:linear-gradient(170deg,#6b1426,#2a0912 68%,#120a0b);box-shadow:inset 0 0 0 2px var(--gold2),0 34px 70px -34px rgba(236,212,143,.45);transform:translateY(-4px)}
.qp__art{position:absolute;right:-10px;top:-8px;width:112px;opacity:.4;pointer-events:none}
.qp__tag{position:relative;font:500 .62rem/1.2 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);max-width:68%}
.qp__n{position:relative;font:500 1.75rem/1.08 var(--ff-d);color:var(--gold2);margin:12px 0 6px;max-width:11ch}
.qp__p{position:relative;display:flex;align-items:baseline;gap:8px;margin:4px 0 14px}
.qp__p b{font:500 2.1rem/1 var(--ff-d);color:var(--ivory)}
.qp__p small{font:500 .64rem/1.2 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.qp ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.88rem;line-height:1.4;color:#d8cbb0}
.qp li{padding-left:20px;position:relative}.qp li::before{content:"♪";position:absolute;left:0;color:var(--gold)}
.qp__ok{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:var(--ink);transform:scale(0);transition:transform .5s cubic-bezier(.3,1.7,.5,1)}
.qp__ok svg{width:18px;height:18px}
.qp input:checked+.qp__c .qp__ok{transform:scale(1)}
.qgrid{display:flex;flex-wrap:wrap;gap:10px}
.qc{position:relative;display:block}
.qc input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.qc span{display:inline-flex;align-items:center;min-height:44px;padding:0 1.3em;border-radius:999px;font:500 .95rem/1.1 var(--ff-b);color:#ead9b1;background:rgba(200,162,74,.07);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s,transform .3s var(--ease)}
.qc:hover span{box-shadow:inset 0 0 0 1px var(--gold);transform:translateY(-1px)}
.qc input:checked+span{background:linear-gradient(120deg,#b38a36,#ecd48f);color:var(--ink);font-weight:600;box-shadow:none}
.qc input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:3px}
.qc--o span{box-shadow:inset 0 0 0 1px var(--gold3)}
.qs .fld{margin-top:20px}
.qs .fld em{font-style:normal;text-transform:none;letter-spacing:.04em;color:var(--mute);font-weight:400}
.qrow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px);margin-bottom:6px}
.qcol .fld{margin-top:12px}
.qlbl{display:block;font:500 .72rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:22px 0 12px}
.qrow .qlbl{margin-top:0}
.qquick{display:flex;flex-wrap:wrap;gap:8px}
.qquick button{min-height:40px;padding:0 1em;border-radius:999px;font:500 .84rem/1 var(--ff-b);color:#ead9b1;background:rgba(200,162,74,.07);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s}
.qquick button:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.qquick button[aria-pressed="true"]{background:linear-gradient(120deg,#b38a36,#ecd48f);color:var(--ink);font-weight:600;box-shadow:none}
.qsw{position:relative;display:flex;align-items:center;gap:16px;margin-top:26px;padding:16px 18px;border-radius:14px;cursor:pointer;background:rgba(244,236,217,.03);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.qsw:hover{box-shadow:inset 0 0 0 1px var(--gold3)}
.qsw input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.qsw i{flex:none;position:relative;width:52px;height:30px;border-radius:99px;background:rgba(244,236,217,.14);transition:background .35s}
.qsw i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--ivory);transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.qsw input:checked~i{background:var(--gold)}
.qsw input:checked~i::after{transform:translateX(22px);background:var(--ink)}
.qsw input:focus-visible~i{outline:2px solid var(--gold2);outline-offset:3px}
.qsw b{display:block;font:500 1rem/1.3 var(--ff-b);color:var(--ivory)}
.qsw small{display:block;color:var(--mute);font-size:.86rem;margin-top:2px}
.q__zone{margin:18px 0 0;padding:14px 18px;border-radius:12px;font-size:.95rem;color:#e8dcc0;background:rgba(200,162,74,.07);box-shadow:inset 0 0 0 1px var(--line)}
.q__zone:empty{display:none}
.q__zone.out{background:rgba(107,20,38,.35);box-shadow:inset 0 0 0 1px rgba(236,212,143,.4)}
.q__err{margin:16px 0 0;color:#ffb0b0;font-size:.92rem;min-height:1.2em}
.qcount{display:flex;align-items:center;gap:18px;margin-bottom:8px;font:500 .9rem/1.3 var(--ff-b);color:var(--gold2)}
.qcount b{font:500 1.7rem/1 var(--ff-d);color:var(--ivory)}
.qcount__dots{display:flex;flex-wrap:wrap;gap:6px;max-width:260px}
.qcount__dots i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--gold3);transition:background .35s,transform .5s cubic-bezier(.3,1.7,.5,1)}
.qcount__dots i.on{background:radial-gradient(circle at 35% 30%,#fff2c4,#c8a24a 55%,#6a4c16);transform:scale(1.22);box-shadow:none}
.qcount.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.qsg h4{font:500 .7rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:24px 0 12px}
.qs .chip{min-height:44px}
.qadd{display:flex;gap:12px;align-items:flex-end;margin-top:28px}
.qadd .fld{flex:1;margin-top:0}
.qadd .btn{min-height:50px}
.qtools{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:10px}
.qlink{min-height:44px;font:500 .88rem/1 var(--ff-b);color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.qlink:hover{color:var(--ivory)}
.qcnt{align-self:flex-end;font-size:.8rem;color:var(--mute)}
.q__btns{display:flex;justify-content:space-between;gap:14px;margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.q__btns .btn[hidden]{display:none}
.qfinal{display:grid;gap:16px;justify-items:start}
.qsend{font-size:.9rem;padding:1.2em 2em}
.qfinal__s{display:flex;flex-wrap:wrap;gap:10px}
.qfinal__n{max-width:52ch;font-size:.92rem;margin:0}
.q__ok{margin:0;padding:14px 18px;border-radius:12px;background:rgba(37,211,102,.1);box-shadow:inset 0 0 0 1px rgba(37,211,102,.4);color:#c7f5d9}
.q__ok[hidden]{display:none}

/* ---------- Boleto ---------- */
.tkw{perspective:1300px}
.tk{--rx:0deg;--ry:0deg;position:relative;max-width:440px;margin-inline:auto;padding:26px 26px 22px;color:#2b1a12;border-radius:8px;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--ease);background:linear-gradient(180deg,#f8f0dd,#efe2c3);box-shadow:0 60px 100px -40px #000,0 0 0 1px rgba(0,0,0,.4),0 0 60px -10px rgba(200,162,74,.25)}
.tk::before{content:"";position:absolute;inset:8px;border:1px solid rgba(138,106,38,.55);border-radius:4px;pointer-events:none}
.tk::after{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.65) 50%,transparent 64%);transform:translateX(-130%)}
.tk.pulse::after{animation:sheen 1.1s var(--ease)}
@keyframes sheen{to{transform:translateX(130%)}}
.tk__top{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(138,106,38,.35)}
.tk__seal{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#12100e}
.tk__seal img{width:100%;height:auto}
.tk__k{display:block;font:600 .6rem/1 var(--ff-b);letter-spacing:.26em;text-transform:uppercase;color:#8a6a26}
.tk__no{display:block;margin-top:5px;font:600 1.35rem/1 var(--ff-d);letter-spacing:.04em;color:#3a0b16}
.tk__yr{margin-left:auto;padding:.55em .9em;border-radius:999px;font:600 .6rem/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:#f4e6b8;background:#5b1224;white-space:nowrap}
.tk__rows{margin:0;padding:6px 0}
.tk__rows>div{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed rgba(138,106,38,.35)}
.tk dt{font:600 .6rem/1.5 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:#8a6a26;padding-top:.3em}
.tk dd{margin:0;font:600 1.18rem/1.25 var(--ff-d);color:#2b1a12;overflow-wrap:anywhere}
.tk__h{display:block;font:600 .6rem/1 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:#8a6a26;margin-bottom:8px}
.tk__h em{font-style:normal;color:#5b1224}
.tk__inc,.tk__songs{padding:12px 0 4px}
.tk ul,.tk ol{margin:0;padding:0;list-style:none;display:grid;gap:3px;font:500 .98rem/1.3 var(--ff-d);color:#3b2a1d}
.tk ul li{padding-left:18px;position:relative}.tk ul li::before{content:"♪";position:absolute;left:0;color:#8a6a26}
.tk ol{counter-reset:s;grid-template-columns:1fr 1fr;column-gap:14px}
.tk ol li{counter-increment:s;padding-left:22px;position:relative;overflow-wrap:anywhere}
.tk ol li::before{content:counter(s);position:absolute;left:0;top:.1em;font:600 .62rem/1.4 var(--ff-b);color:#8a6a26}
.tk ol li.tk__empty{counter-increment:none;grid-column:1/-1;padding-left:0;font-style:italic;color:#8d7a5f}
.tk ol li.tk__empty::before{content:none}
.tk__perf{position:relative;height:1px;margin:16px -26px 0;border-top:2px dashed rgba(138,106,38,.5)}
.tk__perf::before,.tk__perf::after{content:"";position:absolute;top:-14px;width:26px;height:26px;border-radius:50%;background:var(--ink)}
.tk__perf::before{left:-13px}.tk__perf::after{right:-13px}
.tk__tot{padding-top:18px;text-align:center}
.tk__tot small{display:block;margin-top:8px;font:500 .64rem/1.4 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:#8a6a26}
.odo{display:flex;justify-content:center;align-items:center;height:1.15em;overflow:hidden;font:600 clamp(2.7rem,6.4vw,3.7rem)/1.15 var(--ff-d);color:#5b1224}
.odo__c{display:inline-block;height:1.15em;overflow:hidden}
.odo__s{display:block;transition:transform 1.15s cubic-bezier(.16,.84,.2,1)}
.odo__s i{display:block;height:1.15em;line-height:1.15em;font-style:normal}
.odo__x{display:inline-block;height:1.15em;line-height:1.15em}
.odo__t{font-size:.52em;line-height:2.2;letter-spacing:.02em;font-style:italic;color:#5b1224}
.tk__bar{height:30px;margin-top:16px;opacity:.7;background:repeating-linear-gradient(90deg,#2b1a12 0 2px,transparent 2px 5px,#2b1a12 5px 6px,transparent 6px 10px,#2b1a12 10px 13px,transparent 13px 15px)}
[data-f].wr{animation:wr .8s var(--ease)}
@keyframes wr{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
.qbar{display:none}
@media (max-width:980px){
  .q__g{grid-template-columns:1fr}
  .q__side{position:static;order:2}
  .qbar{position:fixed;left:0;right:0;bottom:0;z-index:108;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(14,8,9,.92);backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line),0 -20px 40px -20px #000;transform:translateY(0)}
  .qbar small{display:block;font:500 .6rem/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
  .qbar b{display:block;font:500 1.6rem/1.1 var(--ff-d);color:var(--gold2)}
  .qbar .btn{padding:.95em 1.4em}
  .q{padding-bottom:140px}
  body.on-q .wa,body.on-q .snd{bottom:84px}
}
@media (max-width:640px){
  .qplans{grid-template-columns:1fr}
  .qrow{grid-template-columns:1fr}
  .q__st b{display:none}
  .qadd{flex-direction:column;align-items:stretch}
  .q__btns .btn{padding:1em 1.4em}
  .tk{padding:22px 18px 18px}
  .tk__perf{margin-inline:-18px}
  .tk__rows>div{grid-template-columns:70px 1fr}
}
.pick__q{padding:.85em 1.3em}
.pick__wa{padding:.85em 1.1em}
.pick__wa em{font-style:normal}
@media (max-width:640px){.pick__wa em{display:none}.pick{gap:10px;padding-left:18px;max-width:calc(100vw - 20px)}.pick span{font-size:.85rem}}
.ftr__r{color:#d2c5aa;text-decoration:underline;text-underline-offset:4px;transition:color .3s}
.ftr__r:hover{color:var(--gold2)}

@media print{
  @page{margin:12mm}
  html,body{background:#fff!important}
  .tapiz,.hdr,.curtain,.progress,.snd,.wa,.skip,.ftr,.qbar,#notes,.intro,.qhero,.q__main,main>section:not(.q),body::after{display:none!important}
  .q{padding:0!important}.q__g{display:block}
  .q__side{position:static!important}
  .tk{box-shadow:none!important;transform:none!important;margin:0 auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tk__perf::before,.tk__perf::after{background:#fff!important}
}
.tk{overflow:hidden}
.nav a.btn,.nav a.btn[aria-current="page"]{color:var(--ink)}

/* ===== V3 · rojo moño · bordado charro · ritmo · fotos unificadas ===== */
:root{--mono:#b01623;--mono2:#d8283a}
.bord{height:34px;background:url(../img/bordado.svg) repeat-x center/auto 34px;opacity:.95}
.sec--red{position:relative;background:radial-gradient(90% 120% at 50% 0%,#8f1527 0%,#5b0f1f 48%,#2a0912 100%);box-shadow:inset 0 1px 0 rgba(236,212,143,.25),inset 0 -1px 0 rgba(236,212,143,.25)}
.sec--red .bord--t{margin-bottom:clamp(40px,6vw,80px)}.sec--red .bord--b{margin-top:clamp(40px,6vw,80px)}
.cifras__g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,3vw,50px);text-align:center}
.cifras__i b{display:block;font:500 clamp(5.4rem,19vw,16rem)/.85 var(--ff-d);letter-spacing:-.03em;background:linear-gradient(180deg,#fff0c0 10%,#ecd48f 45%,#b38a36 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
.cifras__i span{display:block;margin-top:clamp(12px,2vw,24px);font:500 clamp(.68rem,1.4vw,.86rem)/1.5 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:#f3dfae}
.cifras .quote{text-align:center}.cifras .lead{max-width:58ch;margin-inline:auto;text-align:center;color:#f1e4c6}

.occl__l{list-style:none;margin:clamp(30px,5vw,60px) 0 0;padding:0;border-top:1px solid var(--line)}
.occl__l a{position:relative;display:grid;grid-template-columns:64px minmax(0,1.1fr) minmax(0,1fr) 40px;gap:clamp(12px,3vw,40px);align-items:center;padding:clamp(22px,3.2vw,38px) 4px;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),color .3s}
.occl__l a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(176,22,35,.5),rgba(176,22,35,0));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.occl__l a:hover::before,.occl__l a:focus-visible::before{transform:scaleX(1)}
.occl__l a:hover,.occl__l a:focus-visible{padding-left:clamp(14px,2vw,30px)}
.occl__n{font:500 .8rem/1 var(--ff-b);letter-spacing:.2em;color:var(--gold)}
.occl__t{font:500 clamp(1.9rem,4.8vw,4rem)/1.02 var(--ff-d);color:var(--ivory);letter-spacing:-.01em}
.occl__d{font-size:.98rem;line-height:1.55;color:#cdbfa3}
.occl__a{font:400 1.8rem/1 var(--ff-d);color:var(--gold2);transition:transform .5s var(--ease)}
.occl__l a:hover .occl__a{transform:translateX(8px)}
@media (max-width:760px){.occl__l a{grid-template-columns:36px 1fr 28px}.occl__d{grid-column:2/3;grid-row:2}.occl__a{grid-row:1;grid-column:3}.occl__t{grid-column:2}}

.clos{position:relative;min-height:min(92svh,820px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.clos>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;z-index:-2;filter:saturate(.9) contrast(1.05)}
.clos::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,8,7,.55),rgba(10,8,7,.12) 35%,rgba(10,8,7,.92) 100%),linear-gradient(90deg,rgba(91,15,31,.55),transparent 60%)}
.clos__t{width:var(--wrap);margin:0 auto;padding-bottom:clamp(48px,8vw,110px)}
.clos__t .script{font-size:clamp(2rem,5vw,3.6rem);color:var(--gold2)}
.clos__t p{font:500 clamp(2rem,5.6vw,4.8rem)/1.05 var(--ff-d);color:var(--ivory);max-width:18ch;margin:10px 0 30px}
.clos__t em{color:var(--gold2)}

.mini{position:relative;z-index:3;margin-top:calc(-1*clamp(30px,5vw,60px));padding-bottom:clamp(30px,5vw,60px)}
.mini__f{display:grid;grid-template-columns:1.1fr 2fr 1fr auto;gap:clamp(14px,2vw,28px);align-items:center;padding:clamp(18px,2.4vw,28px) clamp(20px,3vw,36px);border-radius:20px;background:linear-gradient(170deg,rgba(60,14,26,.92),rgba(14,10,9,.96));backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--gold3),0 40px 80px -40px #000}
.mini__h p{margin:8px 0 0;font-size:.9rem;color:#cdbfa3;line-height:1.4}
.mini__pl{border:0;margin:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:8px}
.mini__pl label{position:relative;cursor:pointer}
.mini__pl input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.mini__pl span{display:grid;gap:3px;padding:10px 16px;border-radius:12px;min-height:44px;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,color .3s}
.mini__pl b{font:500 .8rem/1.1 var(--ff-b);color:var(--ivory)}.mini__pl small{font:500 1rem/1 var(--ff-d);color:var(--gold2)}
.mini__pl input:checked+span{background:linear-gradient(120deg,#b38a36,#ecd48f);box-shadow:none}
.mini__pl input:checked+span b,.mini__pl input:checked+span small{color:var(--ink)}
.mini__pl input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:3px}
.mini__m{display:grid;gap:6px}.mini__m span{font:500 .62rem/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.mini__m select{min-height:44px;padding:0 12px;border-radius:10px;background:#120d0c;color:var(--ivory);border:1px solid var(--line);font:500 .95rem var(--ff-b)}
@media (max-width:1020px){.mini__f{grid-template-columns:1fr 1fr}.mini__h,.mini__pl{grid-column:1/-1}.mini__f .btn{justify-content:center}}
@media (max-width:560px){.mini__f{grid-template-columns:1fr}}

.hero__from{margin:0 0 20px;font:500 .8rem/1.4 var(--ff-b);letter-spacing:.18em;text-transform:uppercase;color:#e9d9ae;text-align:center}
.hero__from b{font:500 1.5rem/1 var(--ff-d);letter-spacing:0;color:var(--gold2);padding:0 .15em}

.ros__g{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(30px,5vw,60px)}
.ros__c{margin:0;position:relative;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);background:#120d0c}
.ros__c img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.9) contrast(1.06) sepia(.12)}
.ros__c figcaption{padding:16px 18px 20px;display:grid;gap:4px}
.ros__c b{font:500 1.5rem/1.1 var(--ff-d);color:var(--ivory)}.ros__c span{font:500 .66rem/1.3 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.ros__c em{font-style:italic;color:#cdbfa3;font-size:.95rem}
@media (max-width:900px){.ros__g{grid-template-columns:repeat(2,1fr)}}
.tst__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(30px,5vw,60px)}
.tst__c{margin:0;padding:clamp(24px,3vw,38px);border-radius:18px;background:linear-gradient(170deg,rgba(91,15,31,.55),rgba(14,10,9,.9));box-shadow:inset 0 0 0 1px var(--line)}
.tst__c p{margin:0 0 22px;font:italic 500 clamp(1.3rem,2.2vw,1.7rem)/1.35 var(--ff-d);color:var(--ivory)}
.tst__c p::before{content:"“";display:block;font:400 4rem/.6 var(--ff-d);color:var(--gold);margin-bottom:8px}
.tst__c footer b{display:block;font:600 .9rem var(--ff-b);color:var(--gold2)}.tst__c footer span{font-size:.82rem;color:var(--mute)}

/* fotos con un mismo tratamiento cálido */
.frame img,.strip img,.masonry img,.split img,.card img,.clos>img{filter:saturate(.92) contrast(1.05) sepia(.1)}
.card img{filter:saturate(.92) contrast(1.05) sepia(.1)}

/* cursor de nota (solo ratón) */
@media (hover:hover) and (pointer:fine){
  a,button,label,.chip,summary{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24'><path d='M10 17V4l10-2v12' fill='none' stroke='%23ecd48f' stroke-width='1.8' stroke-linejoin='round'/><ellipse cx='7' cy='17.5' rx='3.4' ry='2.6' fill='%23ecd48f' stroke='%230a0807' stroke-width='.8'/><ellipse cx='17' cy='14.5' rx='3.4' ry='2.6' fill='%23ecd48f' stroke='%230a0807' stroke-width='.8'/></svg>") 8 22,pointer}
}
.clos::before{background:linear-gradient(180deg,rgba(10,8,7,.35),rgba(10,8,7,0) 30%,rgba(10,8,7,.55) 58%,rgba(10,8,7,.96) 100%),linear-gradient(90deg,rgba(91,15,31,.5),transparent 55%)}
.clos__t p{font-size:clamp(1.7rem,4.2vw,3.4rem);max-width:24ch}
.clos>img{object-position:50% 20%}

/* ===== Hero épico con foto en blanco y negro ===== */
.hero--ph{background:#050404;align-items:end}
.hero__bg{position:absolute;inset:-6% 0;z-index:-3;will-change:transform}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:42% 45%;transform:scaleX(-1) scale(1.02);filter:contrast(1.1) brightness(.95);animation:kb 28s ease-in-out infinite alternate}
@keyframes kb{to{transform:scaleX(-1) scale(1.1)}}
html.reduced .hero__bg img{animation:none}
.hero--ph::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,4,4,.94) 0%,rgba(5,4,4,.7) 38%,rgba(5,4,4,.08) 72%),linear-gradient(0deg,#050404 0%,rgba(5,4,4,0) 38%),radial-gradient(60% 70% at 78% 40%,rgba(176,22,35,.28),transparent 70%)}
.hero__grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero--ph .hero__in{text-align:left;padding:calc(var(--hh) + 8vh) 0 clamp(110px,17vh,170px)}
.hero--ph h1{margin-inline:0;max-width:none;font-size:clamp(3.8rem,11.5vw,10.5rem);line-height:.9;letter-spacing:-.02em}
.hero--ph .hero__sub{margin:20px 0 0;font-size:clamp(1.8rem,4vw,3rem)}
.hero--ph .hero__p{margin:18px 0 22px;max-width:40ch;font-size:clamp(1rem,1.5vw,1.2rem)}
.hero--ph .hero__from{text-align:left}
.hero--ph .hero__cta{justify-content:flex-start}
.hero--ph .cue{left:var(--gutter,max(20px,5vw));transform:none}
@media (max-width:760px){
  .hero__bg img{object-position:30% 50%}
  .hero--ph::before{background:linear-gradient(0deg,#050404 8%,rgba(5,4,4,.75) 45%,rgba(5,4,4,.25) 100%)}
  .hero--ph .hero__in{padding-top:calc(var(--hh) + 22vh)}
}
.hero--ph .cue{left:50%;transform:translateX(-50%)}

/* ===== Escena del grupo (revelado cinematográfico) ===== */
.mini{display:none}
.scene{--p:0;position:relative;padding:clamp(60px,9vw,130px) 0;background:#050404;overflow:hidden}
.scene__fr{position:relative;width:min(1500px,100% - 2*clamp(0px,3vw,40px));margin:0 auto;aspect-ratio:16/8.2;overflow:hidden;isolation:isolate;border-radius:calc((1 - var(--p))*60px + 6px);clip-path:inset(calc((1 - var(--p))*16%) calc((1 - var(--p))*14%) round calc((1 - var(--p))*60px + 6px));box-shadow:0 0 0 1px var(--line);will-change:clip-path}
.scene__fr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;transform:scale(calc(1.28 - .22*var(--p)));filter:saturate(1.05) contrast(1.08) brightness(.92);will-change:transform}
.scene__tone{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,10,20,.35),rgba(5,4,4,0) 35%,rgba(5,4,4,.8) 100%),linear-gradient(90deg,rgba(176,22,35,.28),transparent 45%,rgba(200,162,74,.16));mix-blend-mode:normal}
.scene__fr::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 30px rgba(5,4,4,.8)}
.scene__leak{position:absolute;inset:-20% -10%;pointer-events:none;mix-blend-mode:screen;opacity:.6;background:radial-gradient(40% 55% at calc(15% + var(--p)*55%) 28%,rgba(255,196,110,.5),transparent 70%)}
.scene__dust i{position:absolute;left:var(--x);bottom:-10px;width:var(--z);height:var(--z);border-radius:50%;background:#ffe3a3;opacity:0;box-shadow:0 0 10px 2px rgba(255,214,140,.7);animation:dust var(--s) var(--d) linear infinite}
@keyframes dust{0%{opacity:0;transform:translate(0,0)}15%{opacity:.85}100%{opacity:0;transform:translate(40px,-60vh)}}
html.reduced .scene__dust{display:none}
.scene__t{position:absolute;left:0;right:0;bottom:clamp(30px,6vw,90px);z-index:2;pointer-events:none;opacity:calc(var(--p)*1.4 - .3);transform:translateY(calc((1 - var(--p))*40px))}
.scene__t p{margin:12px 0 0;font:500 clamp(2.4rem,7.5vw,6.6rem)/.98 var(--ff-d);color:var(--ivory);text-shadow:0 4px 40px rgba(0,0,0,.8)}
.scene__t em{color:var(--gold2)}
@media (max-width:760px){.scene__fr{aspect-ratio:4/5}.scene__fr>img{object-position:50% 40%}}
html.reduced .scene,html.no-js .scene{--p:1}

/* ===== Cotización al seleccionar un plan ===== */
.plan{cursor:pointer}
.plans.has-sel .plan:not(.is-sel){opacity:.5;transform:scale(.985)}
.plan.is-sel{transform:translateY(-8px);box-shadow:inset 0 0 0 2px var(--gold2),0 50px 100px -40px rgba(236,212,143,.45)}
.qk{display:grid;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .75s var(--ease),margin-top .75s var(--ease)}
.qk.open{grid-template-rows:1fr;margin-top:clamp(20px,3vw,36px)}
.qk__w{min-height:0;overflow:hidden}
.qk__in{position:relative;padding:clamp(28px,4vw,52px);border-radius:22px;background:radial-gradient(90% 140% at 0% 0%,#7a0f1e 0%,#3a0b16 55%,#150a0c 100%);box-shadow:inset 0 0 0 1px var(--gold3),0 50px 90px -50px #000;opacity:0;transform:translateY(24px);transition:opacity .6s .15s,transform .7s .15s var(--ease)}
.qk.open .qk__in{opacity:1;transform:none}
.qk__in::before{content:"";position:absolute;left:24px;right:24px;top:0;height:28px;background:url(../img/bordado.svg) repeat-x center/auto 28px;opacity:.85;transform:translateY(-50%)}
.qk__x{position:absolute;right:16px;top:14px;width:44px;height:44px;border-radius:50%;font:300 1.9rem/1 var(--ff-d);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--line)}
.qk__x:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.qk__g{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.qk__h{font:500 clamp(2rem,4.4vw,3.4rem)/1.05 var(--ff-d);color:var(--ivory);margin:12px 0 4px}
.qk__chips{display:flex;flex-wrap:wrap;gap:8px}
.qkc{min-height:44px;padding:0 1.1em;border-radius:999px;font:500 .92rem/1 var(--ff-b);color:#ead9b1;background:rgba(200,162,74,.07);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s}
.qkc:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.qkc[aria-pressed="true"]{background:linear-gradient(120deg,#b38a36,#ecd48f);color:var(--ink);font-weight:600;box-shadow:none}
.qk__tk{display:grid;gap:12px;padding:clamp(20px,3vw,30px);border-radius:16px;background:linear-gradient(180deg,#f8f0dd,#efe2c3);color:#2b1a12;text-align:center;box-shadow:0 30px 60px -30px #000}
.qk__tk .tk__h{margin:0}
.qk__t{font:600 clamp(2.6rem,5.6vw,4rem)/1 var(--ff-d);color:#5b1224}
.qk__tk small{font:500 .64rem/1.5 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:#8a6a26;margin-bottom:6px}
.qk__tk .btn{justify-content:center}
@media (max-width:860px){.qk__g{grid-template-columns:1fr}}
.scene__t{position:relative;left:auto;right:auto;bottom:auto;margin-top:clamp(26px,4vw,52px);display:block}
.scene__t p{font-size:clamp(2.2rem,6vw,5rem);text-shadow:none}

/* ===== Optimización táctil: celulares y tablets ===== */
.btn,.btn--ghost{min-height:48px}
.chip{min-height:44px}
@media (hover:none),(max-width:1024px){
  .ig,.ftr__r,.ftr a{display:inline-flex;align-items:center;min-height:44px}
  .filters .chip,.chips .chip{min-height:44px;padding-block:.7em}
}
.eyebrow,.plan__tag,.qp__tag,.arch__tag,.tk__h,.tk__k,.tk__yr,.tk dt,.tk__tot small,.qlbl,.mini__m span,.qcnt,.lant__hint,.tp__cue small,.sound-note,.hero__from{font-size:max(.74rem,12px)}
.q__nav button{font-size:max(.68rem,11.5px)}
@media (min-width:700px) and (max-width:1024px){
  :root{--hh:70px}
  .hero--ph .hero__in{padding-top:calc(var(--hh) + 14vh)}
  .hero--ph h1{font-size:clamp(4.4rem,13vw,8.5rem)}
  .plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cifras__i b{font-size:clamp(6rem,17vw,12rem)}
  .scene__fr{aspect-ratio:16/10}
  .ros__g{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:420px){
  .hero--ph h1{font-size:clamp(3.4rem,17.5vw,5rem)}
  .scene__t p{font-size:clamp(2rem,11vw,3rem)}
  .hero__cta .btn,.clos__t .btn{width:100%;justify-content:center}
}
@media (max-height:520px) and (orientation:landscape){
  .hero--ph .hero__in{padding-top:calc(var(--hh) + 20px);padding-bottom:70px}
  .hero--ph h1{font-size:clamp(2.6rem,9vw,4.5rem)}
  .tp{height:520svh}
}

/* ===== V4 · flujo simple 4 pasos, tarjeta del plan, boleto sellado, pie agencia ===== */
.q__st{display:grid;justify-items:center;gap:9px;min-width:44px;min-height:44px;padding:2px 4px;font:500 .62rem/1.2 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);transition:color .3s;cursor:default}
.q__st b{font-weight:500}
.q__nav li.on .q__st{color:var(--gold2)}.q__nav li.done .q__st{color:#d9c99f}
.qbar__s{font:500 .72rem/1 var(--ff-b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);white-space:nowrap}
.qlink{background:none;border:0;color:var(--gold2);font:500 .9rem/1 var(--ff-b);letter-spacing:.06em;padding:0 6px;min-height:44px;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(236,212,143,.35);text-underline-offset:5px;transition:color .3s,text-decoration-color .3s}
.qlink:hover{color:#fff;text-decoration-color:var(--gold2)}
.qlink[hidden]{display:none}
.q__btns .btn{margin-left:auto}
.q__ok{margin:14px 0 0;padding:14px 16px;border-radius:12px;background:rgba(37,211,102,.1);box-shadow:inset 0 0 0 1px rgba(37,211,102,.4);color:#c9f3d9;font-size:.92rem;line-height:1.5}
.q__ok[hidden]{display:none}

/* nube "Elegiste" */
.qsel{position:relative;margin:26px 0 4px}
.qsel[hidden]{display:none}
.qsel__c{--tx:50%;position:relative;padding:24px 24px 22px;border-radius:22px;color:#f1e4c8;background:radial-gradient(120% 90% at 20% 0,#7a1730,#4a0f1f 55%,#2a0912);box-shadow:inset 0 0 0 1px rgba(236,212,143,.55),inset 0 0 0 7px #3a0c19,inset 0 0 0 8px rgba(236,212,143,.35),0 30px 60px -30px #000,0 0 50px -18px rgba(180,30,60,.6)}
.qsel__c::before{content:"";position:absolute;left:calc(var(--tx,50%) - 11px);top:-11px;width:22px;height:22px;background:#7a1730;transform:rotate(45deg);box-shadow:-1px -1px 0 rgba(236,212,143,.55);border-radius:4px 0 0 0}
.qsel::before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px}
.qsel__c::after{content:"";position:absolute;inset:14px;border-radius:14px;background:url(../img/bordado.svg) center/cover;opacity:.07;pointer-events:none}
.qsel__k{display:block;font:500 .68rem/1 var(--ff-b);letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);margin-bottom:8px}
.qsel__n{display:block;font:500 1.7rem/1.1 var(--ff-d);color:#fff}
.qsel__p{display:flex;align-items:baseline;gap:10px;margin:6px 0 14px;flex-wrap:wrap}
.qsel__p i{font:500 1.35rem/1 var(--ff-d);font-style:normal;color:var(--gold2)}
.qsel__p small{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#cdb98f}
.qsel ul{position:relative;list-style:none;margin:0;padding:12px 0 0;display:grid;gap:7px;font-size:.9rem;line-height:1.4;color:#e6d8b8;border-top:1px solid rgba(236,212,143,.28)}
.qsel li{padding-left:20px;position:relative}.qsel li::before{content:"♪";position:absolute;left:0;color:var(--gold)}
.qsel.pop .qsel__c{animation:qpop .6s cubic-bezier(.3,1.4,.5,1) both}
@keyframes qpop{0%{opacity:0;transform:translateY(14px) scale(.96)}100%{opacity:1;transform:none}}
@media(min-width:760px){.qsel ul{grid-template-columns:1fr 1fr;column-gap:26px}}

/* sello ENVIADO */
.tk__stamp{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;pointer-events:none;z-index:6;opacity:0}
.tk__stamp b{font:600 clamp(1.6rem,6vw,2.3rem)/1 var(--ff-d);letter-spacing:.3em;padding:.35em .7em .35em 1em;color:#ff6a85;border:3px double #ff6a85;border-radius:10px;background:rgba(20,6,10,.55);text-shadow:0 0 18px rgba(255,80,110,.5)}
.tk__stamp span{font:500 .62rem/1 var(--ff-b);letter-spacing:.3em;text-transform:uppercase;color:#ff9db0}
.tk.sealed .tk__stamp{animation:stamp .7s cubic-bezier(.2,1.5,.4,1) .15s both}
@keyframes stamp{0%{opacity:0;transform:scale(2.2) rotate(-18deg)}60%{opacity:1;transform:scale(.94) rotate(-10deg)}100%{opacity:1;transform:scale(1) rotate(-10deg)}}
@media(prefers-reduced-motion:reduce){.tk.sealed .tk__stamp{animation:none;opacity:1;transform:rotate(-10deg)}.qsel.pop .qsel__c{animation:none}}

/* pie dorado agencia */
.ftr__web{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:520px;margin:30px auto 0;padding:16px 22px;min-height:56px;text-align:center;border-radius:14px;color:var(--ink);background:linear-gradient(120deg,#b38a36,#ecd48f 50%,#c9a24a);box-shadow:0 14px 34px -16px rgba(236,212,143,.6),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .35s,box-shadow .35s}
.ftr__web b{font:500 1.25rem/1.2 var(--ff-d)}
.ftr__web span{font:500 .78rem/1.3 var(--ff-b);letter-spacing:.08em}
.ftr__web:hover{transform:translateY(-3px);box-shadow:0 20px 40px -16px rgba(236,212,143,.8),inset 0 1px 0 rgba(255,255,255,.45)}

/* ===== V5 · portal breve + menú móvil lienzo vino ===== */
.tp{height:230svh}
@media (max-width:760px){.tp{height:200svh}}
@media (max-width:920px){
  .hdr,.hdr.is-solid{-webkit-backdrop-filter:none;backdrop-filter:none}
  .hdr.is-solid{background:rgba(10,8,7,.96)}
  .menu-open .hdr{transform:none!important;opacity:1!important}
  .nav{align-items:center;padding:calc(var(--hh) + 10px) 56px 40px;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(120% 70% at 50% 0,#8a1b36 0,#5a1224 38%,#2d0a14 78%,#1a0509);isolation:isolate}
  .nav::before,.nav::after{content:"";position:fixed;top:0;width:100svh;height:30px;background:url(../img/bordado.svg) repeat-x center/auto 30px;opacity:.85;pointer-events:none;z-index:-1}
  .nav::before{left:15px;transform-origin:0 0;transform:rotate(90deg) translateY(0)}
  .nav::after{right:15px;transform-origin:100% 0;transform:rotate(-90deg) translateY(0)}
  .menu-open .nav{box-shadow:inset 0 0 0 1px rgba(236,212,143,.45),inset 0 0 0 9px #2d0a14,inset 0 0 0 10px rgba(236,212,143,.3)}
  .nav a:not(.btn){display:block;width:100%;max-width:360px;text-align:center;padding:.28em 0;color:#f6ebd0;font-size:clamp(1.7rem,8vw,2.4rem);text-shadow:0 2px 14px rgba(0,0,0,.5);border-bottom:1px solid rgba(236,212,143,.16)}
  .nav a[aria-current="page"]:not(.btn){color:var(--gold2)}
  .nav .btn{margin-top:26px;min-width:220px;justify-content:center}
  .burger{background:rgba(26,5,9,.9)}
}

/* ===== V6 · SEO/GEO: datos clave, cobertura, pie ===== */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:34px auto 0;max-width:1000px;background:var(--line);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.facts>div{background:rgba(20,8,12,.9);padding:16px 20px}
.facts dt{font:500 .68rem/1.2 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:6px}
.facts dd{margin:0;font-size:.98rem;line-height:1.4;color:#efe3c8}
.cov__chips{justify-content:center;margin-top:28px}
.cov{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:10px}
.cov__c{display:grid;gap:6px;padding:22px 22px;border-radius:16px;background:linear-gradient(160deg,#3a0c19,#1a0509);box-shadow:inset 0 0 0 1px rgba(236,212,143,.3);transition:transform .35s var(--ease),box-shadow .35s;min-height:44px}
.cov__c b{font:500 1.3rem/1.2 var(--ff-d);color:#fff}
.cov__c span{font-size:.88rem;color:#cdb98f}
.cov__c:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold2),0 20px 40px -24px rgba(236,212,143,.5)}
.ftr__cov{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-size:.82rem;color:var(--mute)}
.ftr__cov a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:#d9c99f}
.ftr__cov a:hover{color:var(--gold2)}

/* marca Legado Real */
.hdr .brand img{width:60px;height:60px;object-fit:contain}
.ftr .brand img{width:72px;height:72px;object-fit:contain}
.brand__t span{white-space:nowrap}
@media(max-width:480px){.hdr .brand img{width:52px;height:52px}.brand__t span{font-size:.55rem;letter-spacing:.14em}.brand__t b{font-size:1.05rem}}

/* ===== V7 · planes compactos, logo en el portal ===== */
.pmini{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1100px;margin:0 auto}
.pmini__c{display:grid;gap:6px;align-content:start;padding:22px 20px;min-height:44px;border-radius:18px;background:linear-gradient(165deg,#32091a,#170509);box-shadow:inset 0 0 0 1px rgba(236,212,143,.28);transition:transform .35s var(--ease),box-shadow .35s}
.pmini__c--hi{background:linear-gradient(165deg,#6b1426,#2a0912 70%);box-shadow:inset 0 0 0 1.5px var(--gold2)}
.pmini__t{font:500 .64rem/1.3 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.pmini__c b{font:500 1.35rem/1.15 var(--ff-d);color:#fff}
.pmini__c strong{font:500 1.5rem/1.1 var(--ff-d);color:var(--gold2)}
.pmini__c em{font:500 .78rem/1 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:#cdb98f;margin-top:6px}
.pmini__c:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold2),0 22px 44px -26px rgba(236,212,143,.5)}
@media(max-width:920px){.pmini{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.pmini{gap:10px}.pmini__c{padding:18px 14px}.pmini__c b{font-size:1.12rem}}
.tp__logo{position:absolute;top:max(58px,7svh);left:50%;width:clamp(72px,11svh,112px);height:auto;transform:translateX(-50%);z-index:2;pointer-events:none;opacity:var(--o,0);transition:opacity .5s;filter:drop-shadow(0 6px 24px #000)}
.pmini__c ul{list-style:none;margin:10px 0 6px;padding:12px 0 0;border-top:1px solid rgba(236,212,143,.22);display:grid;gap:7px;font-size:.88rem;line-height:1.35;color:#d8cbb0}
.pmini__c li{position:relative;padding-left:18px}
.pmini__c li::before{content:"♪";position:absolute;left:0;color:var(--gold)}
.pmini__c em{margin-top:auto}
@media(max-width:420px){.pmini__c ul{font-size:.8rem}}
.pmini__c{grid-template-rows:2.6em auto auto 1fr auto;align-content:stretch}
.pmini__t{align-self:start}
.pmini__c ul{align-self:start}

/* ===== V8 · todos los planes iguales; el "resaltado" aparece al pasar el cursor o al verlo en pantalla ===== */
.plan,.pmini__c{isolation:isolate}
.plan,.pmini__c{background:linear-gradient(170deg,rgba(60,14,26,.55),rgba(14,10,9,.94));box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -50px #000}
.plan::before,.pmini__c::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(170deg,#6b1426,#2a0912 62%,#120a0b);opacity:0;transition:opacity .5s var(--ease)}
.plan>*,.pmini__c>*{position:relative;z-index:1}
.plan>.plan__art,.pmini__c>.pmini__art{position:absolute;z-index:0}
.plan__art,.pmini__art{opacity:.28;transition:opacity .5s,transform .7s var(--ease)}
.pmini__art{right:-10px;top:-8px;width:96px;pointer-events:none}
.pmini__c{position:relative;overflow:hidden}
.plan:hover,.plan.is-active,.plan.is-sel,.pmini__c:hover,.pmini__c.is-active{box-shadow:inset 0 0 0 1.5px var(--gold2),0 50px 100px -50px rgba(200,162,74,.4);transform:translateY(-8px)}
.plan:hover::before,.plan.is-active::before,.plan.is-sel::before,.pmini__c:hover::before,.pmini__c.is-active::before{opacity:1}
.plan:hover .plan__art,.plan.is-active .plan__art,.plan.is-sel .plan__art,.pmini__c:hover .pmini__art,.pmini__c.is-active .pmini__art{opacity:.8;transform:scale(1.06) rotate(-2deg)}
.pmini__c:hover,.pmini__c.is-active{transform:translateY(-6px)}
@media(max-width:560px){.pmini{grid-template-columns:1fr}}
@media(hover:none),(max-width:920px){.plan:hover:not(.is-active):not(.is-sel){transform:none;box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -50px #000}.plan:hover:not(.is-active):not(.is-sel)::before{opacity:0}.plan:hover:not(.is-active):not(.is-sel) .plan__art{opacity:.28;transform:none}}
.plan:hover .btn--ghost,.plan.is-active .btn--ghost,.plan.is-sel .btn--ghost{background:linear-gradient(120deg,#b38a36,#ecd48f 50%,#c9a24a);color:var(--ink);box-shadow:none}
.card__art img{object-position:50% 18%}

/* V9 — títulos con movimiento: palabras que suben con desenfoque, brillo dorado y filete que se dibuja */
.tw{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .16em;margin:-.04em -.02em -.16em}
.tw>i{display:inline-block;font-style:inherit;transform:translateY(108%) rotate(4deg);transform-origin:0 100%;opacity:0;filter:blur(10px);letter-spacing:.06em;transition:transform 1.15s var(--ease),opacity .9s var(--ease),filter 1s var(--ease),letter-spacing 1.3s var(--ease);transition-delay:calc(var(--wi,0)*.075s + var(--d,0s))}
.in .tw>i,.tw-go .tw>i{transform:none;opacity:1;filter:none;letter-spacing:0}
.gold-split{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:inherit!important}
.tw>i.gold{background:linear-gradient(100deg,#9a7430 0%,#ecd48f 30%,#fff3c4 46%,#c8a24a 60%,#f6e4a8 80%,#a67f35 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:goldsweep 5.5s ease-in-out infinite;animation-delay:calc(var(--wi,0)*.25s)}
@keyframes goldsweep{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.h-lg.tw-h::after,.sec__hd .h-lg.tw-h::after{content:"";display:block;height:2px;width:0;margin:22px auto 0;background:linear-gradient(90deg,transparent,#ecd48f,transparent);transition:width 1.4s var(--ease) .5s;opacity:.9}
.split .h-lg.tw-h::after{margin-left:0;background:linear-gradient(90deg,#ecd48f,transparent)}
.h-lg.tw-h.in::after{width:min(180px,40%)}
@media (prefers-reduced-motion:reduce){.tw>i{transform:none;opacity:1;filter:none;letter-spacing:0;transition:none}.tw>i.gold{animation:none}.h-lg.tw-h::after{width:120px;transition:none}}
.no-js .tw>i{transform:none;opacity:1;filter:none}

/* V10 — divisores con filigrana dorada barroca (mismo bordado, en miniatura y repetido) */
.divider .greca{display:none}
.divider::before,.divider::after{content:"";flex:1;max-width:460px;height:30px;background:url(../img/bordado.svg) repeat-x center/auto 30px;transition:clip-path 1.8s var(--ease)}
.divider::before{clip-path:inset(0 0 0 100%)}
.divider::after{clip-path:inset(0 100% 0 0)}
.divider.in::before,.divider.in::after,.no-js .divider::before,.no-js .divider::after{clip-path:inset(0)}
@media (prefers-reduced-motion:reduce){.divider::before,.divider::after{clip-path:inset(0);transition:none}}

/* V11 — tira de fotos infinita · videos con borde dorado y realce · "La cuerda" (indicador de lectura) */
.mq{overflow:hidden;margin-top:clamp(28px,4vw,54px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq__t{display:flex;gap:clamp(12px,1.4vw,20px);width:max-content;animation:mq 95s linear infinite;will-change:transform}
.mq:hover .mq__t,.mq:focus-within .mq__t{animation-play-state:paused}
.mq figure{margin:0;flex:none;height:clamp(240px,34vw,420px);border-radius:10px;overflow:hidden;position:relative;box-shadow:inset 0 0 0 1px var(--line),0 24px 50px -30px #000}
.mq figure::after{content:"";position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 0 1.5px rgba(200,162,74,.45);pointer-events:none}
.mq button{display:block;height:100%;cursor:zoom-in}
.mq img{height:100%;width:auto;max-width:none;display:block;transition:transform 1.2s var(--ease),filter .5s}
.mq figure:hover img{transform:scale(1.05)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq{overflow-x:auto}.mq__t{animation:none}}

.vid{box-shadow:inset 0 0 0 1px var(--line);transition:transform .7s var(--ease),box-shadow .7s var(--ease),opacity .6s,filter .6s}
.vid::after{content:"";position:absolute;inset:0;border-radius:16px;padding:1.5px;background:linear-gradient(150deg,#f6e4a8,#9a7430 40%,#ecd48f 70%,#a67f35);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.55;transition:opacity .6s;z-index:3}
.vid.is-live{transform:translateY(-6px) scale(1.025);box-shadow:0 0 0 1px rgba(236,212,143,.5),0 0 38px 4px rgba(236,212,143,.35),0 34px 70px -24px #000;z-index:2}
.vid.is-live::after{opacity:1;padding:2.5px;animation:livepulse 2.6s ease-in-out infinite}
@keyframes livepulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5) drop-shadow(0 0 6px #ecd48f)}}
.vids:has(.is-live) .vid:not(.is-live){opacity:.45;filter:saturate(.6) brightness(.8)}
@media (prefers-reduced-motion:reduce){.vid.is-live{transform:none}.vid.is-live::after{animation:none}}

@keyframes cwob{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}

/* V12 — logo grande en la transición · textos centrados en CTA · recibo y salida a WhatsApp */
.curtain__seal{width:clamp(170px,34vw,260px);height:auto}
.curtain__seal img,.curtain__seal svg{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 30px rgba(0,0,0,.55))}
.btn,.cta,.cta .wrap,.hero__cta,.ftr__web,.qbar,.q__btns .btn,.plan .btn,.pmini .btn{text-align:center}
.btn{justify-content:center}
.cta .wrap,.ftr__web{display:block;margin-inline:auto}
.cta p,.cta h2,.cta .eyebrow{text-align:center;margin-inline:auto}
.hero__cta{justify-content:center}
.q__ok{text-align:center}
.q__ok .q__okb{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px}
.q__ok .q__new{background:none;border:1px solid rgba(236,212,143,.4);color:var(--gold2,#ecd48f);padding:.9em 1.4em;border-radius:999px;font:600 .78rem/1 var(--ff-b,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.q__ok .q__cd{display:inline-block;min-width:1ch;font-weight:700;color:#fff}

/* V13 — ventana "¿restablecer cotización?" */
.rs{border:0;padding:0;background:transparent;max-width:min(92vw,460px);color:var(--ivory,#f6efe0)}
.rs::backdrop{background:rgba(6,3,4,.72);backdrop-filter:blur(3px)}
.rs__in{position:relative;text-align:center;padding:34px 28px 28px;border-radius:18px;background:radial-gradient(120% 90% at 50% 0%,#5b1224,#2a0912 60%,#120a0b);box-shadow:inset 0 0 0 1.5px rgba(200,162,74,.6),0 40px 90px -30px #000;animation:rsin .5s var(--ease) both}
.rs__in::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:30px;background:url(../img/bordado.svg) repeat-x center/auto 30px;opacity:.85;transform:translateY(-50%)}
@keyframes rsin{from{opacity:0;transform:translateY(16px) scale(.97)}}
.rs__k{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 10px;border-radius:50%;color:#1a1208;font-size:22px;background:linear-gradient(150deg,#f6e4a8,#c8a24a 55%,#8a621a)}
.rs h3{margin:0 0 10px;font:500 1.55rem/1.2 var(--ff-d,Georgia,serif);color:#fff1c9}
.rs p{margin:0 0 22px;color:rgba(246,239,224,.86);line-height:1.55}
.rs__b{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rs__x{position:absolute;right:10px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(200,162,74,.45);background:rgba(10,8,7,.5);color:var(--gold2,#ecd48f);font-size:22px;line-height:1;cursor:pointer}
@media (prefers-reduced-motion:reduce){.rs__in{animation:none}}

/* V14 — pie de página con trompeta difuminada · aviso del sitio con brillo de lujo */
.ftr{position:relative;overflow:hidden;isolation:isolate}
.ftr::before{content:"";position:absolute;z-index:-1;right:-6%;bottom:-8%;width:clamp(360px,52vw,760px);aspect-ratio:900/857;background:url(../img/trompeta-pie.webp) center/cover no-repeat;opacity:.34;filter:blur(1.2px) saturate(.9);-webkit-mask-image:radial-gradient(closest-side at 54% 52%,#000 18%,rgba(0,0,0,.55) 52%,transparent 100%);mask-image:radial-gradient(closest-side at 54% 52%,#000 18%,rgba(0,0,0,.55) 52%,transparent 100%);pointer-events:none}
.ftr::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#070504 0%,rgba(7,5,4,.55) 45%,transparent 80%);pointer-events:none}
@media (max-width:760px){.ftr::before{width:120vw;right:-30%;bottom:-4%;opacity:.26}}

.ftr__web{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;overflow:hidden;border:1px solid rgba(255,244,200,.7);box-shadow:0 0 0 1px rgba(154,116,48,.7),0 14px 40px -12px rgba(236,212,143,.55),0 0 34px -4px rgba(236,212,143,.35),inset 0 1px 0 rgba(255,255,255,.65),inset 0 -8px 18px -8px rgba(138,98,26,.55);transition:transform .5s var(--ease),box-shadow .5s;animation:webglow 3.6s ease-in-out infinite}
.ftr__web::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-40%;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-18deg);animation:websheen 4.2s ease-in-out infinite;pointer-events:none}
.ftr__web b::before,.ftr__web b::after{content:"✦";display:inline-block;margin:0 .55em;font-size:.7em;vertical-align:.12em;color:#7a5513;animation:webtw 2.4s ease-in-out infinite}
.ftr__web b::after{animation-delay:1.2s}
.ftr__web:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 0 0 1px rgba(154,116,48,.8),0 20px 50px -12px rgba(236,212,143,.8),0 0 50px -2px rgba(236,212,143,.55),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -8px 18px -8px rgba(138,98,26,.55)}
@keyframes websheen{0%,55%{left:-40%}100%{left:130%}}
@keyframes webglow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
@keyframes webtw{0%,100%{opacity:.45;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.ftr__web,.ftr__web::after,.ftr__web b::before,.ftr__web b::after{animation:none}}
@media (max-width:480px){.ftr__web b::before,.ftr__web b::after{display:none}}

/* V15 — tira arrastrable */
.mq--js .mq__t{animation:none;transform:translate3d(0,0,0)}
.mq--js{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.mq--js.is-drag{cursor:grabbing}
.mq--js img{-webkit-user-drag:none;pointer-events:none}
.mq--js button{cursor:inherit}

/* V16 — aviso de cookies · política legal · enlaces del pie */
.ck{position:fixed;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:9000;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.ck.on{opacity:1;transform:none}
html.tp-on:not(.tp-done) .ck{visibility:hidden}
.ck__in{position:relative;pointer-events:auto;width:min(100%,640px);padding:22px 24px 20px;border-radius:18px;color:#f6efe0;background:radial-gradient(120% 120% at 50% 0%,#4a0f1f,#220810 62%,#0f0809);box-shadow:inset 0 0 0 1.5px rgba(200,162,74,.6),0 30px 80px -20px #000,0 0 40px -10px rgba(236,212,143,.35)}
.ck__in::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:26px;background:url(../img/bordado.svg) repeat-x center/auto 26px;opacity:.9;transform:translateY(-50%)}
.ck__h{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.ck__n{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;color:#1a1208;font-size:17px;background:linear-gradient(150deg,#f6e4a8,#c8a24a 55%,#8a621a)}
.ck h2{margin:0;font:500 1.3rem/1.2 var(--ff-d,Georgia,serif);color:#fff1c9}
.ck__p{margin:0 0 14px;font-size:.92rem;line-height:1.55;color:rgba(246,239,224,.86)}
.ck__p a{color:var(--gold2,#ecd48f);text-decoration:underline;text-underline-offset:3px}
.ck__x{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(200,162,74,.4);background:rgba(10,8,7,.5);color:var(--gold2,#ecd48f);font-size:21px;line-height:1;cursor:pointer}
.ck__cfg{display:grid;gap:10px;margin:0 0 16px;padding:14px;border-radius:12px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(200,162,74,.25)}
.ck__cfg[hidden]{display:none}
.ck__r{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.ck__r input{margin-top:4px;width:18px;height:18px;accent-color:#c8a24a;flex:none}
.ck__r b{display:block;font-size:.92rem;color:#fff1c9}
.ck__r small{display:block;font-size:.8rem;line-height:1.4;color:rgba(246,239,224,.7)}
.ck__b{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.ck__b .btn{padding:.9em 1.4em;font-size:.74rem}
.ck__set{background:none;border:0;color:var(--gold2,#ecd48f);font:600 .76rem/1 var(--ff-b,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;padding:12px 8px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
@media (max-width:520px){.ck__b .btn{flex:1 1 100%}.ck__in{padding:22px 18px 16px}}
@media (prefers-reduced-motion:reduce){.ck{transition:none;transform:none}}

.ftr__c{flex-wrap:wrap;gap:10px 22px}
.ftr__l{display:inline-flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.ftr__l a,.ftr__l button{background:none;border:0;padding:0;color:var(--gold2,#ecd48f);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:0}
.legal{padding-top:clamp(20px,4vw,50px)}
.legal__w{max-width:860px}
.legal h2{font:500 clamp(1.4rem,2.6vw,1.9rem)/1.2 var(--ff-d,Georgia,serif);color:#fff1c9;margin:2.2em 0 .6em}
.legal p{color:rgba(246,239,224,.86);line-height:1.7}
.legal__d{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2,#ecd48f)}
.legal a{color:var(--gold2,#ecd48f)}
.legal code{font-size:.85em;color:#f6e4a8}
.legal__t{overflow-x:auto;margin:1em 0;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(200,162,74,.35)}
.legal table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:680px}
.legal th{text-align:left;padding:12px 14px;font:600 .72rem/1 var(--ff-b,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2,#ecd48f);background:rgba(200,162,74,.08)}
.legal td{padding:12px 14px;border-top:1px solid rgba(200,162,74,.18);color:rgba(246,239,224,.82);vertical-align:top}
/* V17 chips con artista */
.chip--a{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;border-radius:16px;text-align:left}
.chip small{font:500 .68rem/1.1 var(--ff-b);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);opacity:.85}
.chip[aria-pressed="true"] small{color:var(--ink);opacity:.75}

/* V18 aviso de cookies sutil */
.ck{left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));justify-content:flex-end}
.ck__in{width:min(100%,400px);padding:12px 14px 12px 16px;border-radius:14px;display:flex;align-items:center;gap:14px;background:rgba(18,9,10,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(200,162,74,.35),0 14px 40px -14px #000}
.ck__in::before{display:none}
.ck__p{margin:0;flex:1;font-size:.78rem;line-height:1.4;color:rgba(246,239,224,.8)}
.ck__b{flex:none;flex-wrap:nowrap;gap:6px}
.ck__b .btn{padding:.7em 1.1em;font-size:.68rem;min-height:40px}
.ck__no{background:none;border:0;color:rgba(246,239,224,.7);font:600 .7rem/1 var(--ff-b,Inter,sans-serif);letter-spacing:.1em;text-transform:uppercase;padding:12px 8px;cursor:pointer}
.ck__no:hover{color:#ecd48f}
@media (max-width:520px){.ck{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.ck__in{width:100%;padding:10px 10px 10px 14px}.ck__b .btn{flex:none}}
/* V19 aviso de cookies centrado */
.ck{inset:0;left:0;right:0;bottom:0;align-items:center;justify-content:center;transform:scale(.96)}
.ck.on{transform:none}
.ck__in{width:min(100% - 32px,420px);flex-direction:column;text-align:center;gap:14px;padding:20px 20px 16px}
.ck__p{flex:none}
.ck__b{justify-content:center;gap:10px}
@media (max-width:520px){.ck{left:0;right:0;bottom:0}.ck__in{width:min(100% - 32px,420px);padding:18px 16px 14px}}

/* =====================================================================
   V20 · Composición compacta, imágenes completas y nítidas, bordados en el borde
   ===================================================================== */
:root{--wrap:min(1140px,100% - 2*clamp(20px,4vw,48px))}
/* menú siempre disponible y legible */
.hdr{background:rgba(10,8,7,.95);box-shadow:0 1px 0 var(--line)}
html.tp-on:not(.tp-done) .hdr{opacity:1;pointer-events:auto}
/* imágenes: completas y sin estirarse más allá de su resolución */
.frame{width:fit-content;max-width:100%;margin-inline:auto}
.frame img{width:auto;max-width:100%;max-height:min(68vh,560px);height:auto;aspect-ratio:auto;object-fit:contain;image-rendering:auto}
.frame--tilt{transform:rotate(-1deg)}.frame--tilt2{transform:rotate(1deg)}
img{image-rendering:auto}
.strip{padding-block:4px 18px}
.strip figure{width:auto;height:clamp(230px,24vw,330px);aspect-ratio:auto}
.strip figure:nth-child(even){margin-top:0}
.strip img{width:auto;height:100%;max-width:none}
.ros__c img{aspect-ratio:4/5}
/* espacios */
.sec{padding-block:clamp(36px,4.4vw,64px)}
.sec__hd{margin-bottom:clamp(22px,3vw,36px)}
.sec__hd p{margin-top:12px}
.sec__hd .eyebrow{margin-bottom:12px}
.h-lg{font-size:clamp(2rem,3.7vw,3.1rem)}
.h-lg[style*="margin"]{margin-top:12px!important}
.lead{font-size:clamp(1rem,1.25vw,1.14rem)}
body{font-size:1rem;line-height:1.6}
.split{gap:clamp(24px,4vw,56px)}
.split .h-lg{margin:12px 0 14px!important}
.hero--ph{min-height:min(100svh,780px)}
.hero--ph h1{font-size:clamp(3.4rem,7.4vw,6.6rem)}
.hero--ph .hero__sub{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-top:12px}
.hero--ph .hero__in{padding:calc(var(--hh) + 5vh) 0 clamp(70px,10vh,100px)}
.phero{padding:calc(var(--hh) + clamp(28px,4vw,52px)) 0 clamp(52px,5vw,68px)}
.phero h1{font-size:clamp(2.6rem,5.6vw,4.6rem)!important}
.phero .lead{margin-top:14px}
.band__i{padding:clamp(18px,2.4vw,30px) 14px}
.band__n{font-size:clamp(1.9rem,3.2vw,2.7rem)}
.cifras__i b{font-size:clamp(4rem,10vw,8rem)}
.sec--red .bord--t{margin-bottom:clamp(22px,3vw,40px)}.sec--red .bord--b{margin-top:clamp(22px,3vw,40px)}
.quote{font-size:clamp(1.5rem,2.8vw,2.3rem)}
/* los cuatro actos: 2×2 compacto */
.acts{grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,40px) clamp(24px,3.4vw,48px);margin-top:0}
.acts::before,.acts::after,.act::before{display:none}
.act{display:flex;flex-direction:column-reverse;gap:16px;align-items:stretch;grid-template-columns:none}
.act:nth-child(even) .act__t{order:0}
.act__n{display:none}
.act h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:8px}
.act .script{font-size:1.4rem;margin-bottom:4px}
.act p{max-width:none;margin:0;font-size:.98rem}
.act__m{display:flex;justify-content:center}
.act .frame img{max-height:300px}
.arch{width:min(100%,250px)}
/* escena, cierre, vip, vídeos, ocasiones */
.scene{padding-block:clamp(26px,3.4vw,50px)}
.scene__fr{width:min(1140px,100% - 2*clamp(20px,4vw,48px));aspect-ratio:16/7}
.scene__t p{font-size:clamp(2rem,4.6vw,4rem)}
.clos{min-height:0;display:block;padding-block:clamp(36px,4.4vw,64px);background:radial-gradient(90% 120% at 100% 50%,rgba(107,20,38,.45),transparent 70%)}
.clos::before{display:none}
.clos__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
.clos__t{width:auto;margin:0;padding:0}
.clos__t p{font-size:clamp(1.7rem,3.2vw,2.7rem);max-width:none;margin:8px 0 22px}
.clos .frame img{max-height:min(60vh,440px)}
.vip__g{max-width:900px;margin-inline:auto;margin-top:clamp(18px,2.4vw,30px)}
.vip__f--a,.vip__f--c{transform:translateY(18px) rotate(-1deg)}.vip__f--c{transform:translateY(18px) rotate(1deg)}
.vids{max-width:900px;margin-inline:auto}
.occl__l{margin-top:clamp(16px,2.4vw,28px)}
.occl__l a{padding:clamp(12px,1.6vw,20px) 4px}
.occl__t{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.plans__n{margin-top:22px}
.cta{padding-block:clamp(36px,4.4vw,60px)}
.cta p{margin:14px auto 22px}
.lant{max-width:440px}
.tst__g,.ros__g{margin-top:clamp(18px,2.4vw,30px)}
.ftr{padding-top:clamp(26px,3.4vw,44px)}
/* bordados pegados al borde de cada sección */
.phero .divider{position:absolute;inset:auto 0 0 0;margin:0;gap:0;justify-content:center;z-index:1}
.phero .divider::before,.phero .divider::after{max-width:none;flex:1;height:34px;background-size:auto 34px}
.phero .divider .art,.phero .divider svg{display:none}
.sec .divider,.cta .divider{display:none}
.sec--alt,.band,.cta,.ftr{position:relative}
.sec--alt::before,.cta::before{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:url(../img/bordado.svg) repeat-x center/auto 30px;opacity:.9;pointer-events:none;z-index:1}
.sec--alt{padding-top:clamp(52px,5.4vw,76px)}
.cta{padding-top:clamp(56px,5.6vw,80px)}
.sec--red{padding-block:0}
.sec--red .bord{position:absolute;left:0;right:0;margin:0;height:34px}
.sec--red .bord--t{top:0}.sec--red .bord--b{bottom:0}
.sec--red .wrap{padding-block:clamp(56px,5.6vw,80px)}
@media (max-width:860px){
  .acts{grid-template-columns:1fr}
  .clos__g{grid-template-columns:1fr}
  .sec--alt{padding-top:60px}
  .frame img{max-height:none}
}
@media (min-width:861px){
  .scene{position:relative}
  .scene__t{position:absolute;left:0;right:0;bottom:clamp(40px,5vw,72px);margin:0;display:block}
  .scene__t p{margin-top:6px}
}
@media (min-width:861px){
  .pil{grid-template-columns:repeat(5,1fr)!important}
  .gen{grid-template-columns:repeat(12,1fr)}
  .gen__c{grid-column:span 4;padding:24px 22px}
  .gen__c:nth-child(4){grid-column:1/-1}
  .gen__c:nth-child(n+5){grid-column:span 3}
  .gen__c h3{font-size:1.7rem}.gen__c .script{font-size:1.3rem;margin-bottom:12px}
}
.ftr{background:#070504 url(../img/bordado.svg) repeat-x top center/auto 30px;padding-top:clamp(44px,4.4vw,60px)}
@media (min-width:861px){#videos .vids{max-width:none;grid-template-columns:repeat(4,1fr)}}
@media (min-width:861px){.scene__t{left:max(36px,calc((100% - 1140px)/2 + 40px));right:auto;width:auto}}
@media (min-width:861px){
  .scene__t{position:relative;left:auto!important;right:auto;bottom:auto;width:var(--wrap);margin:16px auto 0;opacity:1;transform:none}
  .scene__t br{display:none}
  .scene__t p{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:6px 0 0}
  .scene{padding-bottom:clamp(22px,3vw,40px)}
}
/* V21 · foto del grupo completa con marco de lujo */
.scene__ft{position:relative;width:min(var(--wrap),calc(76svh*1.22));margin:0 auto;padding:12px;border-radius:10px;
  background:linear-gradient(150deg,#f6e4a8,#c8a24a 22%,#6a4c16 48%,#ecd48f 72%,#9a7430);
  box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 0 3px rgba(236,212,143,.28),0 40px 90px -30px #000,0 0 80px -20px rgba(200,162,74,.4);
  opacity:calc(.25 + var(--p)*1.2);transform:translateY(calc((1 - var(--p))*36px)) scale(calc(.94 + .06*var(--p)))}
.scene__ft::before{content:"";position:absolute;inset:5px;border-radius:6px;border:1px solid rgba(26,18,8,.65);pointer-events:none;z-index:2}
.scene__ft::after{content:"";position:absolute;inset:-12px;border:1px solid var(--line);border-radius:18px;pointer-events:none}
.scene .scene__fr{width:100%;aspect-ratio:1200/983;border-radius:4px;clip-path:inset(calc((1 - var(--p))*10%) calc((1 - var(--p))*8%) round 4px);box-shadow:none}
.scene .scene__fr>img{object-position:50% 50%;transform:scale(calc(1.1 - .1*var(--p)))}
.scene__fr::after{box-shadow:inset 0 0 60px 6px rgba(5,4,4,.35)}
@media (max-width:860px){.scene__ft{width:min(100% - 28px,calc(76svh*1.22));padding:8px}}
.scene .scene__fr>img{filter:saturate(1.05) contrast(1.04) brightness(1.04)}
.scene .scene__tone{opacity:.3}.scene .scene__fr::after{box-shadow:inset 0 0 40px 2px rgba(5,4,4,.25)}
/* V22 · menú fijo a prueba de navegadores */
html,body{overflow-x:clip}
.hdr{position:fixed!important;top:0!important;left:0;right:0;z-index:1000}
.progress{z-index:1001}
/* V23 · repertorio en lista ordenada con casilla */
.gen{gap:clamp(22px,3vw,40px) clamp(24px,3vw,44px)}
.gen__c{padding:0!important;background:none!important;box-shadow:none!important;border-radius:0}
.gen__c h3{padding-bottom:6px;margin-bottom:2px}
.gen__c .script{margin-bottom:10px!important}
.gen__c::before{content:"";display:block;height:1px;margin-bottom:12px;background:linear-gradient(90deg,var(--gold),transparent);order:-1}
.gen__c{display:flex;flex-direction:column}
.gen__c h3{order:-1}
.chips:has(.chip--row){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:0 24px}
.gen__c:nth-child(-n+3) .chips{grid-template-columns:1fr}
.chip.chip--row{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 2px;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid rgba(200,162,74,.16);text-align:left;color:#ead9b1;transform:none;transition:background .3s,color .3s}
.chip.chip--row:hover{background:rgba(200,162,74,.07);transform:none;box-shadow:none;border-bottom-color:rgba(200,162,74,.16)}
.chip--row .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.chip--row b{font:500 1rem/1.25 var(--ff-b);text-decoration:underline;text-decoration-color:rgba(200,162,74,.55);text-decoration-thickness:1px;text-underline-offset:4px}
.chip--row small{font:500 .66rem/1.1 var(--ff-b);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.85;text-decoration:none}
.chip--row .chk{position:relative;flex:none;width:20px;height:20px;border-radius:5px;box-shadow:inset 0 0 0 1.5px var(--gold);background:rgba(10,8,7,.4);transition:background .25s,box-shadow .25s,transform .3s var(--ease)}
.chip--row .chk::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--ease)}
.chip.chip--row[aria-pressed="true"]{background:rgba(200,162,74,.1);color:var(--gold2);font-weight:inherit}
.chip--row[aria-pressed="true"] .chk{background:linear-gradient(135deg,#f6e4a8,#c8a24a);box-shadow:none;transform:scale(1.1)}
.chip--row[aria-pressed="true"] .chk::after{transform:rotate(45deg) scale(1)}
.chip--row[aria-pressed="true"] small{color:var(--gold2)}
.qs .chips:has(.chip--row){grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
@media (min-width:861px){
  .gen__c:nth-child(-n+3) .chips{grid-template-columns:1fr}
  .gen__c:nth-child(4) .chips{grid-template-columns:repeat(4,1fr)}
  .gen__c:nth-child(n+5) .chips{grid-template-columns:1fr}
}
@media (max-width:860px){.gen__c .chips{grid-template-columns:1fr}.gen__c:nth-child(4) .chips{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.gen__c:nth-child(4) .chips{grid-template-columns:1fr}}
/* V24 · el menú móvil debe cubrir toda la pantalla (backdrop-filter/transform en .hdr lo encerraban) */
@media (max-width:920px){
  .hdr,.hdr.is-solid{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important;will-change:auto}
  .hdr,.hdr.is-solid{background:rgba(10,8,7,.96)}
  .nav{height:100dvh;max-height:100dvh;overflow-y:auto;justify-content:center}
}
@media (max-width:920px) and (max-height:520px){
  .nav{justify-content:flex-start;padding-top:calc(var(--hh) + 6px);padding-bottom:20px;gap:0}
  .nav a:not(.btn){font-size:1.35rem!important;padding:.2em 0!important}
  .nav .btn{margin-top:10px}
}

/* V25 frase en una sola línea */
.quote{max-width:none}
.quote em{display:block;white-space:nowrap;font-size:min(1em,calc((100vw - 44px)/24))}

/* V26 escarcha */
.frost{position:fixed;inset:0;z-index:60;pointer-events:none;mix-blend-mode:screen}

/* V27 cierre: 20 grande dorado y bloque centrado */
.clos__t{text-align:center}
.clos__n b{display:block;font:600 clamp(6.5rem,15vw,12rem)/.86 var(--ff-d);letter-spacing:-.02em;background:linear-gradient(110deg,#8a6420 0%,#e8c46f 22%,#fff6cf 42%,#e8c46f 58%,#a47a2a 80%,#e8c46f 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 8px 28px rgba(212,168,75,.38));animation:goldshine 6s linear infinite}
.clos__n .script{display:block;margin-top:6px;font-size:clamp(1.6rem,3.4vw,2.5rem);color:var(--gold2)}
.clos__t p{margin-inline:auto;text-align:center}
.clos__t .btn{margin-inline:auto}
@keyframes goldshine{to{background-position:-240% 0}}
@media (prefers-reduced-motion:reduce){.clos__n b{animation:none}}

/* V28 "años tocando corazones" protagonista */
.clos__n .script{margin-top:4px;font-size:clamp(2.5rem,5.2vw,4.4rem);line-height:1.05;color:#f3d787;text-shadow:0 0 28px rgba(212,168,75,.45),0 2px 0 rgba(0,0,0,.35)}

/* V29 cotizador simplificado: 3 pasos, canciones en bloques y tarjeta vino */
.qsg{border-bottom:1px solid rgba(200,162,74,.18);padding:0}
.qsg>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:48px;padding:6px 2px}
.qsg>summary::-webkit-details-marker{display:none}
.qsg>summary h4{margin:0}
.qsg>summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .3s;margin-left:auto;margin-right:4px}
.qsg[open]>summary::after{transform:rotate(-135deg)}
.qsg__n{order:2;font:500 .72rem/1 var(--ff-b);letter-spacing:.12em;color:var(--mute,#a89a7c);padding:.35em .7em;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(200,162,74,.25)}
.qsg__n.on{color:var(--ink);background:linear-gradient(135deg,#b38a36,#ecd48f);box-shadow:none}
.qsg .chips{padding:2px 0 14px}
.qcount{position:sticky;top:calc(var(--hh) + 6px);z-index:6;padding:12px 14px;margin:0 0 10px;border-radius:14px;background:rgba(20,10,12,.94);box-shadow:inset 0 0 0 1px rgba(200,162,74,.28)}
.qsongs.is-full .chip[aria-pressed="false"]{opacity:.32;filter:saturate(.4)}
.qopt{margin-top:18px;border-top:1px solid rgba(200,162,74,.18);padding-top:6px}
.qopt>summary{cursor:pointer;min-height:46px;display:flex;align-items:center;font:500 .8rem/1.2 var(--ff-b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);list-style:none}
.qopt>summary::-webkit-details-marker{display:none}
.qopt>summary::after{content:"+";margin-left:auto;font-size:1.3rem;color:var(--gold)}
.qopt[open]>summary::after{content:"–"}
.qopt>summary em{margin-left:.5em;text-transform:none;letter-spacing:0;color:var(--mute,#a89a7c)}
body.qdone-on{overflow:hidden}
.qdone{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:18px;background:rgba(6,3,4,.72);opacity:0;transition:opacity .35s}
.qdone[hidden]{display:none}
.qdone.on{opacity:1}
.qdone__c{position:relative;width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;text-align:center;padding:56px 28px 46px;border-radius:14px;color:#f6ead0;background:radial-gradient(120% 90% at 50% 0%,#8a1b33 0%,#5b0f1f 55%,#3d0913 100%);box-shadow:0 40px 100px -20px #000,0 0 0 1px rgba(232,196,111,.55),inset 0 0 0 6px rgba(61,9,19,.9),inset 0 0 0 7px rgba(232,196,111,.35);transform:translateY(24px) scale(.96);transition:transform .5s cubic-bezier(.2,1.2,.3,1)}
.qdone.on .qdone__c{transform:none}
.qdone__t{position:absolute;left:0;right:0;top:0;height:34px;background:url(../img/bordado.svg) repeat-x top center/auto 30px;opacity:.95}
.qdone__t--b{top:auto;bottom:0;transform:scaleY(-1)}
.qdone__k{display:block;font:500 .7rem/1 var(--ff-b);letter-spacing:.26em;text-transform:uppercase;color:var(--gold2)}
.qdone__c h3{margin:12px 0 18px;font:500 clamp(1.7rem,5vw,2.3rem)/1.1 var(--ff-d);color:#fff6dc}
.qdone__r{margin:0 0 14px;display:grid;gap:6px}
.qdone__r div{display:flex;justify-content:space-between;gap:14px;padding:8px 2px;border-bottom:1px dashed rgba(232,196,111,.35);text-align:left}
.qdone__r dt{font:500 .68rem/1.4 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.qdone__r dd{margin:0;font:600 1rem/1.3 var(--ff-d);text-align:right}
.qdone__s{margin:0 0 20px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;text-align:left;font:400 .9rem/1.45 var(--ff-b);counter-reset:s}
.qdone__s li{counter-increment:s;padding:3px 0;border-bottom:1px solid rgba(232,196,111,.12)}
.qdone__s li::before{content:counter(s) ". ";color:var(--gold2)}
.qdone__b{display:grid;justify-items:center;gap:8px}
.qdone__b .btn{min-width:220px;justify-content:center}
@media (max-width:480px){.qdone__s{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.qdone,.qdone__c{transition:none}}

/* V30 Arma tu serenata unificado */
.qlim{display:grid;gap:12px;justify-items:start;margin:0 0 12px;padding:16px 18px;border-radius:14px;color:#f6ead0;background:linear-gradient(135deg,#6b1426,#4a0d1b);box-shadow:inset 0 0 0 1px rgba(232,196,111,.5)}
.qlim[hidden]{display:none}
.qlim p{margin:0;font:400 .95rem/1.5 var(--ff-b)}
.qlim b{color:var(--gold2);font-weight:600}
.qwine{position:relative;margin:6px 0 18px;padding:34px 18px 18px;border-radius:12px;background:radial-gradient(120% 100% at 50% 0%,#8a1b33,#5b0f1f 60%,#3d0913);box-shadow:inset 0 0 0 1px rgba(232,196,111,.55),0 18px 40px -20px #000;overflow:hidden}
.qwine::before{content:"";position:absolute;left:0;right:0;top:0;height:26px;background:url(../img/bordado.svg) repeat-x top center/auto 24px;opacity:.95}
.qwine label{display:block;margin:0 0 10px;font:500 .78rem/1.3 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.qwine input{width:100%;min-height:50px;padding:0 16px;border-radius:10px;border:1px solid rgba(232,196,111,.6);background:rgba(10,4,6,.55);color:#fff6dc;font:500 1.05rem/1 var(--ff-b)}
.qwine input::placeholder{color:rgba(246,234,208,.5)}
.qwine input:focus{outline:2px solid var(--gold2);outline-offset:2px}
.qhero{padding-block:calc(var(--hh) + clamp(28px,5vw,64px)) clamp(26px,4vw,48px)}

/* V31 videos del inicio: tira deslizable con ▶ visible, antes de los precios */
.vsec{position:relative;overflow:hidden;background:radial-gradient(90% 110% at 50% 0%,#6b1426 0%,#3d0913 55%,#14090c 100%)}
.vsec__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 50%,rgba(212,168,75,.10),transparent 70%)}
.vsec::before,.vsec::after{content:"";position:absolute;left:0;right:0;height:34px;background:url(../img/bordado.svg) repeat-x center/auto 30px;pointer-events:none;z-index:1}
.vsec::before{top:0}
.vsec::after{bottom:0;transform:scaleY(-1)}
.vsec .wrap{position:relative;z-index:2}
.vstrip{display:flex;gap:clamp(12px,1.6vw,18px);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:6px 4px 18px;scrollbar-width:thin;scrollbar-color:var(--gold3) transparent;outline:none}
.vstrip:focus-visible{box-shadow:0 0 0 2px var(--gold2);border-radius:14px}
.vstrip .vid{flex:0 0 clamp(148px,17vw,184px);aspect-ratio:9/16;scroll-snap-align:start;border-radius:14px;box-shadow:0 0 0 1px rgba(232,196,111,.45),0 18px 40px -18px #000}
.vstrip .vid img{display:block}
.vstrip .vid button{background:linear-gradient(180deg,rgba(10,8,7,.05) 30%,rgba(10,8,7,.55) 100%)}
.vstrip .vid .play{width:54px;height:54px;background:rgba(232,196,111,.94);box-shadow:0 0 0 6px rgba(232,196,111,.22),0 10px 26px rgba(0,0,0,.5);backdrop-filter:none}
.vstrip .vid .play svg{width:20px;height:20px;color:#2a1608;margin-left:3px}
.vstrip .vid button:hover .play{background:#fff1c4}
.vstrip .vid button:hover .play svg{color:#2a1608}
.vstrip .vid::after{display:none}
.vstrip.vstrip--s{}
@media (min-width:861px){.vstrip{justify-content:center;flex-wrap:nowrap}}
@media (max-width:480px){.vstrip .vid{flex-basis:44vw}}
.vstrip .vid button{display:block;width:100%;height:100%;padding:0}
.vstrip .vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vstrip .vid .play{position:absolute;left:50%;top:50%;margin:-27px 0 0 -27px;z-index:2}


/* V34 redes sociales en el pie + FAQ de una sola respuesta abierta */
.soc{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.soc a{width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid rgba(212,175,55,.45);color:var(--gold2,#ecd48f);background:rgba(212,175,55,.06);text-decoration:none;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.soc a:hover,.soc a:focus-visible{transform:translateY(-2px);background:rgba(212,175,55,.18);border-color:var(--gold2,#ecd48f);box-shadow:0 0 18px rgba(212,175,55,.25);outline:none}
.soc a:focus-visible{box-shadow:0 0 0 3px rgba(236,212,143,.55)}
.soc svg{width:20px;height:20px;display:block}
@media (prefers-reduced-motion:reduce){.soc a{transition:none}.soc a:hover{transform:none}}

/* V35 · Escucha al vocalista: botón desplegable con video en marco dorado */
.vox{position:fixed;left:clamp(14px,2.4vw,28px);bottom:calc(clamp(14px,2.4vw,28px) + 58px);z-index:104}
body.has-pick .vox{bottom:152px}
body.on-q .vox{bottom:146px}
.vox__t{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 14px;border-radius:999px;border:1px solid rgba(212,175,55,.55);background:rgba(10,8,7,.78);backdrop-filter:blur(8px);color:var(--gold2,#ecd48f);font:600 12px/1 var(--sans,system-ui),sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:background .3s,border-color .3s,transform .3s}
.vox__t:hover,.vox__t:focus-visible{background:rgba(40,14,18,.9);border-color:var(--gold2,#ecd48f);transform:translateY(-1px);outline:none;box-shadow:0 0 0 3px rgba(236,212,143,.35)}
.vox__ico{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f3d787,#b8902e);color:#2a1606}
.vox__ico svg{width:13px;height:13px}
.vox__chev{transition:transform .35s ease;margin-left:2px}
.vox--open .vox__chev{transform:rotate(180deg)}
.vox__p{position:absolute;left:0;bottom:calc(100% + 14px);width:clamp(190px,52vw,236px);opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);transform-origin:bottom left;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s .5s}
.vox--open .vox__p{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s}
.vox__frame{position:relative;padding:8px;border-radius:14px;background:linear-gradient(160deg,#3a0f17 0%,#1a0709 55%,#0c0404 100%);box-shadow:0 0 0 1px rgba(212,175,55,.75),0 0 0 4px #0a0807,0 0 0 5px rgba(212,175,55,.4),0 26px 60px rgba(0,0,0,.65),0 0 40px rgba(212,175,55,.12)}
.vox__frame::before,.vox__frame::after{content:"";position:absolute;left:14px;right:14px;height:12px;background:url(../img/bordado.svg) repeat-x center/auto 12px;opacity:.9;pointer-events:none}
.vox__frame::before{top:-7px}
.vox__frame::after{bottom:-7px;transform:scaleY(-1)}
.vox__frame video{display:block;width:100%;aspect-ratio:360/452;height:auto;border-radius:9px;background:#000;object-fit:cover;box-shadow:inset 0 0 0 1px rgba(212,175,55,.35)}
.vox__x{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold2,#ecd48f);background:#0c0605;color:var(--gold2,#ecd48f);font:400 22px/1 system-ui,sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.6);z-index:2;transition:background .25s,transform .25s}
.vox__x:hover,.vox__x:focus-visible{background:#2a0d12;transform:rotate(90deg);outline:none;box-shadow:0 0 0 3px rgba(236,212,143,.35)}
@media (prefers-reduced-motion:reduce){.vox__p,.vox__chev,.vox__x,.vox__t{transition:none!important;transform:none!important}}
@media (max-width:420px){.vox__t{height:40px;font-size:11px;padding:0 14px 0 10px}}

/* V36 · Entrada directa: trompeta estática, sin remolino ni notas; un toque o scroll entra al inicio */
.tp{height:100svh;background:#050909}
.tp__stage{position:relative;height:100svh;position:relative}
.tp__ph{position:absolute;inset:0;width:100%;height:100%;transform:none!important;animation:tpIn 1.2s ease both}
.tp__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@keyframes tpIn{from{opacity:0;transform:scale(1.04)!important}to{opacity:1;transform:none!important}}
.tp__cv,.tp__light,.tp__sky,.tp__dim,.tp__side,.tp__skip{display:none!important}
.tp__stage::after{opacity:.85!important}
.tp__txt{opacity:1!important;transform:none!important;bottom:calc(13svh + 40px)}
.tp__cue{opacity:1!important;pointer-events:auto!important}
html.tp-on:not(.intro-done) .tp__cue{opacity:1!important;pointer-events:auto!important}
.tp--out{opacity:0;transition:opacity .6s ease;pointer-events:none}
html.tp-done .tp{display:none}
@media (prefers-reduced-motion:reduce){.tp__ph{animation:none}}

/* V37 · Banner del vocalista minimizable (círculo igual al botón de sonido) · alineación consistente de encabezados */
.vox__bar{display:flex;align-items:center;gap:8px}
.vox__xs{width:30px;height:30px;border-radius:50%;border:1px solid rgba(212,175,55,.45);background:rgba(10,8,7,.8);color:var(--gold2,#ecd48f);font:400 18px/1 system-ui,sans-serif;display:grid;place-items:center;cursor:pointer;flex:none;padding:0;transition:border-color .25s,background .25s}
.vox__xs:hover,.vox__xs:focus-visible{border-color:var(--gold2,#ecd48f);background:#2a0d12;outline:none}
.vox__c{display:none;width:48px;height:48px;border-radius:50%;place-items:center;padding:0;border:0;background:rgba(10,8,7,.72);backdrop-filter:blur(8px);color:var(--gold2,#ecd48f);box-shadow:inset 0 0 0 1px rgba(212,175,55,.45);cursor:pointer;transition:box-shadow .3s,transform .4s}
.vox__c:hover,.vox__c:focus-visible{box-shadow:inset 0 0 0 1px var(--gold,#d4af37);transform:scale(1.06);outline:none}
.vox--mini .vox__bar{display:none}
.vox--mini .vox__c{display:grid}
.sec__hd.center{text-align:left;margin-inline:0}
.sec__hd.center .eyebrow::after{display:none}
.sec__hd.center .h-lg.tw-h::after{margin:22px 0 0}
html.tp-on:not(.tp-done) .vox{opacity:0;pointer-events:none;transition:opacity .4s ease}

/* V38 · Barrio y municipio: mismo campo que los demás, sin decoración */
.qwine{position:static;margin:20px 0 0;padding:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.qwine::before{display:none}
.qwine label{font:500 .72rem/1 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 0}
.qwine input{width:100%;padding:15px 16px;min-height:0;border-radius:10px;border:0;font:400 1rem/1.4 var(--ff-b);color:var(--ivory);background:rgba(244,236,217,.05);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,background .3s;color-scheme:dark}
.qwine input:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--gold2);background:rgba(244,236,217,.08)}
.qwine input::placeholder{color:rgba(244,236,217,.4)}

/* V39 · Barra de desplazamiento visible y táctil en todas las páginas */
html{scrollbar-width:thin;scrollbar-color:#b8902e #0a0807}
.srail{position:fixed;top:0;right:0;bottom:0;width:30px;z-index:90;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none}
.srail::before{content:"";position:absolute;top:0;bottom:0;right:13px;width:2px;background:rgba(212,175,55,.18)}
.srail__t{position:absolute;right:9px;top:0;width:8px;border-radius:8px;background:linear-gradient(180deg,#f3d787,#b8902e);box-shadow:0 0 14px rgba(212,175,55,.5);transition:width .25s ease,right .25s ease,box-shadow .25s ease;will-change:transform}
.srail:hover .srail__t,.srail.act .srail__t{width:12px;right:7px;box-shadow:0 0 22px rgba(236,212,143,.75)}
html.tp-on:not(.tp-done) .srail{display:none!important}

/* V40 · Menú flotante al hacer scroll: se despega del borde con esquinas redondeadas */
.hdr{transition:background .4s,backdrop-filter .4s,box-shadow .5s,top .5s var(--ease),left .5s var(--ease),right .5s var(--ease),border-radius .5s var(--ease),transform .5s var(--ease)}
.hdr.is-float{top:14px!important;left:clamp(12px,2.4vw,28px);right:clamp(12px,2.4vw,28px);border-radius:18px;background:rgba(10,8,7,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(212,175,55,.35),0 18px 40px -14px rgba(0,0,0,.75)}
.hdr.is-float .hdr__in{padding-inline:clamp(16px,2.2vw,30px)}
@media (max-width:920px){
  .hdr.is-float{top:10px!important;left:10px;right:10px;border-radius:16px;background:rgba(10,8,7,.96);-webkit-backdrop-filter:none;backdrop-filter:none}
  .menu-open .hdr.is-float{border-radius:0;top:0!important;left:0;right:0}
}

/* V41 · Una sola barra de desplazamiento: se oculta la nativa para no duplicar la personalizada */
html,body{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}

/* V42 · Inicio: solo la barra. Demás páginas: solo la nota musical, que desplaza igual que la barra y abre el video */
.srail--note{width:56px}
.srail--note::before{right:27px}
.srail--note .srail__t{right:3px;width:48px;height:48px!important;border-radius:50%;display:grid;place-items:center;padding:0;border:0;background:rgba(10,8,7,.8);backdrop-filter:blur(8px);color:var(--gold2,#ecd48f);box-shadow:inset 0 0 0 1px rgba(212,175,55,.55),0 8px 24px rgba(0,0,0,.45);cursor:pointer;transition:box-shadow .3s,background .3s}
.srail--note:hover .srail__t,.srail--note.act .srail__t{width:48px;right:3px;box-shadow:inset 0 0 0 1px var(--gold,#d4af37),0 0 22px rgba(212,175,55,.45)}
.srail--note .srail__t svg{width:20px;height:20px;display:block;pointer-events:none}
.srail--note .srail__t:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(236,212,143,.5)}
.vox{position:fixed;right:76px;bottom:96px;width:0;height:0;z-index:104;pointer-events:none}
.vox--open{pointer-events:auto}
.vox__p{position:absolute;right:0;bottom:0;width:clamp(190px,52vw,236px);opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);transform-origin:bottom right;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s .5s}
.vox--open .vox__p{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s}
@media (prefers-reduced-motion:reduce){.vox__p{transition:none!important;transform:none!important}}

/* V43 · La nota musical no queda tapada por el menú: su recorrido empieza debajo del encabezado y termina sobre el botón de WhatsApp */
.srail--note{top:calc(var(--hh) + 26px);bottom:92px;height:auto}
@media (max-width:920px){.srail--note{top:calc(var(--hh) + 22px)}}

/* V44 · Una sola nota dorada, de tamaño moderado, en páginas internas */
.srail--note .srail__t{width:44px!important;height:44px!important;right:6px;background:linear-gradient(150deg,#f6e4a8,#c8a24a 55%,#8a6a2a);color:#1a1208;box-shadow:0 0 0 2px rgba(10,8,7,.8),0 0 18px 3px rgba(236,212,143,.55);backdrop-filter:none;-webkit-backdrop-filter:none}
.srail--note:hover .srail__t,.srail--note.act .srail__t{width:44px!important;right:6px;background:linear-gradient(150deg,#fbeebb,#d9b25c 55%,#9a7430);box-shadow:0 0 0 2px rgba(10,8,7,.8),0 0 26px 5px rgba(236,212,143,.75)}
.srail--note .srail__t svg{width:18px;height:18px;color:#1a1208}

/* V45 · Botón del vocalista encima del botón de sonido (pastilla), minimizable a círculo del mismo tamaño; el video se despliega hacia arriba */
.vox{position:fixed;left:clamp(14px,2.4vw,28px);right:auto;bottom:calc(clamp(14px,2.4vw,28px) + 58px);width:auto;height:auto;z-index:104;pointer-events:none}
.vox--open{pointer-events:none}
.vox__bar{display:flex;align-items:center;gap:8px;pointer-events:auto}
.vox__t,.vox__xs,.vox__c{pointer-events:auto}
.vox__p{left:0;right:auto;bottom:calc(100% + 14px);width:clamp(190px,52vw,236px);transform-origin:bottom left}
.vox--mini .vox__bar{display:none}
.vox--mini .vox__c{display:grid;width:48px;height:48px}
.vox__c{pointer-events:auto}

/* V46 · El panel del vocalista recibe los toques cuando está abierto (reproducir, pausar y cerrar) */
.vox--open{pointer-events:auto}
.vox__p,.vox__p *{pointer-events:auto}
/* V47 · Video del vocalista: botón de reproducir dorado en el centro; desaparece mientras se reproduce */
.vox__frame{position:relative}
.vox__play{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;display:grid;place-items:center;padding:0;border:1px solid rgba(236,212,143,.85);background:rgba(10,8,7,.72);color:var(--gold2,#ecd48f);box-shadow:0 0 0 4px rgba(10,8,7,.35),0 10px 26px rgba(0,0,0,.5);cursor:pointer;transition:opacity .3s ease,transform .3s ease}
.vox__play:hover,.vox__play:focus-visible{transform:scale(1.06);outline:none;box-shadow:0 0 0 3px rgba(236,212,143,.35)}
.vox--playing .vox__play{opacity:0;pointer-events:none}
.vox__p video{cursor:pointer}

/* Galería: signo de play siempre visible y más grande */
.vid .play{width:76px;height:76px;background:linear-gradient(150deg,#f6e4a8,#c8a24a 55%,#8a6a2a);box-shadow:0 10px 28px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,240,200,.6);backdrop-filter:none}
.vid .play svg{width:30px;height:30px;color:#1a1208;margin-left:4px}
.vid button:hover .play svg{color:#1a1208}
.vid button{background:linear-gradient(transparent 35%,rgba(10,8,7,.8))}
/* Galería: imagen y signo de play en la misma celda (el play quedaba bajo la tarjeta) */
.vid button{grid-template-areas:"x";grid-template-rows:100%;grid-template-columns:100%}
.vid button>img,.vid button>.play{grid-area:x}
.vid button>img{width:100%;height:100%;object-fit:cover}
/* Botón del menú: círculo perfecto que nunca se achata ni tapa el texto de la marca */
.burger{flex:0 0 46px;width:46px;height:46px;min-width:46px;min-height:46px;max-width:46px;max-height:46px;aspect-ratio:1/1;padding:0;margin:0;border-radius:50%;box-sizing:border-box;flex-shrink:0}
.hdr__in{min-width:0}
.brand{min-width:0;flex:1 1 auto;overflow:hidden}
.brand__t{min-width:0;overflow:hidden}
.brand__t b,.brand__t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
/* Brillo dorado: nombre de la marca y subtítulo de la portada */
@keyframes lrShine{from{background-position:130% 0}to{background-position:-130% 0}}
.brand__t b{background:linear-gradient(100deg,#d9ae50 0%,#fff1c2 30%,#ffe7a0 45%,#d9ae50 65%,#fff3c4 85%,#d9ae50 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 6px rgba(236,200,120,.45));animation:lrShine 5s linear infinite}
.hero .eyebrow{background:linear-gradient(100deg,#e2b85c 0%,#fff3c4 30%,#ffe7a0 45%,#e2b85c 65%,#fff3c4 85%,#e2b85c 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 10px rgba(255,220,140,.7)) drop-shadow(0 0 2px rgba(255,236,180,.6));font-weight:600;animation:lrShine 5s linear infinite}
.hero .eyebrow::before{-webkit-text-fill-color:initial}
@media (prefers-reduced-motion:reduce){.brand__t b,.hero .eyebrow{animation:none}}
/* Redes sociales: mensaje y logos */
.soc .soc__t{width:100%;margin:0 0 4px;font:500 .72rem/1.4 var(--ff-b);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.soc{align-items:center}
@media (max-width:760px){.soc{gap:8px;flex-wrap:wrap}.soc a{width:40px;height:40px;flex:0 0 40px}}
