@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700;800;900&display=swap');

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:#0c0a1a;color:#faf9ff;font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 12% 5%,rgba(118,87,255,.23),transparent 34%),radial-gradient(circle at 92% 36%,rgba(73,186,255,.15),transparent 29%),#0c0a1a}
.noise{position:fixed;inset:0;z-index:-1;opacity:.2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}

.nav{height:86px;border-bottom:1px solid rgba(196,188,255,.17);width:100%}
.nav-inner{width:100%;margin:auto;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 40px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:700 20px 'Space Grotesk'}
.brand img{width:57px;height:57px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;transform:rotate(-8deg)}
.brand small{display:block;color:#c0b8d8;font:500 12px Manrope}
.navlinks{display:flex;gap:27px;align-items:center}
.navlinks a{color:#c0b8d8;font-size:13px;text-decoration:none}
.navlinks a:hover{color:#fff}
.navlinks .navbtn{color:#090716;background:#7657ff;border-radius:3px;padding:11px 17px;font-weight:800;transform:rotate(-1deg);box-shadow:4px 4px 0 #fff}

.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.hamburger span{display:block;width:22px;height:2px;background:#c0b8d8;border-radius:2px;transition:.3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.sponsors-bar{width:100%;height:72px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(196,188,255,.17);border-top:1px solid rgba(196,188,255,.17);display:flex;align-items:center;padding:0 40px;gap:28px}
.sponsors-title{color:#6b6090;font:700 14px 'Courier New',monospace;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.sponsors-track{display:flex;gap:24px;align-items:center;flex:1;justify-content:space-evenly}
.sponsor-slot{display:flex;align-items:center;justify-content:center;width:165px;height:56px;border:1.5px dashed rgba(196,188,255,.2);border-radius:3px;color:#4a4560;font:600 11px 'Courier New',monospace;letter-spacing:.1em}
.sponsor-slot img{border:none;border-radius:0;filter:none;transform:none}
.sponsor-slot:has(img){border:none;background:transparent}

.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;padding:55px 0 105px;position:relative}
.hero:after{content:"DESIGN / CODE / CREATE";position:absolute;left:-45px;bottom:36px;transform:rotate(-90deg);transform-origin:left top;color:#6b6090;font:700 9px 'Courier New',monospace;letter-spacing:.24em;pointer-events:none}
.badge{display:inline-flex;align-items:center;gap:9px;background:#7657ff;color:#fff;padding:8px 13px;border-radius:2px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;transform:rotate(-1deg)}
.badge i{width:7px;height:7px;border-radius:50%;background:#fff}
h1{font:700 clamp(58px,8vw,108px)/.88 'Space Grotesk';letter-spacing:-.07em;margin:26px 0;text-transform:uppercase;text-shadow:4px 4px 0 rgba(255,255,255,.06);position:relative}
h1:after{content:"01";position:absolute;right:8%;top:-10px;font:700 11px 'Courier New',monospace;letter-spacing:.2em;color:#8b80a8;text-shadow:none;pointer-events:none}
.accent{color:#a78bfa}
.lede{max-width:630px;color:#c0b8d8;font-size:18px;line-height:1.7}
.actions{display:flex;gap:13px;margin-top:32px}
.btn{border:0;border-radius:3px;padding:15px 21px;text-decoration:none;font:800 14px Manrope;cursor:pointer;display:inline-flex;justify-content:center;transition:.2s}
.primary{color:#090716;background:#7657ff;box-shadow:6px 6px 0 #e8e3ff}
.primary:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 #e8e3ff}
.ghost{color:#090716;border:0;background:#9d7bff;box-shadow:6px 6px 0 #e8e3ff;border-radius:3px}
.ghost:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 #e8e3ff}

.poster{position:relative;aspect-ratio:.84;border-radius:3px;padding:34px;color:#090716;transform:rotate(2.4deg);border:1px solid #7657ff;box-shadow:16px 16px 0 #e7e4ff,17px 17px 0 #090716;background:linear-gradient(155deg,#8267ff 0 43%,#477cff 43% 72%,#4ac5ff 72% 100%);overflow:hidden}
.poster:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.5);pointer-events:none}
.poster:before{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(255,255,255,.14);border-radius:50%;right:-125px;bottom:-95px}
.poster .top{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.13em;font-family:'Courier New',monospace}
.poster strong{display:block;position:absolute;left:32px;bottom:50px;z-index:1;font:700 clamp(42px,5vw,66px)/.9 'Space Grotesk';letter-spacing:-.06em;text-transform:uppercase}
.poster strong span{display:block;color:#dff6ff}
.float{position:absolute;right:9px;top:44%;background:#fff;color:#17102e;border-radius:2px;padding:12px 16px;font-size:12px;font-weight:800;transform:rotate(-4deg);border:1px solid #17102e;box-shadow:6px 6px 0 #17102e}

.grand-prize-section{position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(122,92,255,.15),transparent 40%),linear-gradient(135deg,#090915,#0d1025,#090915);border:1px solid rgba(255,255,255,.08);border-radius:27px;padding:51px;margin:51px 14% 0;backdrop-filter:blur(20px)}
.grand-glow{position:absolute;width:425px;height:425px;background:#7c5cff;filter:blur(150px);opacity:.18;top:-170px;right:-85px}
.grand-content{display:flex;align-items:center;justify-content:space-between;gap:51px;position:relative;z-index:2}
.grand-left{flex:1}
.grand-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid rgba(124,92,255,.4);border-radius:999px;background:rgba(124,92,255,.15);color:#bca8ff;font-size:.68rem;font-weight:700;letter-spacing:1px}
.grand-title{font-size:3.4rem;line-height:.95;margin:21px 0 13px;font-weight:900;color:white}
.grand-title span{display:block;background:linear-gradient(90deg,#9d7bff,#59c7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.grand-subtitle{color:rgba(255,255,255,.7);font-size:.94rem;max-width:425px;margin-bottom:30px}
.grand-items{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}
.grand-item{padding:10px 14px;color:white;font-weight:600;transition:.3s;list-style:none;background:rgba(124,92,255,.08);border:1px solid rgba(124,92,255,.2);border-radius:8px}
.grand-item:hover{color:#bca8ff;background:rgba(124,92,255,.15);border-color:rgba(124,92,255,.4)}
.extra-card{flex:1;padding:7px 0;color:white;font-weight:600;font-size:13px;position:relative;padding-left:17px}
.extra-card::before{content:"•";position:absolute;left:0;color:#7c5cff;font-size:1rem;font-weight:900}
.extra-card span{display:block;margin-top:2px;color:rgba(255,255,255,.6);font-weight:500;font-size:.77rem}
.grand-bottom{display:flex;gap:34px;margin-top:30px}
.grand-right{flex:1;display:flex;justify-content:center}
.grand-img{width:100%;max-width:672px;border-radius:20px;filter:drop-shadow(0 0 34px rgba(124,92,255,.5));transition:.4s}
.grand-img:hover{transform:scale(1.04) rotate(-2deg)}

.factsbar{border-block:1px solid rgba(196,188,255,.17);background:rgba(255,255,255,.025)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);width:100%;padding:0 40px;box-sizing:border-box}
.fact{padding:26px 21px;border-right:1px solid rgba(196,188,255,.17);position:relative}
.fact:before{content:"✦";position:absolute;top:11px;right:13px;color:#6b6090;font-size:9px;pointer-events:none}
.fact:last-child{border:0}
.fact span{display:block;color:#49baff;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;font-family:'Courier New',monospace}
.fact b{font:600 17px 'Space Grotesk'}

.ticker{overflow:hidden;border-bottom:1px solid rgba(196,188,255,.17);background:#7657ff;color:#090716;white-space:nowrap}
.ticker-track{display:inline-block;padding:12px 0;font:800 11px 'Courier New',monospace;letter-spacing:.16em;animation:ticker 24s linear infinite}
.ticker-track span{padding-right:34px}
@keyframes ticker{to{transform:translateX(-50%)}}

section{padding:100px 0}
.tag{color:#a78bfa;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-family:'Courier New',monospace}
.title{font:700 clamp(40px,5.5vw,68px)/.98 'Space Grotesk';letter-spacing:-.06em;margin:14px 0 20px;max-width:760px}
.aboutgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;position:relative}
.aboutgrid:before{content:"02";position:absolute;left:-58px;top:2px;color:#6b6090;font:700 12px 'Courier New',monospace;pointer-events:none}
.copy{color:#c0b8d8;font-size:17px;line-height:1.8}
.why-checks{margin-top:14px}
.why-check{display:flex;align-items:center;gap:8px;color:#c0b8d8;font-size:13px;line-height:1.5}
.why-check span{color:#a78bfa;font-weight:700}
.features{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feature{position:relative;padding:28px 24px;border:1px solid rgba(196,188,255,.17);border-radius:12px;background:linear-gradient(160deg,rgba(118,87,255,.08),rgba(255,255,255,.02));transition:.3s;overflow:hidden}
.feature::before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:linear-gradient(180deg,#7657ff,#a78bfa);border-radius:0 0 3px 3px;transition:height .4s ease}
.feature:hover::before{height:100%}
.feature:hover{transform:translate(-4px,-4px);box-shadow:7px 7px 0 #dcd5ff;border-color:#7657ff;background:linear-gradient(160deg,rgba(118,87,255,.15),rgba(255,255,255,.04))}
.feature:hover p{color:#e3dfff}
.feature:hover .feature-tag{color:#fff;border-color:rgba(255,255,255,.3)}
.feature .icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgba(118,87,255,.12);color:var(--purple);transition:.3s}
.feature:hover .icon{background:rgba(255,255,255,.15);color:#fff;transform:rotate(8deg)}
.feature h3{font:700 16px 'Space Grotesk';margin:18px 0 8px;color:#fff}
.feature p{margin:0;color:#c0b8d8;font-size:12px;line-height:1.6}
.feature-tag{display:inline-block;margin-top:14px;padding:5px 14px;border:1px solid rgba(196,188,255,.17);border-radius:20px;font-size:10px;font-weight:800;color:#a78bfa;letter-spacing:.04em;transition:.22s}


.light{background:#f4f2ff;color:#17102e;background-color:#f4f2ff;background-image:radial-gradient(#c7c0e8 .75px,transparent .75px);background-size:9px 9px}
.light .tag{color:#5b21b6}
.light .integrity-card{background:#fff;border-color:#d2ccee}
.light .integrity-card h4{color:#17102e}
.light .req-list li::before{background:#000}
.light .req-list li{color:#17102e}
.light .req-list li::before{background:#7657ff}
.light .req-note{color:#4a4562}
.light .req-note strong{color:#5b21b6}
.light .conduct-item{background:#fff;border-color:#d2ccee;color:#17102e}
.light .conduct-icon{color:#5b21b6}
.light .req-warning{background:rgba(91,33,182,.08);border-color:rgba(91,33,182,.2);color:#5b21b6}
.prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.prizes-4{grid-template-columns:repeat(4,1fr)}
.prize{padding:28px;border:1px solid #251c48;border-radius:3px;background:#fff;box-shadow:7px 7px 0 #d2ccee}
.prize:nth-child(2){transform:translateY(18px)}
.prize:nth-child(3){transform:translateY(36px)}
.prize:nth-child(4){transform:translateY(54px)}
.prize-purple{background:#8a70ff;color:#fff}
.prize-purple .n{color:#17102e}
.prize .n{color:#5b21b6;font-size:11px;font-weight:800;font-family:'Courier New',monospace}
.prize h3{font:600 22px 'Space Grotesk';margin:52px 0 7px}
.prize p{color:#69746e;font-size:13px}
.prize-purple h3{color:#000}
.prize-purple p{color:#000}
.prize-includes{display:block;margin-top:12px;color:#a78bfa;font-size:11px;font-weight:700}
.prize-purple .prize-includes{color:#000}

.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.test-item{padding:24px;border:1px solid rgba(196,188,255,.17);border-radius:8px;background:rgba(255,255,255,.03);transition:.22s}
.test-item:hover{border-color:#7657ff;background:rgba(118,87,255,.06)}
.test-num{font:800 11px 'Courier New',monospace;color:#7657ff;letter-spacing:.06em}
.test-item h4{font:700 14px 'Space Grotesk';margin:10px 0 6px;color:#fff}
.test-item p{margin:0;color:#c0b8d8;font-size:12px;line-height:1.5}
.req-warning{margin-top:20px;padding:14px 18px;border:1px dashed rgba(167,139,250,.3);border-radius:6px;background:rgba(118,87,255,.06);color:#a78bfa;font-size:12px;font-weight:600;line-height:1.5}

.integrity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:38px}
.integrity-card{padding:28px;border:1px solid #251c48;border-radius:3px;background:#fff;box-shadow:7px 7px 0 #d2ccee}
.integrity-card h4{font:700 14px 'Space Grotesk';margin:0 0 12px;color:#17102e}
.req-list{list-style:none;padding:0;margin:0}
.req-list li{position:relative;padding:7px 0 7px 20px;color:#4a4562;font-size:13px;line-height:1.5}
.req-list li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:#000}
.req-note{margin-top:20px;color:#4a4562;font-size:13px;line-height:1.6}
.req-note strong{color:#5b21b6}

.conduct-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.conduct-item{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid rgba(196,188,255,.17);border-radius:8px;background:rgba(255,255,255,.04);color:#c0b8d8;font-size:13px;line-height:1.5}
.conduct-icon{display:inline-flex;flex-shrink:0;color:#7657ff;margin-top:1px}
.kit{display:flex;gap:17px;align-items:center;margin-top:60px;padding:22px 27px;background:#17112e;color:#fff;border-radius:3px;position:relative}
.kit:after{content:"MAKER KIT";position:absolute;right:18px;top:-11px;background:#4ac5ff;color:#090716;padding:5px 9px;font:800 9px 'Courier New',monospace;transform:rotate(2deg)}
.kit .gift{font-size:32px}
.kit span{display:block;color:#c0b8d8;font-size:13px;margin-top:4px}

.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.criteria-card{padding:24px;border:1px solid rgba(196,188,255,.17);border-radius:3px;background:rgba(255,255,255,.04);text-align:center;backdrop-filter:blur(18px)}
.criteria-marks{font:800 36px 'Space Grotesk';color:#7657ff;line-height:1}
.criteria-name{color:#c0b8d8;font-size:13px;font-weight:600;margin-top:8px}

.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.time-card{padding:32px;border:1px solid #251c48;border-radius:3px;background:#fff;text-align:center}
.time-num{font:900 56px 'Space Grotesk';color:#5b21b6;line-height:1}
.time-unit{font:600 14px 'Space Grotesk';color:#17102e;margin-top:4px}
.time-label{color:#69746e;font-size:13px;margin-top:8px}
.time-card.featured{background:#8a70ff;color:#fff;transform:translateY(-8px)}
.time-card.featured .time-num{color:#17102e}
.time-card.featured .time-unit{color:#17102e}
.time-card.featured .time-label{color:#17102e}

.tracks-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}
.track-card{position:relative;overflow:hidden;padding:36px 32px;border:1px solid rgba(196,188,255,.17);border-radius:12px;background:linear-gradient(140deg,rgba(255,255,255,.07),rgba(255,255,255,.02));transition:.22s}
.track-card::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:#7657ff;filter:blur(80px);opacity:0;top:-40px;right:-40px;transition:.4s;pointer-events:none}
.track-card:hover::after{opacity:.2}
.track-card:hover{transform:translate(-4px,-4px);box-shadow:7px 7px 0 #dcd5ff;border-color:#7657ff}
.track-card:hover h3{color:#fff}
.track-label{display:inline-block;padding:4px 12px;border-radius:3px;background:rgba(118,87,255,.2);color:#a78bfa;font:800 11px 'Courier New',monospace;letter-spacing:.12em;margin-bottom:14px}
.track-card h3{font:700 22px 'Space Grotesk';margin:0 0 12px;color:#fff}
.track-desc{color:#c0b8d8;font-size:13px;line-height:1.6;margin:0 0 18px}
.track-list{list-style:none;padding:0;margin:0 0 18px}
.track-list li{position:relative;padding:6px 0 6px 18px;color:#c0b8d8;font-size:13px;line-height:1.5}
.track-list li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border-radius:50%;background:#7657ff}
.track-examples{color:#aca9c2;font-size:12px;line-height:1.6;margin:0;padding:12px 16px;border:1px dashed rgba(196,188,255,.17);border-radius:6px;background:rgba(255,255,255,.03)}
.track-examples strong{color:#a78bfa}
.track-theme{margin-top:28px;padding:20px 24px;border:1px solid rgba(196,188,255,.17);border-radius:3px;background:rgba(255,255,255,.04);color:#c0b8d8;font-size:13px;line-height:1.6}
.track-theme-label{display:inline-block;padding:3px 10px;border-radius:3px;background:#7657ff;color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-right:8px}
.track-theme strong{color:#fff}
.section-divider{border:none;border-top:1px solid rgba(196,188,255,.17);margin:0}

#register{position:relative}
#register:before{content:"APPLICATION / 03";position:absolute;right:3vw;top:66px;color:#6b6090;font:700 9px 'Courier New',monospace;letter-spacing:.2em;writing-mode:vertical-rl;pointer-events:none}
.reggrid{display:grid;grid-template-columns:.68fr 1.32fr;gap:48px;align-items:start}
.regcopy{position:sticky;top:30px}
.tick{display:flex;gap:11px;margin:20px 0;color:#c0b8d8;font-size:13px}
.tick b{color:#a78bfa}
.contact-wrapper{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top left,rgba(122,92,255,.15),transparent 40%),linear-gradient(135deg,#090915,#0d1025,#090915);backdrop-filter:blur(20px);padding:28px 24px;margin-top:20px}
.contact-wrapper::before{content:"";position:absolute;width:200px;height:200px;background:#7c5cff;filter:blur(100px);opacity:.15;top:-60px;right:-60px;pointer-events:none}
.contact-header h3{font:700 18px 'Space Grotesk';margin:0 0 4px;color:#fff;position:relative;z-index:1}
.contact-header p{color:rgba(255,255,255,.6);font-size:13px;margin:0 0 18px;line-height:1.5;position:relative;z-index:1}
.contact-card{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}
.contact-card:last-child{border-bottom:none}
.contact-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font:700 12px Manrope;flex-shrink:0}
.contact-name{font:600 14px 'Space Grotesk';color:#fff}
.contact-role{color:#a78bfa;font-size:11px;font-weight:600}
.contact-detail{color:rgba(255,255,255,.6);font-size:13px;line-height:1.5;text-decoration:none;display:block;transition:.2s}
.contact-detail:hover{color:#a78bfa}
form{padding:29px;border:1px solid #675e96;border-radius:3px;background:rgba(22,16,52,.8);backdrop-filter:blur(18px);box-shadow:12px 12px 0 rgba(118,87,255,.19)}
.formtitle{font:600 22px 'Space Grotesk';margin:0 0 22px;display:flex;align-items:center;gap:12px}
.formtitle:after{content:"";height:1px;flex:1;background:rgba(196,188,255,.17)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:flex;flex-direction:column;gap:7px}
#schoolFields{padding-top:18px}
.full{grid-column:1/-1}
label{font-size:11px;font-weight:800;color:#e2ddf0;letter-spacing:.04em;font-family:'Courier New',monospace}
input,select{width:100%;padding:13px 14px;border:1px solid rgba(196,188,255,.17);border-radius:2px;background:#0d091d;color:#fff;font:13px Manrope;outline:none}
input:focus,select:focus{border-color:#7657ff;box-shadow:0 0 0 3px rgba(118,87,255,.15)}
select option{background:#17102e}
.team{border:1px solid rgba(196,188,255,.17);border-radius:2px;padding:19px;margin-top:18px;background:rgba(255,255,255,.025);border-left:3px solid #7657ff}
.teamhead,.memberhead{display:flex;align-items:center;justify-content:space-between}
.teamhead h3{font:600 17px 'Space Grotesk';margin:0}
.member{padding-top:15px;margin-top:15px;border-top:1px solid rgba(196,188,255,.17)}
.memberhead{margin-bottom:11px;color:#c0b8d8;font-size:11px;font-weight:800;font-family:'Courier New',monospace}
.tinybtn{border:1px solid rgba(196,188,255,.17);background:transparent;color:#c0b8d8;padding:7px 10px;border-radius:2px;cursor:pointer;font:700 11px Manrope}
.add{margin-top:14px;color:#a78bfa}
.team2toggle{display:flex;align-items:center;gap:10px;margin:18px 0 0;font-size:13px;color:#c0b8d8;cursor:pointer}
.team2toggle input{
  appearance:none;-webkit-appearance:none;
  width:20px;height:20px;border:2px solid rgba(196,188,255,.3);border-radius:4px;
  background:rgba(255,255,255,.05);flex-shrink:0;position:relative;cursor:pointer;
}
.team2toggle input:checked{background:#7657ff;border-color:#7657ff}
.team2toggle input:checked::after{
  content:"✓";position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:800;line-height:1;
}
.submit{margin-top:22px;width:100%}
.fine{color:rgba(255,255,255,.7);font-size:12px;text-align:center;margin:14px 0 0}
.message{display:none;padding:13px 18px;border-radius:3px;margin-bottom:18px;font-size:13px;font-weight:600}
.message.ok{display:block;background:rgba(74,197,255,.12);color:#4ac5ff;border:1px solid rgba(74,197,255,.25)}
.message.bad{display:block;background:rgba(255,107,107,.12);color:#ff6b6b;border:1px solid rgba(255,107,107,.25)}
.foot{position:relative;display:flex;justify-content:space-between;align-items:center;padding:28px 40px;border-top:1px solid rgba(196,188,255,.17);color:#6b6090;font-size:13px;width:100%;box-sizing:border-box}
.foot-copy{position:absolute;left:50%;transform:translateX(-50%);color:#fff;font-weight:600;text-align:center;font-size:13px}
.foot-small{color:#888;font-size:10px;font-weight:400}
.radio-group{display:flex;gap:12px;margin-bottom:18px}
.radio-group label{display:flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid rgba(196,188,255,.17);border-radius:3px;cursor:pointer;font:600 13px 'Space Grotesk';color:#c0b8d8;transition:.2s}
.radio-group label:hover{border-color:#7657ff;color:#fff}
.radio-group label.active{background:#7657ff;color:#090716;border-color:#7657ff}
.radio-group input{display:none}

.modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}
.modal{position:relative;max-width:420px;width:100%;background:linear-gradient(135deg,#0d1025,#13102a);border:1px solid rgba(118,87,255,.3);border-radius:16px;padding:36px 28px;text-align:center;overflow:hidden}
.modal-glow{position:absolute;width:200px;height:200px;background:#7657ff;filter:blur(100px);opacity:.2;top:-60px;right:-60px;pointer-events:none}
.modal-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:28px;color:#fff;box-shadow:0 0 30px rgba(34,197,94,.3)}
.modal-title{font:700 22px 'Space Grotesk';color:#fff;margin:0 0 6px}
.modal-sub{color:rgba(255,255,255,.6);font-size:13px;margin:0 0 20px}
.modal-details{background:rgba(255,255,255,.04);border:1px solid rgba(196,188,255,.17);border-radius:8px;padding:16px;margin:0 0 16px;text-align:left}
.modal-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.modal-row:last-child{border-bottom:none}
.modal-row span{color:rgba(255,255,255,.5);font-size:12px}
.modal-row strong{color:#fff;font-size:13px}
.modal-row strong#modalRegId{color:#7657ff;font-size:15px}
.modal-mail-note{color:rgba(255,255,255,.5);font-size:12px;margin:0 0 20px}
.modal-close{width:100%}

@media(max-width:1024px){
    .grand-prize-section{margin:40px 5% 0;padding:40px 28px}
    .grand-title{font-size:2.8rem}
    .grand-items{grid-template-columns:1fr}
    .grand-bottom{flex-direction:column;gap:16px}
    .grand-content{flex-direction:column;text-align:center}
    .grand-subtitle{margin-left:auto;margin-right:auto}
    .grand-right{margin-top:30px}
    .grand-img{max-width:400px}
    .criteria-grid{grid-template-columns:repeat(2,1fr)}
    .tracks-grid{grid-template-columns:1fr}
    .track-theme{text-align:center}
    .time-grid{grid-template-columns:repeat(3,1fr)}
    .aboutgrid{grid-template-columns:1fr;gap:40px}
    .aboutgrid:before{display:none}
    .reggrid{grid-template-columns:1fr;gap:36px}
    .regcopy{position:static}
    section{padding:70px 0}
}

@media(max-width:850px){
    .nav{height:70px}
    .nav-inner{padding:0 16px;height:70px}
    .brand{gap:10px;font-size:17px}
    .brand img{width:44px;height:44px}
    .brand small{font-size:11px}
    .hamburger{display:flex}
    .navlinks{position:fixed;top:70px;left:0;right:0;background:#0c0a1a;border-bottom:1px solid rgba(196,188,255,.17);flex-direction:column;padding:12px 16px;gap:0;display:none;z-index:999}
    .navlinks.open{display:flex}
    .navlinks a{padding:12px 0;border-bottom:1px solid rgba(196,188,255,.06);font-size:15px}
    .navlinks a:last-child{border-bottom:0}
    .navlinks .navbtn{text-align:center;margin-top:8px;border-bottom:0;transform:none;box-shadow:none}
    .hero{grid-template-columns:1fr;min-height:auto;text-align:center;padding:40px 0 60px}
    .hero:after{display:none}
    .lede{margin-inline:auto}
    .actions{justify-content:center}
    .poster{width:130%;max-width:none;margin:30px -15% 0;transform:rotate(0)}
    .float{right:-4px}
    .sponsors-bar{flex-direction:column;height:auto;padding:14px 20px;gap:10px}
    .sponsors-track{gap:10px;flex-wrap:wrap;justify-content:center}
    .sponsor-slot{width:80px;height:36px;font-size:9px}
    .facts{grid-template-columns:1fr 1fr;padding:0 20px}
    .fact:nth-child(2){border-right:0}
    .prizes{grid-template-columns:1fr}
    .prizes-4{grid-template-columns:1fr 1fr}
    .prize:nth-child(2),.prize:nth-child(3),.prize:nth-child(4){transform:none}
    .kit{margin-top:20px}
    .fields{grid-template-columns:1fr}
    .full{grid-column:auto}
    .section-divider{margin:0 20px}
    .wrap{width:min(1160px,calc(100% - 40px))}
    .integrity-grid{grid-template-columns:1fr}
    .conduct-grid{grid-template-columns:1fr}
    .test-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:640px){
    section{padding:50px 0}
    .wrap{width:calc(100% - 24px)}
    .title{font-size:clamp(32px,7vw,50px)}
    .copy{font-size:15px}
    h1{font-size:clamp(42px,10vw,60px)}
    .lede{font-size:15px}
    .grand-prize-section{margin:30px 12px 0;padding:28px 20px;border-radius:18px}
    .grand-title{font-size:2.2rem}
    .grand-badge{font-size:.6rem;padding:7px 12px}
    .grand-subtitle{font-size:.85rem}
    .grand-items{gap:6px 20px}
    .grand-item{font-size:13px;padding:14px 14px}
    .grand-item::before{font-size:.85rem}
    .extra-card{font-size:12px;padding-left:14px}
    .grand-img{max-width:280px;border-radius:14px}
    .features{grid-template-columns:1fr}
    .feature:nth-child(2),.feature:nth-child(3){transform:none}
    .feature{min-height:auto;padding:18px}
    .criteria-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .criteria-card{padding:16px}
    .criteria-marks{font-size:28px}
    .criteria-name{font-size:11px}
    .time-grid{grid-template-columns:1fr;gap:12px}
    .time-card{padding:24px}
    .time-num{font-size:44px}
    .track-card{padding:24px 20px}
    .contact-wrapper{padding:20px 16px;border-radius:18px}
    .contact-avatar{width:36px;height:36px;font-size:10px}
    .contact-name{font-size:13px}
    .contact-detail{font-size:12px}
    form{padding:20px;box-shadow:4px 4px 0 rgba(118,87,255,.19)}
    .radio-group label{padding:10px 14px;font-size:12px}
    .ticker-track{animation-duration:17s}
    .foot{padding:20px}
    .foot-copy{position:static;transform:none;text-align:center}
    .prizes{gap:12px}
    .prizes-4{grid-template-columns:1fr}
    .test-grid{grid-template-columns:1fr}
}

@media(max-width:380px){
    h1{font-size:36px}
    .title{font-size:28px}
    .grand-title{font-size:1.8rem}
    .grand-badge{font-size:.55rem}
    .grand-img{max-width:220px}
    .criteria-grid{grid-template-columns:1fr}
    .brand{font-size:15px;gap:8px}
    .brand img{width:38px;height:38px}
    .brand small{font-size:10px}
    .nav-inner{height:60px}
    .nav{height:60px}
    .navlinks{top:60px}
    .btn{padding:12px 16px;font-size:13px}
}
