/* The opening is one stable viewport, including mobile browser chrome. */
.brand-filters{position:absolute;pointer-events:none;overflow:hidden}
.site-header{height:64px;min-height:64px;flex-wrap:nowrap}
.site-header .site-brand{display:flex;align-items:baseline;gap:0;min-height:0}
.site-brand .brand-short{font-weight:800}
.site-brand .brand-rest{font-weight:760;margin-left:4px}
.site-brand .brand-year{font-weight:450;margin-left:8px}
.site-header .site-nav{display:flex;flex-basis:auto;flex-wrap:nowrap;height:auto;order:0;margin-left:auto;gap:24px;padding:0;background:transparent}
.hero{height:100svh;min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:calc(var(--site-header-height) + 20px) var(--gutter) 12px}
.hero-stage{width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:stretch;max-width:1140px;gap:clamp(32px,5vw,80px);margin:0 auto}
.hero-art{height:100%;min-height:0}
.hero-art img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.hero-info{justify-content:center;gap:clamp(12px,2.2svh,24px);padding:0}
.hero-date strong{font-size:clamp(58px,10svh,96px);letter-spacing:-.065em}
.hero-date time>span{font-size:clamp(20px,3svh,29px);letter-spacing:-.025em;margin-top:8px}
.hero-venue{width:100%;max-width:340px}
.hero-venue p{font-size:clamp(32px,4.3vw,62px);line-height:1;letter-spacing:-.055em;margin-bottom:24px}
.hero-venue>span{font-size:12px;margin-bottom:10px}
.hero-venue .hero-luma{font-size:18px;line-height:1.2;min-height:54px;margin:0;padding:16px 20px;background:var(--cobalt);color:var(--paper);font-weight:700}
.hero-description{max-width:36ch;font-size:clamp(14px,1.7svh,17px);line-height:1.45}
.hero-actions{max-width:340px}
.hero-actions .text-link{border-color:#1010ce55;color:var(--cobalt);padding:8px 0}
.hero-footer{padding-top:8px}
.hero-footer a{min-height:32px}
.site-footer .motion-toggle{border:0;padding:0;min-width:0;min-height:44px;font-size:10px;opacity:.7}
.site-footer .motion-icon{display:none}
.footer-love{margin-top:12px!important;color:var(--paper)}
.footer-love span{color:var(--pink);margin-left:3px}
.ticket-brand img{filter:grayscale(1) sepia(1) saturate(8) hue-rotate(183deg) contrast(1.1);mix-blend-mode:multiply}
.festival-intro{background:var(--cyan);color:var(--cobalt);padding:38px var(--gutter) 18px}
.festival-intro p{max-width:1000px;margin:auto;font-size:clamp(18px,2.3vw,28px);line-height:1.45;letter-spacing:-.025em}
.venue-content{display:block}
@media(max-width:760px){
 :root{--site-header-height:56px}
 .site-header{height:56px;min-height:56px;padding:0 12px;gap:10px}
 .site-header .site-brand{font-size:17px;flex-shrink:0}
 .site-header .brand-rest,.site-header .brand-year{display:none}
 .site-header .site-nav{flex:1;gap:4px;justify-content:space-between;min-width:0}
 .site-header .site-nav a{font-size:12px;min-height:44px;padding:8px 4px}
 .site-header .site-nav a[href="#sede"]{display:none}
 .site-header .site-nav a:last-child{font-size:12px;min-height:40px;padding:10px 8px}
 .hero{height:100svh;min-height:0;gap:10px;padding:calc(var(--site-header-height) + 18px) var(--gutter) 12px}
 .hero-kicker{gap:12px;font-size:10px}
 .hero-kicker>p{max-width:25ch}
 .hero-kicker>span{max-width:13ch;text-align:right}
 .hero-stage{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:14px;min-height:0}
 .hero-art{width:100%;max-width:480px;margin:auto}
 .hero-info{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:end;max-width:480px;width:100%;margin:auto}
 .hero-date strong{font-size:clamp(34px,10vw,48px)}
 .hero-date time>span{font-size:13px;margin-top:5px}
 .hero-venue{max-width:none}
 .hero-venue{text-align:right}
 .hero-venue p{font-size:clamp(24px,6.6vw,34px);margin:0 0 3px}
 .hero-venue>span{font-size:12px;margin:0}
 .hero-venue .hero-luma{display:none}
 .hero-description{grid-column:1/-1;max-width:none;font-size:13px;line-height:1.4}
 .hero-actions{grid-column:1/-1;max-width:none;display:block}
 .hero-actions .text-link{display:flex;font-size:11px;min-height:32px;padding:5px 0}
 .hero-footer{font-size:9px;gap:12px}
 .hero-footer a{gap:8px}
 .festival-intro{padding-top:28px;padding-bottom:12px}
 .festival-intro p{font-size:18px;line-height:1.5}
 .site-footer{flex-wrap:wrap}
 .site-footer .motion-toggle{flex-basis:100%;font-size:10px}
}
@media(max-width:760px) and (max-height:520px){
 .hero{height:auto;min-height:520px}
 .hero-art{height:270px}
}
@media(max-height:600px) and (min-width:761px){
 .hero{height:auto;min-height:560px}
 .hero-art{max-height:360px}
}
@media(max-height:520px) and (orientation:landscape){
 .hero{height:100svh;min-height:0;gap:6px;padding-top:calc(var(--site-header-height) + 8px);padding-bottom:8px}
 .hero-stage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:24px}
 .hero-art{height:100%;max-height:none}
 .hero-info{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}
 .hero-date strong{font-size:38px}
 .hero-venue{text-align:left}
 .hero-venue p{font-size:30px;margin:0}
 .hero-venue .hero-luma{display:none}
 .hero-kicker{font-size:9px}
 .hero-footer{font-size:9px;padding-top:3px}
 .hero-footer a{min-height:22px}
}
@media print{
 .hero{height:auto;min-height:0;display:block;padding-top:24px}
 .hero-stage{height:auto;grid-template-columns:1fr 1fr}
 .hero-art{height:90mm}
 .site-footer .motion-toggle{display:none}
}
/* V24 header: brand | centered section links | register, on every width. */
.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.site-header .site-nav{margin:0;justify-self:center;gap:clamp(18px,2.6vw,36px)}
.site-header .header-cta{justify-self:end;display:inline-flex;align-items:center;min-height:42px;padding:11px 18px;font-size:13px;font-weight:550;text-decoration:none;white-space:nowrap;background:var(--cobalt);color:var(--paper)}
.site-header.is-scrolled .header-cta{background:var(--lime);color:var(--ink)}
.site-header .header-cta:focus-visible{outline-color:currentColor}
@media(hover:hover) and (pointer:fine){.site-header .header-cta:hover{text-decoration:underline}}
@media(max-width:760px){
 .site-header{grid-template-columns:auto 1fr auto;padding:0 12px;gap:8px}
 .site-header .site-nav{justify-content:center;gap:14px;flex:none}
 .site-header .site-nav a{padding:8px 2px}
 .site-header .header-cta{font-size:12px;min-height:40px;padding:10px 9px}
}
@media(max-width:374px){ .site-header .site-nav a[href="#temas"]{display:none} }
.site-header .site-nav a:last-child,.site-header.is-scrolled .site-nav a:last-child{background:none;color:inherit;min-height:44px;padding:8px 0}
@media(max-width:760px){.site-header .site-nav a:last-child{padding:8px 2px}}
/* V25: the header isologo is the cover logo; white single-ink version on the dark scrolled bar. */
.site-header .site-brand{display:flex;align-items:center}
.brand-logo{display:block;height:52px;width:auto}
.brand-logo-mono,.site-header.is-scrolled .brand-logo-color{display:none}
.site-header.is-scrolled .brand-logo-mono{display:block}
@media(max-width:760px){.brand-logo{height:44px}}
/* V28 benefits: black wall, white glyphs and titles with the stepped retro extrusion of «Promptear es un arte». */
.benefits-section{--yellow:#ffd23f;background:var(--ink);color:var(--paper);overflow:clip}
.benefits-head{max-width:1320px;margin:0 auto;padding-bottom:clamp(36px,4vw,56px)}
.benefits-eyebrow{margin-bottom:16px;font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.benefits-title{font-size:clamp(46px,6vw,92px);font-weight:820;line-height:.92;letter-spacing:-.065em;text-shadow:3px 3px 0 var(--pink),6px 6px 0 var(--orange),9px 9px 0 var(--yellow)}
.benefits-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);max-width:1320px;margin:0 auto;padding:0 var(--gutter) clamp(64px,8vw,110px);list-style:none}
.benefit{display:flex;flex-direction:column;gap:14px;min-width:0}
.benefit-icon{width:clamp(88px,8vw,116px)}
.benefit-icon svg{display:block;width:100%;height:auto;overflow:visible;fill:var(--paper);filter:drop-shadow(1.5px 1.5px 0 var(--yellow)) drop-shadow(1.5px 1.5px 0 var(--orange)) drop-shadow(1.5px 1.5px 0 var(--pink)) drop-shadow(1.5px 1.5px 0 var(--cobalt)) drop-shadow(1.5px 1.5px 0 var(--cyan))}
.benefit-icon .bi-cut{fill:var(--ink)}
.benefit-icon .bi-cutline{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round}
.benefit-icon .bi-c1{fill:var(--pink)}
.benefit-icon .bi-c2{fill:var(--orange)}
.benefit-icon .bi-spark{fill:var(--yellow)}
.benefit-icon g,.benefit-icon rect,.benefit-icon path{transform-box:fill-box;transform-origin:center}
.benefit h3{margin-top:10px;font-size:clamp(30px,2.6vw,40px);font-weight:820;line-height:1;letter-spacing:-.055em;color:var(--paper);text-shadow:1.5px 1.5px 0 var(--yellow),3px 3px 0 var(--orange),4.5px 4.5px 0 var(--pink),6px 6px 0 var(--cobalt),7.5px 7.5px 0 var(--cyan)}
.benefit p{max-width:30ch;font-size:15px;line-height:1.45;color:#fff7e7d0}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-paused) .benefit-icon .bi-p{animation:bi-bob 2.4s ease-in-out infinite}
 html:not(.motion-paused) .benefit-icon .bi-p2{animation-delay:.25s}
 html:not(.motion-paused) .benefit-icon .bi-p3{animation-delay:.5s}
 html:not(.motion-paused) .benefit-icon .bi-spark{animation:bi-twinkle 1.7s ease-in-out infinite}
 html:not(.motion-paused) .benefit-icon .bi-spark2{animation-delay:-.8s}
 html:not(.motion-paused) .benefit-icon .bi-c1{transform-origin:50% 100%;animation:bi-fan-l 3s ease-in-out infinite}
 html:not(.motion-paused) .benefit-icon .bi-c2{transform-origin:50% 100%;animation:bi-fan-r 3s ease-in-out infinite}
 html:not(.motion-paused) .benefit-icon .bi-ticket{animation:bi-wiggle 2.8s ease-in-out infinite}
}
@keyframes bi-bob{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
@keyframes bi-twinkle{0%,100%{transform:scale(.6) rotate(0)}50%{transform:scale(1.15) rotate(45deg)}}
@keyframes bi-fan-l{0%,20%,100%{transform:rotate(0)}45%,75%{transform:rotate(-14deg) translateX(-3px)}}
@keyframes bi-fan-r{0%,20%,100%{transform:rotate(0)}45%,75%{transform:rotate(12deg) translateX(3px)}}
@keyframes bi-wiggle{0%,55%,100%{transform:rotate(0)}62%{transform:rotate(-7deg)}70%{transform:rotate(6deg)}78%{transform:rotate(-3deg)}86%{transform:rotate(0)}}
@media(max-width:760px){
 .benefits-title{font-size:52px;text-shadow:2px 2px 0 var(--pink),4px 4px 0 var(--orange),6px 6px 0 var(--yellow)}
 .benefits-list{grid-template-columns:1fr;gap:34px}
 .benefit{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:20px;row-gap:6px;align-items:start}
 .benefit-icon{grid-row:span 2;width:76px;margin-top:4px}
 .benefit h3{margin-top:0;font-size:30px}
 .benefit p{font-size:14px}
}
.benefit-icon .bi-p{stroke:var(--ink);stroke-width:3;paint-order:stroke}
/* V29: brand-book icons as images; benefit titles and copy stay plain, only the section title is chicha. */
.benefit-icon{width:clamp(120px,11vw,160px)}
.benefit-icon img{display:block;width:100%;height:auto}
.benefit h3{text-shadow:none;font-size:clamp(24px,2vw,30px);font-weight:750;letter-spacing:-.04em;margin-top:6px}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-paused) .benefit-icon img{animation:bi-bob 3s ease-in-out infinite;transform-origin:50% 90%}
 html:not(.motion-paused) .benefit-plantillas .benefit-icon img{animation:bi-tilt 3.4s ease-in-out infinite}
 html:not(.motion-paused) .benefit-sorteos .benefit-icon img{animation:bi-wiggle 2.8s ease-in-out infinite}
}
@keyframes bi-tilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-4px)}}
@media(max-width:760px){
 .benefit{grid-template-columns:96px minmax(0,1fr)}
 .benefit-icon{width:96px;margin-top:0}
 .benefit h3{font-size:24px}
}
.benefit-icon{width:auto;height:clamp(120px,10vw,150px);display:flex;align-items:center}
.benefit-icon img{width:auto;height:100%;max-width:min(100%,190px);object-fit:contain}
@media(max-width:760px){.benefit-icon{width:96px;height:96px;justify-content:center}.benefit-icon img{max-width:96px}}
/* V30: lettering logo as the section title; single-colour line icons. */
.benefits-logo{margin:0}
.benefits-logo img{display:block;width:min(100%,620px);height:auto}
.benefit-icon{width:56px;height:56px;display:block}
.benefit-icon svg{display:block;width:100%;height:100%;fill:none;stroke:var(--paper);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:none;overflow:visible}
.benefit-icon img{display:none}
.benefit h3{margin-top:4px}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-paused) .benefit-icon img{animation:none}
 @supports (animation-timeline:view()){
  html:not(.motion-paused) .benefit-icon svg>*{stroke-dasharray:160;animation:bi-draw-in linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
  html:not(.motion-paused) .benefit-icon svg>[stroke-dasharray]{stroke-dasharray:3 3.5;animation:none}
 }
}
@keyframes bi-draw-in{from{stroke-dashoffset:160}to{stroke-dashoffset:0}}
@media(max-width:760px){
 .benefits-logo img{width:100%}
 .benefit{grid-template-columns:44px minmax(0,1fr)}
 .benefit-icon{width:44px;height:44px}
}
.benefits-logo img{margin:0 auto}
/* V31: lighter portrait sprite, fetched only when the speakers section is near. */
.voice-portrait{background-image:url("landing-assets/v31/retratos-speakers.webp")}
.speakers-section:not(.is-near) .voice-portrait{background-image:none}
/* V32: nothing under 10px on phones. */
@media(max-width:760px){.hero-footer,.hero-footer a{font-size:11.5px}}
.gallery-frame-bar span{font-size:max(9.5px,min(2.2cqi,5cqh))}
@media(max-width:760px){.hero-kicker>p{max-width:none;white-space:nowrap}.hero-kicker>span{min-width:0}}

