/* ═══ AURORA — feria-festival rusoparlante · BA ═══
   Paleta: noche índigo + cortinas de aurora (los colores del flyer real). */

@font-face{font-family:'Unbounded';font-style:normal;font-weight:400 900;font-display:optional;
  src:url(fonts/unbounded-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400 900;font-display:optional;
  src:url(fonts/unbounded-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:optional;
  src:url(fonts/golostext-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:optional;
  src:url(fonts/golostext-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --noche:#0B1026;
  --noche2:#131A3D;
  --hielo:#EEF3FF;
  --bruma:#A7B1D6;
  --magenta:#E94E9C;
  --violeta:#7C56E0;
  --esmeralda:#35E39B;
  --oro:#F2C14E;
  --linea:rgba(238,243,255,.14);
  --disp:'Unbounded',system-ui,sans-serif;
  --body:'Golos Text',system-ui,-apple-system,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--noche);color:var(--hielo);font-family:var(--body);font-size:1.06rem;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--esmeralda)}
::selection{background:var(--violeta);color:var(--hielo)}
:focus-visible{outline:2px solid var(--esmeralda);outline-offset:3px;border-radius:2px}

/* ── topbar ── */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.4rem;
  padding:.65rem clamp(1rem,4vw,2.2rem);background:rgba(11,16,38,.82);backdrop-filter:blur(9px);
  border-bottom:1px solid var(--linea)}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--hielo);
  font-family:var(--disp);font-weight:700;font-size:.92rem;letter-spacing:.14em}
.brand__star{width:17px;height:17px;fill:var(--esmeralda);transition:transform .5s}
.brand:hover .brand__star{transform:rotate(90deg)}
.nav{display:flex;gap:1.15rem;margin-left:auto;flex-wrap:wrap}
.nav a{color:var(--bruma);text-decoration:none;font-size:.92rem;font-weight:500}
.nav a:hover{color:var(--hielo)}
.langs{display:flex;gap:.3rem}
.lang{background:none;border:1px solid var(--linea);color:var(--bruma);font:inherit;font-size:.78rem;
  font-weight:600;padding:.24rem .55rem;border-radius:99px;cursor:pointer}
.lang:hover{color:var(--hielo);border-color:var(--bruma)}
.lang[aria-pressed="true"]{background:var(--hielo);color:var(--noche);border-color:var(--hielo)}

/* ── hero + cielo ── */
.hero{position:relative;overflow:hidden;text-align:center;
  padding:clamp(3.2rem,9vh,6rem) 1.2rem clamp(3rem,7vh,4.5rem)}
.sky{position:absolute;inset:0;pointer-events:none}
.curtain{position:absolute;inset:-20% -10%;opacity:.5;mix-blend-mode:screen;border-radius:50%;will-change:transform}
.c1{background:radial-gradient(58% 42% at 22% 30%,var(--magenta) 0%,transparent 70%);animation:drift1 38s ease-in-out infinite alternate}
.c2{background:radial-gradient(52% 45% at 78% 24%,var(--esmeralda) 0%,transparent 70%);animation:drift2 46s ease-in-out infinite alternate}
.c3{background:radial-gradient(65% 50% at 50% 12%,var(--violeta) 0%,transparent 72%);animation:drift3 54s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate(-4%,-2%) rotate(-4deg)}to{transform:translate(5%,4%) rotate(5deg)}}
@keyframes drift2{from{transform:translate(3%,2%) rotate(3deg)}to{transform:translate(-5%,-3%) rotate(-6deg)}}
@keyframes drift3{from{transform:translateY(0) scaleX(1)}to{transform:translateY(5%) scaleX(1.12)}}
.stars{position:absolute;inset:0;background-repeat:repeat;
  background-image:radial-gradient(1.2px 1.2px at 22px 34px,rgba(238,243,255,.9) 50%,transparent 51%),
    radial-gradient(1px 1px at 127px 88px,rgba(238,243,255,.7) 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 219px 41px,rgba(238,243,255,.8) 50%,transparent 51%),
    radial-gradient(1px 1px at 74px 157px,rgba(238,243,255,.6) 50%,transparent 51%);
  background-size:260px 200px}
.s1{animation:twinkle 5s ease-in-out infinite alternate}
.s2{background-position:130px 90px;animation:twinkle 7s 1.8s ease-in-out infinite alternate-reverse}
@keyframes twinkle{from{opacity:.35}to{opacity:.9}}

.hero__eyebrow{position:relative;font-size:.85rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--bruma);margin-bottom:1.6rem}

/* sello: anillo de estrellas (el banner de arpillera, en vector) */
.seal{position:relative;width:min(78vw,430px);margin:0 auto;aspect-ratio:1;display:grid;place-items:center}
.seal__ring{position:absolute;inset:0;width:100%;height:100%;fill:var(--hielo)}
.seal__spin{transform-origin:200px 200px;animation:spin 140s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seal__ring use:nth-child(odd){opacity:.92}
.seal__ring g:nth-of-type(3n) use{fill:var(--esmeralda);opacity:.85}
.seal__ring g:nth-of-type(5n) use{fill:var(--oro);opacity:.8}
.seal__word{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,8.4vw,3.9rem);
  letter-spacing:.06em;line-height:1;position:relative;
  text-shadow:0 0 34px rgba(124,86,224,.55)}

