:root{--bg:#100a2d;--bg2:#17103b;--ink:#fffaf8;--muted:#bcb7d3;--pink:#f451a3;--orange:#ff783e;--cyan:#27d2d2;--blue:#647cff;--line:rgba(255,255,255,.13);--font:'Plus Jakarta Sans',sans-serif;--display:'Plus Jakarta Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}#festival-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.7}.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}header,main,footer{position:relative;z-index:2}.topbar{height:82px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(16,10,45,.72);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font:700 17px var(--display);letter-spacing:.08em}.brand img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:white}.brand small{display:block;font:600 9px var(--font);letter-spacing:.2em;color:#ffb07c;margin-top:3px}nav{display:flex;align-items:center;gap:32px;font-size:12px;color:#e0dced}nav a:not(.nav-cta):hover,.footer-links a:hover{color:#ff9c69}.nav-cta{border:1px solid rgba(255,255,255,.35);padding:12px 17px;border-radius:3px;color:white}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:690px;padding:90px 8vw 65px;display:grid;grid-template-columns:1fr .9fr;align-items:center;position:relative;overflow:hidden}.hero-copy{max-width:650px;z-index:2}.eyebrow,.kicker,.section-label,.event-type{font-size:10px;letter-spacing:.2em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;color:#e8dff6}.live-dot{width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 15px var(--cyan)}h1,h2,h3,p{margin-top:0}h1{font:700 clamp(64px,8vw,116px)/.92 var(--display);letter-spacing:-.075em;margin:32px 0 22px}.gradient-text{background:linear-gradient(100deg,#ff8544 0%,#ff4e9b 48%,#bda0ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.outline-text{-webkit-text-stroke:1px rgba(255,255,255,.72);color:transparent}.hero-lead{font:600 20px var(--display);margin-bottom:12px}.hero-sub{font-size:14px;line-height:1.8;color:var(--muted);max-width:460px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;gap:22px;padding:15px 19px;font-size:12px;font-weight:700;border-radius:3px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px)}.button.primary{background:linear-gradient(105deg,#ff713f,#f03e9d);box-shadow:0 12px 32px #f03e9d2b}.button.ghost{border:1px solid var(--line);background:#ffffff08}.hero-meta{display:flex;align-items:center;gap:23px;margin-top:52px}.hero-meta div{display:grid;gap:4px}.hero-meta b{font:700 18px var(--display)}.hero-meta span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.hero-meta i{height:32px;width:1px;background:var(--line)}.hero-art{height:510px;position:relative;display:grid;place-items:center}.hero-logo-wrap{position:relative;width:min(390px,80%);aspect-ratio:1;display:grid;place-items:center;z-index:2;border-radius:50%;overflow:hidden;box-shadow:0 30px 90px #02001666;transform:rotate(-4deg)}.hero-logo-wrap img{width:100%;height:100%;object-fit:cover}.orbit{position:absolute;border:1px solid #ffffff30;border-radius:50%;width:440px;height:440px;transform:rotate(-25deg) scaleY(.56)}.orbit-one{border-color:#ff6e7c80;box-shadow:0 0 45px #ff4e9b12}.orbit-two{width:510px;height:510px;transform:rotate(35deg) scaleY(.52);border-style:dashed;border-color:#6c9dff65}.float-tag{position:absolute;padding:11px 14px;border:1px solid #ffffff30;background:#211744c9;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.15em;border-radius:3px;z-index:3}.tag-top{top:70px;left:4%}.tag-right{right:-2%;top:47%}.tag-bottom{bottom:70px;left:17%}.spark{position:absolute;color:#ff8b51;font-size:29px}.spark-one{top:20px;right:20%}.spark-two{bottom:50px;right:12%;color:#5be0e0}.hero-bottom{position:absolute;bottom:22px;left:8vw;right:8vw;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.16em;color:#aaa4c8}.scroll-line{height:1px;width:70px;background:linear-gradient(90deg,#ff8544,transparent)}.hero-bottom span:last-child{margin-left:auto}.trust-strip{padding:26px 8vw;display:flex;align-items:center;gap:25px;background:#fff;color:#211744}.trust-logo{width:112px;height:72px;flex-shrink:0;overflow:hidden;display:grid;place-items:center}.trust-logo img{width:100%;height:100%;object-fit:contain}.trust-strip .kicker{color:#6e6392;font-size:8px}.trust-strip strong{display:block;font:700 16px var(--display);margin:5px 0}.trust-strip p{font-size:11px;color:#716a87;margin:0}.trust-mark{display:flex;gap:12px;align-items:center;margin-left:auto;font:700 9px var(--display);letter-spacing:.12em;color:#4e4770}.trust-mark span:nth-child(even){color:#f45d83}.section{padding:115px 9vw}.section-label{color:#ff9b6e;margin-bottom:38px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro h2,.section-heading h2,.feature h2,.closing h2{font:700 clamp(48px,6.5vw,86px)/.98 var(--display);letter-spacing:-.07em;margin:0}.intro-copy{padding-top:8px;max-width:500px}.large-copy{font:500 22px/1.45 var(--display);max-width:430px}.intro-copy>p:not(.large-copy){font-size:13px;line-height:1.9;color:var(--muted)}.text-link{display:inline-flex;gap:28px;margin-top:12px;font-size:12px;font-weight:700;border-bottom:1px solid #ff814f;padding-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:75px}.stat-card{min-height:150px;padding:22px 24px;border:1px solid var(--line);background:linear-gradient(135deg,#ffffff08,#ffffff02);display:flex;flex-direction:column;align-items:flex-start}.stat-icon{font-size:20px;color:#ff8a64}.stat-card strong{font:700 35px var(--display);margin-top:12px}.stat-card>span:last-child{font-size:11px;color:var(--muted);margin-top:4px}.events-section{padding-top:95px;background:linear-gradient(180deg,#17103b88,#100a2d00)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-heading>p{max-width:300px;color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:7px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.event-card{min-height:390px;position:relative;overflow:hidden;padding:28px;border:1px solid #ffffff18;background:#1b1440;isolation:isolate}.event-card:before{content:"";position:absolute;inset:0;opacity:.17;z-index:-1;background:radial-gradient(circle at 85% 25%,var(--accent),transparent 45%)}.sports{--accent:#ff7655}.tech{--accent:#48d9d4}.creative{--accent:#b394ff}.culture{--accent:#f451a3}.event-number{font:600 11px var(--display);color:#ffffff70}.event-symbol{position:absolute;right:27px;top:22px;font-size:35px;color:var(--accent)}.event-content{position:relative;z-index:2;margin-top:38px;max-width:430px}.event-type{color:var(--accent);font-size:9px}.event-content h3{font:700 clamp(37px,4vw,54px)/.95 var(--display);letter-spacing:-.06em;margin:14px 0}.event-content p{font-size:12px;color:#c9c3dc;max-width:300px;line-height:1.7}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.pills span{font-size:9px;border:1px solid #ffffff24;padding:7px 9px;border-radius:2px;color:#e3deef;background:#ffffff05}.card-orb{position:absolute;width:210px;height:210px;border:1px solid var(--accent);opacity:.25;border-radius:50%;right:-75px;bottom:-100px;box-shadow:0 0 0 25px #ffffff03,0 0 0 50px #ffffff03}.schedule-section{background:#0b0722;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-inner{padding-top:105px;padding-bottom:105px}.schedule-head{margin-bottom:38px}.day-tabs{display:flex;border-bottom:1px solid var(--line);gap:5px}.day-tab{background:none;border:0;color:#8f88ac;padding:18px 25px 18px 0;text-align:left;font:700 12px var(--display);cursor:pointer;display:flex;gap:15px;align-items:center}.day-tab span{font:500 9px var(--font);letter-spacing:.1em}.day-tab.active{color:#fff;border-bottom:2px solid #ff6c81}.day-tab.active span{color:#ff9a78}.timeline{padding-top:14px;max-width:900px}.timeline article{display:grid;grid-template-columns:205px 18px 1fr;gap:18px;position:relative;padding:26px 0;border-bottom:1px solid var(--line)}.timeline article time{font-size:10px;letter-spacing:.06em;color:#c3bddb;padding-top:4px}.time-dot{width:8px;height:8px;border-radius:50%;background:#ff7e6b;margin-top:5px;box-shadow:0 0 0 5px #ff7e6b1c;position:relative}.timeline article:not(:last-child) .time-dot:after{content:"";position:absolute;top:10px;left:3px;width:1px;height:100px;background:#ffffff25}.timeline-tag{font-size:8px;letter-spacing:.2em;color:#ff9a7d;font-weight:700}.timeline h3{font:600 20px var(--display);margin:7px 0}.timeline p{font-size:12px;color:var(--muted);line-height:1.7;margin:0;max-width:600px}.hidden{display:none}.schedule-note{font-size:10px;color:#8f88ac;margin-top:20px}.feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.feature-copy>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:360px;margin:24px 0 27px}.checklist article{display:grid;grid-template-columns:42px 1fr;gap:17px;padding:21px 0;border-bottom:1px solid var(--line)}.checklist article:first-child{padding-top:0}.checklist article>span{font:600 12px var(--display);color:#ff8e71}.checklist h3{font:600 16px var(--display);margin:0 0 7px}.checklist p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.helpdesk{margin-top:75px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #ffffff24;background:linear-gradient(110deg,#ff6e4a12,#e54c9e12)}.helpdesk .kicker{color:#ff9a7b;font-size:9px}.helpdesk h3{font:600 22px var(--display);margin:8px 0}.helpdesk p{font-size:11px;color:var(--muted);margin:0}.help-phone{font:600 18px var(--display);white-space:nowrap}.help-phone span{color:#ff8a6b;margin-left:12px}.fine-print{font-size:10px;color:#8f88ac;line-height:1.7;margin-top:15px}.closing{text-align:center;min-height:510px;padding:100px 20px;position:relative;overflow:hidden;border-top:1px solid var(--line)}.closing .kicker{color:#ff9a75}.closing h2{font-size:clamp(60px,8vw,100px);margin:27px 0 18px}.closing p{font-size:13px;color:var(--muted);margin-bottom:28px}.closing-date{font-size:9px;letter-spacing:.2em;color:#aaa2c8;margin-top:42px}.closing-orbit{position:absolute;width:580px;height:300px;border:1px solid #f45d8340;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg);pointer-events:none;box-shadow:0 0 0 35px #ffffff02,0 0 0 70px #ffffff02}footer{padding:34px 7vw 25px;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:30px;border-top:1px solid var(--line);background:#0a061e}.footer-brand{display:flex;gap:10px;align-items:center}.footer-brand img{width:95px;height:48px;object-fit:contain;background:white;border-radius:2px}.footer-text strong{font:700 12px var(--display);letter-spacing:.1em}.footer-text p{font-size:10px;line-height:1.7;color:var(--muted);margin:8px 0}.footer-text span{font-size:10px;color:#ff9a76}.footer-links{display:flex;flex-direction:column;gap:12px;align-items:flex-end;font-size:11px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:9px;color:#7e779d}
@media(max-width:850px){.topbar{padding:0 5vw}.menu-toggle{display:block}nav{display:none;position:absolute;top:81px;left:0;right:0;padding:22px 5vw 28px;background:#100a2df5;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px}nav.open{display:flex}.hero{padding:70px 7vw 70px;grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:700px}.hero-art{height:400px;margin-top:10px}.hero-logo-wrap{width:290px}.orbit{width:340px;height:340px}.orbit-two{width:390px;height:390px}.tag-right{right:8%}.hero-bottom{left:7vw;right:7vw}.trust-strip{padding:22px 6vw}.trust-mark{display:none}.section{padding:85px 7vw}.intro-grid,.feature-grid{grid-template-columns:1fr;gap:35px}.intro-copy{max-width:620px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading>p{max-width:500px}.event-card{min-height:370px}.section-inner{padding-top:85px;padding-bottom:85px}footer{padding-left:6vw;padding-right:6vw;grid-template-columns:1fr 1.5fr}.footer-links{grid-column:1/-1;flex-direction:row;align-items:center}.copyright{grid-column:1/-1}}
@media(max-width:560px){.brand{font-size:14px}.brand img{width:40px;height:40px}.hero{padding-top:58px}.eyebrow{font-size:8px;letter-spacing:.12em}.hero h1{font-size:68px}.hero-sub{font-size:13px}.hero-meta{margin-top:38px}.hero-art{height:330px}.hero-logo-wrap{width:235px}.orbit{width:290px;height:290px}.orbit-two{width:320px;height:320px}.float-tag{font-size:8px;padding:9px}.tag-top{top:36px;left:0}.tag-bottom{bottom:35px;left:5%}.tag-right{right:0}.trust-strip{gap:13px;padding:18px 5vw}.trust-logo{width:72px;height:56px}.trust-strip strong{font-size:12px}.trust-strip p{font-size:9px;line-height:1.5}.trust-strip .kicker{font-size:7px}.section{padding:72px 6vw}.intro h2,.section-heading h2,.feature h2{font-size:55px}.large-copy{font-size:19px}.stats-grid{gap:8px;margin-top:45px}.stat-card{min-height:122px;padding:15px 12px}.stat-card strong{font-size:27px}.stat-card>span:last-child{font-size:9px}.event-grid{grid-template-columns:1fr}.event-card{min-height:350px;padding:23px}.event-content h3{font-size:49px}.day-tab{padding-right:15px;gap:8px;font-size:11px}.day-tab span{font-size:8px}.timeline article{grid-template-columns:1fr 12px;gap:12px;padding:22px 0}.timeline article time{grid-column:1/-1}.timeline article .time-dot{grid-column:2;grid-row:2/4}.timeline article>div:last-child{grid-column:1;grid-row:2}.timeline article:not(:last-child) .time-dot:after{height:130px}.timeline h3{font-size:18px}.helpdesk{align-items:flex-start;flex-direction:column;padding:22px}.help-phone{font-size:16px}.closing{padding:85px 6vw;min-height:450px}.closing h2{font-size:65px}.closing-orbit{width:370px;height:220px}footer{grid-template-columns:1fr;padding:30px 6vw;gap:22px}.footer-brand img{width:85px}.footer-links{grid-column:auto;align-items:flex-start}.footer-text p{max-width:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Institutional identity update: host university first, organiser second, festival as the hero. */
.site-header{position:sticky;top:0;z-index:30;background:rgba(12,7,31,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.institution-bar{min-height:106px;padding:17px 6vw;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;color:#1e2c49}
.institution-brand,.organiser-brand{display:flex;align-items:center;gap:16px;min-width:0}
.institution-brand img{width:164px;height:70px;object-fit:contain;background:#fff;flex-shrink:0}
.institution-brand span,.organiser-brand span{display:flex;flex-direction:column;gap:4px}
.institution-brand small,.organiser-brand small{font-size:9px;letter-spacing:.2em;font-weight:800;color:#6c5b8f}
.institution-brand strong{font:700 clamp(16px,1.7vw,24px)/1.2 var(--display);color:#173f70}
.institution-brand em,.organiser-brand em{font-style:normal;font-size:11px;color:#6e6b7d}
.organiser-brand{padding-left:25px;border-left:1px solid #ded9e8}
.organiser-brand img{width:76px;height:76px;object-fit:contain;flex-shrink:0}
.organiser-brand strong{font:700 14px/1.25 var(--display);color:#26203e}
.topbar{height:64px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee8f5;border-bottom:0;background:rgba(16,10,45,.97);backdrop-filter:blur(18px);position:relative;top:auto}
.brand{gap:10px;font-size:15px}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font:700 18px var(--display);background:linear-gradient(135deg,#ff783e,#f451a3);color:white}.brand small{font-size:8px}
.hero{min-height:650px;padding-top:72px}.hero h1{margin-top:26px;font-size:clamp(60px,8.8vw,120px);letter-spacing:-.065em}.hero-title-main{color:#fff}.hero-title-sub{font-size:.48em;letter-spacing:-.035em;white-space:nowrap}.hero-logo-wrap{border-radius:0;overflow:visible;box-shadow:none;transform:rotate(-3deg);background:transparent}.hero-logo-wrap img{object-fit:contain;border-radius:8px;mix-blend-mode:screen}
.trust-strip{padding:0 6vw;background:#fff;color:#211744}.trust-strip-inner{display:flex;align-items:center;gap:24px;min-height:112px;max-width:1500px;margin:auto}.trust-strip-inner>img{width:92px;height:84px;object-fit:contain}.trust-strip .kicker{color:#6e6392;font-size:8px}.trust-strip strong{display:block;font:700 18px var(--display);margin:5px 0}.trust-strip p{font-size:11px;color:#716a87;margin:0}.trust-mark{display:flex;gap:12px;align-items:center;margin-left:auto;font:700 9px var(--display);letter-spacing:.12em;color:#4e4770}.trust-mark span:nth-child(even){color:#f45d83}
@media(max-width:850px){.institution-bar{padding:14px 5vw;min-height:94px}.institution-brand img{width:112px;height:58px}.organiser-brand{padding-left:14px;gap:10px}.organiser-brand img{width:56px;height:56px}.institution-brand strong{font-size:15px}.institution-brand em,.organiser-brand em{font-size:10px}.organiser-brand strong{font-size:12px}.topbar{padding:0 5vw}.hero-title-sub{white-space:normal}.trust-strip{padding:0 5vw}}
@media(max-width:560px){.institution-bar{align-items:flex-start;flex-direction:column;gap:12px;padding:13px 5vw}.institution-brand{gap:12px}.institution-brand img{width:100px;height:50px}.institution-brand strong{font-size:15px}.institution-brand small,.organiser-brand small{font-size:8px}.organiser-brand{border-left:0;border-top:1px solid #e5dfec;padding:10px 0 0;width:100%}.organiser-brand img{width:46px;height:46px}.organiser-brand strong{font-size:12px}.topbar{height:59px}.hero{padding-top:50px}.hero h1{font-size:clamp(53px,15vw,76px)}.hero-title-sub{font-size:.48em}.hero-logo-wrap{width:min(280px,78%)}.trust-strip-inner{gap:13px;min-height:90px}.trust-strip-inner>img{width:58px;height:58px}.trust-strip strong{font-size:13px}.trust-strip p{font-size:9px}.trust-mark{display:none}}

/* 2026 polish pass: editorial hierarchy, glassy details and accessible motion. */
:root{--electric:#a78bfa;--mint:#56e3d7;--sun:#ffb45f}
body{background:radial-gradient(ellipse at 72% 18%,#26104a 0%,transparent 34%),var(--bg)}
.institution-bar{box-shadow:0 8px 30px #09051a14}
.institution-brand img{max-width:190px}
.site-header{box-shadow:0 10px 35px #08041a22}
.topbar{box-shadow:0 10px 30px #08041a22}
.hero{min-height:690px;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 42%,#f451a31b,transparent 38%),radial-gradient(ellipse at 12% 80%,#4bd8d412,transparent 30%);z-index:-1}
.hero-copy{animation:heroEnter .85s cubic-bezier(.2,.7,.2,1) both}
.hero-title-main{display:inline-block;text-shadow:0 12px 65px #f451a326}
.hero-title-sub{display:inline-block;margin-top:7px;filter:drop-shadow(0 8px 26px #f451a31c)}
.hero-art{perspective:1100px;transform-style:preserve-3d;transition:transform .35s ease-out}
.hero-art-label{position:absolute;top:18px;z-index:4;font-size:9px;letter-spacing:.22em;color:#c8c1e6;background:#211744b8;border:1px solid #ffffff1d;padding:10px 13px;border-radius:100px;backdrop-filter:blur(14px)}
.hero-art-label span{color:var(--sun);padding:0 8px}
.hero-logo-wrap{filter:drop-shadow(0 28px 48px #03001275);transition:filter .35s,transform .35s;transform-style:preserve-3d}
.hero-logo-wrap img{filter:drop-shadow(0 0 28px #f451a326)}
.orbit{pointer-events:none;animation:orbitDrift 14s ease-in-out infinite alternate}
.orbit-two{animation-delay:-5s}
.float-tag{box-shadow:0 10px 35px #06031530;transition:transform .3s,border-color .3s}
.tag-top{animation:floatTag 5s ease-in-out infinite}.tag-right{animation:floatTag 6s ease-in-out -2s infinite}.tag-bottom{animation:floatTag 5.5s ease-in-out -1s infinite}
.countdown-panel{margin-top:26px;display:inline-flex;align-items:center;gap:18px;padding:13px 17px;border:1px solid #ffffff20;background:linear-gradient(120deg,#ffffff0b,#ffffff03);border-radius:8px;backdrop-filter:blur(12px)}
.countdown-label{font-size:8px;font-weight:800;letter-spacing:.17em;color:#c5bddf;max-width:78px;line-height:1.6}
.countdown-units{display:flex;align-items:center;gap:10px}.countdown-units>div{display:grid;gap:3px;text-align:center;min-width:29px}.countdown-units strong{font:700 18px var(--display);font-variant-numeric:tabular-nums;color:#fff}.countdown-units small{font-size:7px;letter-spacing:.13em;color:#aaa2c9}.countdown-units>b{font-size:15px;color:#ff7b91;transform:translateY(-5px)}
.trust-strip-inner{position:relative}.trust-strip-inner:after{content:"BSDU · DSW";position:absolute;right:0;bottom:9px;font-size:7px;letter-spacing:.19em;color:#a8a0bd}
.section-label{display:flex;align-items:center;gap:12px}.section-label:before{content:"";width:25px;height:1px;background:linear-gradient(90deg,var(--orange),var(--pink))}
.stat-card,.event-card,.checklist article,.helpdesk{transition:transform .28s,border-color .28s,background .28s}.stat-card:hover{transform:translateY(-5px);border-color:#ff8c745c}.event-card{border-radius:9px;box-shadow:0 20px 55px #03001420}.event-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 48%,transparent)}.event-card:after{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(130deg,#ffffff0b,transparent 50%);transition:opacity .3s}.event-card:hover:after{opacity:1}.card-orb{filter:blur(1px);transition:transform .6s}.event-card:hover .card-orb{transform:scale(1.13)}
.button{border-radius:5px}.button.primary{box-shadow:0 10px 30px #f03e9d24}.button.primary:hover{box-shadow:0 16px 40px #f03e9d40}.button.ghost:hover{border-color:#ff8b6a80;background:#ffffff0d}
.day-tab{border-radius:6px 6px 0 0;transition:background .2s,color .2s}.timeline article{transition:transform .2s}.timeline article:hover{transform:translateX(4px)}
.closing{background:radial-gradient(ellipse at center,#f451a30c,transparent 55%)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes heroEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbitDrift{from{translate:0 -5px;rotate:-3deg}to{translate:0 7px;rotate:4deg}}
@keyframes floatTag{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:850px){.countdown-panel{margin-top:22px}.trust-strip-inner:after{display:none}.hero-art-label{top:6px}}
@media(max-width:560px){.countdown-panel{display:flex;justify-content:space-between;gap:10px;width:100%;max-width:370px;padding:12px}.countdown-label{max-width:68px;font-size:7px}.countdown-units{gap:6px}.countdown-units>div{min-width:25px}.countdown-units strong{font-size:16px}.hero-art-label{font-size:7px;top:0}.hero-art{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-copy{animation:none}.orbit,.tag-top,.tag-right,.tag-bottom{animation:none}}

/* --- Immersive enhancements: reflective typography + canvas tuning --- */
#festival-canvas{opacity:.85}
.hero-title-main{
  position:relative;
  color:#fff;
  background:linear-gradient(
    115deg,
    #ffffff 0%,
    #fff 35%,
    #ffc9a8 48%,
    #ff8ec8 55%,
    #c4b0ff 65%,
    #fff 80%,
    #ffffff 100%
  );
  background-size:220% 220%;
  background-position:var(--light-x,50%) var(--light-y,40%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 28px rgba(244,81,163,.28));
  transition:background-position .12s ease-out;
}
.hero-title-sub.gradient-text{
  background-size:200% 200%;
  background-position:var(--light-x,40%) var(--light-y,50%);
  transition:background-position .14s ease-out;
  filter:drop-shadow(0 4px 22px rgba(244,81,163,.22));
}
@media (pointer:coarse){
  .hero-title-main,.hero-title-sub.gradient-text{transition:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-title-main,.hero-title-sub.gradient-text{transition:none}
}

/* Readable copy sizes across the vision, event details and lower-page sections. */
nav{font-size:14px}
.eyebrow,.kicker,.section-label,.event-type{font-size:11px}
.hero-sub,.intro-copy>p:not(.large-copy),.section-heading>p,.event-content p,
.timeline p,.feature-copy>p,.checklist p,.helpdesk p,.closing p{font-size:16px;line-height:1.75}
.button{font-size:14px}
.hero-meta span,.text-link,.stat-card>span:last-child,.pills span,
.timeline article time,.schedule-note,.footer-links{font-size:13px}
.trust-strip p{font-size:14px}
.fine-print{font-size:13px}
.footer-text p,.footer-text span{font-size:13px}
.copyright{font-size:12px}
.contact-section{position:relative;overflow:hidden;padding:105px 8vw;background:radial-gradient(ellipse at 18% 50%,#f451a312,transparent 36%),#0d0826;border-top:1px solid var(--line)}
.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(44px,8vw,120px);align-items:center;max-width:1220px;margin:0 auto}
.contact-orbit{position:absolute;width:480px;height:340px;left:-200px;top:15%;border:1px solid #f45d832b;border-radius:50%;transform:rotate(-25deg);pointer-events:none;box-shadow:0 0 0 35px #ffffff02,0 0 0 70px #ffffff02}
.contact-intro .kicker{color:#ff9a75}
.contact-intro h2{font:700 clamp(46px,5vw,70px)/1.02 var(--display);letter-spacing:-.065em;margin:24px 0}
.contact-intro>p{max-width:410px;margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.contact-prompt{display:flex;align-items:center;gap:14px;margin-top:42px}
.contact-prompt-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:50%;color:#ff9a75;background:#ffffff08}
.contact-prompt div{display:grid;gap:5px}
.contact-prompt strong{font-size:14px}
.contact-prompt div span{font-size:13px;color:var(--muted)}
.contact-form{padding:clamp(24px,3.2vw,42px);border:1px solid #ffffff20;border-radius:12px;background:linear-gradient(145deg,#211943e8,#15102fe8);box-shadow:0 28px 80px #03001466;backdrop-filter:blur(16px)}
.contact-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.contact-form-heading .kicker{font-size:10px;color:#ffab83}
.contact-form-heading h3{margin:9px 0 0;font:700 clamp(22px,2.4vw,30px)/1.2 var(--display);letter-spacing:-.04em}
.required-note{padding-bottom:3px;color:#bcb7d3;font-size:12px;white-space:nowrap}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;padding-top:24px}
.contact-field{display:block;color:#f5f0ff;font-size:13px;font-weight:600}
.contact-field>span{display:inline;color:#ff9b80}
.contact-field input,.contact-field select,.contact-field textarea{display:block;margin-top:9px}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid #ffffff24;border-radius:6px;outline:none;background:#0d082b99;color:#fff;font:400 14px/1.5 var(--font);transition:border-color .2s,box-shadow .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9189aa}
.contact-field select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23bcb7d3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:#fff;cursor:pointer}
.contact-field select:invalid{color:#9189aa}
.contact-field select option{background:#17103b;color:#fff}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#f451a3;box-shadow:0 0 0 3px #f451a322}
.contact-field textarea{resize:vertical;min-height:132px}
.contact-field-wide{grid-column:1/-1}
.contact-trap{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}
.contact-privacy{max-width:280px;margin:0;color:#a9a2c2;font-size:12px;line-height:1.6}
.contact-submit{flex-shrink:0;border:0;color:#fff;cursor:pointer}
.contact-submit:disabled{opacity:.65;cursor:wait;transform:none}
.contact-status{min-height:22px;margin:12px 0 0;font-size:14px;line-height:1.6}
.contact-status:empty{display:none}
.contact-status.is-error{color:#ff9b8b}
.contact-status.is-success{color:#75e0bd}
.contact-response-frame{position:absolute;width:1px;height:1px;left:-9999px;border:0}
@media(max-width:850px){.contact-section{padding:82px 6vw}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-intro>p{max-width:560px}.contact-prompt{margin-top:24px}}
@media(max-width:560px){.contact-section{padding:64px 5vw}.contact-intro h2{font-size:clamp(42px,12vw,58px)}.contact-form{padding:22px 18px}.contact-form-heading{align-items:flex-start;flex-direction:column;gap:10px}.contact-fields{grid-template-columns:1fr;gap:17px}.contact-field-wide{grid-column:auto}.contact-form-footer{align-items:stretch;flex-direction:column}.contact-submit{justify-content:center}.contact-privacy{max-width:none}}
