.section-head{max-width:60ch;margin-bottom:clamp(2rem,1.2rem + 2vw,3.4rem)}.section-head h2{font-family:var(--font-display);font-size:var(--step-3);margin:.8rem 0 .6rem}.section-head p{color:var(--ts-text-soft);font-size:var(--step-0);max-width:52ch}.events-grid>.event-cell{display:flex;min-width:0}.events-grid>.event-cell>*{flex:1;min-width:0}.events-grid>.event-cell .event-card{width:100%}.events-grid>.event-cell-featured{grid-row:span 2;min-height:100%}.events-grid>.event-cell-featured .event-card{min-height:100%}.hero-scrolly{position:relative;height:320vh}.hero{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}.hero-media{z-index:0;background:var(--ts-bg)}.hero-media,.hero-vid{position:absolute;inset:0}.hero-vid{width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.02)}.hero-scrim{inset:0;background:linear-gradient(180deg,rgba(5,0,14,.62),rgba(5,0,14,.06) 26%,rgba(5,0,14,.34) 58%,rgba(5,0,14,.94)),linear-gradient(90deg,rgba(5,0,14,.82),rgba(5,0,14,.18) 46%,rgba(5,0,14,0) 72%),radial-gradient(120% 85% at 50% -5%,rgba(155,48,255,.2),transparent 55%)}.hero-glow,.hero-scrim{position:absolute;z-index:1;pointer-events:none}.hero-glow{left:50%;top:14%;transform:translateX(-50%);width:62vw;height:62vw;max-width:780px;max-height:780px;border-radius:50%;filter:blur(120px);background:radial-gradient(circle,rgba(155,48,255,.34) 0,rgba(255,215,0,.08) 45%,transparent 66%);animation:heroGlowPulse 4.5s ease-in-out infinite}@keyframes heroGlowPulse{0%,to{transform:translateX(-50%) scale(1);opacity:.45}50%{transform:translateX(-50%) scale(1.08);opacity:.62}}.hero-grain{opacity:.06;mix-blend-mode:overlay;background-image: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='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-grain,.hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-vignette{box-shadow:inset 0 0 22vw rgba(0,0,0,.55)}.hero-inner{position:relative;z-index:4;width:min(100% - 2.4rem,var(--maxw));margin-inline:auto;padding-bottom:clamp(3rem,1.5rem + 6vw,6.5rem);padding-top:clamp(3rem,2rem + 5vw,6rem)}.hero-eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}.hero-eyebrow .hero-live-dot{width:9px;height:9px;border-radius:50%;background:var(--ts-secondary);box-shadow:0 0 0 0 rgba(255,215,0,.7);animation:livePulse 2s infinite}@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(255,215,0,.55)}70%{box-shadow:0 0 0 12px rgba(255,215,0,0)}to{box-shadow:0 0 0 0 rgba(255,215,0,0)}}.hero-title{font-family:var(--font-display);font-size:clamp(2.9rem,1.4rem + 8.6vw,7.4rem);font-weight:900;line-height:.94;letter-spacing:-.03em;margin:0;max-width:16ch}.hero-title .ln{display:block;will-change:transform,filter}.hero-title .accent{font-style:italic;background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 70px rgba(155,48,255,.45)}.hero .lead{margin-top:1.7rem;font-size:var(--step-1);color:var(--ts-text-soft);max-width:46ch;line-height:1.55}.hero-cta{gap:.9rem}.hero-cta,.hero-pills{display:flex;flex-wrap:wrap;margin-top:2.2rem}.hero-pills{gap:.55rem}.hero-scroll{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.45rem;font-size:var(--step--1);letter-spacing:.28em;text-transform:uppercase;color:var(--ts-text-soft);text-decoration:none}.hero-scroll .mouse{width:24px;height:38px;border:1.5px solid var(--ts-line-strong);border-radius:999px;position:relative}.hero-scroll .mouse:after{content:"";position:absolute;left:50%;top:7px;width:4px;height:7px;border-radius:999px;background:var(--ts-secondary);transform:translateX(-50%);animation:scrollDot 1.8s infinite}@keyframes scrollDot{0%{opacity:0;transform:translate(-50%)}40%{opacity:1}to{opacity:0;transform:translate(-50%,12px)}}.hero .agenda-card{position:absolute;z-index:5;bottom:clamp(4.5rem,3rem + 4vw,7rem);right:max((100vw - var(--maxw))/2 + 1.2rem,1.2rem);width:min(80vw,350px)}.sb-agenda{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ts-secondary)}.sb-agenda .ic{font-size:.8rem;color:var(--ts-secondary)}.sb-evmeta{display:flex;align-items:center;gap:.4rem;margin-top:.3rem;font-size:var(--step--1);color:var(--ts-text-dim)}.sb-evmeta .ic{font-size:.85rem;color:var(--ts-primary)}.sb-evmeta .dot{opacity:.5}.sb-evdate{font-family:var(--font-mono);font-size:.82rem;white-space:nowrap}.sb-evdate,.sb-foot a{font-weight:700;color:var(--ts-secondary)}.sb-foot a{text-decoration:none}.logo-stage{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:clamp(1rem,.5rem + 3vw,3rem);pointer-events:none}.logo-stage .logo-box{position:relative;width:min(78vw,720px);aspect-ratio:4736/3456}.logo-stage .layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity;-webkit-user-drag:none;user-select:none}.logo-stage .smokestill{mix-blend-mode:screen;opacity:0}.logo-stage .gem{position:absolute;object-fit:contain;transform-origin:center;will-change:transform,opacity;-webkit-user-drag:none;user-select:none}.logo-stage .sheen{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;-webkit-mask:url(/logo/final-web.png) center/contain no-repeat;mask:url(/logo/final-web.png) center/contain no-repeat}.logo-stage .sheen>i{position:absolute;top:-20%;bottom:-20%;width:42%;left:0;background:linear-gradient(105deg,transparent,rgba(255,255,255,0) 18%,rgba(255,255,255,.55) 48%,rgba(255,240,200,.85) 52%,rgba(255,255,255,0) 86%,transparent);filter:blur(2px);transform:translateX(-160%) skewX(-12deg)}.cats{padding-block:var(--section-y)}.cat-list{border-top:1px solid var(--ts-line)}.cat-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(1rem,.5rem + 2vw,2.5rem);padding:clamp(1.1rem,.8rem + 1vw,1.8rem) .4rem;border-bottom:1px solid var(--ts-line);position:relative;transition:padding-left .4s var(--ease)}.cat-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 16%,transparent),transparent);transition:width .45s var(--ease);pointer-events:none}.cat-row:hover{padding-left:1.6rem}.cat-row:hover:before{width:60%}.cat-medal{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.9rem;background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid var(--ts-line);filter:drop-shadow(0 0 12px transparent);transition:transform .4s var(--ease),filter .4s}.cat-row:hover .cat-medal{transform:scale(1.12) rotate(-4deg);filter:drop-shadow(0 0 16px var(--c))}.cat-name{font-family:var(--font-display);font-size:var(--step-2);font-weight:600}.cat-num,.cat-sub{color:var(--ts-text-dim);font-size:var(--step--1)}.cat-num{font-family:var(--font-mono)}.cta-band{padding-block:var(--section-y)}.cta-card{position:relative;overflow:hidden;border-radius:30px;padding:clamp(2.5rem,1.5rem + 5vw,6rem);text-align:center;border:1px solid var(--ts-primary-line)}.cta-mesh{position:absolute;inset:-30%;z-index:0;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,rgba(155,48,255,.4),rgba(255,215,0,.16),rgba(32,192,208,.18),rgba(155,48,255,.4));filter:blur(80px);opacity:.55}.cta-card>*{position:relative;z-index:1}.cta-card h2{font-size:var(--step-4)}.cta-card p{color:var(--ts-text-soft);font-size:var(--step-1);margin:1rem auto 2rem;max-width:46ch}@media (max-width:920px){.hero-scrolly{height:280vh}.hero{height:100svh}.hero-title{max-width:14ch}.hero-scroll{display:none}.hero .agenda-card{position:static;transform:none;width:auto;max-width:460px;margin:1.6rem auto 0}.cat-row{grid-template-columns:auto 1fr auto}.cat-num{display:none}}@media (max-width:540px){.hero-title{max-width:12ch}.hero .lead{max-width:none}.hero .agenda-card{display:none}.hero-media{background:var(--ts-bg) url(/hero/hero-festival-poster.webp) center 42% /cover no-repeat}.hero-vid{display:none}}@media (prefers-reduced-motion:reduce){.hero-media{background:var(--ts-bg) url(/hero/hero-festival-poster.webp) center 42% /cover no-repeat}.hero-vid{display:none}.hero-scrolly{height:auto}.hero{position:relative;height:100svh}.logo-stage{display:none}.hero-glow{animation:none}}