.hero__tag{position:relative;max-width:34em;margin:1.7rem auto 0;color:var(--bruma);font-size:1.12rem}

.next{position:relative;display:inline-block;margin-top:2.1rem;padding:1.05rem 1.7rem;
  border:1px solid var(--linea);border-radius:14px;background:rgba(19,26,61,.6);backdrop-filter:blur(4px)}
.next__label{font-size:.74rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--esmeralda)}
.next__date{font-family:var(--disp);font-weight:600;font-size:clamp(1.25rem,4.6vw,1.9rem);margin:.35rem 0 .2rem}
.next__meta{color:var(--bruma);font-size:.94rem}
.next__chip{display:inline-block;margin-top:.55rem;padding:.14rem .7rem;border-radius:99px;
  font-size:.78rem;font-weight:600;background:rgba(242,193,78,.14);color:var(--oro);border:1px solid rgba(242,193,78,.35)}
.next__chip.is-count{background:rgba(53,227,155,.12);color:var(--esmeralda);border-color:rgba(53,227,155,.35)}

.hero__cta{position:relative;margin-top:1.9rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.72rem 1.5rem;border-radius:99px;text-decoration:none;
  font-weight:600;font-size:.97rem;transition:transform .18s,box-shadow .18s}
.btn--solid{background:linear-gradient(100deg,var(--magenta),var(--violeta) 55%,var(--esmeralda));
  color:var(--noche);box-shadow:0 4px 22px rgba(233,78,156,.3)}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(124,86,224,.45)}
.btn--ghost{border:1px solid var(--bruma);color:var(--hielo)}
.btn--ghost:hover{border-color:var(--hielo);transform:translateY(-2px)}

/* ── banderines ── */
.bunting{margin-top:-6px}
.bunting svg{display:block;width:100%;height:46px}
.f1{fill:var(--magenta)}.f2{fill:var(--oro)}.f3{fill:var(--esmeralda)}.f4{fill:var(--violeta)}

/* ── secciones ── */
.sec{max-width:1060px;margin:0 auto;padding:clamp(3.4rem,9vh,5.6rem) clamp(1.2rem,4vw,2.2rem) 0}
.sec__eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--esmeralda)}
.sec__title{font-family:var(--disp);font-weight:600;font-size:clamp(1.35rem,3.6vw,2.05rem);
  line-height:1.25;margin:.7rem 0 1.6rem;max-width:22em}

.que__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.4rem;color:var(--bruma);max-width:64em}
.que__cols p:first-line{color:var(--hielo)}

.stats{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:.9rem;margin-top:2.2rem}
.stats li{border:1px solid var(--linea);border-radius:12px;padding:1rem 1.1rem;background:var(--noche2)}
.stats strong{display:block;font-family:var(--disp);font-weight:700;font-size:1.6rem;color:var(--esmeralda)}
.stats span{color:var(--bruma);font-size:.9rem}

/* rubros */
.rubros{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}
.rubros li{display:flex;align-items:center;gap:.85rem;padding:.95rem 1.05rem;border:1px solid var(--linea);
  border-radius:12px;background:var(--noche2);transition:border-color .2s,transform .2s}
.rubros li:hover{border-color:var(--violeta);transform:translateY(-2px)}
.rubros svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--oro);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.rubros span{font-size:.94rem;font-weight:500}

/* sabores / marquesina */
.sabores{margin-top:clamp(3.4rem,9vh,5.6rem);padding:2.2rem 0;border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);background:linear-gradient(100deg,rgba(233,78,156,.07),rgba(124,86,224,.07) 50%,rgba(53,227,155,.07));overflow:hidden}
.sabores .sec__eyebrow{text-align:center;margin-bottom:1.1rem}
.marquee{overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:inline-block;animation:slide 42s linear infinite}
.marquee__track span{font-family:var(--disp);font-weight:500;font-size:clamp(1.4rem,4.4vw,2.3rem);
  color:var(--hielo);opacity:.9;padding:0 .55em}
.marquee__track i{color:var(--esmeralda);font-style:normal;font-size:1.15rem;vertical-align:.35em}
@keyframes slide{to{transform:translateX(-50%)}}
.sabores__note{text-align:center;margin-top:1.15rem;color:var(--bruma);font-size:.95rem}

/* galería */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.galeria__item{border:1px solid var(--linea);border-radius:12px;overflow:hidden;background:var(--noche2)}
.galeria__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:2/3;transition:transform .45s ease}
.galeria__item--wide{grid-column:span 2}
.galeria__item--wide img{aspect-ratio:auto}
.galeria__item:hover img{transform:scale(1.04)}