/* V46 · ¿Para quién es? Dos caminos con el mismo peso, después de Beneficios: emprendedores (celeste, tinta cobalto)
   y creativos (cobalto, tinta marfil); filas con líneas finas, sin tarjetas. «Te llevas» queda al pie de cada columna. */
.audience-section{background:var(--cyan);color:var(--cobalt)}
.audience-head,.audience-grid,.audience-foot{max-width:1320px;margin-left:auto;margin-right:auto}
.audience-head{margin-bottom:clamp(32px,4vw,56px)}
.audience-eyebrow,.audience-kicker,.audience-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.audience-eyebrow{margin-bottom:16px}
.audience-head h2{font-size:clamp(56px,9.5vw,156px);font-weight:760;letter-spacing:-.07em;line-height:.88}
.audience-sub{margin-top:clamp(12px,1.4vw,20px);font-size:clamp(24px,2.6vw,40px);font-weight:700;letter-spacing:-.05em;line-height:1.05}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid var(--cobalt)}
.audience-path{display:flex;flex-direction:column;min-width:0;padding:clamp(28px,3.6vw,56px)}
.audience-business{--rule:#1010ce55;background:var(--cyan);color:var(--cobalt)}
.audience-creative{--rule:#fff7e755;background:var(--cobalt);color:var(--paper)}
.audience-kicker{margin-bottom:18px}
.audience-path h3{font-size:clamp(36px,4.2vw,68px);font-weight:760;letter-spacing:-.065em;line-height:.95}
.audience-promise{margin-top:18px;font-size:clamp(21px,2vw,30px);font-weight:720;letter-spacing:-.045em;line-height:1.1}
.audience-copy{margin-top:16px;max-width:48ch;font-size:clamp(15px,1.2vw,18px);font-weight:600;line-height:1.5;letter-spacing:-.02em}
.audience-label{margin-top:32px}
.audience-list{list-style:none;margin:12px 0 0;padding:0}
.audience-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:baseline;padding:15px 0;border-top:1px solid var(--rule)}
.audience-list li:last-child{border-bottom:1px solid var(--rule)}
.audience-list span{font-size:12px;font-weight:700;letter-spacing:.06em}
.audience-list p{font-size:clamp(16px,1.3vw,20px);font-weight:600;line-height:1.35;letter-spacing:-.025em}
.audience-list b{font-weight:800}
.audience-take{margin-top:auto;padding-top:24px;font-size:14px;font-weight:600;line-height:1.45}
.audience-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(28px,3vw,44px)}
.audience-foot p{font-size:clamp(20px,2vw,30px);font-weight:720;letter-spacing:-.045em}
.button-cobalt{color:var(--paper);background:var(--cobalt)}
@media(hover:hover) and (pointer:fine){.button-cobalt:hover{background:var(--ink)}}
@media(max-width:760px){
  .audience-grid{grid-template-columns:1fr}
  .audience-path h3{font-size:40px}
  .audience-foot{flex-direction:column;align-items:flex-start}
}
/* V47 · «Para quién es» en el menú; en el celular reemplaza a «Speakers» (que sigue «Muy pronto») para que el menú quepa */
@media(max-width:760px){.site-header .site-nav a[href="#para-quien"]{display:none}}  /* V70: en el celular van Temas, Speakers y Entradas */
/* V49 · speakers confirmados (fotos del deck, en B/N como la galería) + tarjeta «Y más speakers»; auspiciadores chicos en el pie */
.voice-photo{background:var(--ink);overflow:hidden}
.voice-photo img{display:block;width:100%;height:100%;object-fit:cover}  /* V51: retratos ya en B/N con recorte y borde de papel (herramientas/retratos_speakers.py) */
.voice-more .voice-portrait{background:var(--ink)!important}
.voice-more .voice-portrait-placeholder span{color:var(--lime)}
.footer-sponsors{display:flex;align-items:center;gap:18px}
.footer-sponsors span{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff7e780}
.footer-sponsors a{display:flex;align-items:center;min-height:44px;opacity:.85;transition:opacity .2s}
.footer-sponsors a:hover{opacity:1;text-decoration:none}
.footer-sponsors img{height:26px;width:auto}
.footer-sponsors a+a img{height:40px}
@media(max-width:760px){.finale-footer{flex-wrap:wrap}.footer-sponsors{order:2;width:100%}}
/* V54 · sede Open PUCP (logo + dirección), Clínica de Emprendedores IA bajo los boletos, cuatro auspiciadores en el pie */
.venue-place{display:flex;align-items:center;gap:clamp(16px,2vw,26px);margin-top:clamp(22px,3vw,34px)}
.venue-place img{flex:none;width:auto;height:clamp(40px,4vw,54px)}
.venue-place p{margin:0;font-size:clamp(14px,1.2vw,16px);font-weight:600;line-height:1.45;color:#fff7e7d9}
.closing-finale .clinica{max-width:944px;margin:0 auto clamp(48px,5vw,72px);padding:clamp(22px,3vw,36px);border:2px solid #ffd23f;color:var(--paper);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8px clamp(24px,4vw,48px);align-items:end}
.clinica .clinica-tag{grid-column:1/-1;margin:0;font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:#ffd23f}
.clinica h3{margin:0;font-size:clamp(30px,3.4vw,46px);font-weight:820;letter-spacing:-.055em;line-height:.95;color:#ffd23f}
.clinica p:last-child{margin:0;font-size:clamp(15px,1.3vw,18px);font-weight:550;line-height:1.45;color:#fff7e7e6}
.gold-perks b{font-weight:850}
.footer-sponsors{flex-wrap:wrap;row-gap:4px}
.footer-sponsors img[alt="Equipu PUCP"]{height:30px}
@media(max-width:760px){.closing-finale .clinica{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:490px}.venue-place{align-items:flex-start;flex-direction:column}}
/* V55 · 15 speakers ordenados (Andrea primero, luego por seguidores); en pantallas anchas 3 filas de 5 sin la tarjeta «+», en el celular 8 filas de 2 con ella */
.voice-initials{background:var(--ink)}
.voice-initials span{color:var(--paper);font-size:clamp(54px,6vw,92px)}
/* V70: con 17 speakers la tarjeta «Y más speakers» vuelve (18 = filas parejas en celular) */
/* V62 · aviso de privacidad (Ley 29733) en una línea propia al pie */
.finale-footer{flex-wrap:wrap}
.finale-footer .footer-privacy{flex-basis:100%;order:10;margin:18px 0 0;max-width:96ch;font-size:11px;line-height:1.55;color:#fff7e780}
.footer-privacy a{color:inherit;text-decoration:underline}
/* V62 · en pantallas de 374 px o menos solo caben dos enlaces: Temas y Speakers */
.finale-footer .footer-privacy a{display:inline;padding:0;min-height:0;margin:0}
/* V63 · 16 speakers: 4 columnas en pantallas anchas (4×4) y 2 en el celular (8×2); la tarjeta «+» se va y el aviso de abajo dice que vienen más */
@media(min-width:761px){.voices-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1120px;gap:40px 30px}}
/* V64 · «Cómo llegar» (Google Maps) bajo la dirección de Open PUCP */
.venue-place .venue-map{display:inline-block;margin-top:8px;color:var(--paper);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* V64: Atomikal en el pie (logo 227×52, alto similar a C4V) */
.footer-sponsors img[alt="Atomikal"]{height:28px}

/* V70: botón de registro también en la portada del celular y CTAs a mitad de página (tras Temas y tras Speakers) */
@media(max-width:760px){
 .hero-venue{display:contents}
 .hero-venue .hero-luma{display:flex;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:50px;padding:13px 18px;font-size:16px}
}
@media(max-height:520px) and (orientation:landscape){.hero-venue .hero-luma{display:none}}
.section-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;max-width:1320px;margin:clamp(36px,4vw,60px) auto 0}
.section-cta p{flex:1 1 300px;margin:0;font-size:clamp(22px,2.2vw,32px);font-weight:720;line-height:1.1;letter-spacing:-.045em}
.button-lime{color:var(--ink);background:var(--lime)}
.button-lime:hover{background:var(--paper)}
.section-cta-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:650;color:inherit;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.section-cta .button{width:100%}.section-cta-link{width:100%;justify-content:center}}

/* V70: sponsors y aliados separados en el pie (Martín, 23-oct) + invitación a auspiciar */
.footer-sponsors .footer-sponsor-cta{font-size:12px;font-weight:650;color:inherit;text-decoration:underline;text-underline-offset:4px;opacity:.75}

/* V71: sección «Haz que tu marca esté…» antes del pie y formulario «Quiero auspiciar» en un dialog */
.sponsor-section{background:var(--cobalt);color:var(--paper);padding:clamp(56px,7vw,96px) var(--gutter)}
.sponsor-inner{max-width:1320px;margin:0 auto;display:grid;gap:18px;justify-items:start}
.sponsor-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.sponsor-section h2{margin:0;max-width:18ch;font-size:clamp(34px,5vw,72px);line-height:.98;letter-spacing:-.055em}
.sponsor-copy{margin:0;max-width:56ch;font-size:clamp(16px,1.5vw,20px);line-height:1.45}
.sponsor-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.sponsor-dialog::backdrop{background:#050505b3}
.sponsor-form{position:relative;display:grid;gap:14px;padding:28px 24px 24px}
.sponsor-form h3{margin:0;font-size:28px;letter-spacing:-.04em}
.sponsor-form-intro,.sponsor-form-note{margin:0;font-size:13px;line-height:1.5}
.sponsor-form-note a{color:var(--cobalt)}
.sponsor-form label{display:grid;gap:6px;font-size:13px;font-weight:650}
.sponsor-form input:not([type=radio]),.sponsor-form textarea{width:100%;min-height:46px;padding:11px 12px;font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:#fff;border:1px solid #05050555;border-radius:0}
.sponsor-form input:focus-visible,.sponsor-form textarea:focus-visible{outline:2px solid var(--cobalt);outline-offset:1px}
.sponsor-form fieldset{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px}
.sponsor-form legend{margin-bottom:8px;font-size:13px;font-weight:650}
.sponsor-form .sponsor-choice{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #05050555;font-weight:500;cursor:pointer}
.sponsor-form .sponsor-choice:has(input:checked){border-color:var(--cobalt);background:#1010ce14}
.sponsor-form .button{justify-self:start}
.sponsor-close{position:absolute;top:8px;right:8px;width:44px;height:44px;font-size:28px;line-height:1;background:none;border:0;color:var(--ink);cursor:pointer}
@media(max-width:760px){.sponsor-form .button,.sponsor-section .button{width:100%}}
