/* =========================================================
   Evento presencial Madrid · THEGRAFTCLVB
   Piezas propias de esta landing sobre el sistema de THE RESET (styles.css):
   hero centrado con vídeo, entradas, ponentes y compra.
   ========================================================= */

/* header sin menú: logo a la izquierda, botón a la derecha */
.nav--event .nav__in{display:flex;justify-content:space-between}

/* etiqueta pequeña sobre los títulos */
.eyebrow{font:700 13.5px/1.3 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-hi)}
.is-marble .eyebrow{color:var(--bronze-dk)}
.sec-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-bottom:clamp(28px,4.4vh,48px)}
.sec-cta{display:flex;justify-content:center;margin-top:clamp(28px,4vh,44px)}

/* ---------- 1 · hero centrado ---------- */
.ehero{min-height:0}
.ehero .hero__media{background:radial-gradient(52% 46% at 50% 62%,rgba(255,97,26,.17),transparent 70%),radial-gradient(90% 60% at 50% 115%,#1C130D,transparent 70%),linear-gradient(180deg,var(--night) 0%,#0E0A08 70%,var(--temple) 100%)}
.ehero__in{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(26px,5vh,56px) clamp(48px,7vh,84px)}
.ehero__kicker{justify-content:center}
.ehero__title{margin-top:clamp(16px,2.6vh,24px);font-size:clamp(54px,min(6.4vw,10.4svh),104px);text-wrap:balance}
.ehero__lead{margin-top:clamp(18px,2.8vh,26px);max-width:44ch}
.ehero__vsl{width:min(100%,940px,calc((100svh - var(--nav-h) - 120px) * 16 / 9));margin-top:clamp(28px,4.6vh,48px)}
.ehero__cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:clamp(30px,4.6vh,46px)}
.ehero__note{font:500 15px/1.3 var(--f-sans);color:var(--mute)}

/* ---------- 2 · entradas ---------- */
.tickets{background:radial-gradient(50% 50% at 75% 40%,rgba(255,97,26,.13),transparent 70%),linear-gradient(180deg,var(--temple),var(--night-2) 40%,var(--night))}
.tickets__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);max-width:1080px;margin-inline:auto;align-items:stretch}
.ticket{position:relative;display:flex;border-radius:var(--r-xl);border:1px solid var(--line-2);background:#120D0A;overflow:hidden;isolation:isolate;box-shadow:0 50px 100px -50px rgba(0,0,0,.95);transition:border-color .4s,box-shadow .5s,translate .5s var(--ease)}
.ticket:hover{border-color:var(--line-3);translate:0 -4px}
.ticket__bg{position:absolute;inset:0 0 auto;height:62%;z-index:-1;overflow:hidden}
.ticket__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.08) brightness(.62);transition:transform 1.4s var(--ease)}
.ticket:hover .ticket__bg img{transform:scale(1.04)}
.ticket__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,13,10,.35) 0%,rgba(18,13,10,.7) 50%,#120D0A 100%)}
.ticket__in{display:flex;flex-direction:column;width:100%;padding:clamp(26px,2.8vw,40px)}
.ticket__kind{font:700 13px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-hi)}
.ticket__name{margin-top:12px;margin-bottom:-.19em;font:800 clamp(58px,5.4vw,80px)/.94 var(--f-display);letter-spacing:.015em;text-transform:uppercase;color:var(--bone)}
.ticket__sub{margin-top:16px;max-width:30ch;font:500 17.5px/1.45 var(--f-sans);color:var(--bone-2);min-height:2.9em}
.ticket__price{display:flex;align-items:flex-start;gap:6px;margin-top:clamp(18px,2.6vh,26px);font-family:var(--f-display);color:var(--bone)}
.ticket__price b{font-weight:800;font-size:clamp(76px,6.6vw,100px);line-height:.78;letter-spacing:.01em}
.ticket__price span{font-weight:800;font-size:clamp(34px,2.8vw,42px);line-height:.8}
.ticket__list{display:grid;gap:12px;margin-top:clamp(22px,3vh,30px);padding-top:clamp(20px,2.6vh,26px);border-top:1px solid var(--line);font:500 16.5px/1.4 var(--f-sans);color:var(--bone-2)}
.ticket__list li{display:flex;gap:12px;align-items:flex-start}
.ticket__list .i{width:20px;height:20px;padding:3px;margin-top:0;border-radius:50%;color:var(--on-ember);background:var(--bronze);flex:none}
.ticket__list b{color:var(--bone)}
.ticket__btn{width:100%;margin-top:auto}
.ticket__list{margin-bottom:clamp(26px,3.4vh,34px)}
/* VIP: encendida */
.ticket--vip{border-color:rgba(255,138,76,.55);background:#160F0B;box-shadow:0 0 0 1px rgba(255,97,26,.25),0 40px 110px -40px rgba(255,97,26,.55),0 50px 100px -50px rgba(0,0,0,.95)}
.ticket--vip:hover{border-color:rgba(255,150,90,.85)}
.ticket--vip::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(70% 50% at 100% 0%,rgba(255,97,26,.24),transparent 70%),radial-gradient(60% 40% at 50% 100%,rgba(255,97,26,.12),transparent 70%)}
.ticket--vip .ticket__bg img{filter:grayscale(.7) sepia(.25) contrast(1.08) brightness(.62)}
.ticket--vip .ticket__bg::after{background:linear-gradient(180deg,rgba(22,15,11,.3) 0%,rgba(22,15,11,.7) 50%,#160F0B 100%)}
.ticket--vip .ticket__kind{color:var(--peach)}
.ticket--vip .ticket__name,.ticket--vip .ticket__price{background:var(--ac-g);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px rgba(255,97,26,.3))}
.ticket--vip .ticket__name{padding-top:.18em;margin-top:calc(12px - .18em)}
.ticket--vip .ticket__list .i{background:var(--ember)}
.ticket__flag{position:absolute;top:22px;right:22px;z-index:2;padding:8px 13px;border-radius:999px;font:700 12px/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ember);background:linear-gradient(180deg,#FFB27E,var(--ember));box-shadow:0 8px 24px -8px rgba(255,97,26,.8)}
.tickets__foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:clamp(22px,3vh,30px);font:500 15.5px/1.4 var(--f-sans);color:var(--mute);text-align:center}
.tickets__foot .i{color:var(--ember-hi)}
.tickets__foot b{color:var(--bone)}

/* ---------- 3 · moderadores y ponentes ---------- */
.speakers__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(18px,2vw,28px)}
.speakers__label{display:flex;align-items:center;gap:14px;margin-bottom:16px;font:700 13px/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-dk)}
.speakers__label::after{content:"";flex:1;height:1px;background:var(--hair-2)}
.speakers__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(12px,1.3vw,18px)}
.spk{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#17110D;color:var(--bone);box-shadow:0 40px 70px -40px rgba(60,35,12,.7),0 0 0 1px rgba(26,19,14,.1)}
.spk__photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(180deg,#221911,#120D0A)}
.spk__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:grayscale(1) contrast(1.06);transition:transform 1.2s var(--ease),filter .6s}
.spk:hover .spk__photo img{transform:scale(1.04);filter:grayscale(.2) contrast(1.04)}
.spk__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#17110D 2%,transparent 40%)}
.spk__body{position:relative;flex:1;padding:0 clamp(14px,1.3vw,20px) clamp(16px,1.6vw,22px);margin-top:-30px}
.spk__name{margin-bottom:-.19em;font:800 clamp(34px,2.7vw,44px)/.94 var(--f-display);letter-spacing:.015em;text-transform:uppercase}
.spk--host .spk__name{background:var(--ac-g);-webkit-background-clip:text;background-clip:text;color:transparent;padding-top:.18em;margin-top:-.18em}
.spk__full{margin-top:12px;font:700 15.5px/1.25 var(--f-sans);color:var(--bone)}
.spk__role{margin-top:6px;font:500 14.5px/1.4 var(--f-sans);color:var(--bone-2)}
.spk--host{box-shadow:0 0 0 1px rgba(255,97,26,.35),0 40px 70px -40px rgba(120,50,12,.8)}

/* ---------- compra (modal) ---------- */
.co{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;overflow-y:auto}
.co[hidden]{display:none}
.co__backdrop{position:fixed;inset:0;background:rgba(5,4,4,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.co__box{position:relative;width:min(560px,100%);max-height:calc(100svh - 40px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-xl);border:1px solid var(--line-2);background:linear-gradient(180deg,#241B14,#0F0B09);box-shadow:0 60px 120px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,236,214,.07);padding:clamp(22px,3vw,32px);animation:coIn .5s var(--ease)}
@keyframes coIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.co__close{position:absolute;top:14px;right:14px;width:42px;height:42px}
.co__sum{display:flex;align-items:center;gap:14px;padding-right:48px}
.co__ticket-i{width:42px;height:42px;padding:9px;border-radius:12px;color:var(--ember-hi);background:rgba(255,97,26,.1);border:1px solid rgba(255,138,76,.3)}
.co__sum-t{flex:1;min-width:0}
.co__kicker{font:700 12.5px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-hi)}
.co__name{margin-top:6px;font:700 21px/1.15 var(--f-sans);letter-spacing:-.015em;color:var(--bone)}
.co__total{display:flex;align-items:flex-start;gap:3px;font-family:var(--f-display);font-weight:800;color:var(--bone)}
.co__total b{font-size:52px;line-height:.8}
.co__total span{font-size:24px;line-height:.8}
.co__switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin-top:20px;padding:5px;border-radius:14px;background:rgba(243,238,231,.05);border:1px solid var(--line)}
.co__opt{height:44px;border-radius:10px;font:700 15px/1 var(--f-sans);color:var(--bone-2);transition:background-color .3s,color .3s}
.co__opt span{font-weight:500;color:var(--mute);margin-left:6px}
.co__opt[aria-checked="true"]{background:linear-gradient(180deg,#FF7C37,#F5530D);color:var(--on-ember)}
.co__opt[aria-checked="true"] span{color:rgba(23,10,3,.75)}
.co__form{margin-top:4px}
.co__test{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:14px;padding:8px 12px;border-radius:12px;border:1px dashed rgba(255,97,26,.45);background:rgba(255,97,26,.06);font:500 14.5px/1.4 var(--f-sans);color:var(--bone-2)}
.co__test[hidden]{display:none}
.co .af__fields{margin-top:16px}
.co__qty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 10px 10px 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:rgba(243,238,231,.03)}
.co__qty-l{font:500 16px/1.2 var(--f-sans);color:var(--bone-2)}
.co__step{display:flex;align-items:center;gap:6px}
.co__step .icon-btn{width:40px;height:40px;font:500 22px/1 var(--f-sans)}
.co__step output{min-width:30px;text-align:center;font:700 19px/1 var(--f-sans);font-variant-numeric:tabular-nums}
.co__pay{width:100%;margin-top:18px}
.co__pay b{font-weight:700}
.co__pay.is-busy{pointer-events:none;opacity:.7}
.co__secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font:500 14px/1.4 var(--f-sans);color:var(--mute)}
.co__secure .i{width:16px;height:16px}
.co__done{margin-top:22px;text-align:center}
.co__done:focus{outline:none}
.co__done h3{font:800 46px/.94 var(--f-display);letter-spacing:.015em;text-transform:uppercase;margin-bottom:-.19em}
.co__done p{margin-top:16px;font:500 16.5px/1.5 var(--f-sans);color:var(--bone-2)}
.co__done .btn{margin-top:22px}
html.co-open{overflow:hidden}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .speakers__grid{grid-template-columns:1fr}
  .speakers__group--hosts .speakers__row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;max-width:66%}
}
@media (max-width:860px){
  .tickets__grid{grid-template-columns:1fr;max-width:560px}
  .ticket--vip{order:-1}
  .ticket__sub{min-height:0}
}
@media (max-width:640px){
  .ehero__in{padding-block:22px 48px}
  .ehero__title{font-size:clamp(46px,13.6vw,64px)}
  .ehero__vsl{width:100%}
  .ehero__cta,.ehero__cta .btn{width:100%}
  .ehero__cta .btn{font-size:17.5px;height:60px}
  .ticket__flag{top:16px;right:16px}
  .ticket__in{padding:24px 20px}
  .speakers__group--hosts .speakers__row{max-width:none}
  .speakers__row{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .speakers__row .spk:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
  .spk__name{font-size:32px}
  .spk__role{font-size:14px}
  .sec-cta .btn{width:100%}
  .co{padding:0;place-items:end stretch}
  .co__box{width:100%;max-height:94svh;border-radius:24px 24px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
  .co__total b{font-size:42px}
  .co__name{font-size:18px}
  .tickets__foot{font-size:14.5px}
}
/* misma altura en los dos grupos aunque un nombre ocupe dos líneas */
.speakers__group{display:flex;flex-direction:column}
.speakers__row{flex:1}
@media (max-width:900px){
  /* styles.css reordena el hero de THE RESET en móvil: aquí se mantiene el orden del brief */
  .ehero__kicker{order:0}.ehero__title{order:1}.ehero__lead{order:2}.ehero__vsl{order:3}.ehero__cta{order:4}
}
@media (max-width:640px){
  .ticket--vip .ticket__in{padding-top:62px}
  .ticket__flag{left:20px;right:auto;top:20px}
}

/* ===== v3 · ajustes del cliente ===== */
/* hero: promesa a lo ancho para que promesa + vídeo + botón quepan en el primer pantallazo */
.ehero__in{padding-block:clamp(14px,2.4vh,30px) clamp(26px,4vh,48px)}
.ehero__kicker{font-size:13px}
.ehero__title{margin-top:clamp(10px,1.6vh,16px);font-size:clamp(44px,min(4.9vw,8.4svh),84px);text-wrap:balance}
.ehero__lead{margin-top:clamp(10px,1.6vh,16px);max-width:none;font-size:clamp(17px,1.3vw,20px)}
@media (min-width:901px){.ehero__lead{white-space:nowrap}}
.ehero__vsl{width:min(100%,960px,calc((100svh - var(--nav-h) - 318px) * 16 / 9));min-width:min(100%,520px);margin-top:clamp(16px,2.6vh,28px)}
.ehero__cta{flex-direction:row;gap:22px;margin-top:clamp(18px,2.8vh,30px)}
.ehero__note{display:flex;flex-direction:column;gap:3px;text-align:left;font:500 15.5px/1.25 var(--f-sans);color:var(--bone-2)}
.ehero__note b{font:800 26px/.9 var(--f-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ember-hi)}
@media (max-width:640px){.ehero__cta{flex-direction:column;gap:12px}.ehero__note{flex-direction:row;gap:10px;align-items:baseline}}

/* precio VIP: color sólido (el degradado recortado al texto cortaba la parte de arriba de los números) */
.ticket--vip .ticket__price{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#FF9A5C;filter:drop-shadow(0 0 26px rgba(255,97,26,.35))}
.ticket__seats{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:16px;padding:7px 13px;border-radius:999px;font:600 15px/1 var(--f-sans);color:var(--bone-2);background:rgba(243,238,231,.06);border:1px solid var(--line-2)}
.ticket__seats b{font-weight:700;color:var(--bone)}
.ticket--vip .ticket__seats{color:var(--peach);background:rgba(255,97,26,.1);border-color:rgba(255,138,76,.4)}
.ticket--vip .ticket__seats b{color:#FFD0AE}
.ticket__list{margin-top:clamp(18px,2.4vh,24px)}

/* pie de entradas legible */
.tickets__foot{gap:12px;margin-top:clamp(26px,3.6vh,36px);font:500 clamp(17px,1.35vw,19.5px)/1.4 var(--f-sans);color:var(--bone-2)}
.tickets__foot .i{width:24px;height:24px}

/* casos más compactos: 5 por fila, sin descripción, una sola tira de citas */
@media (max-width:640px){.tickets__foot{justify-content:flex-start;align-items:flex-start;text-align:left;font-size:16.5px}.tickets__foot .i{margin-top:1px}}

/* ===== v5 · las entradas caben en una pantalla de portátil (al pulsar "Quiero participar") ===== */
.ticket__pr{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:clamp(12px,1.8svh,24px)}
.ticket__pr .ticket__price,.ticket__pr .ticket__seats{margin-top:0}
@media (min-width:861px){
  .tickets{padding-block:clamp(18px,3svh,34px) clamp(28px,4svh,44px)}
  .tickets .sec-head{gap:6px;margin-bottom:clamp(14px,2.4svh,26px)}
  .tickets .h2{font-size:clamp(34px,min(4vw,6.2svh),60px)}
  .tickets__grid{max-width:1040px;gap:clamp(14px,1.6vw,22px)}
  .ticket__in{padding:clamp(18px,3svh,32px) clamp(22px,2.4vw,34px)}
  .ticket__name{margin-top:clamp(6px,1.2svh,12px);font-size:clamp(44px,min(5vw,8svh),72px)}
  .ticket--vip .ticket__name{margin-top:calc(clamp(6px,1.2svh,12px) - .18em)}
  .ticket__sub{margin-top:clamp(8px,1.4svh,16px);font-size:clamp(15.5px,2.2svh,17.5px);min-height:2.9em}
  .ticket__price b{font-size:clamp(56px,min(6vw,10svh),92px)}
  .ticket__price span{font-size:clamp(26px,4.4svh,40px)}
  .ticket__seats{padding:6px 12px;font-size:14.5px}
  .ticket__list{gap:clamp(6px,1.1svh,12px);margin-top:clamp(12px,2svh,22px);padding-top:clamp(12px,2svh,20px);margin-bottom:clamp(14px,2.4svh,26px);font-size:clamp(14.5px,2.1svh,16.5px)}
  .ticket__btn{height:clamp(48px,7svh,58px)}
  .tickets__foot{margin-top:clamp(12px,2svh,24px);font-size:clamp(15.5px,2.3svh,19px)}
  .ticket__flag{top:clamp(14px,2.4svh,22px)}
}
/* pantallas bajas (1366×768, 1280×720): sin la frase de apoyo para que quepan las dos entradas enteras */
@media (min-width:861px) and (max-height:740px){
  .ticket__sub{display:none}
}

/* ===== v6 · el hero ocupa exactamente la pantalla (sin asomar la sección siguiente) ===== */
.ehero{min-height:100svh}
.ehero__in{flex:1;width:100%;justify-content:space-between;padding-block:clamp(14px,3.4svh,40px) clamp(18px,4.2svh,48px)}
.ehero__title{margin-top:0}
.ehero__lead{margin-top:0}
.ehero__vsl{margin-top:0;width:min(100%,1120px,calc((100svh - var(--nav-h) - 290px) * 16 / 9))}
.ehero__cta{margin-top:0}
.ehero__lead{margin-top:clamp(8px,1.8svh,20px)}
.ehero__vsl{width:min(100%,1120px,calc((100svh - var(--nav-h) - 345px) * 16 / 9))}
@media (max-width:640px){.ehero__vsl{width:100%}}

/* ===== v7 · entradas a pantalla completa (escritorio) y móvil optimizado ===== */
@media (min-width:861px){
  .tickets{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + clamp(6px,1.4svh,16px));padding-bottom:clamp(18px,3svh,34px)}
  .tickets>.wrap{margin-block:auto}
}
@media (max-width:860px){
  .ticket--vip{order:0} /* mismo orden que en escritorio: General y luego VIP */
}
@media (max-width:640px){
  :root{--sec-pad:44px}
  .sec-head{margin-bottom:22px;gap:10px}
  .eyebrow{font-size:12.5px;letter-spacing:.18em}
  /* entradas: más compactas */
  .tickets__grid{gap:14px}
  .ticket__in{padding:22px 18px 20px}
  .ticket--vip .ticket__in{padding-top:56px}
  .ticket__name{font-size:54px}
  .ticket__sub{font-size:16.5px;min-height:0;margin-top:12px}
  .ticket__pr{margin-top:16px}
  .ticket__price b{font-size:66px}
  .ticket__price span{font-size:30px}
  .ticket__list{gap:10px;margin-top:18px;padding-top:16px;margin-bottom:20px;font-size:15.5px}
  .ticket__bg{height:46%}
  .tickets__foot{margin-top:20px}
  /* ponentes: moderadores en dos columnas y ponentes en una tira deslizable */
  .speakers__grid{gap:22px}
  .speakers__group--hosts .speakers__row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .speakers__group:not(.speakers__group--hosts) .speakers__row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter) 14px;scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
  .speakers__group:not(.speakers__group--hosts) .speakers__row::-webkit-scrollbar{display:none}
  .speakers__group:not(.speakers__group--hosts) .spk{flex:0 0 64vw;max-width:270px;scroll-snap-align:start}
  .speakers__row .spk:last-child:nth-child(odd){width:auto;grid-column:auto}
  .spk__name{font-size:34px}
  .spk__role{font-size:14.5px}
  .speakers__label{margin-bottom:12px}
  .sec-cta{margin-top:10px}
}
.speakers__group,.speakers__row{min-width:0}
@media (max-width:1100px){.speakers__grid{grid-template-columns:minmax(0,1fr)}}

/* ===== v8 · móvil: misma composición que en PC, todo más chico para que cada bloque entre en pantalla ===== */
.sm{display:none}
@media (max-width:640px){
  .lg{display:none}.sm{display:inline}
  :root{--sec-pad:30px}
  .h2{font-size:clamp(30px,9.2vw,38px)}
  .sec-head{margin-bottom:14px;gap:6px}
  .eyebrow{font-size:11.5px}

  /* --- entradas: General y VIP lado a lado, como en PC --- */
  .tickets{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + 6px);padding-bottom:22px}
  .tickets>.wrap{margin-block:auto}
  .tickets__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:none}
  .ticket{border-radius:18px}
  .ticket__bg{height:38%}
  .ticket__in{padding:14px 11px 12px}
  .ticket--vip .ticket__in{padding-top:36px}
  .ticket__kind{font-size:9.5px;letter-spacing:.2em}
  .ticket__name{margin-top:5px;font-size:clamp(36px,11vw,46px)}
  .ticket--vip .ticket__name{margin-top:calc(5px - .18em)}
  .ticket__sub{display:none}
  .ticket__pr{gap:6px;margin-top:10px}
  .ticket__price b{font-size:clamp(42px,12.6vw,54px)}
  .ticket__price span{font-size:22px}
  .ticket__seats{margin:0;padding:4px 9px;font-size:11.5px;gap:5px}
  .ticket__list{gap:7px;margin-top:11px;padding-top:11px;margin-bottom:12px;font-size:12px;line-height:1.3}
  .ticket__list li{gap:7px}
  .ticket__list .i{width:15px;height:15px;padding:2px}
  .ticket__btn{height:42px;padding-inline:10px;font-size:14px;gap:6px}
  .ticket__btn .i{width:14px;height:14px}
  .ticket__flag{top:9px;left:11px;right:auto;padding:5px 8px;font-size:9px;letter-spacing:.1em}
  .tickets__foot{margin-top:14px;font-size:12.5px;line-height:1.35;justify-content:center;text-align:center;gap:7px}
  .tickets__foot .i{width:16px;height:16px;margin-top:0}

  /* --- ponentes: los 5 a la vista (2 moderadores + 3 ponentes) --- */
  .speakers{padding-block:34px}
  .speakers__grid{gap:12px}
  .speakers__label{margin-bottom:8px;font-size:10.5px;gap:10px}
  .speakers__group--hosts .speakers__row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:8px}
  .speakers__group:not(.speakers__group--hosts) .speakers__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin-inline:0;padding:0;scroll-snap-type:none}
  .speakers__group:not(.speakers__group--hosts) .spk{flex:none;max-width:none}
  .spk{border-radius:14px}
  .spk__photo{aspect-ratio:1/1}
  .spk--host .spk__photo{aspect-ratio:5/4}
  .spk__body{padding:0 8px 10px;margin-top:-22px}
  .spk__name{font-size:21px}
  .spk--host .spk__name{font-size:28px}
  .spk__full{margin-top:7px;font-size:11.5px}
  .spk--host .spk__full{font-size:13px}
  .spk__role{margin-top:3px;font-size:10.5px;line-height:1.3}
  .spk--host .spk__role{font-size:11.5px}
  .speakers__group:not(.speakers__group--hosts) .spk__full{display:none}
  .sec-cta{margin-top:14px}
  .sec-cta .btn{height:50px;font-size:15.5px}

  /* --- casos: más compactos --- */
  .footer{padding-block:24px 28px}
}
@media (max-width:640px){.ticket__in{padding-top:36px}}
@media (max-width:640px){
  /* móvil: la entrada del hero es solo un fundido, sin desplazamiento (evita la sensación de texto que se acomoda) */
  .js [data-hero-in],.js .hero__title .w{transform:none!important;filter:none!important}
  .hero.is-ready [data-hero-in]{transition:opacity .7s var(--ease) var(--d,0s)}
}

