/* QUBIT '26 - theme tokens first, everything else follows them */
:root{--bg:#2a0813;--ink:#fde3c1;--mut:#e0b79c;--ac:#ffc933;--ac2:#e8a21d;--red:#e0392b;--red2:#b3141c;--cream:#fde3c1;--line:rgba(253,227,193,.3);--d:"Bowlby One",Impact,sans-serif;--s:"Lobster","Brush Script MT",cursive;--b:"DM Sans",system-ui,sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);background:var(--bg)}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;font:400 18px/1.55 var(--b);color:var(--ink);background:radial-gradient(70% 45% at 90% 0,rgba(217,130,43,.3),transparent 70%),radial-gradient(60% 40% at 0 45%,rgba(224,57,43,.14),transparent 70%),var(--bg);overflow-x:hidden}
body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none}
body:before{z-index:90;opacity:.22;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
body:after{z-index:89;background:radial-gradient(120% 90% at 50% 40%,transparent 62%,rgba(0,0,0,.4))}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
h1,h2,h3,p{margin:0}h1,h2,h3{font:400 1em/.95 var(--d);text-transform:uppercase}
section{max-width:1240px;margin:0 auto;padding:clamp(56px,9vw,120px) 20px}
h2{font-size:clamp(46px,10vw,128px);letter-spacing:-.01em;margin-bottom:.4em}
.mk{overflow:hidden;padding-bottom:.08em}.mk>span{display:block;transform:translateY(108%);transition:transform 1s var(--ease)}.mk.in>span{transform:none}
.rv{opacity:0}.rv.in{opacity:1;animation:rise .9s var(--ease) backwards;animation-delay:calc(var(--i,0)*90ms)}
@keyframes rise{from{opacity:0;translate:0 34px}}
.view{animation:vw .6s var(--ease)}@keyframes vw{from{opacity:0}}
/* boot */
#boot{position:fixed;inset:0;z-index:200;display:grid;place-content:center;padding:24px;background:radial-gradient(ellipse at center,rgba(92,18,40,.92),rgba(42,8,19,.98) 68%),var(--bg);text-align:center;transition:opacity .5s,visibility .5s}
#boot:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:radial-gradient(circle,rgba(255,201,51,.8) 1px,transparent 1.8px) 0 0/12px 12px;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
#boot.off{opacity:0;visibility:hidden}
.boot-panel{position:relative;width:min(460px,88vw);padding:clamp(26px,6vw,46px);border:2px solid var(--ac);background:linear-gradient(145deg,rgba(92,18,40,.9),rgba(42,8,19,.95));box-shadow:8px 8px 0 rgba(224,57,43,.72),0 0 42px rgba(255,201,51,.12)}
.boot-panel:before,.boot-panel:after{content:"";position:absolute;width:10px;height:10px;background:var(--ac);box-shadow:0 0 12px rgba(255,201,51,.65)}
.boot-panel:before{top:-5px;left:-5px}.boot-panel:after{right:-5px;bottom:-5px}
.boot-kicker,.boot-footer{color:var(--mut);font:600 11px/1.4 var(--b);letter-spacing:.22em;text-transform:uppercase}
#boot pre{margin:9px 0 24px;color:var(--ink);font:400 clamp(40px,9vw,64px)/1 var(--d);text-shadow:4px 4px 0 var(--red2);white-space:pre-wrap}
#bootx{min-height:18px;margin:0 0 12px;color:var(--ac);font:700 12px/1.5 var(--b);letter-spacing:.2em}
.bar{width:100%;height:22px;padding:4px;margin:0 auto 16px;border:2px solid var(--ac);background:rgba(42,8,19,.9);box-shadow:inset 0 0 0 1px rgba(255,201,51,.18)}
.bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--ac) 0 12px,transparent 12px 16px);filter:drop-shadow(0 0 5px rgba(255,201,51,.65))}
.boot-footer{margin:0;color:rgba(224,183,156,.76);font-size:10px}
@media(max-width:700px),(max-height:500px) and (orientation:landscape){#boot{inset:auto;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(env(safe-area-inset-top,0px),env(safe-area-inset-bottom,0px)) max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}}
/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;display:flex;align-items:center;gap:14px;padding:6px 18px;background:rgba(42,8,19,.94);border-bottom:1px solid var(--line)}
.logo{display:block;line-height:0}.logo img{display:block;height:52px;width:auto;mix-blend-mode:screen}
nav{display:flex;overflow-x:auto;margin-left:auto;scrollbar-width:none}
nav a{position:relative;padding:10px 12px;font:600 12px/1.4 var(--b);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--mut);transition:color .2s}
nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--ac);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
nav a:hover,nav a.on{color:var(--ac)}nav a:hover:after,nav a.on:after{transform:none}
.btn,.tg{display:inline-block;border:1.5px solid var(--ac);color:var(--ac);background:transparent;font:700 13px var(--b);letter-spacing:.16em;text-transform:uppercase;padding:11px 18px;min-height:44px;cursor:pointer;transition:.25s}
.btn:hover,.btn.on,.tg:hover{background:var(--ac);color:var(--bg)}
.tg{padding:9px 14px;min-height:40px;white-space:nowrap}
.back{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;padding:11px 16px;min-height:44px;border:1.5px solid var(--ac);background:rgba(255,201,51,.08);box-shadow:3px 3px 0 rgba(224,57,43,.65);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.back:hover{background:var(--ac);color:var(--bg);text-decoration:none;transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(224,57,43,.65)}
/* hero */
.hero{position:relative;max-width:1280px;min-height:calc(100svh - 66px);display:grid;grid-template-columns:repeat(12,1fr);column-gap:16px;align-content:center;padding-block:40px 70px}
.eyebrow{grid-column:1/-1;justify-self:center;width:100%;text-align:center;font:400 clamp(15px,2.4vw,26px)/1.1 var(--d);color:var(--ac);text-transform:uppercase}
.eyebrow em{display:block;margin-top:6px;font:400 clamp(24px,3.6vw,40px) var(--s);text-transform:none;color:var(--ink)}
.ttl{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:center;position:relative;z-index:2;margin:6px 0 0}
.q{font:400 clamp(92px,24vw,330px)/.84 var(--d);letter-spacing:-.02em;background:repeating-linear-gradient(115deg,#ffd43b 0 .09em,#fff1bf .09em .15em);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(.025em .025em 0 #e0261c) drop-shadow(.05em .05em 0 #9d111a) drop-shadow(.075em .075em 0 #2a0610)}
.yr{align-self:flex-start;margin:.06em 0 0 clamp(12px,2vw,30px);font:400 clamp(30px,6vw,78px)/.85 var(--d);color:#ffc933;text-shadow:3px 3px 0 #b3141c}
.ticket{grid-column:6/9;justify-self:center;margin-top:clamp(34px,4.5vw,62px);position:relative;z-index:3;text-align:center;padding:16px 46px;background:var(--cream);color:#8d0f16;border:4px dotted #e0392b;transform:rotate(-3deg);-webkit-mask:radial-gradient(circle 15px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 15px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 15px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 15px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket small{display:block;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}.ticket b{display:block;font:400 clamp(30px,4.4vw,56px)/1 var(--d);white-space:nowrap;letter-spacing:-.04em}.ticket b sup{font-size:.34em;vertical-align:super;line-height:0;margin:0 .04em;display:inline-block;letter-spacing:0}
.hc{display:block;padding-top:18px;border-top:1px solid var(--line);margin-top:30px}
.hc-tech{grid-column:1/6}.hc-non{grid-column:9/-1;margin-top:70px}
.hc h2{font:400 clamp(32px,4.2vw,56px)/1.05 var(--s);text-transform:none;letter-spacing:0;margin:0 0 8px;transition:color .3s,translate .5s var(--spring)}
.hc ul{margin:0 0 14px;padding:0;list-style:none;font-size:clamp(17px,1.9vw,22px);color:var(--mut)}.hc li{padding:2px 0}
.hc:hover h2{color:var(--ac);translate:8px 0}
.cd{grid-column:1/9;display:flex;gap:16px;margin-top:56px;flex-wrap:wrap}
.cd div{position:relative;min-width:96px;padding:14px 16px 12px;border:1.5px solid rgba(255,201,51,.55);text-align:center;background:rgba(255,201,51,.06)}
.cd div:before{content:none}
.cd b{display:block;font:400 clamp(36px,5vw,52px)/1 var(--d);color:var(--ac)}.cd small{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.cdmsg{font:400 30px var(--d);color:var(--ac)}
.halftone{position:absolute;top:2%;right:-4%;width:min(38vw,440px);aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,var(--ac) 1.6px,#0000 2.3px) 0 0/12px 12px;opacity:.3;-webkit-mask:radial-gradient(circle,#000 15%,#0000 70%);mask:radial-gradient(circle,#000 15%,#0000 70%)}
.burst{display:none}@keyframes spin{to{transform:rotate(360deg)}}
.band{overflow:hidden;background:#d9302a;color:#fde3c1;transform:rotate(-1.4deg) scale(1.04);margin:10px 0 30px;padding:14px 0;border-block:3px solid #2a0813;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.bt{display:flex;width:max-content;animation:mq 45s linear infinite}.bt span{white-space:nowrap;padding-right:.6em;font:400 clamp(22px,3.4vw,40px) var(--d);text-transform:uppercase}@keyframes mq{to{transform:translateX(-50%)}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);padding-block:30px;border-block:1px solid var(--line)}
.stats div{padding:20px 18px;border-left:1px solid var(--line)}.stats div:first-child{border-left:0}
.stats b{display:block;font:400 clamp(48px,9vw,120px)/.9 var(--d);color:var(--ac)}.stats small{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0}}
/* poster + about */
.about{display:block}
.pw{position:relative;padding-right:34px}
.print{margin:0;padding:clamp(8px,1.4vw,16px);background:var(--cream);box-shadow:0 22px 50px rgba(0,0,0,.5);transform:rotate(-1.6deg);transition:transform .6s var(--spring)}.print:hover{transform:rotate(0) scale(1.01)}.print img{display:block;width:100%;height:auto}
.vt{position:absolute;right:0;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.clip{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease)}.clip.in{clip-path:inset(-60px)}
.landing-poster{display:grid;place-items:center;padding-block:clamp(24px,5vw,60px)}.landing-poster .pw{width:min(100%,800px)}
.ab h2{font-size:clamp(44px,7vw,96px)}.sub{color:var(--ac);font:400 17px/1.55 var(--b);margin:0 0 22px}
.ab{max-width:1180px;margin:0 auto}
.ab p{margin:0 0 18px;color:var(--mut);font:400 17px/1.7 var(--b);text-align:justify;letter-spacing:0;word-spacing:0}
.ab p.sub{color:var(--ac)}
.ab .lede{font-size:inherit;font-weight:400;color:var(--mut)}
/* events */
.cats{display:grid;gap:34px;grid-template-columns:1fr;perspective:1200px}@media(min-width:800px){.cats{grid-template-columns:1fr 1fr;gap:46px}.cat.non{margin-top:80px}}
.cat{display:block;position:relative;overflow:hidden;padding:clamp(24px,3.4vw,44px);transition:transform .7s var(--spring),box-shadow .4s}
.cat.tech{align-self:start;background:linear-gradient(160deg,#5c1228,#3a0b1a);border:2px solid #ffc933;color:#fde3c1;transform:rotate(-1.2deg)}
.cat.non{background:#fde3c1;border:2px solid #e0392b;color:#6b1228;transform:rotate(1deg)}
.cat:before,.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,currentColor 1.3px,#0000 1.9px) 0 0/10px 10px;opacity:.08;transition:transform .8s var(--ease),opacity .4s}
.cat:hover{transform:rotate(0) scale(1.03);box-shadow:0 26px 50px rgba(0,0,0,.45)}.cat:hover:before,.card:hover:before{transform:scale(1.2);opacity:.16}
.cat small{position:relative;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.cat h3{position:relative;font-size:clamp(30px,4.1vw,52px);margin:14px 0 22px}.tech h3{color:#ffc933}
.cat h3 .nowrap{white-space:nowrap}
.cat ul{position:relative;margin:0 0 26px;padding:0;list-style:none}.cat li{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(128,128,128,.35);font:500 18px/1.5 var(--b)}
.cat li i{font:400 14px var(--d);font-style:normal;color:#ffc933}.non li i{color:#e0392b}
.go{position:relative;display:inline-flex;gap:10px;padding:10px 18px;border:1.5px solid currentColor;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;transition:.3s}
.tech:hover .go{background:#ffc933;color:#3a0b1a;border-color:#ffc933}.non:hover .go{background:#b3141c;color:#fde3c1;border-color:#b3141c}
/* event cards */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 44px}
.grid{display:grid;gap:26px;grid-template-columns:repeat(6,1fr);perspective:1200px}
.card{position:relative;overflow:hidden;min-height:230px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;grid-column:span 3;transition:transform .7s var(--spring),box-shadow .4s,opacity .3s,scale .5s var(--spring)}
.card:nth-child(4n+1){transform:rotate(-1.3deg)}.card:nth-child(4n+2){margin-top:44px;transform:rotate(1deg)}.card:nth-child(4n+3){grid-column:span 2;transform:rotate(.7deg)}.card:nth-child(4n+4){grid-column:span 4;margin-top:-18px;transform:rotate(-.8deg)}
.c0{background:#fde3c1;color:#8d0f16;border:2px solid #8d0f16}.c1{background:#5c1228;color:#ffc933;border:2px solid #ffc933}.c2{background:#ffc933;color:#4a0a17;border:2px solid #4a0a17}.c3{background:#d9302a;color:#fde3c1;border:2px solid #fde3c1}
.card .num{position:relative;font:400 14px var(--d);letter-spacing:.1em;opacity:.8}.card h3{position:relative;font-size:clamp(30px,4vw,52px);transition:translate .5s var(--spring)}
.ex{position:relative;z-index:3;align-self:flex-start;padding:9px 16px;border:1.5px solid currentColor;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;transition:.3s}
.cover{position:absolute;inset:0;z-index:2}
.card:hover{transform:rotate(1.5deg) scale(1.05);box-shadow:0 28px 50px rgba(0,0,0,.5);z-index:3}.card:hover h3{translate:8px 0}
.grid:hover .card:not(:hover){opacity:.82;scale:.985}
.c0:hover .ex{background:#8d0f16;color:#fde3c1}.c1:hover .ex{background:#ffc933;color:#5c1228}.c2:hover .ex{background:#4a0a17;color:#ffc933}.c3:hover .ex{background:#fde3c1;color:#d9302a}
@media(max-width:700px){.grid{grid-template-columns:1fr}.card,.card:nth-child(n){grid-column:auto;margin-top:0;min-height:170px}.card:nth-child(even){margin-left:18px;margin-right:-4px}}
/* detail */
.event-heading{max-width:1000px;margin:8px auto 30px;text-align:center}
.event-heading h1{font-size:clamp(42px,7.5vw,100px);color:var(--ac);margin:10px 0 14px}
.bigpost{max-width:560px;margin:0 auto}.bigpost svg{display:block;width:100%;height:auto}
.poster-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.poster-trigger img{display:block;width:100%;height:auto}
.poster-dialog{position:fixed;inset:0;margin:auto;padding:12px 14px 14px;border:2px solid var(--dgold);background:var(--cream);box-shadow:0 24px 70px rgba(0,0,0,.85);max-width:94vw;max-height:94vh;width:fit-content;height:fit-content;box-sizing:border-box;transform:none!important}
.poster-dialog:not([open]){display:none}
.poster-dialog::backdrop{background:rgba(15,3,8,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}
.poster-dialog form{display:flex;justify-content:flex-end;margin-bottom:8px}
.poster-close{padding:7px 14px;border:1.5px solid #8d0f16;background:#fde3c1;color:#8d0f16;font:700 12px var(--b);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s}
.poster-close:hover{background:#8d0f16;color:#fde3c1}
.poster-dialog>img,.poster-dialog-img{display:block;width:auto;height:min(82vh,820px);max-height:calc(94vh - 60px);max-width:min(90vw,700px);aspect-ratio:4/5;object-fit:contain;margin:0 auto}
.tag{font:400 clamp(24px,3vw,34px) var(--s)}
.sec{margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}.sec h3{font-size:clamp(26px,3.4vw,40px);color:var(--ac);margin-bottom:16px}.sec p{max-width:70ch;margin-bottom:10px;color:var(--mut)}
.dim{opacity:.7}.ib{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ib div{padding:12px 16px;border:1.5px solid var(--line);font-weight:700;font-size:20px}
.ib small{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.prize{padding:20px 24px;border:2px solid var(--ac)}.prize p{margin:6px 0;font:400 26px var(--d);color:var(--ink)}
.box{background:rgba(253,227,193,.06);border:1.5px solid var(--line)}
.reg{display:inline-block;padding:10px 24px;background:#ffc933;color:#3d0a18;border:3px solid #2a0813;box-shadow:4px 4px 0 #e0392b;font:400 18px var(--d);text-transform:uppercase;transition:.2s}.reg:hover{translate:-2px -2px;box-shadow:6px 6px 0 #e0392b}.reg:active{translate:2px 2px;box-shadow:2px 2px 0 #e0392b}
/* archive */
.archive-controls{margin:-6px 0 14px}.archive-note{display:block;max-width:60ch;color:var(--mut);font:400 17px/1.55 var(--b);letter-spacing:0;text-transform:none}
.archive-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--ac2) #0000;padding:18px 8px 22px}
.archive-track,.archive-set{display:flex;align-items:stretch;gap:26px;width:max-content}.archive-set{flex:none}
.tile{display:flex;flex-direction:column;gap:0;flex:none;width:clamp(240px,30vw,320px);padding:10px;background:#fde3c1;color:#6b1228;box-shadow:0 14px 28px rgba(0,0,0,.4);transition:transform .5s var(--spring)}
.tile:nth-child(odd){transform:rotate(-2deg)}.tile:nth-child(even){transform:rotate(1.6deg) translateY(10px)}.tile:hover{transform:rotate(0) scale(1.05)}
.archive-photo{display:block;overflow:hidden;aspect-ratio:3/2;background:#2a0813}.archive-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.tile:hover img{transform:scale(1.06)}
.archive-caption{display:grid;gap:2px;font:700 13px/1.2 var(--b);letter-spacing:.1em;text-transform:uppercase}.archive-caption small{font-size:11px;color:#b3141c}.archive-empty{padding:24px;color:var(--mut)}
/* people */
.section-intro{max-width:60ch;margin:-8px 0 30px;color:var(--mut);font:400 17px/1.55 var(--b)}
.fgrid{display:grid;gap:44px;grid-template-columns:1fr}@media(min-width:960px){.fgrid{grid-template-columns:4fr 7fr;align-items:start}}
.marq{position:relative;padding:14px;background:#cf2d24;border-radius:22px;transform:rotate(-1.2deg);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.marq:before{content:"";position:absolute;inset:3px;border-radius:19px;border:7px dotted #ffe6a6;pointer-events:none}
.mi{padding:26px 22px;background:#fde3c1;color:#8d0f16;border:3px solid #2a0813;border-radius:10px}
.mi h3{font:600 20px/1.3 var(--b);letter-spacing:.02em;text-transform:none;color:#2a0813;margin-bottom:8px}.mi ul{list-style:none;margin:0 0 6px;padding:0}.mi li{padding:3px 0;font:500 16px/1.5 var(--b)}.mi hr{border:0;border-top:2px solid #8d0f16;margin:18px 0}.mi p{font:500 16px/1.5 var(--b)}
.people{display:grid;gap:34px 26px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.people.fac{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.organizer-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.organizer-card{position:relative;display:flex;align-items:center;gap:16px;min-height:112px;overflow:hidden;padding:22px;background:linear-gradient(135deg,rgba(92,18,40,.9),rgba(58,11,26,.85));border:1px solid rgba(255,201,51,.55);box-shadow:0 12px 26px rgba(0,0,0,.22)}
.organizer-index{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--ac);color:var(--ac);font:600 14px/1 var(--b);letter-spacing:.04em}
.organizer-card h3{position:relative;z-index:1;margin-bottom:5px;color:var(--ink);font:600 15px/1.4 var(--b);text-transform:none;letter-spacing:.01em}
.organizer-card p{position:relative;z-index:1;color:var(--mut);font:500 12px/1.5 var(--b);letter-spacing:.05em;text-transform:uppercase}
.organizer-mark{position:absolute;right:-7px;bottom:-30px;color:rgba(255,201,51,.08);font:400 100px/.9 var(--d);pointer-events:none}
.person{margin:0;padding:10px 10px 14px;background:#fde3c1;color:#6b1228;box-shadow:0 14px 28px rgba(0,0,0,.35);transition:transform .5s var(--spring)}
.person:nth-child(3n+1){transform:rotate(-1.6deg)}.person:nth-child(3n+2){transform:rotate(1.2deg) translateY(14px)}.person:nth-child(3n){transform:rotate(-.6deg)}.person:hover{transform:rotate(0) scale(1.04)}
.av{display:block;aspect-ratio:4/5;overflow:hidden;background:#2a0813}.av img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s var(--ease)}.person:hover .av img{transform:scale(1.05)}
.person figcaption{display:grid;gap:3px;padding-top:10px}.person b{font:600 16px/1.4 var(--b);letter-spacing:.03em;text-transform:uppercase}.person span{font:500 12px/1.5 var(--b);letter-spacing:.08em;text-transform:uppercase;color:#b3141c}
/* contact */
#contact>h2{font-size:clamp(44px,8vw,96px)}
#contact>.section-intro,.ci p,.git p{font-size:clamp(15px,1.35vw,17px);line-height:1.6}
.cwrap{display:grid;gap:26px;grid-template-columns:1fr}@media(min-width:860px){.cwrap{grid-template-columns:1.15fr 1fr}}
.cmap{display:flex;flex-direction:column;gap:12px;padding:10px;min-height:380px}.cmap iframe{flex:1;width:100%;min-height:320px;border:0;background:#3a0b1a}.cmap .btn{align-self:flex-start}
.cinfo{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ci{display:flex;gap:14px;align-items:center;padding:18px}
.ci svg{width:48px;height:48px;padding:11px;flex:none;border:1.5px solid var(--ac);fill:none;stroke:var(--ac);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ci h3{font:600 clamp(15px,1.3vw,17px)/1.3 var(--b);letter-spacing:.08em;margin-bottom:6px}.git h3{font:600 clamp(21px,2vw,26px)/1.2 var(--b);letter-spacing:.03em;margin-bottom:8px}.ci p{color:var(--mut)}.ci a{text-decoration:underline}.git{margin-top:18px;padding:26px;border-left:6px solid var(--ac)}.git p{color:var(--mut)}
.sponsor{max-width:1240px;margin:0 auto;padding:0 20px 36px;text-align:center}
.sponsor p{margin-bottom:8px;color:var(--mut);font:400 clamp(16px,1.8vw,20px)/1.5 var(--b);letter-spacing:0}
.sponsor a{color:var(--ac);font:400 clamp(24px,3vw,34px)/1.2 var(--d);text-transform:uppercase;transition:color .2s}
.sponsor a:hover{color:var(--ink)}
.sponsor a span{font:700 .65em var(--b)}
@media(max-width:900px){.organizer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.organizer-grid{grid-template-columns:1fr}.organizer-card{min-height:96px;padding:18px}}
@media(max-width:819px){.hero{display:block;padding-top:24px}.ticket{display:block;width:max-content;margin:-4px 0 10px 4px}.cd{margin-top:40px}}
@media(max-width:700px){header{position:sticky;top:env(safe-area-inset-top,0px);gap:8px;padding:4px 8px}.logo{flex:none}.logo img{height:42px}header nav{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}header nav a{flex:0 0 auto;padding:10px 8px;font-size:11px;letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1}.mk>span{transform:none}.clip{clip-path:none}}
.lp h2,.dtl h2{font-size:clamp(40px,7vw,92px)}
/* retro decor: one collection, thin outlines, cream/gold/burgundy + red accent, printed texture */
:root{--dec:#fde3c1;--dgold:#ffc933}
section{position:relative;isolation:isolate}
.l,.l *{fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.l .f{fill:currentColor;fill-opacity:.14}
.s{fill:currentColor}.a{fill:var(--da)}.h{fill:url(#ht)}
.dec{position:absolute;z-index:-1;height:auto;overflow:visible;color:var(--dc,var(--dec));--da:#e0392b;opacity:var(--o,.85);rotate:var(--r,0deg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 6.3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23f)'/%3E%3C/svg%3E") 0 0/220px 220px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 6.3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23f)'/%3E%3C/svg%3E") 0 0/220px 220px;filter:drop-shadow(2px 2px 0 rgba(224,57,43,.3));transition:scale .6s var(--spring),rotate .6s var(--spring),filter .4s}
.dec:hover{scale:1.07;rotate:calc(var(--r,0deg) + 4deg);filter:drop-shadow(2px 2px 0 rgba(224,57,43,.45)) brightness(1.12) contrast(1.08)}
.fl{animation:fl 8s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-14px)}}
.spin{animation:sp 70s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.pul{animation:pu 3.6s ease-in-out infinite}@keyframes pu{50%{opacity:.35;transform:scale(.85)}}
.dr{animation:dr 14s ease-in-out infinite}@keyframes dr{50%{transform:translate(14px,-8px)}}
.dec.st{position:relative;z-index:auto;display:block}.cdi{z-index:0;--dc:currentColor;pointer-events:none}
.sep{position:relative;left:50%;width:100vw;height:72px;overflow:hidden;margin:6px 0 6px -50vw}.sep .dec{left:-2%;top:4px;width:104%;z-index:auto;--o:.5;--r:-1.2deg}
#about,#gallery,#faculty{padding-bottom:clamp(36px,5vw,64px)}
#events,#faculty,#coordinators{padding-top:clamp(36px,5vw,64px)}
#about>div>h2,#events>h2,#gallery>h2,#faculty>h2,#coordinators>h2,#contact>h2{font-size:clamp(38px,7vw,88px)}
.ab{position:relative}.ab>.dec.lg{display:none}.rs{margin-top:40px}
@media(max-width:700px){.lg{display:none}.q{font-size:clamp(58px,19vw,155px)}.yr{font-size:clamp(26px,6vw,42px)}.tvh{right:-14%!important;top:12%!important;width:56vw!important;--o:.28!important}.sep{height:54px}}

/* ===================== RESPONSIVE LAYER ===================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;max-width:100%}
body{overflow-x:clip;max-width:100%;min-width:0}
main{display:block;max-width:100%;overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%}
h1,h2,h3,p,li,a,figcaption,small,b,span{overflow-wrap:break-word;word-wrap:break-word}
.halftone{right:0;width:min(38vw,440px)}
.sep{left:0;width:100%;margin:6px 0;overflow:hidden}
section,.hero{width:100%}
.ticket{max-width:100%}
.cinfo>*,.cwrap>*,.fgrid>*,.cats>*,.grid>*{min-width:0}
.ci p,.ci a{overflow-wrap:anywhere}

/* touch devices: no sticky hover states, no dimming of siblings */
@media(hover:none){
 .card:hover,.cat:hover,.tile:hover,.person:hover,.print:hover{box-shadow:inherit}
 .card:hover{transform:none;z-index:auto}.card:nth-child(4n+1):hover{transform:rotate(-1.3deg)}.card:nth-child(4n+2):hover{transform:rotate(1deg)}.card:nth-child(4n+3):hover{transform:rotate(.7deg)}.card:nth-child(4n+4):hover{transform:rotate(-.8deg)}
 .grid:hover .card:not(:hover){opacity:1;scale:1}
 .cat.tech:hover{transform:rotate(-1.2deg)}.cat.non:hover{transform:rotate(1deg)}
 .tile:hover{transform:none}.tile:nth-child(odd):hover{transform:rotate(-2deg)}.tile:nth-child(even):hover{transform:rotate(1.6deg) translateY(10px)}
 .person:hover{transform:none}.person:nth-child(3n+1):hover{transform:rotate(-1.6deg)}.person:nth-child(3n+2):hover{transform:rotate(1.2deg) translateY(14px)}.person:nth-child(3n):hover{transform:rotate(-.6deg)}
 .print:hover{transform:rotate(-1.6deg)}.bigpost.print:hover{transform:rotate(-1.6deg)}
 .hc:hover h2{translate:0 0;color:inherit}.dec:hover{scale:1;rotate:var(--r,0deg)}
 .card:active{scale:.985}.cat:active,.btn:active,.back:active,.ex:active{opacity:.85}
 .card:hover h3{translate:0 0}
}

/* ---------- tablets & small laptops ---------- */
@media(max-width:1024px){
 section{padding-inline:clamp(16px,4vw,28px)}
 .ticket{grid-column:5/10}
 .hc-tech{grid-column:1/7}.hc-non{grid-column:7/-1;margin-top:40px}
 .cat.non{margin-top:0}
}

/* ---------- navigation: every link always visible in a fixed-feel sticky bar ---------- */
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 64px)}
@media(max-width:820px){
 header{position:sticky;top:0;flex-wrap:nowrap;align-items:center;gap:10px;padding:4px max(12px,env(safe-area-inset-right,0px)) 4px max(12px,env(safe-area-inset-left,0px));background:rgba(42,8,19,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(0,0,0,.35)}
 .logo{flex:none}.logo img{height:40px}
 header nav{flex:1;min-width:0;margin:0;display:flex;justify-content:space-between;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}
 header nav::-webkit-scrollbar{display:none}
 header nav a{flex:1 1 auto;text-align:center;padding:14px 6px;min-height:44px;font-size:11px;letter-spacing:.06em}
 header nav a:after{left:6px;right:6px;bottom:7px}
 header nav a.on{color:var(--ac)}
}
@media(max-width:560px){
 html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 92px)}
 header{flex-wrap:wrap;gap:0;padding-block:5px 0}
 .logo{flex:0 0 100%;display:flex;justify-content:center}.logo img{height:34px}
 header nav{flex:0 0 100%;width:100%;justify-content:space-between;gap:0;border-top:1px solid var(--line)}
 header nav a{flex:1 1 auto;padding:13px 1px 14px;font-size:clamp(8px,2.5vw,12px);letter-spacing:.015em;font-weight:700}
 header nav a:after{left:14%;right:14%;bottom:6px}
}
/* ---------- phones & small tablets ---------- */
@media(max-width:700px){
 body{font-size:16px}
 section{padding:clamp(40px,11vw,60px) max(16px,env(safe-area-inset-left,0px)) clamp(40px,11vw,60px) max(16px,env(safe-area-inset-right,0px))}
 section.sponsor{padding:0 16px 32px}
 h2,#about>div>h2,#events>h2,#gallery>h2,#faculty>h2,#coordinators>h2,#contact>h2,.ab h2,.lp h2,.dtl h2,#contact>h2{font-size:clamp(28px,10.2vw,64px)}
 .lp h2{font-size:clamp(26px,9vw,56px)}
 .event-heading{margin:4px auto 22px}.event-heading h1{font-size:clamp(28px,9.4vw,60px);line-height:1.02}
 .tag{font-size:clamp(20px,6vw,28px)}
 /* hero */
 .hero{min-height:auto;padding-block:28px 40px}
 .eyebrow{font-size:clamp(13px,4.2vw,18px)}.eyebrow em{font-size:clamp(22px,7vw,30px)}
 .q{font-size:clamp(58px,21.5vw,150px)}.yr{font-size:clamp(22px,7vw,40px)}
 .ticket{width:auto;max-width:calc(100% - 8px);margin:6px auto 8px;padding:14px clamp(26px,9vw,40px);-webkit-mask:none;mask:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
 .ticket b{font-size:clamp(22px,7.6vw,38px);white-space:normal;letter-spacing:-.02em}
 .ticket small{font-size:10px;letter-spacing:.24em}
 .cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:30px}
 .cd div{min-width:0;padding:12px 4px 10px}
 .cd b{font-size:clamp(24px,8vw,36px)}.cd small{display:block;font-size:clamp(9px,2.6vw,11px);letter-spacing:.08em}
 .cdmsg{grid-column:1/-1;font-size:clamp(20px,6vw,28px);text-align:center}
 .cd:has(.cdmsg){display:block}
 .halftone{width:46vw;top:0}
 .band{margin:8px 0 22px;padding:10px 0;transform:rotate(-1.2deg) scale(1.02)}.bt span{font-size:clamp(18px,5.4vw,26px)}
 .stats{grid-template-columns:1fr 1fr;padding-block:18px}
 .stats div{padding:16px 12px}.stats div:nth-child(odd){border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--line)}
 .stats b{font-size:clamp(40px,14vw,72px)}.stats small{font-size:11px;letter-spacing:.1em}
 /* poster */
 .landing-poster{padding-block:20px}.pw{padding-right:0}.vt{display:none}
 .print{padding:8px;transform:rotate(-1deg)}
 /* about */
 .ab p{font-size:16px;line-height:1.65;text-align:left;hyphens:auto}.sub{font-size:15px}
 /* events */
 .cats{gap:26px}.cat{padding:22px 18px;transform:none!important}.cat.tech{transform:rotate(-.6deg)!important}.cat.non{transform:rotate(.6deg)!important}
 .cat h3{font-size:clamp(26px,8.4vw,40px);margin:10px 0 16px}.cat li{font-size:16px;padding:9px 0}
 .tabs{gap:8px;margin-bottom:26px}.tabs .btn{flex:1 1 auto;text-align:center;padding:11px 12px;font-size:12px;letter-spacing:.1em}
 .grid{gap:18px}.card,.card:nth-child(n){margin:0!important;min-height:150px;padding:18px}
 .card h3{font-size:clamp(24px,8vw,38px);padding-right:52px}
 .card:nth-child(4n+1){transform:rotate(-.8deg)}.card:nth-child(4n+2){transform:rotate(.6deg)}.card:nth-child(4n+3){transform:rotate(.4deg)}.card:nth-child(4n+4){transform:rotate(-.5deg)}
 .back{margin-bottom:16px}
 /* archive */
 .tile{width:clamp(210px,68vw,280px)}.archive-track,.archive-set{gap:18px}
 .archive-viewport{padding:14px 4px 18px}
 .archive-note{font-size:15px}
 /* people */
 .fgrid{gap:30px}.marq{padding:10px;border-radius:18px}.marq:before{border-width:5px;inset:2px;border-radius:16px}.mi{padding:20px 16px}
 .people,.people.fac{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
 .person{padding:7px 7px 10px}.person b{font-size:13px}.person span{font-size:10.5px;letter-spacing:.05em}
 .section-intro{font-size:15px}
 .organizer-card{padding:16px}.organizer-mark{font-size:80px}
 /* contact */
 .cmap{min-height:0;padding:8px}.cmap iframe{min-height:260px;height:300px}.cmap .btn{align-self:stretch;text-align:center}
 .cinfo{grid-template-columns:1fr;gap:14px}.ci{padding:14px;gap:12px}.ci svg{width:42px;height:42px;padding:9px}
 .git{padding:18px;border-left-width:5px}
 .sponsor a{font-size:clamp(20px,6.4vw,30px)}
 /* detail */
 .bigpost{max-width:100%}.sec{margin-top:30px;padding-top:18px}.sec h3{font-size:clamp(22px,7vw,32px)}
 .ib{grid-template-columns:1fr}.ib div{font-size:17px}
 .prize{padding:14px 16px}.prize p{font-size:clamp(18px,5.6vw,24px)}
 .reg{display:block;width:100%;text-align:center;padding:10px 16px;font-size:clamp(16px,4.6vw,18px);box-shadow:4px 4px 0 #e0392b}
 .poster-dialog{max-width:95vw;width:fit-content;padding:8px}.poster-dialog>img,.poster-dialog-img{width:calc(95vw - 16px);max-width:480px;height:auto;max-height:calc(90vh - 54px)}
 /* decorations never push layout */
 .tvh{right:-8%!important;width:44vw!important}
}

/* ---------- very small phones (<=380px) ---------- */
@media(max-width:380px){
 header{padding:2px 10px}.logo img{height:40px}
 .tabs .btn{padding:10px 8px;font-size:11px}
 .cd{gap:6px}
 .ticket{padding-inline:22px}
 .people,.people.fac{gap:22px 10px}
 .organizer-index{width:36px;height:36px}
}

/* ---------- short landscape phones ---------- */
@media(max-height:480px) and (orientation:landscape){
 .hero{min-height:auto}
 .boot-panel{padding:16px 22px}#boot pre{margin:4px 0 12px;font-size:clamp(30px,9vh,44px)}
 header.open nav{max-height:60svh;overflow-y:auto}
}

/* ---------- boot / intro: always centred, never cropped ---------- */
#boot{width:100%;height:100vh;height:100dvh;inset:auto;top:0;left:0;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));overflow:hidden}
.boot-panel{width:min(460px,100%);max-width:100%;margin:0 auto;box-shadow:min(8px,2vw) min(8px,2vw) 0 rgba(224,57,43,.72),0 0 42px rgba(255,201,51,.12)}
#boot pre{font-size:clamp(32px,11vw,64px);max-width:100%;overflow-wrap:anywhere}
.boot-kicker{font-size:clamp(9px,2.8vw,11px);letter-spacing:clamp(.12em,1vw,.22em)}

/* ---------- font-metric safety (wide display font) ---------- */
@media(min-width:701px) and (max-width:1100px){.q{font-size:clamp(92px,21vw,330px)}.yr{font-size:clamp(30px,5.4vw,78px)}.ticket b{font-size:clamp(30px,5vw,56px)}}
@media(max-width:700px){.cat h3 .nowrap{white-space:normal;overflow-wrap:anywhere}.cat h3{font-size:clamp(24px,7.8vw,38px)}}

/* ---------- menu button + overlay panel (opens in place, never moves the page) ---------- */
.menu-btn,.menu-panel{display:none}
@media(max-width:820px){
 .logo{order:1}header nav{order:2}
 .menu-btn{order:3;display:flex;flex:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-right:-8px;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
 .menu-btn span{display:block;width:24px;height:2.5px;background:var(--ac);border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
 header.open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
 header.open .menu-btn span:nth-child(2){opacity:0}
 header.open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
 .menu-panel{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;z-index:8;max-height:calc(100svh - 100%);max-height:min(70svh,460px);overflow-y:auto;overscroll-behavior:contain;padding:6px max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));background:rgba(42,8,19,.98);border-bottom:2px solid var(--ac);box-shadow:0 18px 30px rgba(0,0,0,.5);opacity:0;visibility:hidden;translate:0 -8px;pointer-events:none;transition:opacity .22s,translate .28s var(--ease),visibility 0s .28s}
 header.open .menu-panel{opacity:1;visibility:visible;translate:0 0;pointer-events:auto;transition:opacity .22s,translate .28s var(--ease),visibility 0s}
 .menu-panel a{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 4px;border-bottom:1px solid rgba(253,227,193,.12);font:700 15px/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
 .menu-panel a:last-child{border-bottom:0}
 .menu-panel a i{font:400 13px var(--d);font-style:normal;color:var(--ac);opacity:.8;min-width:1.6em}
 .menu-panel a b{margin-left:auto;color:var(--ac);font:700 16px var(--b);transition:translate .25s var(--ease)}
 .menu-panel a.on{color:var(--ac)}.menu-panel a:active{background:rgba(255,201,51,.1)}
}
@media(max-width:560px){
 .logo{flex:1;justify-content:flex-start}
 .menu-btn{order:2;margin-right:-10px}
 html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 98px)}
 header nav{order:3}
}

/* ---------- requested tweaks: 2-line date ticket, full-bleed strips, justified About ---------- */
.sep{position:relative;left:50%;width:100vw;max-width:none;margin:6px 0 6px -50vw;overflow:hidden}
.ticket{width:max-content;max-width:100%}
.ticket b{display:block;white-space:nowrap}
.ticket b .dl{display:block;white-space:nowrap;line-height:1.02}
.ab p,.ab p.sub{text-align:justify;text-justify:inter-word;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 3;word-spacing:0}

/* ---------- ticket: exactly two lines (label + date on one line) ---------- */
.ticket b{display:block;white-space:nowrap;letter-spacing:-.02em;font-size:clamp(24px,2.7vw,42px);line-height:1.05}
.ticket b .dl{display:inline;white-space:nowrap;line-height:inherit}
@media(min-width:701px) and (max-width:1100px){.ticket b{font-size:clamp(26px,4.2vw,44px)}}
@media(max-width:700px){.ticket{padding-inline:clamp(16px,5vw,30px)}.ticket b{font-size:clamp(16px,7.4vw,38px);letter-spacing:-.02em}}

/* ================= TYPE SCALE (all sections & pages except the Home hero) =================
   heading   : section titles + page titles
   subheading: display titles inside sections (categories, event cards, detail sections)
   sub-small : small bold titles (faculty/coordinator/contact blocks)
   body      : paragraphs, lists, intros
   caption   : tiny labels                                                                  */
:root{--t-h:clamp(44px,6.1vw,88px);--t-sh:clamp(30px,3.4vw,44px);--t-sh2:20px;--t-body:18px;--t-lh:1.7;--t-cap:12px}
@media(max-width:700px){:root{--t-h:clamp(28px,9vw,44px);--t-sh:clamp(22px,7vw,30px);--t-sh2:17px;--t-body:16px;--t-lh:1.65;--t-cap:12px}}

html body :is(#about,#events,#gallery,#faculty,#coordinators,#contact,.lp) h2,
html body .dtl .event-heading h1{font-size:var(--t-h);line-height:1.02}

html body :is(#events .cat,.lp .card,.dtl .sec) h3{font-size:var(--t-sh);line-height:1.08}

html body :is(#faculty,#coordinators,#contact) h3{font-size:var(--t-sh2);line-height:1.25}

html body :is(#about p,#events .cat li,#gallery .archive-note,#faculty p,#faculty li,#coordinators .organizer-card .organizer-body,#contact .ci p,#contact .git p,.dtl .sec p,.sponsor-note,.section-intro,.person b){font-size:var(--t-body)}
html body :is(#about p,#gallery .archive-note,#faculty p,#contact .ci p,#contact .git p,.dtl .sec p,.sponsor-note,.section-intro){line-height:var(--t-lh)}
html body :is(.person span,#coordinators .organizer-card p){font-size:var(--t-cap)}

/* ---------- date ticket: smaller (text size inside reduced, still readable) ---------- */
.ticket{padding-inline:clamp(26px,2.6vw,38px)}
.ticket b{font-size:clamp(20px,2vw,30px)}
@media(min-width:701px) and (max-width:1100px){.ticket b{font-size:clamp(20px,3.1vw,28px)}}
@media(max-width:700px){.ticket{padding-inline:clamp(16px,5vw,26px)}.ticket b{font-size:clamp(15px,5.3vw,24px)}}

/* ================= requested tweaks ================= */
/* 1) DM Sans for all body text on every page (headings/numbers keep the display font) */
:root{--b:"DM Sans","Helvetica Neue",Arial,sans-serif}
html body,html body button,html body input,html body textarea,html body select{font-family:var(--b)}
html body :is(p:not(.eyebrow):not(.cdmsg):not(.tag),li,small:not(.cdl),figcaption,label,dd,dt,.sub,.section-intro,.archive-note,.sponsor-note,.person b,.person span,.dim,.box,.ib div,.nav a,header nav a,.menu-panel a,.tabs .btn,.btn,.ex,.back){font-family:var(--b)}

/* 2) date ticket: smaller */
.ticket{padding-block:12px;padding-inline:clamp(20px,2vw,30px)}
.ticket b{font-size:clamp(16px,1.45vw,22px)}
@media(min-width:701px) and (max-width:1100px){.ticket b{font-size:clamp(16px,2.3vw,21px)}}
@media(max-width:700px){.ticket{padding-block:10px;padding-inline:clamp(14px,4vw,20px)}.ticket b{font-size:clamp(13px,4.3vw,18px)}}

/* 3) countdown: one box, units separated by ":" */
.cd{display:flex}
.cd .cdbox{display:inline-flex;align-items:flex-start;justify-content:center;gap:clamp(6px,1.2vw,14px);min-width:0;padding:16px clamp(16px,2vw,28px) 12px}
.cd .cu{display:flex;flex-direction:column;align-items:center;min-width:clamp(52px,5vw,72px)}
.cd .cc{font:400 clamp(30px,4.2vw,46px)/1 var(--d);font-style:normal;color:var(--ac);opacity:.75;text-shadow:0 0 12px rgba(255,201,51,.38);padding-top:.12em}
.cd .cu b{font-size:clamp(34px,4.6vw,50px)}.cd .cu small{margin-top:6px}
@media(max-width:700px){
 .cd{display:block;margin-top:30px}
 .cd .cdbox{display:flex;width:100%;justify-content:space-between;gap:2px;padding:14px clamp(8px,3vw,16px) 10px}
 .cd .cu{flex:1 1 0;min-width:0}
 .cd .cu b{font-size:clamp(18px,6vw,24px)}
 .cd .cu small{font-size:clamp(8.5px,2.5vw,11px);letter-spacing:.06em;margin-top:5px}
 .cd .cc{font-size:clamp(16px,4.8vw,20px);padding-top:.16em;flex:none;text-shadow:none}
}
@media(max-width:819px){.cd .cdbox{width:min(100%,66vw);margin-inline:auto}}

/* 4) tape recorder decoration (Home hero) */
.rec-h{z-index:-1}
@media(max-width:819px){.rec-h{right:5%!important;bottom:7%!important;top:auto!important;left:auto!important;width:clamp(120px,16vw,170px)!important}}
@media(max-width:700px){.rec-h{right:2%!important;bottom:calc(70px + 21.7vw)!important;width:clamp(70px,22vw,104px)!important;--o:.55!important}}

/* ---------- date ticket: larger on desktop/laptop only (mobile & tablet unchanged) ---------- */
@media(min-width:1101px){
.ticket{grid-column:5/10;padding-block:22px;padding-inline:clamp(56px,5vw,88px);border-width:5px}
.ticket small{font-size:clamp(13px,1.05vw,17px);margin-bottom:6px}
.ticket b{font-size:clamp(30px,2.9vw,48px)}
}

/* ---------- film strip divider: tiled so it always spans the full width ---------- */
.sep{position:relative;left:50%;width:100vw;max-width:none;height:72px;margin:6px 0 6px -50vw;overflow:hidden}
.sep .sep-in{position:absolute;left:50%;top:4px;display:flex;width:max-content;translate:-50% 0;rotate:-1.2deg}
.sep .sep-in .dec{position:static;flex:none;width:auto;height:64px;left:auto;top:auto;rotate:none;--o:.5;z-index:auto}
@media(max-width:700px){.sep{height:54px}.sep .sep-in{top:3px}.sep .sep-in .dec{height:48px}}

/* ---------- loader: ’26 as superscript to QUBIT ---------- */
#boot pre sup{font-size:.4em;line-height:0;vertical-align:super;position:relative;top:-.1em;margin-left:.06em;color:var(--ac);text-shadow:2px 2px 0 var(--red2);letter-spacing:0}

/* ---------- hero decorations: desktop hides the mobile set; mobile swaps the tape recorder for themed retro icons ---------- */
.hero .mh{display:none}
@media(max-width:700px){
.hero .rec-h{display:none!important}
.hero .mh{display:block!important;z-index:-1}
}

/* ---------- stats numbers: smaller on tablet/desktop (mobile unchanged) ---------- */
@media(min-width:701px){.stats b{font-size:clamp(40px,4.6vw,68px);line-height:1}}

/* ---------- stats numbers: smaller on phones too ---------- */
@media(max-width:700px){.stats b{font-size:clamp(30px,10.5vw,46px);line-height:1}.stats div{padding:14px 12px}}

/* loader: keep the QUBIT ’26 panel hidden until its fonts are ready, so the title never visibly changes size */
#boot .boot-panel{opacity:0}
#boot.ready .boot-panel{opacity:1;transition:opacity .35s ease}

/* back button: compact */
.back{gap:6px;margin-bottom:16px;padding:6px 12px;min-height:34px;font-size:12px;letter-spacing:.1em;box-shadow:2px 2px 0 rgba(224,57,43,.65)}
.back:hover{box-shadow:3px 3px 0 rgba(224,57,43,.65)}

/* stats: centre numbers + labels between the divider lines, smaller numbers */
.stats div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.stats b{font-size:clamp(28px,3.4vw,50px);line-height:1}
.stats small{display:block;text-align:center}
@media(max-width:700px){.stats b{font-size:clamp(26px,8.5vw,38px)}}

/* footer: MGIT logo + organiser line */
.mgit-foot{display:flex;align-items:center;justify-content:center;gap:14px;max-width:1240px;margin:0 auto;padding:22px 20px calc(26px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);text-align:center}
.mgit-foot img{display:block;flex:none;height:56px;width:56px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.mgit-foot p{margin:0;font:600 clamp(11px,3vw,14px)/1.5 var(--b);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
@media(max-width:700px){.mgit-foot{gap:10px}.mgit-foot img{height:44px;width:44px}}

/* faculty cards: name on one line (auto-fits card width), designation on the next */
.person{container-type:inline-size}
.person figcaption b{display:block!important;white-space:nowrap;font-size:min(16px,5.7cqw)!important;letter-spacing:.02em;line-height:1.35}
.person figcaption span{display:block;white-space:nowrap}

/* faculty designation smaller than the name */
.person figcaption span{font-size:min(11px,3.9cqw)!important;letter-spacing:.06em}

/* footer text: dot separators, college name never breaks across lines */
.mgit-foot .nw{white-space:nowrap}
@media(min-width:701px){.mgit-foot p{white-space:nowrap}}
@media(max-width:700px){.mgit-foot{flex-direction:column;gap:8px}.mgit-foot p{font-size:clamp(9px,2.7vw,12px);letter-spacing:.06em}}

/* footer v3: logo on top (transparent PNG), text below; 2 lines on small screens */
.mgit-foot{flex-direction:column;gap:12px}
.mgit-foot img{height:84px;width:auto;max-width:100%;background:none;border-radius:0;padding:0;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.45))}
.mgit-foot p span{white-space:nowrap}
@media(max-width:700px){
  .mgit-foot{gap:10px}
  .mgit-foot img{height:68px;width:auto}
  .mgit-foot p{font-size:clamp(9px,2.7vw,12px);letter-spacing:.06em;white-space:normal}
  .mgit-foot p span{display:block}
  .mgit-foot p .dot{display:none}
}

/* footer v4: compact row - logo on the left, two text lines on its right */
.mgit-foot{flex-direction:row;align-items:center;justify-content:center;gap:14px;padding:16px 20px calc(18px + env(safe-area-inset-bottom,0px));text-align:left}
.mgit-foot img{height:64px;width:auto;flex:none}
.mgit-foot p{display:block;margin:0;text-align:left;white-space:normal;font-size:clamp(11px,1.2vw,14px);letter-spacing:.08em;line-height:1.55}
.mgit-foot p span{display:block;white-space:nowrap}
.mgit-foot p .dot{display:none}
@media(max-width:700px){
  .mgit-foot{flex-direction:row;gap:10px;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px))}
  .mgit-foot img{height:48px;width:auto}
  .mgit-foot p{font-size:clamp(8.5px,2.55vw,11px);letter-spacing:.03em;line-height:1.5}
}

/* ===== home hero: poster lettering + polish ===== */
.ttl-img{display:block;width:min(92vw,980px);height:auto;filter:drop-shadow(0 10px 30px rgba(224,57,43,.35)) drop-shadow(0 2px 0 rgba(0,0,0,.4))}
.q,.yr{display:none}
.spot{position:absolute;left:50%;top:16%;width:min(110vw,1100px);aspect-ratio:2/1;translate:-50% 0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,201,51,.2),rgba(224,57,43,.1) 45%,transparent 72%)}
.bulbs{grid-column:1/-1;justify-self:center;width:min(86vw,880px);height:14px;margin-top:clamp(14px,2vw,26px);position:relative;z-index:2;background:radial-gradient(circle,#ffe58a 0 3px,rgba(255,201,51,.35) 4px,transparent 7px) 0 50%/28px 14px repeat-x;animation:bulb 1.6s steps(2,jump-none) infinite}
@keyframes bulb{50%{opacity:.45}}
.ticket{margin-top:clamp(22px,3vw,40px)}
.cta{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;position:relative;z-index:3}
.cta .btn{padding:14px 26px;font-size:14px}
.cta .btn.go{background:var(--ac);color:#2a0813;border-color:var(--ac);box-shadow:5px 5px 0 #b3141c}
.cta .btn.go:hover{background:#fff1bf;translate:-2px -2px;box-shadow:7px 7px 0 #b3141c}

.cd{grid-column:1/-1;justify-content:center;margin-top:34px}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:repeating-linear-gradient(90deg,rgba(253,227,193,.55) 0 14px,transparent 14px 28px) 0 0/100% 8px no-repeat,repeating-linear-gradient(90deg,rgba(253,227,193,.55) 0 14px,transparent 14px 28px) 0 14px/100% 8px no-repeat;opacity:.35;pointer-events:none}
@media(max-width:700px){.ttl-img{width:94vw}.cta .btn{flex:1 1 100%;text-align:center}.ticket{margin:20px auto 6px!important}.bulbs{height:12px;background-size:24px 12px}}
@media(prefers-reduced-motion:reduce){.bulbs{animation:none}}




/* ===== responsive alignment pass: one centred column at every width ===== */
.hero{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100svh - 66px);padding:clamp(28px,5vw,56px) 20px clamp(44px,6vw,72px);overflow:visible}
.hero>.eyebrow,.hero>.ttl,.hero>.bulbs,.hero>.cd,.hero>.cta{width:100%;max-width:none;margin-inline:auto}
.hero>.eyebrow{position:relative;z-index:3}
.hero>.ttl{justify-content:center;margin-top:clamp(6px,1.5vw,14px)}
.hero>.bulbs{width:min(86vw,880px);max-width:880px}
.hero>.ticket{grid-column:auto;justify-self:auto;align-self:center;width:max-content;max-width:calc(100% - 24px);margin:clamp(22px,3vw,38px) auto 0!important;padding:clamp(12px,1.6vw,16px) clamp(30px,4vw,46px)}
.hero>.ticket b{font-size:clamp(28px,4.4vw,52px)}
.hero>.cd{display:flex;justify-content:center;width:100%;margin-top:clamp(24px,3.2vw,36px)}
.hero>.cta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin-top:clamp(22px,3vw,34px)}
.cta .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center!important}
.hero .tvh{width:min(26vw,360px)!important;right:-1%!important;top:3%!important;--o:.22!important}
.hero .halftone{opacity:.18}
.hero .rec-h{right:3%!important;left:auto!important;bottom:4%!important}
.hero .spin.lg{left:7%!important;right:auto!important;bottom:5%!important;width:110px!important}
.hero .fl.lg{left:1.5%!important;bottom:24%!important}
.hero .pul:not(.mh){left:17%!important;top:14%!important}
@media(max-width:1100px){.hero .tvh{width:min(30vw,300px)!important;top:2%!important}.hero .rec-h{width:130px!important}}
@media(max-width:819px){.hero{min-height:auto;padding-top:34px}}
@media(max-width:700px){
 .hero{padding-inline:16px}
 .hero>.cta{flex-direction:column;align-items:stretch;width:100%;max-width:420px}
 .hero>.cta .btn{width:100%;flex:none}
 .hero>.cd{width:100%}.hero>.cd .cdbox{width:min(100%,420px)!important}
}

/* ===== marquee bulbs, ticket + timer sizing ===== */
.hero>.bulbs{display:flex!important;align-items:center;justify-content:space-between;height:auto!important;width:min(80vw,760px)!important;max-width:760px;margin:clamp(4px,.8vw,12px) auto 0!important;padding:0;background:none!important;animation:none!important;position:relative;z-index:2}
.bulbs:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;translate:0 -50%;background:linear-gradient(90deg,transparent,rgba(255,201,51,.28) 12% 88%,transparent)}
.bulbs i{position:relative;flex:none;width:clamp(6px,.75vw,10px);aspect-ratio:1;border-radius:50%;background:#ffe58a;box-shadow:0 0 0 2px rgba(42,8,19,.9),0 0 10px 2px rgba(255,201,51,.65);animation:chase 1.4s steps(1,end) infinite}
.bulbs i:nth-child(odd){animation-delay:-.7s}
@keyframes chase{0%{opacity:1}50%{opacity:.28;box-shadow:0 0 0 2px rgba(42,8,19,.9)}}
@media(prefers-reduced-motion:reduce){.bulbs i{animation:none!important}}
.hero>.ticket{padding:clamp(8px,1vw,12px) clamp(24px,3vw,36px);margin-top:clamp(18px,2.4vw,28px)!important}
.hero>.ticket small{font-size:clamp(9px,.9vw,11px)}
.hero>.ticket b{font-size:clamp(20px,2.7vw,36px)}
.hero>.cd .cdbox{width:min(86%,500px)!important;padding-inline:clamp(10px,1.5vw,20px)}
.hero>.cd .cu{min-width:clamp(44px,4vw,60px)}.hero>.cd .cu b{font-size:clamp(26px,3.4vw,40px)}.hero>.cd .cc{font-size:clamp(22px,3vw,34px)}
@media(max-width:700px){
 .hero>.bulbs{width:min(78vw,340px)!important}
 .hero>.ticket{padding:8px 24px;margin-top:18px!important}
 .hero>.ticket b{font-size:clamp(17px,5vw,22px)}
 .hero>.ticket small{font-size:9px;letter-spacing:.24em}
 .hero>.cd .cdbox{width:min(76vw,320px)!important}
 .hero>.cd .cu b{font-size:clamp(18px,5.6vw,24px)}
 .hero>.cta{max-width:min(76vw,320px)}
 .hero>.cta .btn{padding:12px 14px;font-size:12px}
}

/* ===== small screens: same decoration set as large screens, scaled ===== */
@media(max-width:819px){
 .hero .mh{display:none!important}
 .hero .tvh,.hero .lg,.hero .rec-h,.hero .pul:not(.mh){display:block!important}
 .hero{padding-bottom:clamp(120px,30vw,170px)}
 .hero .tvh{width:36vw!important;right:-7%!important;top:1%!important;--o:.22!important}
 .hero .fl.lg{width:clamp(44px,12.5vw,84px)!important;left:1.5%!important;top:auto!important;bottom:auto!important}
 .hero .spin.lg{width:clamp(56px,15vw,100px)!important;left:5%!important;right:auto!important;bottom:3%!important;top:auto!important}
 .hero .rec-h{width:clamp(78px,22vw,140px)!important;right:4%!important;left:auto!important;bottom:3%!important;top:auto!important}
 .hero .pul:not(.mh){width:clamp(16px,4.5vw,30px)!important}
}
.hero>svg.pul:not(.mh):nth-of-type(4){left:auto!important;right:9%!important;top:44%!important;bottom:auto!important}
@media(max-width:819px){
 .hero>svg.pul:not(.mh):nth-of-type(3){left:6%!important;top:9%!important}
 .hero>svg.pul:not(.mh):nth-of-type(4){right:5%!important;top:41%!important}
}
@media(max-width:700px){
 .hero .fl.lg{left:4%!important;bottom:3%!important;top:auto!important;width:clamp(40px,11vw,60px)!important}
 .hero .spin.lg{left:36%!important;bottom:4%!important}
}

/* ===== floating clapperboard CTA ===== */
.hero>.cta{max-width:none!important;width:100%;margin-top:clamp(26px,3.4vw,40px)}
.fly{position:relative;display:block;width:min(78vw,300px);padding-bottom:26px;animation:fly 3.4s ease-in-out infinite alternate;transform-origin:50% 100%;-webkit-tap-highlight-color:transparent}
.fly .clap{display:block;height:20px;margin:0 0 -2px;border:3px solid #2a0813;border-bottom:0;background:repeating-linear-gradient(115deg,#2a0813 0 14px,#fde3c1 14px 28px);transform-origin:0 100%;rotate:-9deg;transition:rotate .18s cubic-bezier(.6,-.4,.4,1.6)}
.fly .board{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 18px;border:3px solid #2a0813;background:#ffc933;color:#2a0813;font:400 clamp(16px,2.2vw,20px)/1 var(--d);letter-spacing:.06em;text-transform:uppercase;text-align:center;box-shadow:6px 6px 0 #b3141c}
.fly .fshadow{position:absolute;left:12%;right:12%;bottom:0;height:12px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);animation:fsh 3.4s ease-in-out infinite alternate}
.fly:hover .clap,.fly:focus-visible .clap{rotate:0deg}
.fly:hover .board,.fly:focus-visible .board{background:#fff1bf}
.fly:focus-visible{outline:3px solid var(--ac);outline-offset:6px}
.fly:active{scale:.97}
@keyframes fly{0%{transform:translateY(0) rotate(-3deg)}100%{transform:translateY(-14px) rotate(2.5deg)}}
@keyframes fsh{0%{transform:scale(1);opacity:.9}100%{transform:scale(.7);opacity:.5}}
@media(prefers-reduced-motion:reduce){.fly,.fly .fshadow{animation:none!important}}
@media(max-width:700px){.hero>.cta{max-width:none!important}.fly{width:min(72vw,270px)}.fly .board{min-height:48px;font-size:16px}}
.hero>.cta{margin-top:clamp(44px,5vw,60px)}
.fly .clap{background:repeating-linear-gradient(115deg,#b3141c 0 14px,#fde3c1 14px 28px);border-color:#fde3c1}
.fly .board{border-color:#fde3c1}
@media(max-width:700px){.hero>.cta{margin-top:46px}}
.hero>.cta{margin-top:clamp(52px,5.5vw,64px)}@media(max-width:700px){.hero>.cta{margin-top:58px}}

/* ===== butterfly CTA (replaces clapperboard) ===== */
.fly{display:none}
.hero>.cta{margin-top:clamp(22px,3vw,34px)}
.bfly{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;max-width:100%;animation:drift 7s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.bsvg{display:block;width:clamp(124px,12vw,170px);height:auto;overflow:visible;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}
.wing{transform-box:view-box;transform-origin:100px 70px;animation:flap .55s ease-in-out infinite alternate}
.blbl{display:inline-block;padding:11px 22px;background:#ffc933;color:#2a0813;border:2.5px solid #fde3c1;border-radius:999px;font:400 clamp(14px,1.6vw,17px)/1 var(--d);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:4px 4px 0 #b3141c;transition:background .2s,scale .2s}
.bfly:hover .wing,.bfly:focus-visible .wing{animation-duration:.18s}
.bfly:hover .blbl,.bfly:focus-visible .blbl{background:#fff1bf;scale:1.05}
.bfly:focus-visible{outline:3px solid var(--ac);outline-offset:8px;border-radius:24px}
.bfly:active{scale:.96}
@keyframes flap{from{transform:scaleX(1)}to{transform:scaleX(.28)}}
@keyframes drift{0%,100%{transform:translate(-26px,2px) rotate(-5deg)}25%{transform:translate(0,-16px) rotate(2deg)}50%{transform:translate(26px,0) rotate(5deg)}75%{transform:translate(0,-12px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.bfly,.wing{animation:none!important}}
@media(max-width:700px){.hero>.cta{margin-top:26px}.bsvg{width:clamp(110px,32vw,140px)}.bfly{animation-name:drift-s}.blbl{padding:10px 18px;font-size:14px}}
@keyframes drift-s{0%,100%{transform:translate(-14px,2px) rotate(-5deg)}25%{transform:translate(0,-12px) rotate(2deg)}50%{transform:translate(14px,0) rotate(5deg)}75%{transform:translate(0,-9px) rotate(-2deg)}}

/* ===== small screens: mic / cassette / recorder sit beside the date ticket and countdown ===== */
@media(max-width:819px){
 .hero{--P:60px;--tc:calc(var(--P) + 135px);--cc:calc(var(--P) + 40px);--mw:clamp(48px,7vw,58px);--rw:clamp(96px,13vw,108px);--cw:clamp(66px,10vw,84px);--md:14px;--rd:4px;--kd:30px;padding-bottom:var(--P)!important}
 .hero .fl.lg{width:var(--mw)!important;left:3%!important;right:auto!important;top:auto!important;bottom:calc(var(--tc) - var(--mw)*.94 - var(--md))!important}
 .hero .rec-h{width:var(--rw)!important;right:3%!important;left:auto!important;top:auto!important;bottom:calc(var(--tc) - var(--rw)*.37 - var(--rd))!important}
 .hero .spin.lg{width:var(--cw)!important;left:2%!important;right:auto!important;top:auto!important;bottom:calc(var(--cc) - var(--cw)*.33 - var(--kd))!important}
 .hero>svg.pul:not(.mh):nth-of-type(3){left:auto!important;right:8%!important;top:auto!important;bottom:calc(var(--cc) - 8px)!important}
 .hero>svg.pul:not(.mh):nth-of-type(4){display:none!important}
}
@media(max-width:700px){
 .hero{--P:52px;--tc:calc(var(--P) + 121px);--cc:calc(var(--P) + 34px);--mw:clamp(34px,11vw,50px);--rw:clamp(64px,19vw,100px);--cw:clamp(46px,12.5vw,70px);--md:0px;--rd:0px;--kd:4px}
 .hero>.cd{display:flex;justify-content:center}
 .hero>.cd .cdbox{container-type:inline-size;display:grid!important;grid-template-columns:repeat(4,1fr);width:min(calc(100vw - 150px),280px)!important;max-width:none!important;margin-inline:auto;gap:0!important;padding:14px 6px 10px!important}
 .hero>.cd .cc{display:none!important}
 .hero>.cd .cu{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0!important;flex:none}
 .hero>.cd .cu b{font-size:9.6cqw!important;line-height:1!important;letter-spacing:0}
 .hero>.cd .cu:not(:last-of-type):after{content:":";position:absolute;right:0;top:0;translate:50% 0;font:400 9.6cqw/1 var(--d);color:var(--ac);opacity:.7}
 .hero>.cd .cu small{font-size:3.7cqw!important;letter-spacing:.05em!important;margin-top:7px!important;white-space:nowrap}
}
@media(min-width:500px) and (max-width:700px){.hero{--md:-8px}}

/* ===== enhanced stage lighting: crossing spotlight beams, glowing chase bulbs, title bloom ===== */
.hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:
  conic-gradient(from 146deg at 14% -6%,rgba(255,226,150,0) 0deg,rgba(255,226,150,.26) 4deg,rgba(255,226,150,.20) 20deg,rgba(255,226,150,0) 25deg,transparent 25deg),
  conic-gradient(from 189deg at 86% -6%,rgba(255,226,150,0) 0deg,rgba(255,226,150,.20) 5deg,rgba(255,226,150,.26) 21deg,rgba(255,226,150,0) 25deg,transparent 25deg);
 -webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 45%,transparent 82%);mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 45%,transparent 82%);
 mix-blend-mode:screen;animation:beams 7s ease-in-out infinite alternate}
@keyframes beams{from{opacity:.55}to{opacity:1}}
.spot{background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,214,110,.32),rgba(224,57,43,.14) 45%,transparent 72%);animation:breathe 5s ease-in-out infinite alternate}
@keyframes breathe{from{opacity:.65}to{opacity:1}}
.ttl:before{content:"";position:absolute;inset:-6% 2% -10%;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,rgba(255,201,51,.30),rgba(255,120,40,.12) 45%,transparent 70%);animation:breathe 4s ease-in-out infinite alternate}
.bulbs:after{content:"";position:absolute;left:4%;right:4%;top:50%;height:46px;translate:0 -50%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,190,60,.34),transparent 72%)}
.bulbs i{background:#ffe9a0;animation:chase3 1.2s steps(1,end) infinite!important}
.bulbs i:nth-child(3n+1){animation-delay:0s!important}
.bulbs i:nth-child(3n+2){animation-delay:-.4s!important}
.bulbs i:nth-child(3n){animation-delay:-.8s!important}
@keyframes chase3{
 0%{background:#fff3c4;box-shadow:0 0 0 2px rgba(42,8,19,.9),0 0 8px 3px #ffd43b,0 0 20px 7px rgba(255,150,30,.65)}
 33.4%,100%{background:#8a6a35;box-shadow:0 0 0 2px rgba(42,8,19,.9),0 0 3px 0 rgba(255,201,51,.2)}}
@media(prefers-reduced-motion:reduce){.hero:before,.spot,.ttl:before{animation:none}.bulbs i{animation:none!important;background:#ffe9a0;box-shadow:0 0 0 2px rgba(42,8,19,.9),0 0 10px 3px #ffd43b}}

/* ===== shiny QUBIT '26 title: soft gloss + periodic light sweep, masked to the logo shape ===== */
.ttl-shine{--tm:url("qubit-title.png");position:relative;display:block;width:fit-content;max-width:100%}
.ttl-shine:after{content:"";position:absolute;inset:0;pointer-events:none;
 -webkit-mask:var(--tm) center/100% 100% no-repeat;mask:var(--tm) center/100% 100% no-repeat;
 background:
  linear-gradient(105deg,transparent 42%,rgba(255,255,255,.9) 50%,transparent 58%) 160% 0/260% 100% no-repeat,
  linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,0) 45%);
 mix-blend-mode:soft-light;animation:shine 5.5s ease-in-out infinite}
@keyframes shine{0%{background-position:160% 0,0 0}35%,100%{background-position:-60% 0,0 0}}
@media(prefers-reduced-motion:reduce){.ttl-shine:after{animation:none;background-position:-60% 0,0 0}}

/* ===== QUBIT '26 title: clearer, sharper, shinier ===== */
.ttl-img{filter:contrast(1.06) saturate(1.1) brightness(1.03) drop-shadow(0 0 .7px rgba(40,0,8,.95)) drop-shadow(0 2px 0 rgba(0,0,0,.45)) drop-shadow(0 10px 28px rgba(224,57,43,.38));image-rendering:-webkit-optimize-contrast}
.ttl-shine:after{
 background:
  linear-gradient(105deg,transparent 40%,rgba(255,255,255,.75) 50%,transparent 60%) 160% 0/260% 100% no-repeat,
  linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%);
 mix-blend-mode:screen;animation:shine 4.8s ease-in-out infinite}

/* ===== headings + loader echo the QUBIT title: gold fill, red 3D edge, soft shine (hero title untouched) ===== */
html body :is(#about,#events,#gallery,#faculty,#coordinators,#contact,.lp,.dtl) h2:not(.hc *){
 filter:drop-shadow(.022em .022em 0 #b3141c) drop-shadow(.022em .022em 0 #b3141c) drop-shadow(.02em .02em 0 #8f0f18) drop-shadow(0 0 .35em rgba(255,201,51,.22))}
html body :is(#about,#events,#gallery,#faculty,#coordinators,#contact,.lp,.dtl) :is(h2.mk>span,h2:not(.mk)):not(.hc *),
html body #events .cat.tech h3,
.hero>.eyebrow{
 background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.95) 50%,transparent 60%) 150% 0/250% 100% no-repeat,linear-gradient(180deg,#fff6d4 0,#ffe45c 42%,#ffc933 64%,#ff9f1c 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hshine 6.5s ease-in-out infinite}
html body :is(#about,#events,#gallery,#faculty,#coordinators,#contact,.lp,.dtl) h2.mk>span{display:inline-block;max-width:100%}
html body #events .cat.tech h3{filter:drop-shadow(.035em .035em 0 #b3141c) drop-shadow(.03em .03em 0 #8f0f18)}
.hero>.eyebrow{filter:drop-shadow(.04em .04em 0 rgba(179,20,28,.85))}
.hero>.eyebrow em{-webkit-text-fill-color:var(--ink);color:var(--ink);background:none;animation:none}
@keyframes hshine{0%{background-position:150% 0,0 0}38%,100%{background-position:-50% 0,0 0}}
/* loader */
#boot pre{text-shadow:none;filter:drop-shadow(.03em .03em 0 #b3141c) drop-shadow(.03em .03em 0 #b3141c) drop-shadow(.025em .025em 0 #8f0f18) drop-shadow(0 0 .3em rgba(255,201,51,.3))}
#boot pre,#boot pre sup{background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.95) 50%,transparent 60%) 150% 0/250% 100% no-repeat,linear-gradient(180deg,#fff6d4 0,#ffe45c 42%,#ffc933 64%,#ff9f1c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hshine 3s ease-in-out infinite}
#boot pre sup{text-shadow:none}
@media(prefers-reduced-motion:reduce){html body :is(#about,#events,#gallery,#faculty,#coordinators,#contact,.lp,.dtl) h2.mk>span,.hero>.eyebrow,#boot pre,#boot pre sup,html body #events .cat.tech h3{animation:none!important}}

/* cream card: crimson version of the same shine so it stays readable */
html body #events .cat.non h3{
 background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.9) 50%,transparent 60%) 150% 0/250% 100% no-repeat,linear-gradient(180deg,#f0503f 0,#c3202a 50%,#8f0f18 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hshine 6.5s ease-in-out infinite;
 filter:drop-shadow(.04em .04em 0 rgba(255,201,51,.95))}
@media(prefers-reduced-motion:reduce){html body #events .cat.non h3{animation:none!important}}


/* ===== archive + faculty photos are display-only (no links, no hover zoom) ===== */
.tile,.av{pointer-events:none;cursor:default}
.tile img,.av img{-webkit-user-drag:none;user-select:none}
.person:hover .av img,.tile:hover img{transform:none}
.tile:hover{transform:rotate(-2deg)}.tile:nth-child(even):hover{transform:rotate(1.6deg) translateY(10px)}

/* ===== event details & coordinator fields ===== */
.dtl .sec{display:flex;flex-direction:column;align-items:center;gap:18px}
.event-desc{max-width:54ch;margin:0 0 4px;color:var(--mut);font:400 clamp(15px,1.35vw,17px)/1.6 var(--b);text-align:center}
.coord-fields{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:560px}
.coord-field{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:rgba(253,227,193,.06);border:1px solid var(--line);position:relative;font-family:var(--b);font-size:clamp(13px,1.3vw,15px);color:var(--ink);letter-spacing:.02em}
.coord-field:before,.coord-field:after{content:"";position:absolute;width:6px;height:6px;background:var(--ac)}
.coord-field:before{left:-3px;top:-3px}
.coord-field:after{right:-3px;bottom:-3px}
.coord-lbl{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--mut)}
.coord-val{font-weight:700;color:var(--ink);letter-spacing:.03em;font-variant-numeric:tabular-nums}
.coord-val a.cp-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.coord-val a.cp-link:hover{color:var(--ac)}
@media(max-width:700px){
  .dtl .sec{gap:16px}
  .coord-fields{flex-direction:column;align-items:stretch}
  .coord-field{width:100%;box-sizing:border-box;justify-content:space-between;padding:10px 14px}
  .dtl .sec .reg{align-self:stretch;width:100%}
}