/* videos */
.videos{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}
.videotile{position:relative;width:min(44vw,250px);aspect-ratio:9/16;padding:0;border:1px solid var(--linea);
  border-radius:14px;overflow:hidden;background:var(--noche2);cursor:pointer;
  transition:border-color .2s,transform .2s}
.videotile:hover{border-color:var(--esmeralda);transform:translateY(-3px)}
.videotile img{width:100%;height:100%;object-fit:cover}
.videotile__play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;
  background:rgba(11,16,38,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23EEF3FF'/%3E%3C/svg%3E") center/26px no-repeat;
  border:1px solid rgba(238,243,255,.4);backdrop-filter:blur(3px);transition:transform .2s}
.videotile:hover .videotile__play{transform:scale(1.1)}
.videotile__label{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .6rem;
  background:linear-gradient(transparent,rgba(11,16,38,.88));color:var(--hielo);
  font-size:.86rem;font-weight:600}

/* modal de video */
.videobox{position:fixed;inset:0;z-index:110;display:none;align-items:center;justify-content:center;
  padding:4vw;background:rgba(11,16,38,.93);backdrop-filter:blur(6px)}
.videobox.is-open{display:flex}
.videobox video{max-width:94vw;max-height:88vh;border-radius:12px;border:1px solid var(--linea);background:#000}
.videobox__close{position:absolute;top:20px;right:22px;width:44px;height:44px;background:transparent;
  border:1px solid var(--linea);color:var(--hielo);border-radius:50%;font-size:17px;cursor:pointer;
  transition:border-color .2s,color .2s}
.videobox__close:hover{border-color:var(--esmeralda);color:var(--esmeralda)}

/* sede */
.sede__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;align-items:start}
.sede__photo{border:1px solid var(--linea);border-radius:14px;overflow:hidden;background:var(--noche2)}
.sede__photo img{width:100%}
.sede__photo figcaption{padding:.7rem 1rem;font-size:.85rem;color:var(--bruma)}
.sede__addr{font-family:var(--disp);font-weight:600;font-size:1.15rem;line-height:1.5;margin-bottom:.9rem}
.sede__addr span{color:var(--bruma);font-family:var(--body);font-weight:400;font-size:.95rem}
.sede__info p:not(.sede__addr){color:var(--bruma);margin-bottom:1.3rem}

/* puestos */
.pue__note{color:var(--bruma);font-size:.92rem;margin:-.8rem 0 1.4rem}
.chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.5rem}
.chip{background:none;border:1px solid var(--linea);color:var(--bruma);font:inherit;font-size:.86rem;
  font-weight:600;padding:.38rem .95rem;border-radius:99px;cursor:pointer;
  transition:color .2s,border-color .2s,background .2s}
.chip:hover{color:var(--hielo);border-color:var(--bruma)}
.chip[aria-pressed="true"]{background:var(--hielo);color:var(--noche);border-color:var(--hielo)}
.puestos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem}
.puesto{display:flex;flex-direction:column;gap:.28rem;padding:.9rem 1rem;border:1px solid var(--linea);
  border-radius:12px;background:var(--noche2);text-decoration:none;color:var(--hielo);
  transition:border-color .2s,transform .2s}
.puesto:hover{border-color:var(--esmeralda);transform:translateY(-2px)}
.puesto strong{font-size:.98rem;font-weight:700;line-height:1.3}
.puesto span{color:var(--bruma);font-size:.86rem;line-height:1.45}
.puesto em{margin-top:auto;padding-top:.3rem;font-style:normal;font-size:.76rem;font-weight:600;color:var(--esmeralda)}

/* participá */
#participa{padding-bottom:clamp(3.4rem,9vh,5.6rem)}
.parti{position:relative;text-align:center;border:1px solid rgba(242,193,78,.3);border-radius:18px;
  padding:clamp(2rem,6vw,3.2rem);overflow:hidden;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#1A2150,#131A3D)}
.parti__star{width:34px;height:34px;fill:var(--oro);margin-bottom:.9rem}
.parti h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.3rem,3.4vw,1.8rem);margin-bottom:.8rem}
.parti p{max-width:36em;margin:0 auto 1.6rem;color:var(--bruma)}

/* footer */
.footer{text-align:center;padding:2.6rem 1.2rem 2.2rem;border-top:1px solid var(--linea);color:var(--bruma);font-size:.92rem}
.footer__star{width:20px;height:20px;fill:var(--esmeralda);margin-bottom:.6rem}
.footer__links{margin-top:.3rem}
.footer__fine{margin-top:1rem;font-size:.78rem}

/* reveals */
.up{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.up.is-in{opacity:1;transform:none}

/* móviles */
@media (max-width:640px){
  .nav{display:none}
  .topbar{gap:.8rem}
  .langs{margin-left:auto}
  .galeria{grid-template-columns:repeat(2,1fr);gap:.6rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .curtain,.stars,.seal__spin,.marquee__track{animation:none}
  .up{opacity:1;transform:none;transition:none}
  .btn,.rubros li{transition:none}
  .galeria__item img,.videotile,.videotile__play{transition:none}
  .chip,.puesto{transition:none}
}
