:root{--bg:#070b1f;--ink:#fff;--mute:#a9b2d6;--line:#1d2658;--card:#0d1433;--coral:#ee7a75;--accent:#7fb8f0;--soft:#c9d0f0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 'DM Sans',system-ui,sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.wrap{max-width:860px;margin:0 auto;padding:0 18px}
header{padding:22px 0 8px;display:flex;align-items:center;justify-content:space-between}
.logo{width:72px;height:72px;border-radius:14px;display:block}
.month{font:400 34px/1 'Mrs Saint Delafield','Brush Script MT',cursive;color:var(--coral)}
.crumbs{font-size:14px;color:var(--mute);margin:10px 0 0}
.crumbs a{color:var(--accent);font-weight:700;text-decoration:none;display:inline-block;padding:6px 0}
.crumbs a:hover{text-decoration:underline}
h1{font:400 clamp(28px,6vw,44px)/1.08 'Abril Fatface','Playfair Display',Georgia,serif;margin:16px 0 8px;letter-spacing:-.01em;overflow-wrap:anywhere}
h2{font:400 22px/1.2 'Abril Fatface','Playfair Display',Georgia,serif;margin:30px 0 4px}
.sub{color:var(--mute);margin:0 0 14px}
.links{margin:0 0 18px;font-size:15px}
.links a{color:var(--accent);font-weight:700;margin-right:14px;display:inline-block;padding:4px 0}
.when{border-left:4px solid var(--coral);padding:2px 0 2px 14px;margin:6px 0 20px}
.when b{display:block;font:400 19px/1.3 'Abril Fatface','Playfair Display',Georgia,serif}
.when span{display:block;margin-top:2px;color:var(--mute);font-size:16px}
.when a{color:var(--ink);font-weight:700}
.fact{margin:0 0 10px}
.cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin:22px 0 8px;border-radius:14px;background:var(--coral);color:#1b1830;font:700 17px/1 'DM Sans',system-ui,sans-serif;letter-spacing:.07em;text-decoration:none}
.cta:hover,.ticket:hover{filter:brightness(.95)}
.cta:focus-visible,.ticket:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.note{margin:0 0 18px;color:var(--mute);font-size:14px}
.past-note{display:none;background:var(--line);border-radius:12px;padding:12px 14px;font-weight:700}
.fiche.past .past-note{display:block}
.fiche.past .cta,.fiche.past .cta + .note{display:none}
.day{margin:26px 0 8px;font:400 20px 'Abril Fatface','Playfair Display',Georgia,serif;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:2;border-bottom:2px solid var(--ink)}
.ev{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.ev.past{opacity:.62}
.time{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.time.tbc{color:var(--mute);font-weight:500;font-size:14px}
.ti{font-weight:700;overflow-wrap:anywhere}
.ti a{color:inherit;text-decoration:none;display:block;padding:5px 0}
.ti a:hover{text-decoration:underline}
.ve{color:var(--mute);font-size:14px}
.ve a{color:inherit;display:inline-block;padding:6px 0}
.jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.jump a{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--accent);font-weight:700;text-decoration:none}
.jump-t{margin:14px 0 6px;font-weight:700;font-size:14px;color:var(--mute)}
.ticket{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;padding:0 18px;border-radius:10px;background:var(--coral);color:#1b1830;font:700 14px/1 'DM Sans',system-ui,sans-serif;letter-spacing:.06em;text-decoration:none}
.more-list{margin-top:10px}
.salas{list-style:none;margin:0;padding:0;columns:2 260px}
.salas li{padding:7px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.salas a{color:var(--accent);font-weight:700}
.salas span{color:var(--mute);font-size:14px}
.nav{margin:34px 0 0;font-size:14px;color:var(--mute);line-height:1.9}
.nav a{color:var(--accent);font-weight:700;display:inline-block;padding:6px 2px}
footer{padding:20px 0 50px;color:var(--mute);font-size:14px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

body{font-family:'Inter',system-ui,sans-serif}
.topbar{background:linear-gradient(180deg,#0b1240 0%,#070b1f 100%)}
.topbar header{padding:16px 0}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}
.logo{width:72px;height:72px;border-radius:18px;object-fit:cover}
.bname{font:600 26px/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.bname span{display:block;color:var(--coral)}
.month{font:700 13px/1 'Space Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.menu{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0a1030}
.menu .wrap{display:flex;flex-wrap:wrap;gap:0 4px}
.menu a{padding:14px 14px;font:400 13px/1 'Space Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);text-decoration:none;border-bottom:3px solid transparent}
.menu a:hover{color:#fff}
h1{font:600 clamp(40px,8vw,72px)/.96 'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.005em}
h2{font:600 30px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase}
.when b{font:500 26px/1.15 'Barlow Condensed',sans-serif}
.day{font:600 26px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;border-bottom:2px solid var(--coral);padding:12px 0}
.time{font:500 30px/1 'Barlow Condensed',sans-serif;color:var(--coral)}
.time.tbc{font:400 13px/1.3 'Space Mono',monospace;color:var(--mute)}
.ti{font:500 28px/1.05 'Barlow Condensed',sans-serif}
.ve{font-size:15px}
.cta,.ticket{background:var(--coral);color:#070b1f;font-family:'Space Mono',monospace;border-radius:999px;text-transform:uppercase}
.cta:hover,.ticket:hover{filter:brightness(1.08)}
.cta:focus-visible,.ticket:focus-visible,a:focus-visible{outline:3px solid #fff}
.jump a{border-radius:999px}
.past-note{background:var(--card)}
.salas a,.links a,.nav a,.crumbs a{color:var(--accent)}
footer{background:#050818;border-top:1px solid var(--line);margin-top:48px;padding:36px 0 140px}
a{color:inherit}
@media(max-width:560px){.month{display:none}.menu a{padding:14px 10px}.bname{font-size:24px}}
