/* Amerike Summit 2026 — landing de registro */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin-wght-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Oswald";src:url("../fonts/oswald-latin-wght-normal.woff2") format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2");font-weight:100 800;font-display:swap}

:root{
  --bg:#020203;
  --ink:#fff;
  --mute:#9aa6b2;
  --cyan:#00aced;
  --pink:#ff0386;
  --line:rgba(0,172,237,.34);
  --display:"Montserrat",system-ui,sans-serif;
  --thin:"Oswald","Montserrat",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --pad:clamp(20px,5vw,72px);
  --max:1320px;
  --header:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
section{position:relative}

/* ---------- piezas comunes ---------- */
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.thin{font-family:var(--thin);font-weight:200;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.title{font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:1.04;font-size:clamp(40px,7.4vw,112px)}
.title .thin{display:block;font-size:.62em;letter-spacing:0;line-height:1.15;margin-bottom:.1em;color:#fff}
.lede{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:#d6dde4;max-width:56ch}

.btn{--b:var(--pink);position:relative;display:inline-flex;align-items:center;gap:.7em;min-height:56px;padding:0 30px;border-radius:999px;background:var(--b);color:#fff;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s,box-shadow .35s;box-shadow:0 0 0 0 rgba(255,3,134,.5)}
.btn svg{width:18px;height:18px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn:hover{box-shadow:0 0 44px -4px rgba(255,3,134,.75)}
.btn:hover svg{transform:translate(3px,-3px)}
.btn--sm{min-height:42px;padding:0 20px;font-size:12px}
.btn--xl{min-height:72px;padding:0 44px;font-size:clamp(15px,1.3vw,19px)}
.btn--ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.btn--ghost:hover{background:#fff;color:#000;box-shadow:none}
.btn[aria-disabled="true"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--pink);color:var(--pink);cursor:default}
.btn[aria-disabled="true"] svg{display:none}
.note{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.note b{color:#fff;font-weight:600}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pink);margin-right:.7em;box-shadow:0 0 0 0 rgba(255,3,134,.7);animation:pulse 1.8s infinite}
@keyframes pulse{to{box-shadow:0 0 0 12px rgba(255,3,134,0)}}

/* ---------- header ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:2px;background:var(--cyan);transform-origin:0 50%;transform:scaleX(0);z-index:60}
.header{position:fixed;inset:0 0 auto 0;height:var(--header);z-index:50;display:flex;align-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1),background .3s}
.header.is-solid{background:rgba(2,2,3,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header.is-hidden{transform:translateY(-100%)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:24px}
.header__logo img{height:30px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav a:not(.btn){font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:#cfd6dd;transition:color .25s}
.nav a:not(.btn):hover{color:var(--cyan)}
@media(max-width:760px){.nav a:not(.btn){display:none}.header__logo img{height:26px}}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding:calc(var(--header) + 24px) 0 56px;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.lines{position:absolute;opacity:.55}
.lines--a{inset:-10% 44% 38% -10%;background:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 7px);clip-path:polygon(0 0,100% 0,62% 100%,0 100%);mask-image:linear-gradient(90deg,#000,transparent)}
.lines--b{inset:30% -8% -10% 52%;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 7px);clip-path:polygon(34% 0,100% 0,100% 100%,0 100%);mask-image:linear-gradient(0deg,#000,transparent 85%)}
.lines--c{inset:58% 40% -14% -6%;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 9px),repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 9px);mask-image:linear-gradient(20deg,#000,transparent 70%);opacity:.35}
.glow{position:absolute;left:-18vw;bottom:-30vh;width:70vw;height:75vh;background:radial-gradient(closest-side at 40% 60%,rgba(255,3,134,.85),transparent 70%),radial-gradient(closest-side at 62% 82%,rgba(0,172,237,.8),transparent 70%);filter:blur(60px);opacity:.75}
.grain{position:absolute;inset:0;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(24px,4vw,72px)}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.hero h1{font-weight:900;font-style:italic;text-transform:none;letter-spacing:-.035em;line-height:1.1;font-size:clamp(38px,4.6vw,76px)}
.hero h1 .o{display:block;color:var(--bg);-webkit-text-stroke:3px #fff;paint-order:stroke fill}
.hero h1 .o b{color:#fff;-webkit-text-stroke:0;font-weight:900}
.hero h1 .o + .o b{color:var(--pink)}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#e6ebf0}
.hero__meta span{display:inline-flex;align-items:center;gap:.7em}
.hero__meta span::before{content:"";width:14px;height:1px;background:var(--cyan)}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}

.art{position:relative;container-type:inline-size;width:100%;max-width:min(640px,70svh);margin-inline:auto;aspect-ratio:1500/1456;perspective:1100px}
.art__tilt{position:absolute;inset:0}
.art__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.art__img--glow{filter:blur(38px) saturate(1.6);opacity:.5;transform:scale(1.05);will-change:transform,opacity}
.art__img--main{will-change:transform}
.art__echoes{position:absolute;inset:0;pointer-events:none}
.art__echo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;will-change:transform,opacity}
.art__echo--out{filter:blur(2px) brightness(1.3)}
.art__fx{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:320% 100%;mask-size:320% 100%}
.art__fx--a{filter:brightness(2.6) saturate(.55) drop-shadow(0 0 10px rgba(120,220,255,.9));-webkit-mask-image:linear-gradient(112deg,transparent 42%,#000 50%,transparent 58%);mask-image:linear-gradient(112deg,transparent 42%,#000 50%,transparent 58%);animation:sweep 7s linear infinite;opacity:.6}
.art__fx--b{filter:hue-rotate(128deg) brightness(1.7) saturate(1.5) drop-shadow(0 0 12px rgba(255,3,134,.8));-webkit-mask-image:linear-gradient(68deg,transparent 43%,#000 50%,transparent 57%);mask-image:linear-gradient(68deg,transparent 43%,#000 50%,transparent 57%);animation:sweep 12s linear infinite reverse;animation-delay:-3s;opacity:.5}
@keyframes sweep{from{-webkit-mask-position:120% 0;mask-position:120% 0}to{-webkit-mask-position:-20% 0;mask-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.art__fx{display:none}}
.art__date{position:absolute;z-index:3;left:35.2%;top:1%;width:23%;text-align:center;text-shadow:0 0 18px #000,0 0 6px #000;line-height:1;text-transform:uppercase}
.art__date b{display:block;font-weight:900;font-size:8.6cqw;letter-spacing:.06em;margin-right:-.06em}
.art__date i{display:block;font-family:var(--thin);font-style:normal;font-weight:200;font-size:11.4cqw;letter-spacing:-.01em;margin-top:.1em}
.art__date i em{font-style:normal;color:var(--cyan);font-weight:500}
.art__date small{display:block;font-weight:900;font-size:2.35cqw;color:var(--pink);margin-top:.5em;text-transform:none;white-space:nowrap}

.count{display:flex;gap:clamp(14px,2vw,30px);align-items:flex-end}
.count div{display:flex;flex-direction:column;gap:6px}
.count b{font-family:var(--thin);font-weight:200;font-size:clamp(38px,4.2vw,62px);line-height:.9;font-variant-numeric:tabular-nums}
.count span{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.count .sep{font-family:var(--thin);font-weight:200;font-size:clamp(30px,3.4vw,50px);color:var(--cyan);line-height:1;padding-bottom:18px}
.scrollcue{position:absolute;left:50%;bottom:18px;translate:-50% 0;font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollcue::after{content:"";width:1px;height:34px;background:linear-gradient(var(--cyan),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

@media(max-width:900px){
  .hero{padding-top:calc(var(--header) + 8px);padding-bottom:40px}
  .hero__grid{grid-template-columns:1fr;gap:18px}
  .hero__visual{order:-1}
  .art{max-width:min(74vw,37svh)}
  .hero__copy{gap:18px}
  .hero__copy .lede{order:5}
  .hero__copy .count{order:6}
  .hero .btn--xl{min-height:62px;padding:0 34px}
  .glow{width:120vw;left:-50vw;opacity:.55}
}

/* ---------- banda marquee ---------- */
.band{background:var(--pink);overflow:hidden;padding:18px 0;z-index:2}
.band__track{display:flex;width:max-content;animation:marquee 26s linear infinite}
.band__track span{flex:none;font-style:italic;font-weight:900;font-size:clamp(24px,3.4vw,46px);letter-spacing:-.02em;line-height:1;padding-right:.9em;color:var(--pink);-webkit-text-stroke:2.4px #fff;paint-order:stroke fill;white-space:nowrap}
.band__track span b{color:#fff;-webkit-text-stroke:0}
.band__track span::after{content:"/";margin-left:.9em;color:#fff;-webkit-text-stroke:0;font-style:normal;font-weight:200}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- intro ---------- */
.intro{padding:clamp(90px,13vw,190px) 0 clamp(70px,9vw,130px)}
.intro__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,90px);align-items:end}
.intro .eyebrow{margin-bottom:26px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(56px,7vw,100px);border-top:1px solid rgba(255,255,255,.16)}
.stats li{padding:26px 20px 0 0;display:flex;flex-direction:column;gap:10px}
.stats li + li{padding-left:22px;border-left:1px solid rgba(255,255,255,.16)}
.stats b{font-family:var(--thin);font-weight:200;font-size:clamp(56px,7.5vw,116px);line-height:.85;color:#fff}
.stats b sup{font-size:.4em;color:var(--cyan);vertical-align:top;margin-left:.08em;position:relative;top:.2em}
.stats li > span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media(max-width:900px){.intro__grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats li{padding-bottom:26px}.stats li:nth-child(3){padding-left:0;border-left:0}.stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}}

/* ---------- la caja (efecto firma) ---------- */
.box{background:#000}
.box__stage{position:relative;display:grid}
.box__a,.box__b{grid-area:1/1;display:grid;place-items:center;text-align:center;padding:clamp(70px,10vw,130px) var(--pad)}
.box__a{min-height:60svh}
.box__frame{position:relative;width:min(58vw,300px);aspect-ratio:1;display:grid;place-items:center;border:1.5px solid var(--cyan);box-shadow:8px 8px 0 -6.5px var(--cyan),16px 16px 0 -14.5px var(--cyan),24px 24px 0 -22.5px var(--cyan),0 0 0 9px #000,0 0 0 10px rgba(0,172,237,.55),0 0 0 19px #000,0 0 0 20px rgba(0,172,237,.3),0 0 0 29px #000,0 0 0 30px rgba(0,172,237,.14)}
.box__frame p{font-style:italic;font-weight:900;font-size:clamp(24px,3vw,34px);line-height:1.12;letter-spacing:-.02em;color:#000;-webkit-text-stroke:2.4px #fff;paint-order:stroke fill}
.box__frame p b{display:block;color:#fff;-webkit-text-stroke:0;font-size:1.5em}
.box__b{background:var(--pink);color:#fff;min-height:100svh;align-content:center;gap:28px}
.box__b h2{font-style:italic;font-weight:900;letter-spacing:-.04em;line-height:1.02;font-size:clamp(52px,12.5vw,210px);color:var(--pink);-webkit-text-stroke:4px #fff;paint-order:stroke fill}
.box__b h2 b{display:block;color:#fff;-webkit-text-stroke:0}
.box__b p{max-width:46ch;font-size:clamp(17px,1.6vw,22px);font-weight:600;line-height:1.4}
html.m-on .box{height:260vh}
html.m-on .box__stage{position:sticky;top:0;height:100svh;overflow:hidden}
html.m-on .box__a,html.m-on .box__b{min-height:0;height:100svh}
html.m-on .box__b{will-change:clip-path}

/* ---------- ponentes ---------- */
.speakers{padding:clamp(90px,12vw,170px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,70px)}
.sec-head .eyebrow{margin-bottom:22px}
.sec-head .lede{max-width:38ch}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.card{position:relative;display:block;width:100%;text-align:left;aspect-ratio:4/5.4;overflow:hidden;background:#0a0d10;isolation:isolate}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1) contrast(1.05);transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s}
.card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 35%,rgba(0,8,14,.55) 62%,#000 100%)}
.card::after{content:"";position:absolute;inset:0;z-index:1;background:var(--cyan);mix-blend-mode:multiply;opacity:0;transition:opacity .45s}
.card__n{position:absolute;top:12px;left:14px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#fff}
.card__day{position:absolute;top:12px;right:12px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid rgba(255,255,255,.5);border-radius:99px;color:#fff;background:rgba(0,0,0,.35)}
.card__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:16px 14px 16px;display:flex;flex-direction:column;gap:8px}
.card__name{font-weight:900;text-transform:uppercase;font-size:clamp(17px,1.65vw,25px);line-height:1.05;letter-spacing:-.03em}
.card__tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);line-height:1.35}
.card__talk{font-weight:800;font-size:13px;line-height:1.2;color:#fff;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.card__talk span{overflow:hidden}
.card__more{position:absolute;right:12px;bottom:14px;z-index:3;width:34px;height:34px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font-weight:400;font-size:22px;line-height:1;transform:scale(0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){
  .card:hover img{transform:scale(1.07)}
  .card:hover::after{opacity:.55}
  .card:hover .card__talk{grid-template-rows:1fr}
  .card:hover .card__more{transform:scale(1)}
  .card:hover .card__body{padding-right:54px}
}
@media(hover:none){.card__talk{grid-template-rows:1fr}}
@media(max-width:1020px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card{aspect-ratio:4/6}.card__name{font-size:clamp(17px,4.6vw,30px)}.card__tag{display:none}.card::before{background:linear-gradient(180deg,transparent 42%,rgba(0,8,14,.7) 68%,#000 100%)}}

/* modal */
.modal{width:min(1000px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:0;border:1px solid rgba(0,172,237,.5);background:#05080b;color:#fff;overflow:auto;overscroll-behavior:contain}
.modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.modal[open]{animation:pop .5s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(26px) scale(.98)}}
.modal__in{display:grid;grid-template-columns:.8fr 1.2fr}
.modal__photo{position:relative;min-height:100%;background:#000}
.modal__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 10%;filter:grayscale(1);position:absolute;inset:0}
.modal__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,172,237,.35),transparent 50%),repeating-linear-gradient(0deg,rgba(0,172,237,.2) 0 1px,transparent 1px 6px);mix-blend-mode:screen}
.modal__txt{padding:clamp(22px,3.4vw,44px);display:flex;flex-direction:column;gap:16px}
.modal__txt h3{font-weight:900;text-transform:uppercase;font-size:clamp(30px,4.4vw,54px);line-height:1.02;letter-spacing:-.035em}
.modal__tag{font-weight:900;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--pink)}
.modal__bio{font-size:15px;line-height:1.55;color:#d3dae1}
.modal__talk{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;display:flex;flex-direction:column;gap:10px}
.modal__talk h4{margin:0;font-weight:900;text-transform:uppercase;font-size:clamp(19px,2.2vw,26px);line-height:1.12;color:var(--pink);letter-spacing:-.02em}
.modal__talk h4 + p{font-weight:800;font-size:16px;line-height:1.2}
.modal__talk ul{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.modal__talk li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.45;color:#e2e8ee}
.modal__talk li::before{content:"";position:absolute;left:0;top:.28em;width:12px;height:12px;border-radius:50%;border:3px solid var(--cyan);box-shadow:0 2px 0 var(--pink)}
.modal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:6px}
.modal__x{position:sticky;top:10px;float:right;margin:10px 10px -54px 0;z-index:5;width:44px;height:44px;border-radius:50%;background:#000;border:1px solid rgba(255,255,255,.4);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .25s,color .25s}
.modal__x:hover{background:#fff;color:#000}
@media(max-width:760px){.modal__in{grid-template-columns:1fr}.modal__photo{aspect-ratio:1/.8;min-height:0}}

/* ---------- programa ---------- */
.program{padding:clamp(80px,11vw,160px) 0;background:linear-gradient(180deg,#000,#03090d)}
.program__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.program__bg i{position:absolute;right:-6%;top:8%;width:46%;height:60%;background:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 8px);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);mask-image:linear-gradient(270deg,#000,transparent);opacity:.5}
.tabs{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.tab{min-height:54px;padding:0 24px;font-weight:300;font-size:clamp(14px,1.5vw,19px);letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);color:#cfd6dd;transition:background .3s,color .3s,border-color .3s}
.tab b{font-weight:900}
.tab[aria-selected="true"]{background:var(--cyan);border-color:var(--cyan);color:#000}
.tab:nth-child(1)[aria-selected="true"]{background:var(--pink);border-color:var(--pink);color:#fff}
.day + .day{margin-top:50px}
.day__h{font-weight:300;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:18px}
.day__h b{font-weight:900}
html.m-on .day__h{display:none}
html.m-on .day[hidden]{display:none}
.rows{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:150px 1fr 1.25fr auto;align-items:center;gap:8px 24px;min-height:62px;padding:12px 26px;border:1px solid rgba(255,255,255,.75);border-radius:99px;font-size:15px}
.row time{font-family:var(--mono);font-weight:600;font-size:13.5px;letter-spacing:.02em}
.row__who{font-weight:900}
.row__what{color:#e9edf1}
.row--talk{border-color:transparent;background:rgba(0,172,237,.07);transition:background .3s}
.row--talk .row__who{color:var(--cyan);font-size:17px}
.row--talk .row__what{font-weight:800;font-size:17px;color:#fff}
.row--talk:hover{background:rgba(0,172,237,.16)}
.row__go{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;font-size:18px;transition:background .25s,border-color .25s}
.row--talk:hover .row__go{background:var(--pink);border-color:var(--pink)}
.row--break{min-height:40px;padding-block:6px;border-color:rgba(255,255,255,.18);color:var(--mute);font-size:13px}
.row--break .row__who{font-weight:900;font-style:italic;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--pink)}
.row--break .row__what{color:var(--mute)}
button.row{text-align:left;width:100%}
@media(max-width:820px){
  .row{grid-template-columns:1fr auto;border-radius:22px;padding:14px 18px;gap:3px 12px}
  .row time{grid-column:1/-1;color:var(--mute);font-size:12px}
  .row__who{grid-column:1}.row__what{grid-column:1}
  .row__go{grid-column:2;grid-row:2/4}
  .row--break{display:flex;flex-wrap:wrap;gap:4px 12px;border-radius:99px}
  .row--break time{color:inherit}
}
.program__cta{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px}

/* ---------- pilares ---------- */
.why{padding:clamp(90px,12vw,170px) 0}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(36px,5vw,64px)}
.pillar{position:relative;border:1.5px solid var(--cyan);padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:10px;overflow:hidden;transition:background .4s}
.pillar::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 7px);opacity:0;transform:translateY(20%);transition:opacity .5s,transform .8s cubic-bezier(.2,.8,.2,1);mask-image:linear-gradient(0deg,#000,transparent 70%)}
.pillar:hover::before{opacity:1;transform:none}
.pillar > *{position:relative}
.pillar span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--mute)}
.pillar h3{font-weight:900;text-transform:uppercase;color:var(--pink);font-size:clamp(20px,2.3vw,30px);letter-spacing:-.02em;line-height:1}
.pillar p{font-weight:800;font-size:clamp(16px,1.6vw,21px);line-height:1.25;max-width:26ch}
@media(max-width:700px){.pillars{grid-template-columns:1fr}}

/* ---------- cierre ---------- */
.final{padding:clamp(100px,14vw,200px) 0 clamp(90px,10vw,140px);overflow:hidden;isolation:isolate;text-align:center}
.final .glow{left:50%;translate:-50% 0;bottom:-55vh;width:120vw;height:90vh;opacity:.8;z-index:-1}
.final__art{position:absolute;left:50%;top:50%;width:min(110vw,1100px);translate:-50% -50%;opacity:.16;z-index:-1;pointer-events:none}
.final .wrap{display:flex;flex-direction:column;align-items:center;gap:30px}
.final h2{font-size:clamp(46px,10vw,168px)}
.final h2 em{font-style:italic;color:var(--bg);-webkit-text-stroke:4px #fff;paint-order:stroke fill}
.final .lede{text-align:center;max-width:44ch}
.final__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.final__facts li{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border:1px solid rgba(255,255,255,.3);border-radius:99px;background:rgba(0,0,0,.4)}
.final__soon{display:none}
html.no-form .final__soon{display:block}

.footer{border-top:1px solid rgba(255,255,255,.14);padding:34px 0 110px}
.footer__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.footer img{height:34px;width:auto}
.footer p{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(min-width:761px){.footer{padding-bottom:34px}}

/* CTA fijo en móvil */
.dock{position:fixed;inset:auto 0 0 0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(0,0,0,.95) 55%,transparent);display:flex;transform:translateY(110%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dock.is-on{transform:none}
.dock .btn{flex:1;justify-content:center}
@media(min-width:761px){.dock{display:none}}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .band__track{animation:none}
}

.modal__bio p + p{margin-top:.8em}

/* Letras huecas: más aire entre líneas y entre letras para que el contorno no se encime */
.hero h1{line-height:1.16}
.hero h1 .o{letter-spacing:.012em}
.hero h1 .o b{letter-spacing:-.03em}
.final h2{line-height:1.12}
.final h2 em{letter-spacing:.02em}
.band__track span{letter-spacing:.012em}
.band__track span b{letter-spacing:-.02em}
.box__frame p{letter-spacing:.015em;line-height:1.2}
.box__frame p b{letter-spacing:-.02em}
.box__b h2{letter-spacing:.005em;line-height:1.08}
.box__b h2 b{letter-spacing:-.04em}

/* Botón de sonido */
.snd{display:inline-flex;align-items:flex-end;gap:3px;height:42px;padding:0 14px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#cfd6dd;align-items:center;transition:box-shadow .3s,color .3s}
.snd[hidden]{display:none}
.snd i{width:2px;height:4px;background:currentColor;border-radius:2px;transition:height .3s}
.snd span{margin-left:8px;white-space:nowrap}
.snd:hover{color:#fff;box-shadow:inset 0 0 0 1px #fff}
.snd.is-on{color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.snd.is-on i{animation:eq .9s ease-in-out infinite alternate}
.snd.is-on i:nth-child(2){animation-delay:-.35s}.snd.is-on i:nth-child(3){animation-delay:-.6s}.snd.is-on i:nth-child(4){animation-delay:-.15s}
@keyframes eq{from{height:3px}to{height:15px}}
.snd:not(.is-on)::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--pink);margin-left:8px;animation:pulse 1.8s infinite}
@media(max-width:760px){.nav{gap:10px}.snd{padding:0 12px;height:40px}.snd span{display:none}.snd:not(.is-on)::after{margin-left:6px}.nav .btn--sm{padding:0 15px;letter-spacing:.05em}.header__logo img{height:22px}}
@media(prefers-reduced-motion:reduce){.snd.is-on i{height:10px}}

/* Sede con mapa esquemático */
.venue{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;text-align:left;margin-top:26px;padding:18px;border:1px solid rgba(0,172,237,.45);background:rgba(2,6,9,.78);backdrop-filter:blur(6px);max-width:640px;width:100%}
.venue__map{display:block;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.18)}
.venue__map svg{display:block;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.venue__map:hover svg{transform:scale(1.08)}
.venue__ring{stroke-width:1.5;transform-origin:120px 120px;animation:ring 2.4s ease-out infinite}
.venue__ring--2{animation-delay:-1.2s}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(4.2);opacity:0}}
.venue__txt{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.venue__name{font-weight:900;text-transform:uppercase;font-size:clamp(17px,1.7vw,22px);line-height:1.15;letter-spacing:-.01em}
.venue__addr{font-size:15px;line-height:1.5;color:#d3dae1}
.venue .btn{margin-top:6px}
@media(max-width:560px){.venue{grid-template-columns:1fr;gap:16px}.venue__map{aspect-ratio:16/10}.venue__map svg{height:auto;margin-top:-18%}}
