:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#faf5fc;background:#171324;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 70% 40% at 88% 0%,#50346a 0%,transparent 72%),#171324}a{color:#f6c780}a:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:4px}main{max-width:1120px;margin:auto;padding:0 24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;border-bottom:1px solid #594663;font-size:14px;color:#cbbbd2}header>a{text-decoration:none;font-weight:800;font-size:18px}.hero{position:relative;overflow:hidden;padding:74px 0 76px;border-bottom:1px solid #594663}.eyebrow{margin:0 0 10px;color:#ffc87f;text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800}.hero h1{position:relative;max-width:720px;margin:0;font-size:clamp(43px,7.6vw,88px);letter-spacing:-.065em;line-height:1.02}.hero>p:not(.eyebrow){position:relative;max-width:580px;margin:26px 0 0;color:#d7cddd;line-height:1.65;font-size:18px}.hero-orbit{position:absolute;right:2%;top:0;width:270px;height:270px;border:1px solid #b475a6;border-radius:50%;opacity:.55;transform:rotate(-20deg)}.hero-orbit span{position:absolute;color:#ffd59f;font-size:42px;animation:float 5s ease-in-out infinite}.hero-orbit span:first-child{left:18%;top:10%}.hero-orbit span:nth-child(2){right:6%;top:38%;animation-delay:-2s}.hero-orbit span:nth-child(3){left:48%;bottom:6%;animation-delay:-3s}@keyframes float{50%{transform:translateY(-15px) rotate(18deg)}}.timeline{padding:48px 0 16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.section-head h2{font-size:clamp(27px,4vw,42px);letter-spacing:-.045em;margin:0}.section-head>p,.note{color:#cbbbd2;font-size:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px}.festival-card{position:relative;min-height:170px;overflow:hidden;border:1px solid #71567b;background:linear-gradient(135deg,#30243d,#231a32);border-radius:20px;padding:24px}.festival-card:before{content:"✦";position:absolute;right:16px;top:5px;color:#dba982;font-size:72px;opacity:.19;transform:rotate(-20deg)}.festival-card h3{position:relative;font-size:25px;margin:0 0 12px;letter-spacing:-.03em}.festival-card p{position:relative;margin:7px 0;color:#e3d6e8;line-height:1.45}.festival-card .status{display:inline-flex;padding:5px 9px;border-radius:99px;background:#b27d53;color:#1b1526;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.festival-card.planned{background:#25212d;border-color:#4c4255}.festival-card.planned .status{background:#aaa0ad}.calendar{display:grid;gap:8px;margin:22px 0 56px}.calendar-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 20px;border:1px solid #58465f;border-radius:14px;background:#241d31}.calendar-row strong{font-size:16px}.calendar-row time{color:#f8ca91;font-weight:700}.calendar-row .window{color:#d6c9da;font-size:13px}.calendar-row .badge{padding:5px 8px;border-radius:6px;background:#3d3048;font-size:12px;color:#e7d1ec}.calendar-row .badge.planned{color:#cbbbd2}.empty{padding:24px;border:1px dashed #71567b;border-radius:16px;color:#d9cade}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 48px;border-top:1px solid #594663;color:#cbbbd2;font-size:13px}footer a{font-weight:700}@media(max-width:700px){main{padding:0 18px}.hero{padding:60px 0}.hero-orbit{right:-120px;opacity:.2}.section-head{align-items:start;flex-direction:column}.calendar-row{grid-template-columns:1fr;gap:6px}.calendar-row .badge{justify-self:start}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){.hero-orbit span{animation:none}}

.pending-section{padding-top:0}.pending-list{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 46px}.pending-chip{padding:10px 14px;border:1px solid #705b79;border-radius:99px;background:#2a2335;color:#ead8ee;font-size:13px}

/* Site-wide light-theme heading rules otherwise make text disappear on these dark cards. */
.hero h1,.section-head h2,.festival-card h3,.calendar-row strong{color:#fff8fc}
.festival-card p,.calendar-row,.calendar-row div{color:#e8ddea}
.calendar-row .window{color:#d6c9da}
.festival-card .status{color:#1b1526}
.festival-card.planned .status{color:#1b1526}
