/* Homepage system: shared palette, spacing, typography and interaction. */
:root{--paper:#0b0b0b;--ink:#fafafa;--muted:#b4b4b4;--red:#fff;--line:#343434}
body,body *:not(svg):not(path),body *::before,body *::after{font-family:Inter,Arial,sans-serif!important}
body{background:#0b0b0b;color:#fafafa} main{overflow:clip}
header{background:rgba(10,10,10,.72);backdrop-filter:blur(20px)}header nav a:hover{color:#555}
.section,.community{padding:clamp(64px,8vw,120px) 6%;border-bottom:1px solid #292929;opacity:1!important;transform:none!important;background-color:#101010;color:#fafafa}
.section-heading{max-width:1320px;margin:0 auto 40px}.section h2,.community h2{font-size:clamp(32px,4.5vw,64px);line-height:1.08;letter-spacing:-.05em}.section-heading>p,.eyebrow,.small-note{color:#bdbdbd}.eyebrow{font-size:11px;letter-spacing:.14em}
.hero h1::before,.hero h1::after,.hero .eyebrow::after{content:none!important}.hero:has(.hero-video) h1{font-size:clamp(32px,5.4vw,80px)!important;color:rgba(255,255,255,.6);line-height:1.06;white-space:normal}.hero .eyebrow{font-size:11px!important}.hero-video{mask-image:none!important;-webkit-mask-image:none!important}.hero:has(.hero-video){min-height:calc(100svh - 104px)}
.hero-top,.robot-stage{display:none}.video-toggle{background:transparent;color:#ddd;border:1px solid #777;border-radius:30px;padding:12px;font-size:11px}
.community{isolation:isolate;background:none;animation:none;overflow:hidden}.community::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#000d,#0008,#000e),url('Images/optimized/Champions2025.webp') center/cover;filter:grayscale(1)}.community h2 span{color:#fff}.community-stats>div{background:linear-gradient(135deg,#ffffff1f,#ffffff08);backdrop-filter:blur(12px);border:1px solid #ffffff30;animation:none}.community-stats strong{font-size:clamp(36px,5vw,70px)}
.countdown{max-width:1320px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 auto 30px}.countdown>div{padding:24px;border-bottom:1px solid #666}.countdown strong{display:block;font-size:clamp(35px,6vw,80px);font-variant-numeric:tabular-nums;letter-spacing:-.06em}.countdown span{color:#aaa;font-size:12px}
.schedule-grid,.segment-grid,.sponsor-grid,.photo-grid{max-width:1320px;margin-left:auto;margin-right:auto}.schedule-card{background:linear-gradient(135deg,#ffffff12,#ffffff04);border-color:#444;color:#fff;border-radius:18px}.schedule-card small,.schedule-card>span{color:#bbb}.schedule-card strong{font-size:clamp(24px,3vw,42px);letter-spacing:-.04em}
.filters button{color:#ddd}.filters button.active{color:#111;background:#fff}.segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible}.segments .segment-card{min-height:340px;border-radius:22px;padding:24px;isolation:isolate;text-align:left;border:1px solid #ffffff30}.segments .segment-card .card-art{background-image:var(--card-image)!important;filter:grayscale(1);transition:transform .6s}.segments .segment-card::before{background:linear-gradient(#0005,transparent 25%,#000e);z-index:1}.segments .segment-card h3{color:#fff;margin-top:auto;max-width:100%;font-size:28px}.segments .segment-card .card-bottom{margin-top:16px;color:#ddd;min-height:40px}.segments .segment-card::after{content:none}.segments .segment-card:hover,.segments .segment-card:focus-visible{transform:translateY(-5px);border-color:#fff}.segments .segment-card:hover .card-art{transform:scale(1.06)}.segment-card .card-bottom b{font-size:0}.segment-card .card-bottom b::after{content:'Explore →';font-size:12px;white-space:nowrap}.card-bottom{gap:12px}
.photo-grid{grid-template-columns:repeat(3,1fr);gap:18px}.gallery-tile{padding:0;border:1px solid #444;border-radius:18px;overflow:hidden;position:relative;background:#111;color:#fff}.gallery-tile img{width:100%;height:240px;object-fit:cover;filter:grayscale(1);display:block;transition:transform .4s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile span{position:absolute;bottom:0;left:0;right:0;padding:25px 18px 18px;text-align:left;background:linear-gradient(transparent,#000c)}.lightbox{max-width:1000px;width:94vw;padding:45px 18px 18px;background:#101010;border-radius:18px}.lightbox img{width:100%;max-height:70vh;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.lightbox button{background:#fff;color:#111;border:0;border-radius:9px;padding:10px 16px}.gallery-close{position:absolute;right:15px;top:8px}
.registration{background:#171717;color:#fff}.registration h2{font-size:clamp(46px,6vw,88px)}.registration h2 em{color:#aaa}.registration-layout .reg-description{color:#ccc;max-width:100%}.status{color:#eee;border-color:#777}.status i{background:white}.registration .dark{background:#fff;color:#111;border:1px solid #fff}.team-form input,.team-form select{background:#242424;color:#fff;border:1px solid #777}.form-message{color:#eee;font-size:13px;line-height:1.5}.sponsor-cta{border:2px dashed #aaa;background:#fff;color:#111;font-size:22px;justify-content:center;line-height:1.3}.sponsor-mark{background:#ffffff09}.questions details{border-color:#444}.questions details p{color:#c1c1c1}.questions summary{font-size:16px}.questions details[open]{padding:0 16px;background:#ffffff08;border-radius:12px}.dialog-close{color:white}
.menu-toggle{display:none}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:900px){.segment-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}header nav{padding:10px!important}header nav a{padding:8px!important}.hero-actions{flex-wrap:wrap}}
@media(max-width:760px){.segment-grid,.photo-grid{grid-template-columns:1fr}.countdown{gap:6px}.countdown>div{padding:12px 4px}.countdown strong{font-size:35px}.menu-toggle{display:block;order:2;padding:12px;border:1px solid #666;background:#222;color:#fff;border-radius:9px}header nav.open{display:flex!important;position:absolute;top:78px;left:5%;right:5%;flex-direction:column;gap:6px}.community-stats{grid-template-columns:1fr 1fr}.hero-bottom>span{display:none}.hero:has(.hero-video) .hero-copy{padding:55px 0}.hero-actions{gap:16px}}
@media(prefers-reduced-motion:no-preference){.revealed{animation:cardReveal .5s both}@keyframes cardReveal{from{opacity:.65;translate:0 12px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