/* ===== v7 · título largo + promesa + descripción ===== */
.ehero__title{font-size:clamp(34px,min(4vw,6.6svh),64px);max-width:min(100%,1100px);margin-inline:auto;line-height:1.02}
@media (min-width:901px){.ehero__vsl{width:min(100%,1120px,calc((100svh - var(--nav-h) - 410px) * 16 / 9))}}
.ehero__promise{font:800 clamp(18px,1.7vw,26px)/1.1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ember-hi);text-align:center;text-wrap:balance}
.ehero__lead{white-space:normal;max-width:min(100%,1000px);margin-inline:auto;font-size:clamp(14px,min(1.05vw,1.9svh),17px);line-height:1.45;text-align:center;text-wrap:balance}
@media (min-width:901px){.ehero__lead{white-space:normal}}
@media (max-width:900px){.ehero__title{font-size:clamp(30px,8.4vw,48px);max-width:none}.ehero__promise{order:2}.ehero__lead{order:2;font-size:15px}}

/* ---------- v2: portada con aire y sin vacío bajo el botón; ponentes en tarjetas horizontales ---------- */
@media (min-width:901px){
  .ehero{min-height:0}
  .ehero__in{justify-content:flex-start;padding-block:clamp(18px,3svh,34px) clamp(12px,2svh,22px)}
  .ehero__kicker{margin-bottom:0}
  .ehero__title{margin-top:clamp(14px,2.2svh,24px);font-size:clamp(38px,min(4.5vw,7.4svh),80px);max-width:min(100%,1240px);line-height:1}
  .ehero__promise{margin-top:clamp(12px,1.8svh,20px)}
  .ehero__kicker{order:0}.ehero__title{order:1}.ehero__promise{order:2}.ehero__vsl{order:3}.ehero__cta{order:4}.ehero__lead{order:5}
  .ehero__lead{margin-top:clamp(22px,3.6svh,38px);max-width:min(100%,1080px);font-size:clamp(15px,min(1.2vw,2.1svh),19px)}
  .ehero__vsl{margin-top:clamp(18px,3svh,32px);width:min(100%,1040px,max(620px,calc((100svh - var(--nav-h) - 365px) * 16 / 9)))}
  .ehero__cta{margin-top:clamp(18px,3svh,32px)}
  .tickets{min-height:0;justify-content:flex-start;padding-top:clamp(22px,3.6svh,38px);scroll-margin-top:calc(var(--nav-h) - 20px)}

  .speakers__grid{grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,36px)}
  .speakers__row,.speakers__group--hosts .speakers__row{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:clamp(14px,1.6vw,22px)}
  .spk{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);min-height:260px}
  .spk__photo{aspect-ratio:auto;min-height:100%}
  .spk__photo::after{background:linear-gradient(90deg,transparent 55%,#17110D 100%)}
  .spk__body{margin-top:0;align-self:center;padding:clamp(16px,1.8vw,26px) clamp(18px,2vw,28px) clamp(16px,1.8vw,26px) 4px}
  .spk__name{font-size:clamp(34px,2.8vw,46px)}
  .spk--host .spk__name{padding-top:.18em}
  .spk__full{font-size:16px;margin-top:12px}
  .spk__role{font-size:15px;margin-top:8px}
}

/* ---------- v3 móvil: lectura cómoda, sin vacíos ni columnas estrechas ---------- */
@media (max-width:640px){
  /* portada: promesa, vídeo y botón primero; la descripción debajo del botón */
  .ehero{min-height:0}
  .ehero__in{justify-content:flex-start;padding-block:18px 30px}
  .ehero__title{margin-top:14px;font-size:clamp(32px,9.4vw,40px);line-height:1}
  .ehero__promise{margin-top:12px;font-size:17px}
  .ehero__kicker{order:0}.ehero__title{order:1}.ehero__promise{order:2}.ehero__vsl{order:3}.ehero__cta{order:4}.ehero__lead{order:5}
  .ehero__vsl{margin-top:20px}
  .ehero__cta{margin-top:18px}
  .ehero__lead{margin-top:22px;font-size:15.5px;line-height:1.5;text-wrap:pretty;color:var(--bone-2)}

  /* entradas: una debajo de otra, a todo el ancho */
  .tickets{min-height:0;display:block;padding-block:40px 36px;scroll-margin-top:calc(var(--nav-h) - 8px)}
  .tickets>.wrap{margin-block:0}
  .tickets__grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .ticket{border-radius:20px}
  .ticket__bg{height:52%}
  .ticket__in,.ticket--vip .ticket__in{padding:22px 20px 20px}
  .ticket--vip .ticket__in{padding-top:58px}
  .ticket__flag{top:18px;left:20px;padding:6px 11px;font-size:11px}
  .ticket__kind{font-size:12px}
  .ticket__name{margin-top:8px;font-size:52px}
  .ticket--vip .ticket__name{margin-top:calc(8px - .18em)}
  .ticket__pr{gap:12px;margin-top:12px}
  .ticket__price b{font-size:64px}
  .ticket__price span{font-size:28px}
  .ticket__seats{padding:6px 12px;font-size:14px}
  .ticket__list{gap:10px;margin-top:18px;padding-top:16px;margin-bottom:20px;font-size:15.5px;line-height:1.4}
  .ticket__list li{gap:10px}
  .ticket__list .i{width:18px;height:18px;padding:3px;margin-top:1px}
  .ticket__btn{height:54px;font-size:16.5px}
  .ticket__btn .i{width:16px;height:16px}
  .tickets__foot{margin-top:18px;font-size:14.5px;text-wrap:balance}

  /* ponentes: tarjetas horizontales a todo el ancho, con su descripción completa */
  .speakers{padding-block:40px}
  .speakers__grid{gap:22px}
  .speakers__label{margin-bottom:12px;font-size:11.5px}
  .speakers__row,.speakers__group--hosts .speakers__row,.speakers__group:not(.speakers__group--hosts) .speakers__row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:none}
  .spk{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:138px;border-radius:16px}
  .spk__photo,.spk--host .spk__photo{aspect-ratio:auto;min-height:100%}
  .spk__photo::after{background:linear-gradient(90deg,transparent 60%,#17110D 100%)}
  .spk__body{margin-top:0;align-self:center;padding:14px 16px 14px 6px}
  .spk__name,.spk--host .spk__name{font-size:30px}
  .spk--host .spk__name{padding-top:.18em}
  .speakers__group:not(.speakers__group--hosts) .spk__full,.spk__full,.spk--host .spk__full{display:block;margin-top:8px;font-size:14px;line-height:1.3}
  .spk__role,.spk--host .spk__role{margin-top:4px;font-size:13.5px;line-height:1.4}
  .speakers .lg{display:inline}.speakers .sm{display:none}
  .speakers .sec-cta{margin-top:22px}
}
/* tablet: mismo orden que en PC y ponentes horizontales en dos columnas */
@media (min-width:641px) and (max-width:900px){
  .ehero{min-height:0}
  .ehero__in{justify-content:flex-start;padding-block:28px 36px}
  .ehero__title{margin-top:18px}
  .ehero__promise{margin-top:14px}
  .ehero__kicker{order:0}.ehero__title{order:1}.ehero__promise{order:2}.ehero__vsl{order:3}.ehero__cta{order:4}.ehero__lead{order:5}
  .ehero__vsl{margin-top:24px}
  .ehero__cta{margin-top:22px}
  .ehero__lead{margin-top:26px;font-size:16px}
  .speakers__row,.speakers__group--hosts .speakers__row{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:14px}
  .spk{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);min-height:190px}
  .spk__photo{aspect-ratio:auto;min-height:100%}
  .spk__photo::after{background:linear-gradient(90deg,transparent 55%,#17110D 100%)}
  .spk__body{margin-top:0;align-self:center;padding:16px 18px 16px 4px}
  .spk__name{font-size:34px}
  .spk--host .spk__name{padding-top:.18em}
  .spk__full{font-size:15px}
  .spk__role{font-size:14px}
}
@media (max-width:900px){.tickets__foot{max-width:560px;margin-inline:auto;text-wrap:balance}}
.ehero__title .tl{display:block;white-space:nowrap}

/* ---------- v4 móvil: título en 2 líneas, las 2 entradas en una pantalla, 4 casos a la vista ---------- */
@media (max-width:900px){.ehero__title{font-size:min(48px,calc((100vw - 2 * var(--gutter)) / 12.2))}}
@media (max-width:640px){
  .tickets{padding-block:28px 26px}
  .tickets .sec-head{margin-bottom:14px}
  .tickets__grid{gap:10px}
  .ticket__in,.ticket--vip .ticket__in{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:end;padding:16px 16px 14px}
  .ticket__kind{grid-column:1;grid-row:1}
  .ticket__name{grid-column:1;grid-row:2;margin-top:6px;font-size:44px}
  .ticket--vip .ticket__name{margin-top:calc(6px - .18em)}
  .ticket__sub{display:none}
  .ticket__pr{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:6px;margin:0}
  .ticket__price b{font-size:50px}
  .ticket__price span{font-size:22px}
  .ticket__seats{padding:4px 10px;font-size:12.5px}
  .ticket__list{grid-column:1/-1;gap:6px;margin-top:12px;padding-top:12px;margin-bottom:12px;font-size:14px;line-height:1.3}
  .ticket__list li{gap:8px}
  .ticket__list .i{width:16px;height:16px;padding:2.5px;margin-top:0}
  .ticket__btn{grid-column:1/-1;height:46px;font-size:15.5px}
  .ticket--vip .ticket__kind{visibility:hidden}
  .ticket__flag{top:14px;left:16px;padding:5px 9px;font-size:10px}
  .ticket__bg{height:100%}
  .ticket__bg::after{background:linear-gradient(180deg,rgba(18,13,10,.55) 0%,rgba(18,13,10,.9) 38%,#120D0A 60%)}
  .ticket--vip .ticket__bg::after{background:linear-gradient(180deg,rgba(22,15,11,.5) 0%,rgba(22,15,11,.9) 38%,#160F0B 60%)}
  .tickets__foot{margin-top:12px;font-size:13.5px}

}
}
@media (max-width:380px){.tickets{padding-top:22px}.ticket__in,.ticket--vip .ticket__in{padding:14px 14px 12px}.ticket__list{gap:5px;margin-top:10px;padding-top:10px;margin-bottom:10px;font-size:13.5px}.ticket__btn{height:44px}.ticket__name{font-size:40px}.ticket__price b{font-size:46px}}

/* ---------- v5 móvil: casos en 2 filas × 2 columnas (4 a la vista), deslizable ---------- */
@media (max-width:640px){
  .rail{--rows:2;--g:10px;--cw:calc((100cqw - var(--g)) / 2)}
  .rail__strip{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:var(--cw);column-gap:var(--g);row-gap:18px}
  .rail__track>.case,.rail__strip>.case{width:auto}
  .case,.case__media{border-radius:14px}
  .case__media{aspect-ratio:1/1}
  .case__media img{object-position:50% 22%}
  .case__time{top:8px;right:8px;padding:4px 7px;font-size:11px}
  .case__tag{top:10px;right:10px;font-size:8.5px;letter-spacing:.1em;gap:5px}
  .case__tag::before{width:5px;height:5px}
  .case__play{width:42px;height:42px;top:40%;box-shadow:0 0 0 6px rgba(243,238,231,.07),0 8px 20px rgba(0,0,0,.35)}
  .case__play .i{width:16px;height:16px;margin-left:2px}
  .case__who{left:10px;right:10px;bottom:9px;gap:2px}
  .case__who b{font-size:14.5px}
  .case__who span{font-size:11.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .case__res{margin-top:10px;padding-left:10px;font-size:13.5px;line-height:1.28}
  .case__desc{margin-top:5px;font-size:12.5px;line-height:1.42}
}
@media (max-width:640px){.case__media{aspect-ratio:6/5}.rail__strip{row-gap:14px}.cases__head{margin-bottom:16px}}
