:root{--ink:#251067;--purple:#5329bd;--violet:#8652ff;--green:#00bf63;--lime:#b4ee00;--pink:#fb83d4;--paper:#f8f6ff;--white:#fff;--line:#ddd5f4;--body:#463879;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden}button,a{touch-action:manipulation}a{color:inherit}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid var(--green);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}p{line-height:1.6}em{font-style:normal}.wrap{width:min(1320px,calc(100% - 64px));margin:auto}.skip-link{position:absolute;top:-60px;left:20px;background:var(--ink);color:#fff;padding:12px 18px;z-index:100}.skip-link:focus{top:10px}.site-header{height:88px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.brand{font-family:'Space Mono',monospace;font-size:24px;font-weight:700;text-decoration:none;white-space:nowrap;letter-spacing:-.08em;display:inline-flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;background:var(--purple);color:#fff;width:40px;height:40px;border-radius:13px;letter-spacing:-.12em;font-size:18px;transform:rotate(-8deg)}.brand-accent{color:var(--green)}.site-nav{display:flex;align-items:center;gap:30px;margin:auto}.site-nav a,.footer-links a{text-decoration:none;font-size:14px;font-weight:800}.site-nav a:hover,.footer-links a:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:52px;padding:0 22px;border-radius:17px;text-decoration:none;font-weight:800;font-size:14px;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 13px 22px rgba(36,16,103,.16)}.button span{font-size:19px;line-height:1}.button-dark{color:#fff;background:var(--ink)}.button-primary{background:var(--green);color:var(--ink);min-height:62px;padding:0 28px;font-size:17px}.menu-toggle{display:none}.hero{position:relative;background:var(--paper);overflow:hidden}.hero-grid{min-height:660px;display:grid;grid-template-columns:51% 49%;align-items:center}.hero-copy{position:relative;z-index:3;padding:70px 0 70px}.hero-meta,.step-tag,.track-index,.pending,.cta-status{font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.035em}.hero-meta{display:flex;align-items:center;gap:13px;color:var(--purple);margin-bottom:28px}.live-dot,.status-dot,.schedule-pulse{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--green);box-shadow:0 0 0 5px rgba(0,191,99,.13)}.meta-divider{font-size:17px;color:var(--green)}.hero h1{font-size:clamp(72px,8.8vw,132px);line-height:.95;margin:0 0 26px;font-weight:800;letter-spacing:-.075em}.hero h1 em{color:var(--violet)}.hero h1 span{color:var(--green)}.hero-lede{font-size:19px;max-width:510px;color:var(--body);line-height:1.55}.hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0}.text-link,.inline-link{text-decoration:none;font-weight:800;border-bottom:2px solid currentColor;padding-bottom:5px}.text-link:hover,.inline-link:hover{color:var(--green)}.hero-footnote{font-family:'Space Mono',monospace;font-size:11px;color:#6c5a9a;margin:0}.hero-art{height:570px;position:relative;isolation:isolate}.art-grid{position:absolute;inset:34px 0 20px 20px;background-image:linear-gradient(#7a51d216 1px,transparent 1px),linear-gradient(90deg,#7a51d216 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse,#000 30%,transparent 74%)}.art-disc{position:absolute;left:10%;top:8%;width:77%;aspect-ratio:1;border-radius:50%;background:var(--pink);box-shadow:inset -28px -24px 0 #ee5fbd}.art-orbit{position:absolute;left:3%;top:1%;height:95%;width:92%;border:2px dashed var(--purple);border-radius:50%;transform:rotate(-20deg);opacity:.5}.trophy{position:absolute;width:71%;left:15%;top:12%;filter:drop-shadow(0 22px 15px rgba(37,16,103,.15));transform:rotate(-7deg);animation:trophy-float 5s ease-in-out infinite}.art-flower{position:absolute;width:124px;height:124px;z-index:-1}.art-flower i{position:absolute;width:55%;height:55%;border-radius:50%;left:23%;top:0;background:var(--green);transform-origin:50% 91%}.art-flower i:nth-child(2){transform:rotate(72deg)}.art-flower i:nth-child(3){transform:rotate(144deg)}.art-flower i:nth-child(4){transform:rotate(216deg)}.art-flower i:nth-child(5){transform:rotate(288deg)}.flower-one{left:-4%;top:38%;transform:rotate(-15deg)}.flower-two{right:0;top:7%;transform:scale(.66) rotate(21deg)}.flower-two i{background:var(--violet)}.art-star{position:absolute;font-family:'Space Mono',monospace;font-weight:700}.star-one{right:3%;bottom:25%;color:var(--lime);font-size:116px;transform:rotate(20deg)}.star-two{left:10%;top:1%;color:var(--green);font-size:74px}.score-chip{position:absolute;right:-1%;bottom:7%;background:var(--ink);color:#fff;border:5px solid var(--violet);border-radius:17px;padding:14px 19px;transform:rotate(5deg);box-shadow:0 16px 20px #25106733}.score-chip span{display:block;font:700 10px 'Space Mono',monospace;color:var(--lime);letter-spacing:.05em}.score-chip strong{display:block;font:700 19px 'Space Mono',monospace;letter-spacing:-.06em}.score-chip strong span{display:inline;font-size:22px}.blink{animation:blink 1s steps(2) infinite}.idea-chip{position:absolute;left:3%;bottom:13%;background:var(--lime);border-radius:15px;padding:13px 18px;font:700 13px/1.2 'Space Mono',monospace;transform:rotate(-9deg);box-shadow:0 8px 0 var(--purple)}.idea-chip span{font-size:21px}.hero-bottom{display:flex;align-items:center;gap:36px;padding:18px 0 27px;border-top:1px solid var(--line);font:700 11px 'Space Mono',monospace;letter-spacing:.06em}.hero-bottom span:not(:last-child)::after{content:'✳';color:var(--green);margin-left:36px}.hero-bottom-arrow{margin-left:auto;font-size:25px;color:var(--green)}.marquee{height:52px;background:var(--green);color:var(--ink);overflow:hidden;display:flex;align-items:center;font:700 15px 'Space Mono',monospace;white-space:nowrap;letter-spacing:.04em}.marquee div{min-width:max-content;animation:marquee 28s linear infinite}.section{padding:110px 0}.challenge{background:#fff}.challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.section-symbol{width:58px;height:58px;display:grid;place-items:center;background:var(--lime);border-radius:50%;font:700 38px 'Space Mono',monospace;transform:rotate(-12deg);margin-bottom:24px}.section h2,.faq h2{font-size:clamp(46px,5.4vw,78px);line-height:1.02;margin:0;font-weight:800}.section h2 span,.faq h2 span{color:var(--violet)}.challenge-copy{padding-top:30px}.large-copy{font-size:clamp(25px,2.8vw,37px);line-height:1.22;letter-spacing:-.045em;color:var(--ink)}.large-copy strong{color:var(--green);font-weight:800}.challenge-copy>p:not(.large-copy){color:var(--body);font-size:17px;max-width:540px}.inline-link{display:inline-block;margin-top:18px}.journey{background:#29136d;color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading p{max-width:360px;margin:0;color:var(--body);font-size:17px}.journey .section-heading h2 span{color:var(--lime)}.journey .section-heading p{color:#ddd3ff}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{min-height:350px;background:#3a2188;border:1px solid #674eb1;border-radius:27px;padding:30px;display:flex;flex-direction:column}.step:nth-child(2){background:var(--violet);color:#fff}.step-top{display:flex;justify-content:space-between;align-items:start}.step-num{font:700 14px 'Space Mono',monospace;color:var(--lime)}.step-icon{font-size:50px;line-height:1;color:var(--pink)}.step h3{font-size:30px;line-height:1.1;max-width:270px;margin:35px 0 12px}.step p{font-size:15px;color:#e6ddff;line-height:1.55;margin-bottom:25px}.step-tag{margin-top:auto;color:var(--lime)}.schedule-note{display:flex;align-items:center;gap:20px;border:1px solid #8166c8;border-radius:20px;margin-top:18px;padding:20px 27px}.schedule-note p{margin:0;color:#e4dbff;font-size:14px}.schedule-note p strong{color:#fff;font-size:16px}.schedule-note a{margin-left:auto;color:var(--lime);font-weight:800;text-decoration:none;white-space:nowrap}.tracks{background:var(--paper)}.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.track{height:310px;border-radius:32px;padding:27px;position:relative;overflow:hidden;display:flex;flex-direction:column}.track-index{position:relative;z-index:1}.track h3{position:relative;z-index:1;font-size:36px;line-height:1.02;margin:auto 0 12px;max-width:260px}.track p{position:relative;z-index:1;font-size:14px;line-height:1.45;max-width:250px;margin:0}.track-doodle{position:absolute;right:-10px;top:-46px;font-family:'Space Mono',monospace;font-size:175px;line-height:1;font-weight:700;opacity:.28;transform:rotate(16deg)}.track-purple{background:#8c57f7;color:white}.track-lime{background:var(--lime)}.track-pink{background:#ffa1da}.track-blue{background:#91d8f3}.track-green{background:#00c975}.track-outline{background:#fff;border:2px solid var(--purple)}.make{background:#fff}.make-grid{display:grid;grid-template-columns:48% 1fr;gap:9%;align-items:start}.make-intro>p{font-size:17px;color:var(--body);max-width:440px;margin-top:26px}.make-graphic{height:330px;position:relative;margin-top:36px;overflow:hidden;border-radius:34px;background:var(--lime)}.make-graphic:before{content:'';position:absolute;width:380px;height:380px;background:var(--pink);border-radius:50%;right:-80px;top:70px}.graphic-window{position:absolute;left:14%;top:15%;width:68%;height:71%;border:6px solid var(--ink);border-radius:18px;background:var(--paper);transform:rotate(-8deg);box-shadow:18px 21px 0 var(--purple);padding:16px}.graphic-window>span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--pink);margin-right:5px}.graphic-window>span:nth-child(2){background:var(--lime)}.graphic-window>span:nth-child(3){background:var(--green)}.graphic-line{height:13px;border-radius:10px;background:#d5c7f6;width:60%;margin:14px 0}.graphic-line.big{height:24px;background:var(--violet);width:76%;margin-top:24px}.graphic-cube{position:absolute;bottom:13px;right:18px;font-size:74px;color:var(--green)}.graphic-sticker{position:absolute;right:4%;top:14%;border-radius:50%;height:110px;width:110px;display:grid;place-items:center;text-align:center;background:var(--green);color:var(--ink);font:700 13px/1.3 'Space Mono',monospace;transform:rotate(15deg);box-shadow:0 8px 0 var(--ink)}.deliverables h3{font-size:29px;margin:4px 0 20px}.deliverable{border-top:1px solid var(--line);display:grid;grid-template-columns:42px 1fr 30px;gap:18px;padding:22px 0}.deliverable:last-of-type{border-bottom:1px solid var(--line)}.deliverable>span{font:700 13px 'Space Mono',monospace;color:var(--violet);padding-top:4px}.deliverable strong{font-size:18px}.deliverable p{font-size:14px;color:var(--body);margin:5px 0 0}.deliverable b{font-size:23px;color:var(--green)}.deliverable-note{font-size:12px;color:#756798;margin-top:18px}.judging{background:#d9cdfc}.judging .section-heading p{color:var(--ink)}.judging-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.judge{border-top:2px solid var(--ink);padding-top:26px}.judge-percent{font-size:95px;line-height:1;letter-spacing:-.085em;font-weight:800}.judge-percent span{font-size:36px;letter-spacing:-.06em}.judge-bar{background:#b8a6ee;height:9px;border-radius:20px;margin:26px 0}.judge-bar i{display:block;height:100%;border-radius:inherit;background:var(--green)}.judge h3{font-size:24px;margin:0 0 8px}.judge p{font-size:15px;max-width:270px;margin:0}.practical{background:var(--paper)}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.practical-panel{background:#fff;border:1px solid var(--line);border-radius:32px;padding:32px;display:flex;flex-direction:column;min-height:410px}.panel-icon{font-size:55px;line-height:1;color:var(--violet)}.practical-panel h3{font-size:31px;margin:20px 0 7px}.practical-panel p{color:var(--body);margin-bottom:12px}.practical-panel ul{padding-left:20px;color:var(--body);line-height:1.9;margin:0 0 25px}.pending{display:inline-block;align-self:start;margin-top:auto;background:#e9e0ff;color:var(--purple);border-radius:8px;padding:8px 10px}.partner{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.partner-inner{display:flex;align-items:center;justify-content:center;gap:50px;padding:40px 0}.partner p{margin:0;font-size:16px;color:var(--body)}.partner strong{color:var(--ink);font-size:21px}.partner-line{height:40px;width:1px;background:var(--line)}.ibm-wordmark{font-family:Georgia,serif;font-weight:900;letter-spacing:.04em;font-size:35px!important;margin-left:8px}.ibm-wordmark span{font-family:'DM Sans',sans-serif;font-size:8px;vertical-align:top}.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:38% 1fr;gap:10%}.faq-grid>div>p{margin-top:25px;color:var(--body);font-size:17px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;font-weight:800}.faq summary::-webkit-details-marker{display:none}.faq summary span{width:30px;height:30px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:21px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--body);font-size:15px;margin:14px 45px 0 0}.final-cta{background:var(--green);color:var(--ink);overflow:hidden}.cta-inner{position:relative;text-align:center;padding:100px 0}.cta-inner h2{position:relative;z-index:1;font-size:clamp(54px,7.5vw,108px);letter-spacing:-.075em;line-height:.95;margin:0 auto 25px}.cta-inner h2 em{color:#fff}.cta-inner>p{position:relative;z-index:1;max-width:610px;margin:0 auto 30px;font-size:18px}.cta-asterisk{position:absolute;right:1%;top:-150px;font-size:420px;color:#13d881;line-height:1;transform:rotate(-12deg)}.cta-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:13px;background:var(--ink);color:#fff;border-radius:15px;padding:18px 25px;margin-bottom:17px}.cta-status .status-dot{background:var(--lime);box-shadow:0 0 0 5px #b4ee002b}.cta-inner small{display:block;font-size:13px}.footer{background:var(--ink);color:#fff}.footer-main{display:flex;justify-content:space-between;gap:40px;padding:56px 0}.footer-brand .brand-mark{background:var(--green);color:var(--ink)}.footer-main p{margin:17px 0 0;color:#c6b9ea;font-size:14px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;align-content:start}.footer-bottom{border-top:1px solid #665393;display:flex;justify-content:space-between;padding:20px 0 28px;font:400 11px 'Space Mono',monospace;color:#c6b9ea}.footer-bottom a{text-decoration:none;color:#c6b9ea}@keyframes trophy-float{50%{transform:translateY(-12px) rotate(-5deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes blink{50%{opacity:0}}@media(max-width:1000px){.site-nav{gap:17px}.site-nav a{font-size:12px}.nav-cta{font-size:12px;padding:0 15px}.hero-grid{grid-template-columns:52% 48%}.hero-art{height:450px}.hero h1{font-size:clamp(66px,9vw,90px)}.score-chip{right:-5%;bottom:1%}.idea-chip{bottom:9%}.step{padding:23px}.step h3{font-size:25px}.track h3{font-size:30px}}@media(max-width:760px){.wrap{width:min(100% - 34px,560px)}.site-header{height:68px}.brand{font-size:20px}.brand-mark{width:34px;height:34px;font-size:16px}.nav-wrap{justify-content:space-between}.menu-toggle{margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:6px;width:38px;height:38px;border:0;background:none;padding:7px;cursor:pointer}.menu-toggle span{height:2px;width:100%;background:var(--ink)}.site-nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:start;gap:20px;box-shadow:0 15px 30px #25106715}.site-nav.is-open{display:flex}.site-nav a{font-size:16px}.nav-cta{display:none}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:50px 0 20px;width:100%}.hero-meta{font-size:9px;margin-bottom:22px}.hero h1{font-size:clamp(65px,13vw,98px)}.hero-lede{font-size:17px}.hero-actions{margin:23px 0;gap:19px;flex-wrap:wrap}.hero-art{width:100%;height:410px;margin-bottom:18px}.art-disc{width:70%;left:15%;top:3%}.trophy{width:62%;left:19%;top:4%}.art-orbit{left:11%;top:-1%;width:80%;height:92%}.flower-one{left:2%;top:24%}.flower-two{right:2%;top:3%}.score-chip{right:0;bottom:1%}.idea-chip{left:2%;bottom:10%}.hero-bottom{gap:12px;padding:16px 0;font-size:9px}.hero-bottom span:not(:last-child)::after{margin-left:12px}.hero-bottom-arrow{display:none}.section{padding:75px 0}.challenge-grid,.make-grid,.faq-grid{grid-template-columns:1fr;gap:25px}.challenge-copy{padding-top:0}.section h2,.faq h2{font-size:clamp(48px,10vw,72px)}.large-copy{font-size:29px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:20px}.journey-steps,.track-grid,.judging-grid,.practical-grid{grid-template-columns:1fr}.step{min-height:270px}.step h3{margin-top:25px}.schedule-note{align-items:start;flex-wrap:wrap;padding:22px}.schedule-note a{margin-left:27px}.track{height:260px}.track h3{font-size:34px}.track-doodle{right:4%;top:-35px}.make-graphic{height:270px}.deliverables{margin-top:16px}.judging-grid{gap:35px}.judge-percent{font-size:78px}.judge-bar{margin:16px 0}.practical-panel{min-height:0}.partner-inner{gap:15px;justify-content:space-between}.partner p{font-size:13px}.partner strong{font-size:16px}.ibm-wordmark{font-size:28px!important}.faq-grid{gap:35px}.cta-inner{padding:78px 0}.cta-inner h2{font-size:clamp(52px,11vw,78px)}.cta-asterisk{font-size:300px;top:-65px;right:-40px}.footer-main{display:block}.footer-links{margin-top:40px}.footer-bottom{gap:20px}}@media(max-width:420px){.hero h1{font-size:64px}.hero-art{height:335px}.art-flower{width:90px;height:90px}.star-one{font-size:80px}.score-chip{padding:9px 11px;border-width:3px}.score-chip strong{font-size:14px}.score-chip span{font-size:8px}.idea-chip{font-size:10px}.hero-footnote{font-size:9px}.hero-bottom{font-size:8px}.hero-bottom span:not(:last-child)::after{margin-left:8px}.partner-inner{flex-wrap:wrap}.partner-line{display:none}.footer-bottom{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.trophy,.marquee div,.blink{animation:none}.button{transition:none}}

/* Readability refinements for the lighter brand colors. */
.brand-accent,.hero h1 span,.large-copy strong{color:#007b43}
.section h2 span,.faq h2 span{color:#7042d1}
.judging h2 span{color:#5d2dbf}
.track-purple{background:#7139d2}
.step:nth-child(2) p{color:#fff}
.step:nth-child(2) .step-tag,.step:nth-child(2) .step-num{color:#fff}
.cta-inner h2 em{color:var(--ink);text-decoration:underline;text-decoration-color:#fff;text-decoration-thickness:7px;text-underline-offset:10px}
.marquee div{animation:none}
.hero-meta,.hero-footnote,.score-chip span,.footer-bottom,.footer-bottom a{font-size:11px}
.score-chip span{color:#e3ff69}
.hero-bottom{font-size:11px}
@media(max-width:760px){.hero-meta{font-size:11px;flex-wrap:wrap}.hero-bottom{font-size:10px}}
@media(max-width:420px){.hero h1{font-size:clamp(55px,15vw,64px)}.hero-footnote,.footer-bottom,.score-chip span{font-size:10px}.hero-bottom{font-size:10px}.idea-chip{font-size:11px}}

/* Code Club navigation, following the supplied header reference. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:116px;background:#fff}
.site-header .nav-wrap{width:min(1770px,calc(100% - 136px));gap:26px}
.site-header .brand{gap:0;color:#35249b;font-size:30px;font-weight:400;letter-spacing:-.065em}
.site-header .brand-mark{display:inline;width:auto;height:auto;margin-right:2px;background:none;color:inherit;border-radius:0;transform:none;font-size:30px;font-weight:400;letter-spacing:-.08em}
.site-header .site-nav{gap:48px;margin:0 auto}
.site-header .site-nav>a,.header-login{font-family:'Space Mono',monospace;font-size:17px;font-weight:700;text-decoration:none;color:#35249b;white-space:nowrap}
.site-header .site-nav>a:hover,.header-login:hover{color:#007b43}
.header-actions{display:flex;align-items:center;gap:36px;margin-left:auto}
.header-contact{min-height:60px;display:inline-flex;align-items:center;justify-content:center;padding:0 26px;border-radius:17px;background:linear-gradient(105deg,#8652ff 0%,#00bf63 100%);color:#fff;text-decoration:none;font-size:17px;font-weight:800;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease}
.header-contact:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(37,16,103,.14)}
.mobile-nav-actions{display:none}
@media(max-width:1200px){
  .site-header .nav-wrap{width:calc(100% - 64px);gap:18px}
  .site-header .brand,.site-header .brand-mark{font-size:25px}
  .site-header .site-nav{gap:22px}
  .site-header .site-nav>a,.header-login{font-size:13px}
  .header-actions{gap:17px}
  .header-contact{min-height:52px;padding:0 17px;font-size:14px}
}
@media(max-width:760px){
  .site-header{height:72px}
  .site-header .nav-wrap{width:min(100% - 34px,560px)}
  .site-header .brand,.site-header .brand-mark{font-size:23px}
  .site-header .site-nav{top:72px;gap:19px;margin:0;padding:25px 24px 30px}
  .site-header .site-nav>a{font-size:16px}
  .header-actions{display:none}
  .mobile-nav-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:100%;padding-top:19px;border-top:1px solid var(--line)}
  .mobile-nav-actions>a:first-child{font-family:'Space Mono',monospace;font-size:16px;font-weight:700;text-decoration:none;color:#35249b}
  .mobile-nav-actions .header-contact{width:100%;font-size:16px}
}

/* Event-stage hero: message in the centre, motion and rewards at the edges. */
.hero{background:#210747;color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 52% 49%,#421378 0,transparent 52%);pointer-events:none}
.hero-grid{min-height:690px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}
.hero-copy{width:min(100%,700px);padding:72px 0 62px;text-align:center;z-index:5}
.hero-meta{justify-content:center;color:#c7fc3d;font-size:13px;margin-bottom:23px;text-shadow:0 2px 8px #210747}
.hero-meta .meta-divider{color:#fb83d4}
.hero h1{font-family:'Barlow Condensed','DM Sans',sans-serif;font-size:clamp(82px,8.8vw,128px);font-weight:900;letter-spacing:-.025em;line-height:.79;color:#fff;margin:0 0 28px;text-shadow:0 7px 0 rgba(13,0,38,.45)}
.hero h1 em{color:#b4ee00}
.hero h1 span{color:#fb83d4}
.hero-lede{color:#f2e9ff;max-width:540px;font-size:18px;margin:0 auto;line-height:1.48}
.hero-actions{justify-content:center;margin:26px 0 23px}
.hero .button-primary{background:#fff;color:#210747;box-shadow:0 8px 0 #8652ff}
.hero .button-primary:hover{box-shadow:0 12px 20px #10002370}
.hero .text-link{color:#fff}
.hero .text-link:hover{color:#b4ee00}
.hero-footnote{color:#d8c8f6;font-size:11px}
.hero-bottom{border-color:#8c6cc0;color:#fff}
.hero-bottom span:not(:last-child)::after,.hero-bottom-arrow{color:#b4ee00}
.hero-art{position:absolute;right:-8%;top:86px;width:39%;height:510px;z-index:1;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.hero-art .art-disc{width:81%;left:9%;top:9%}
.hero-art .art-orbit{left:1%;width:96%}
.hero-art .trophy{width:78%;left:12%;top:12%}
.hero-art .score-chip{right:0;bottom:5%}
.hero-art .idea-chip{bottom:10%}
.hero-left-art{position:absolute;left:-8%;top:90px;width:39%;height:500px;z-index:1;transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.code-orbit{position:absolute;left:2%;top:22%;width:82%;height:64%;border:2px dashed #b4ee00;border-radius:50%;transform:rotate(-16deg);opacity:.65}
.code-portal{position:absolute;left:11%;top:18%;width:72%;height:62%;border:8px solid #8b4fff;border-radius:25px;background:#32136b;transform:rotate(-14deg);box-shadow:20px 24px 0 #10002b,0 24px 38px #0e00275e;animation:portal-float 5.8s ease-in-out infinite}
.portal-top{height:49px;border-bottom:5px solid #8b4fff;display:flex;align-items:center;gap:8px;padding:0 17px}
.portal-top i{height:10px;width:10px;border-radius:50%;background:#fb83d4}.portal-top i:nth-child(2){background:#b4ee00}.portal-top i:nth-child(3){background:#00bf63}
.portal-slash{display:block;font:900 94px/1 'Barlow Condensed',sans-serif;color:#b4ee00;text-align:center;margin:20px 0 6px;text-shadow:8px 8px 0 #00bf63}
.portal-line{display:block;height:10px;border-radius:10px;background:#a876f4;margin:13px 22px;width:65%}
.portal-line-two{width:43%;background:#fb83d4}
.left-spark{position:absolute;font-family:'Space Mono',monospace;font-weight:700;line-height:1}.left-spark-one{font-size:92px;color:#fb83d4;left:1%;top:0;animation:spark-turn 15s linear infinite}.left-spark-two{font-size:73px;color:#b4ee00;right:3%;bottom:1%;animation:spark-turn 12s linear reverse infinite}
.left-badge{position:absolute;left:5%;bottom:5%;display:block;padding:11px 16px;border-radius:12px;background:#00bf63;color:#210747;font:700 13px/1.1 'Space Mono',monospace;transform:rotate(10deg);box-shadow:0 8px 0 #8b4fff}
.hero.hero-burst .left-spark-one,.hero.hero-burst .star-one{animation-duration:1s}
.hero.is-paused .trophy,.hero.is-paused .code-portal,.hero.is-paused .left-spark{animation-play-state:paused}
@keyframes portal-float{50%{transform:translateY(-13px) rotate(-11deg)}}
@keyframes spark-turn{to{transform:rotate(360deg)}}
@media(max-width:1100px){
  .hero-grid{min-height:650px}
  .hero-copy{width:min(100%,610px)}
  .hero h1{font-size:clamp(76px,9vw,100px)}
  .hero-art{right:-12%;width:39%;height:460px}
  .hero-left-art{left:-12%;width:39%;height:460px}
  .portal-slash{font-size:78px}
}
@media(max-width:760px){
  .hero-grid{min-height:850px;align-items:flex-start}
  .hero-copy{width:100%;padding:55px 0 0}
  .hero-meta{font-size:11px;gap:9px;margin-bottom:22px}
  .hero h1{font-size:clamp(62px,13.8vw,96px);margin-bottom:24px}
  .hero-lede{max-width:500px;font-size:16px}
  .hero-actions{margin:24px 0 20px}
  .hero-art{top:auto;bottom:1%;right:-12%;width:61%;height:350px}
  .hero-left-art{top:auto;bottom:1%;left:-12%;width:61%;height:350px}
  .portal-slash{font-size:69px;margin-top:10px}
  .portal-top{height:34px}
  .portal-line{height:6px;margin:9px 15px}
  .left-spark-one{font-size:55px}
  .left-spark-two{font-size:49px}
  .left-badge{font-size:9px;padding:8px}
  .hero-art .score-chip{display:none}
  .hero-art .idea-chip{font-size:9px}
  .hero-bottom{position:relative;z-index:3}
}
@media(max-width:500px){
  .hero-grid{min-height:825px}
  .hero h1{font-size:clamp(57px,14vw,68px)}
  .hero-meta{font-size:10px;line-height:1.5}
  .hero .button-primary{min-height:54px;font-size:15px}
  .hero .text-link{font-size:14px}
  .hero-footnote{max-width:310px;margin:auto;line-height:1.5}
  .hero-art,.hero-left-art{width:66%;height:310px;bottom:0}
  .hero-art{right:-19%}
  .hero-left-art{left:-19%}
}
@media(prefers-reduced-motion:reduce){
  .hero-art,.hero-left-art{transition:none;transform:none}
  .code-portal,.left-spark{animation:none}
}

/* Scroll and touch feedback. Content stays visible when scripts do not run. */
body.motion-ready .motion-target{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),clip-path .65s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,0ms)}
body.motion-ready .motion-copy{clip-path:inset(0 0 15% 0);transform:translateY(22px)}
body.motion-ready .motion-card{transform:translateY(35px) rotate(-2deg)}
body.motion-ready .motion-row{transform:translateX(-24px)}
body.motion-ready .motion-visible{opacity:1;transform:none;clip-path:inset(0)}
body.motion-ready .judge .judge-bar i{transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.16,1,.3,1) .25s}
body.motion-ready .judge.motion-visible .judge-bar i{transform:scaleX(1)}
.track,.step,.practical-panel{transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,filter .24s ease}
@media(hover:hover){
  .track:hover,.step:hover,.practical-panel:hover{transform:translateY(-6px);box-shadow:0 16px 28px rgba(37,16,103,.17)}
  .track:hover .track-doodle{transform:rotate(30deg) scale(1.13)}
}
.track-doodle{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.track.is-tapped,.step.is-tapped,.practical-panel.is-tapped{transform:scale(.975);filter:saturate(1.18)}
.button:active,.header-contact:active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){
  body.motion-ready .motion-target,body.motion-ready .judge .judge-bar i{opacity:1;transform:none;clip-path:none;transition:none}
  .track,.step,.practical-panel,.track-doodle{transition:none}
}

/* Keep the event message clear of the two illustrations. */
.hero-copy{width:min(100%,810px)}
.hero h1{font-size:clamp(80px,7.2vw,105px)}
.hero-left-art{left:-9%;top:130px;width:33%;height:440px}
.hero-art{right:-9%;top:130px;width:33%;height:440px}
@media(max-width:1100px){
  .hero-copy{width:min(100%,650px)}
  .hero h1{font-size:clamp(76px,8vw,92px)}
  .hero-left-art{left:-12%;width:36%}
  .hero-art{right:-12%;width:36%}
}
@media(max-width:760px){
  .hero-grid{min-height:880px;justify-content:flex-start}
  .hero-copy{width:100%;padding-top:54px}
  .hero h1{font-size:clamp(60px,13vw,80px)}
  .hero-left-art{left:-12%;top:auto;bottom:0;width:61%;height:315px}
  .hero-art{right:-12%;top:auto;bottom:0;width:61%;height:315px}
}
@media(max-width:500px){
  .hero-grid{min-height:845px}
  .hero h1{font-size:clamp(55px,13vw,65px)}
  .hero-left-art{left:-17%;width:63%;height:300px}
  .hero-art{right:-17%;width:63%;height:300px}
}

/* Navigation names mirror the Code Hack sections. */
.site-header .site-nav{gap:26px}
.site-header .site-nav>a{position:relative;padding:10px 0;font-size:16px}
.site-header .site-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header .site-nav>a:hover::after,.site-header .site-nav>a:focus-visible::after{transform:scaleX(1)}
.header-actions{margin-left:0}
.site-header .header-contact{min-height:56px;padding:0 22px;font-size:15px}
@media(max-width:1200px){
  .site-header .site-nav{gap:17px}
  .site-header .site-nav>a{font-size:14px}
  .site-header .header-contact{padding:0 16px;font-size:13px}
}
@media(max-width:1050px){
  .site-header{height:88px}
  .site-header .nav-wrap{width:calc(100% - 64px)}
  .site-header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-left:auto;width:38px;height:38px;border:0;background:none;padding:7px;cursor:pointer}
  .site-header .menu-toggle span{width:100%;height:2px;background:var(--ink)}
  .site-header .site-nav{display:none;position:absolute;left:0;right:0;top:88px;z-index:30;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:22px 32px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 28px rgba(37,16,103,.13)}
  .site-header .site-nav.is-open{display:flex}
  .site-header .site-nav>a{font-size:16px;padding:11px 0}
  .site-header .site-nav>a::after{display:none}
  .site-header .header-actions{display:none}
  .site-header .mobile-nav-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding-top:18px;margin-top:14px;border-top:1px solid var(--line)}
  .site-header .mobile-nav-actions .header-contact{width:100%;min-height:54px;color:#fff;font-size:15px}
}
@media(max-width:760px){
  .site-header{height:72px}
  .site-header .nav-wrap{width:min(100% - 34px,560px)}
  .site-header .site-nav{top:72px;padding:18px 24px 26px}
}

/* Bold blue Code Hack opening inspired by the supplied campaign reference. */
.hero{background:#1741c6;color:#fff}
.hero:before{background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:48px 48px;opacity:.65}
.hero-grid{min-height:680px;align-items:center;justify-content:center}
.hero-copy{width:100%;padding:55px 0 48px;z-index:3}
.hero-meta{position:relative;z-index:6;margin-bottom:28px;color:#d7ff26;text-shadow:0 2px 5px #062b99;font-size:12px}
.hero-meta .meta-divider{color:#fff}
.hero h1{position:relative;font-size:clamp(102px,11vw,162px);line-height:.73;letter-spacing:-.045em;margin:0 0 30px;text-shadow:0 8px 0 #0a2c9c}
.hero h1 em{color:#c4f500}
.hero h1 span{color:#fff}
.hero-lede{position:relative;z-index:6;max-width:580px;font-size:19px;font-weight:600;text-shadow:0 2px 6px #0a2c9c}
.hero-actions,.hero-footnote{position:relative;z-index:6}
.hero .button-primary{background:#c4f500;color:#14205b;box-shadow:0 7px 0 #0831aa}
.hero .button-primary:hover{box-shadow:0 13px 20px #05288270}
.hero .text-link{color:#fff}
.hero-footnote{color:#e7edff}
.hero-hash{position:absolute;top:-28px;left:8%;z-index:5;font:900 148px/.9 'Barlow Condensed',sans-serif;color:#c4f500;transform:rotate(-12deg);text-shadow:8px 9px 0 #092da0}
.hero-arrow{position:absolute;z-index:5;width:145px;color:#c4f500;filter:drop-shadow(5px 5px 0 #0b329c);pointer-events:none}
.hero-arrow-top{top:35px;right:9%;transform:rotate(10deg)}
.hero-arrow-bottom{bottom:115px;left:4%;transform:rotate(-18deg)}
.hero-left-art,.hero-art{z-index:4;transition:transform .45s cubic-bezier(.16,1,.3,1),filter .3s ease}
.hero-left-art{left:10%;top:325px;width:195px;height:205px;border:6px solid #e2efff;border-radius:30px;background:linear-gradient(160deg,#a6c2ff,#346fe2 62%,#1945ae);box-shadow:13px 21px 0 #0b2c94,0 23px 36px #0a23747c;transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0) rotate(-13deg)}
.hero-left-art .code-orbit,.hero-left-art .left-spark{display:none}
.hero-left-art .code-portal{left:8%;top:9%;width:84%;height:74%;border:0;border-radius:17px;background:#1d258e;box-shadow:0 9px 18px #0828786b;transform:none;animation:none}
.hero-left-art .portal-top{height:31px;border-bottom:2px solid #748dff;padding:0 10px;gap:5px}
.hero-left-art .portal-top i{width:6px;height:6px}
.hero-left-art .portal-slash{font-size:64px;margin:9px 0 0;text-shadow:4px 4px 0 #00bf63}
.hero-left-art .portal-line{height:5px;margin:5px 11px}
.hero-left-art .left-badge{left:-28px;bottom:-20px;font-size:10px;box-shadow:0 6px 0 #0b2c94}
.hero-art{right:11%;top:175px;width:205px;height:240px;border:6px solid #e2efff;border-radius:30px;background:linear-gradient(155deg,#f5f8ff,#9fbcff 45%,#3873ec);box-shadow:13px 21px 0 #0b2c94,0 23px 36px #0a23747c;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotate(12deg)}
.hero-art .art-grid,.hero-art .art-orbit,.hero-art .art-disc,.hero-art .art-flower,.hero-art .art-star,.hero-art .score-chip,.hero-art .idea-chip{display:none}
.hero-art .trophy{left:7%;top:4%;width:86%;height:88%;filter:drop-shadow(0 10px 8px #17378055)}
.hero-art:after{content:'IDEIAS EM AÇÃO';position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#1741a8;font:700 9px 'Space Mono',monospace;letter-spacing:.08em}
.hero-summary{position:relative;z-index:7;background:#fff;color:var(--ink);padding:22px 0 25px;border-radius:42px 42px 0 0}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.summary-card{position:relative;display:flex;flex-direction:column;min-height:144px;padding:19px 22px;border-radius:21px;background:#f3f4fa;text-decoration:none;transition:transform .24s cubic-bezier(.16,1,.3,1),background .24s ease,box-shadow .24s ease}
.summary-card:hover,.summary-card:focus-visible{transform:translateY(-5px);background:#e8f0ff;box-shadow:0 12px 20px #182d8a1c}
.summary-index{font:700 10px 'Space Mono',monospace;color:#1549c6;letter-spacing:.05em;margin-bottom:13px}
.summary-card strong{font-size:19px;line-height:1.1;letter-spacing:-.035em;max-width:230px}
.summary-card small{font-size:12px;color:var(--body);margin-top:7px}
.summary-arrow{position:absolute;right:20px;bottom:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#c4f500;color:#14205b;font-size:18px}
@media(max-width:1100px){
  .hero-grid{min-height:630px}
  .hero h1{font-size:clamp(88px,10.5vw,120px)}
  .hero-left-art{left:3%;top:310px;transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0) rotate(-13deg) scale(.85)}
  .hero-art{right:4%;top:178px;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotate(12deg) scale(.85)}
  .hero-hash{left:4%;font-size:125px}
  .hero-arrow-top{right:3%}
}
@media(max-width:760px){
  .hero-grid{min-height:790px;align-items:flex-start;justify-content:flex-start}
  .hero-copy{padding:56px 0 0}
  .hero-meta{font-size:10px;margin-bottom:29px}
  .hero h1{font-size:clamp(64px,13.5vw,100px);line-height:.78;margin-bottom:26px}
  .hero-lede{font-size:16px;max-width:440px}
  .hero-hash{font-size:90px;left:1%;top:335px}
  .hero-arrow-top{width:85px;right:2%;top:300px}
  .hero-arrow-bottom{display:none}
  .hero-left-art{top:auto;bottom:31px;left:10%;width:150px;height:165px;transform:rotate(-13deg)}
  .hero-art{top:auto;bottom:92px;right:10%;width:145px;height:175px;transform:rotate(12deg)}
  .hero-left-art .portal-slash{font-size:47px}
  .hero-summary{border-radius:30px 30px 0 0;padding:18px 0}
  .summary-grid{grid-template-columns:1fr;gap:10px}
  .summary-card{min-height:112px;padding:16px 18px}
  .summary-index{margin-bottom:8px}
  .summary-card strong{font-size:18px}
}
@media(max-width:500px){
  .hero-grid{min-height:800px}
  .hero h1{font-size:clamp(61px,14vw,72px)}
  .hero-hash{top:350px;font-size:78px}
  .hero-left-art{left:7%;bottom:35px;width:138px;height:150px}
  .hero-art{right:7%;bottom:100px;width:135px;height:163px}
  .hero-arrow-top{top:350px;right:4%}
  .hero-footnote{max-width:340px}
}
@media(prefers-reduced-motion:reduce){.hero-left-art,.hero-art,.summary-card{transition:none}}

/* Let the headline remain fully legible beneath the floating pieces. */
.hero-left-art{left:2%}
.hero-art{right:2%}
@media(max-width:1100px){
  .hero-left-art{left:-3%}
  .hero-art{right:-3%}
}
@media(max-width:760px){
  .hero-hash{top:auto;bottom:220px;left:2%;font-size:70px}
  .hero-arrow-top{top:auto;bottom:235px;right:4%;width:80px}
  .hero-left-art{left:10%}
  .hero-art{right:10%}
}
@media(max-width:500px){
  .hero-hash{bottom:205px;left:3%;font-size:68px}
  .hero-arrow-top{bottom:220px;right:5%;width:70px}
  .hero-left-art{left:7%}
  .hero-art{right:7%}
}

/* The campaign composition uses the Code Hack purple, green and pink palette. */
.hero{background:#2d146f}
.hero h1{text-shadow:0 8px 0 #18063f}
.hero-hash{text-shadow:8px 9px 0 #18063f}
.hero-arrow{filter:drop-shadow(5px 5px 0 #18063f)}
.hero-left-art{background:linear-gradient(155deg,#e5d5ff,#9c6cf7 58%,#6334c9);box-shadow:13px 21px 0 #18063f,0 23px 36px #10052b70}
.hero-left-art .code-portal{background:#32136b;box-shadow:0 9px 18px #18063f70}
.hero-left-art .portal-top{border-color:#a475f0}
.hero-art{background:linear-gradient(155deg,#fff3fc,#f7b5de 48%,#9865e6);box-shadow:13px 21px 0 #18063f,0 23px 36px #10052b70}
.hero-art:after{color:#32136b}
.hero .button-primary{color:#251067;box-shadow:0 7px 0 #8b52f4}
.hero .button-primary:hover{box-shadow:0 13px 20px #10052b70}
.summary-card{background:#f6f2fc}
.summary-card:hover,.summary-card:focus-visible{background:#eee3ff;box-shadow:0 12px 20px #25106720}
.summary-index{color:#5329bd}
.summary-arrow{color:#251067}

/* Hanging participation passes. */
.audience{background:#8270ed;padding:92px 0}
.audience-board{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.85fr);gap:42px;min-height:490px;padding:26px 36px 30px;background:#fff;border-radius:30px;box-shadow:0 23px 35px #28115d30;overflow:hidden}
.audience-passes{display:flex;justify-content:center;align-items:flex-start;gap:42px;min-width:0;padding:100px 0 15px}
.audience-pass{position:relative;flex:0 1 185px;max-width:185px;min-width:0;height:326px;transform-origin:50% -82px;will-change:transform;cursor:default}
.audience-pass:hover,.audience-pass.is-tapped{z-index:3}
.audience-pass:nth-child(1){--pass-angle:-1.5deg}
.audience-pass:nth-child(2){--pass-angle:1deg}
.audience-pass:nth-child(3){--pass-angle:-.5deg}
.pass-strap{position:absolute;left:calc(50% - 10px);top:-88px;width:20px;height:111px;border:2px solid #534a80;border-radius:7px;background:repeating-linear-gradient(90deg,#b8e5e7 0 6px,#edfaff 6px 12px);box-shadow:3px 0 0 #ac9ad8}
.pass-strap:before{content:"";position:absolute;left:-8px;top:-5px;width:32px;height:12px;border-radius:6px;background:#32236c}
.pass-body{position:relative;display:flow-root;height:326px}
.pass-clip{position:absolute;top:16px;left:calc(50% - 16px);z-index:2;width:32px;height:23px;border:4px solid #38305e;border-radius:8px;background:#d7edf2;box-shadow:0 4px 0 #8372c1}
.pass-face{position:relative;display:flex;flex-direction:column;height:276px;margin-top:30px;padding:22px 15px 18px;border-radius:13px;background:var(--pass-color);box-shadow:0 13px 20px #2b176229;overflow:hidden;transition:filter .3s ease,box-shadow .3s ease}
.pass-face:before{content:"";position:absolute;inset:5px;background:repeating-linear-gradient(130deg,transparent 0 31px,#ffffff2b 31px 39px,transparent 39px 71px);border-radius:10px;pointer-events:none}
.pass-purple{--pass-color:#9a7af5}
.pass-blue{--pass-color:#a9e1ef}
.pass-lime{--pass-color:#c4f500}
.pass-shape{position:relative;z-index:1;display:grid;place-items:center;height:130px;margin:auto 0 13px;color:#382094;font:800 85px/.9 'Barlow Condensed',sans-serif;transform:rotate(-12deg);text-shadow:4px 4px 0 #ffffff75}
.pass-lime .pass-shape{font-size:51px;letter-spacing:-.05em}
.pass-type{position:relative;z-index:1;margin-top:auto;font:700 9px 'Space Mono',monospace;color:#3b2787}
.pass-face h3{position:relative;z-index:1;margin:8px 0 2px;font-size:20px;line-height:1.05;letter-spacing:-.045em;color:#241067}
.pass-face p{position:relative;z-index:1;margin:0;color:#35206d;font-size:12px;line-height:1.25}
.audience-pass:hover .pass-face,.audience-pass.is-tapped .pass-face{filter:brightness(1.045);box-shadow:0 19px 28px #2b17623d}
.audience-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:22px 16px 22px 0}
.audience-copy h2{font-size:clamp(42px,4.5vw,67px);line-height:.98;letter-spacing:-.055em;margin:0 0 23px;color:#251067}
.audience-copy h2 em{color:#8051e8}
.audience-copy p{max-width:370px;color:var(--body);font-size:16px;line-height:1.55;margin-bottom:24px}
.audience-copy .button-primary{background:#00bf63;color:#251067}
.audience-squiggle{position:absolute;right:3%;top:1%;color:#00bf63;font:700 62px 'Space Mono',monospace;transform:rotate(-18deg)}
.audience-hint{display:none}

/* Partner marks use images served by the organizations themselves. */
.partner-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:31px 0}
.partner-brand{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 24px;border-right:1px solid var(--line)}
.partner-brand:last-child{border-right:0}
.partner-brand>span{font:700 10px 'Space Mono',monospace;letter-spacing:.06em;color:#695795}
.partner-brand strong{font:700 26px 'Space Mono',monospace;color:#35249b;letter-spacing:-.07em}
.partner-brand img{display:block;max-width:145px;max-height:68px;width:auto;height:auto;object-fit:contain}
.partner-brand img[alt="Inteli"]{width:170px;height:87px;max-width:none;max-height:none;padding:10px;border-radius:10px;background:#251067;object-fit:contain}
.partner-brand img[alt="IBM"]{width:220px;height:90px;max-width:none;max-height:none;object-fit:cover}
@media(max-width:1100px){
  .audience-board{grid-template-columns:1fr;gap:10px;padding:22px}
  .audience-passes{order:2;padding-top:90px}
  .audience-copy{order:1;padding:20px 20px 0;align-items:center;text-align:center}
  .audience-copy p{margin-bottom:15px}
  .audience-squiggle{right:9%;top:0}
}
@media(max-width:760px){
  .audience{padding:62px 0}
  .audience-board{width:min(100% - 34px,560px);padding:17px;gap:6px}
  .audience-copy{padding:25px 8px 5px}
  .audience-copy h2{font-size:48px}
  .audience-copy p{font-size:15px}
  .audience-squiggle{display:none}
  .audience-passes{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:22px;margin:0 -17px;padding:95px 20px 26px;scrollbar-color:#8c6bec #fff}
  .audience-pass{flex:0 0 185px;max-width:none;scroll-snap-align:center}
  .audience-hint{display:block;order:3;margin:0 0 6px;text-align:center;color:#59448d;font:700 11px 'Space Mono',monospace}
  .partner-inner{grid-template-columns:1fr;padding:14px 0}
  .partner-brand{min-height:92px;border-right:0;border-bottom:1px solid var(--line)}
  .partner-brand:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){.audience-pass{transform:rotate(var(--pass-angle));will-change:auto}.pass-face{transition:none}}

/* Supplied partner identities. */
.club-logo{display:inline-flex;align-items:center;gap:5px;width:max-content;text-decoration:none;white-space:nowrap}
.club-logo-symbol{display:inline-flex;align-items:center;font:700 40px/.9 'Space Mono',monospace;letter-spacing:-.22em;padding-right:.18em;background:linear-gradient(145deg,#00bf78 12%,#8652ff 88%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.club-logo-symbol i{font-style:normal;margin:0 .04em}
.club-logo-name{display:flex;flex-direction:column;font:400 26px/.82 'DM Sans',sans-serif;letter-spacing:-.055em;color:#302649}
.site-header .brand.club-logo{gap:5px;letter-spacing:normal}
.site-header .club-logo-name{font-size:28px}
.site-header .club-logo-symbol{font-size:43px}
.partner-brand .club-logo{margin-top:2px}
.partner-brand .club-logo-symbol{font-size:52px}
.partner-brand .club-logo-name{font-size:34px}
.partner-brand img.inteli-logo{width:170px;height:auto;max-width:170px;max-height:none;padding:0;border-radius:0;background:transparent;object-fit:contain}
.partner-brand img.ibm-logo{width:265px;height:95px;max-width:none;max-height:none;object-fit:cover;background:#fff}
.footer-brand.club-logo{gap:5px}
.footer-brand .club-logo-name{color:#fff}
.hero-actions{margin-bottom:0}
@media(max-width:1200px){.site-header .club-logo-symbol{font-size:36px}.site-header .club-logo-name{font-size:23px}}
@media(max-width:760px){.site-header .club-logo-symbol{font-size:31px}.site-header .club-logo-name{font-size:21px}.partner-brand .club-logo-symbol{font-size:47px}.partner-brand .club-logo-name{font-size:31px}}

/* Restore the original Code Hack stage composition. */
.hero{background:#210747;color:#fff}
.hero:before{background:radial-gradient(ellipse at 52% 49%,#421378 0,transparent 52%);opacity:1}
.hero-grid{min-height:700px;align-items:center;justify-content:center}
.hero-copy{width:min(100%,700px);padding:115px 0 40px;z-index:5;text-align:center}
.hero-meta{justify-content:center;margin-bottom:35px;color:#c7fc3d;font-size:13px;text-shadow:0 2px 8px #210747}
.hero-meta .meta-divider{color:#fb83d4}
.hero h1{font-family:'Barlow Condensed','DM Sans',sans-serif;font-size:clamp(82px,8.8vw,128px);font-weight:900;letter-spacing:-.025em;line-height:.79;color:#fff;margin:0 0 28px;text-shadow:0 7px 0 rgba(13,0,38,.45)}
.hero h1 em{color:#b4ee00}
.hero h1 span{color:#fb83d4}
.hero-lede{color:#f2e9ff;max-width:540px;font-size:18px;font-weight:600;line-height:1.48;margin:0 auto;text-shadow:none}
.hero-actions{justify-content:center;margin:28px 0 0}
.hero .button-primary{background:#fff;color:#210747;box-shadow:0 8px 0 #8652ff}
.hero .button-primary:hover{box-shadow:0 12px 20px #10002370}
.hero-hash,.hero-arrow{display:none}
.hero-left-art,.hero-art{width:min(31vw,560px);height:550px;border:0;border-radius:0;background:none;box-shadow:none;z-index:1}
.hero-left-art{left:calc(50% - 50vw + 20px);top:110px;transform:translate3d(var(--hero-left-x,0px),var(--hero-left-y,0px),0)}
.hero-left-art .code-orbit,.hero-left-art .left-spark{display:block}
.hero-left-art .code-portal{left:11%;top:18%;width:72%;height:62%;border:8px solid #8b4fff;border-radius:25px;background:#32136b;transform:rotate(-14deg);box-shadow:20px 24px 0 #10002b,0 24px 38px #0e00275e;animation:portal-float 5.8s ease-in-out infinite}
.hero-left-art .portal-top{height:49px;border-bottom:5px solid #8b4fff;gap:8px;padding:0 17px}
.hero-left-art .portal-top i{width:10px;height:10px}
.hero-left-art .portal-slash{font-size:94px;margin:20px 0 6px;text-shadow:8px 8px 0 #00bf63}
.hero-left-art .portal-line{height:10px;margin:13px 22px;width:65%}
.hero-left-art .portal-line-two{width:43%}
.hero-left-art .left-badge{left:5%;bottom:5%;padding:11px 16px;font-size:13px;box-shadow:0 8px 0 #8b4fff}
.hero-art{right:calc(50% - 50vw + 20px);top:155px;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0)}
.hero-art .art-grid{display:none}
.hero-art .art-orbit,.hero-art .art-disc,.hero-art .art-flower,.hero-art .art-star,.hero-art .score-chip,.hero-art .idea-chip{display:block}
.hero-art .art-disc{left:9%;top:9%;width:81%}
.hero-art .art-orbit{left:1%;width:96%}
.hero-art .trophy{left:12%;top:12%;width:78%;height:auto;filter:drop-shadow(0 22px 15px rgba(37,16,103,.15))}
.hero-art .score-chip{right:0;bottom:5%}
.hero-art .idea-chip{left:3%;bottom:10%}
.hero-art:after{content:none}

/* Continuous event ribbon. */
.marquee{height:62px}
.marquee .marquee-track{display:flex;align-items:center;width:max-content;min-width:0;animation:marquee-flow 38s linear infinite}
.marquee-copy{display:block;flex:none;padding-right:30px}
@keyframes marquee-flow{to{transform:translateX(-50%)}}

@media(max-width:1100px){
  .hero-left-art,.hero-art{width:36vw;height:420px}
  .hero-left-art{top:205px}
  .hero-art{top:210px}
  .hero-copy{width:min(100%,610px)}
  .hero h1{font-size:clamp(76px,9vw,110px)}
  .hero-left-art .portal-slash{font-size:75px}
}
@media(max-width:760px){
  .hero-grid{min-height:770px;align-items:flex-start;justify-content:flex-start}
  .hero-copy{width:100%;padding:58px 0 0}
  .hero-meta{font-size:10px;margin-bottom:23px;gap:8px}
  .hero h1{font-size:clamp(62px,13.5vw,96px);line-height:.8;margin-bottom:24px}
  .hero-lede{font-size:16px;max-width:500px}
  .hero-actions{margin-top:24px;gap:18px;flex-wrap:wrap}
  .hero-left-art,.hero-art{top:auto;bottom:18px;width:54vw;height:275px}
  .hero-left-art{left:-8%}
  .hero-art{right:-8%}
  .hero-left-art .code-portal{border-width:5px}
  .hero-left-art .portal-top{height:30px;border-bottom-width:3px}
  .hero-left-art .portal-slash{font-size:56px;margin:10px 0 2px}
  .hero-left-art .portal-line{height:6px;margin:8px 12px}
  .hero-left-art .left-spark-one{font-size:52px}
  .hero-left-art .left-spark-two{font-size:45px}
  .hero-left-art .left-badge{font-size:8px;padding:7px 9px}
  .hero-art .score-chip{display:none}
  .hero-art .idea-chip{font-size:8px;padding:7px 9px}
}
@media(max-width:500px){
  .hero-grid{min-height:720px}
  .hero-copy{padding-top:45px}
  .hero h1{font-size:clamp(58px,14vw,70px)}
  .hero-meta{line-height:1.5}
  .hero-left-art,.hero-art{width:58vw;height:230px;bottom:12px}
  .hero-left-art{left:-13%}
  .hero-art{right:-13%}
  .hero-left-art .portal-slash{font-size:45px}
  .hero-art .idea-chip{display:none}
}
@media(prefers-reduced-motion:reduce){.marquee .marquee-track,.hero-left-art .code-portal{animation:none}}

/* Bento-style explanation of the three judging weights. */
.judging{background:var(--paper)}
.judging-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.judge{position:relative;display:flex;flex-direction:column;min-width:0;min-height:320px;padding:27px 29px;border:0;border-radius:32px;overflow:hidden;isolation:isolate}
.judge-tech{grid-column:span 7;background:#7139d2;color:#fff}
.judge-business{grid-column:span 5;background:var(--lime);color:var(--ink)}
.judge-public{grid-column:span 12;background:#ffa1da;color:var(--ink);min-height:260px}
.judge-public .judge-main{display:grid;grid-template-columns:185px minmax(0,1fr);column-gap:28px;align-items:center;max-width:760px}
.judge-public .judge-percent{grid-row:span 2;margin:0}
.judge-public h3{align-self:end}
.judge-public p{align-self:start;max-width:480px}
.judge-card-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 11px 'Space Mono',monospace;letter-spacing:.04em}
.judge-card-mark{display:grid;place-items:center;width:35px;height:35px;font-size:28px;line-height:1;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.judge-main{position:relative;z-index:2;margin-top:auto}
.judge-percent{font-size:clamp(78px,8vw,116px);line-height:.82;letter-spacing:-.085em;font-weight:800;margin:4px 0 21px}
.judge-percent span{font-size:.38em;letter-spacing:-.06em;margin-left:3px}
.judge h3{font-size:clamp(25px,2.7vw,35px);line-height:1.05;letter-spacing:-.045em;margin:0 0 8px}
.judge p{font-size:15px;line-height:1.42;max-width:360px;margin:0}
.judge-bar{position:relative;z-index:2;flex:none;height:10px;margin:22px 0 0;background:#ffffff60;border-radius:20px}
.judge-bar i{background:var(--lime)}
.judge-business .judge-bar,.judge-public .judge-bar{background:#25106730}
.judge-business .judge-bar i,.judge-public .judge-bar i{background:var(--ink)}
.judge-tech-content{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(0,1.15fr);gap:23px;align-items:center;flex:1}
.judge-tech .judge-main{margin-top:0}
.judge-chip-stack{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:10px}
.judge-chip-stack span{display:inline-flex;align-items:center;gap:9px;min-width:180px;padding:15px 18px;border-radius:18px;background:#fff;color:#21134d;box-shadow:0 7px 0 #4d229e;font-size:17px;font-weight:800;line-height:1;transform:rotate(-3deg);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.judge-chip-stack span:nth-child(2){margin:-3px 0 0 24px;transform:rotate(3deg)}
.judge-chip-stack span:nth-child(3){margin:-3px 0 0 10px;transform:rotate(-2deg)}
.judge-chip-stack b{font-size:19px;color:#fb785a}
.judge-chip-stack span:nth-child(2) b{color:#ffd119}
.judge-chip-stack span:nth-child(3) b{color:#6591f2}
.judge-stickers,.judge-votes{position:absolute;z-index:1;right:25px;top:65px;display:flex;align-items:center;justify-content:center;gap:7px;transform:rotate(7deg);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.judge-stickers span{display:grid;place-items:center;width:53px;height:53px;border-radius:17px;background:#fff;color:#ff764f;font-size:32px;box-shadow:0 7px 0 #7aa800}
.judge-stickers span:nth-child(2){color:#8652ff;transform:translateY(-13px) rotate(10deg)}
.judge-stickers span:nth-child(3){color:#00bf63;transform:translateY(6px) rotate(-13deg)}
.judge-votes{top:71px;right:55px;gap:0;transform:rotate(-8deg)}
.judge-votes span{display:grid;place-items:center;width:60px;height:60px;margin-left:-11px;border:4px solid #ffa1da;border-radius:50%;background:#fff;color:#28136e;font-size:30px;box-shadow:0 7px 0 #df6cad}
.judge-votes span:nth-child(2){background:#c4f500;color:#28136e;transform:translateY(-15px)}
.judge-votes span:nth-child(3){background:#ffd070;color:#28136e;transform:translateY(4px)}
.judge:hover .judge-card-mark,.judge.is-tapped .judge-card-mark{transform:rotate(35deg) scale(1.14)}
.judge-tech:hover .judge-chip-stack span:first-child,.judge-tech.is-tapped .judge-chip-stack span:first-child{transform:translateY(-7px) rotate(-5deg)}
.judge-business:hover .judge-stickers,.judge-business.is-tapped .judge-stickers{transform:translateY(-8px) rotate(-7deg)}
.judge-public:hover .judge-votes,.judge-public.is-tapped .judge-votes{transform:translateY(-8px) rotate(6deg)}
@media(max-width:1000px){
  .judge-tech,.judge-business{grid-column:span 6}
  .judge-public{grid-column:span 12}
  .judge-tech-content{grid-template-columns:1fr;align-items:end}
  .judge-tech .judge-chip-stack{position:absolute;right:20px;top:65px;transform:scale(.7);transform-origin:top right}
  .judge-tech .judge-main{margin-top:auto}
}
@media(max-width:760px){
  .judging-grid{grid-template-columns:1fr;gap:13px}
  .judge-tech,.judge-business,.judge-public{grid-column:1;min-height:290px}
  .judge-public .judge-main{display:block;max-width:none}
  .judge-public .judge-percent{margin:4px 0 21px}
  .judge-tech .judge-chip-stack{position:relative;right:auto;top:auto;transform:none;grid-row:1;grid-column:1}
  .judge-tech-content{grid-template-columns:minmax(145px,.75fr) minmax(0,1.25fr);gap:8px}
  .judge-chip-stack span{min-width:145px;padding:12px 11px;font-size:13px;border-radius:12px}
  .judge-chip-stack span:nth-child(2){margin-left:15px}
  .judge-chip-stack span:nth-child(3){margin-left:6px}
  .judge-percent{font-size:82px}
  .judge h3{font-size:29px}
}
@media(max-width:500px){
  .judge{padding:23px;min-height:300px}
  .judge-tech-content{display:block}
  .judge-tech .judge-chip-stack{position:absolute;right:10px;top:51px;transform:scale(.63);transform-origin:top right}
  .judge-tech .judge-main{margin-top:93px}
  .judge-tech .judge-percent{font-size:78px}
  .judge-stickers span{width:42px;height:42px;font-size:25px}
  .judge-votes span{width:48px;height:48px;font-size:24px}
}
@media(prefers-reduced-motion:reduce){.judge-card-mark,.judge-chip-stack span,.judge-stickers,.judge-votes{transition:none}}

/* The main statement uses the same type family as the rest of the page. */
.hero-copy{width:min(100%,790px)}
.hero h1{font-family:'DM Sans',sans-serif;font-size:clamp(80px,6.2vw,112px);font-weight:900;line-height:.92;letter-spacing:-.075em;text-shadow:0 7px 0 #12052f}

/* Bright editorial tiles inspired by the supplied visual reference. */
.creative-mosaic{background:#fff;padding:34px 0 74px}
.mosaic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mosaic-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;height:190px;padding:22px;border-radius:29px;overflow:hidden;isolation:isolate}
.mosaic-label{position:relative;z-index:2;font:700 10px 'Space Mono',monospace;letter-spacing:.06em}
.mosaic-tile strong{position:relative;z-index:2;font-size:clamp(24px,2.3vw,36px);line-height:.9;letter-spacing:-.07em}
.mosaic-purple{background:#8255ed;color:#fff}
.mosaic-purple .mosaic-corner{position:absolute;right:13px;bottom:4px;color:#b4ee00;font-size:75px;line-height:1;transform:rotate(-10deg);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.mosaic-pink{background:#fa8bd5;color:#361679;align-items:center;justify-content:center}
.mosaic-big-star{font-size:168px;line-height:1;color:#00bf63;transform:rotate(-13deg);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.mosaic-loop{position:absolute;right:13px;bottom:-35px;font:800 130px/1 'DM Sans',sans-serif;color:#fff4}
.mosaic-lime{background:#b4ee00;color:#251067}
.mosaic-lime:after{content:"";position:absolute;right:-35px;top:37px;width:135px;height:135px;border:15px solid #00bf63;border-radius:50%;opacity:.85}
.mosaic-paper{background:#f6f2ff;border:1px solid #ded3f2;color:#251067;align-items:center;justify-content:center;gap:14px}
.mosaic-code{font:700 clamp(38px,4vw,63px)/1 'Space Mono',monospace;letter-spacing:-.13em;padding-right:.13em;background:linear-gradient(125deg,#00bf63,#8652ff);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.mosaic-blue{background:#81aff5}
.mosaic-orbit{position:absolute;left:17%;top:9%;width:76%;height:81%;border:3px dashed #251067;border-radius:50%;transform:rotate(-25deg)}
.mosaic-arrow{position:relative;z-index:1;align-self:center;font:800 160px/.8 'DM Sans',sans-serif;color:#c4f500;transform:rotate(8deg);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.mosaic-green{background:#00bf63;color:#c4f500;justify-content:center}
.mosaic-green strong{font-size:clamp(33px,3vw,50px);line-height:.79;letter-spacing:-.09em}
.mosaic-cream{background:#fff0c5;color:#f67d61;align-items:center;justify-content:center}
.mosaic-waves{font:900 105px/.9 'Barlow Condensed',sans-serif;letter-spacing:-.12em;transform:rotate(90deg)}
.mosaic-cream .mosaic-label{position:absolute;left:19px;bottom:17px;color:#251067}
.mosaic-violet{background:#8856ed;color:#fff}
.mosaic-sun{position:absolute;right:12px;top:-30px;color:#c4f500;font-size:143px;line-height:1;transform:rotate(-15deg)}
.mosaic-violet strong{margin-top:auto}
.mosaic-coral{background:#fa9175;color:#251067;justify-content:center}
.mosaic-ribbon{position:absolute;left:-35px;top:45px;width:140%;padding:13px 0;background:#fff5d8;font:700 11px 'Space Mono',monospace;white-space:nowrap;transform:rotate(-14deg)}
.mosaic-dot{position:absolute;right:-22px;bottom:-48px;width:145px;height:145px;border-radius:50%;background:#c4f500}
.mosaic-dark{background:#251067;color:#fff}
.mosaic-dark .mosaic-label{color:#c4f500}
.mosaic-dark strong{font-size:clamp(35px,3.2vw,50px)}
.mosaic-dark strong span{color:#fb83d4;margin-left:6px}
.mosaic-tile:hover .mosaic-corner,.mosaic-tile.is-tapped .mosaic-corner{transform:translate(8px,-8px) rotate(0)}
.mosaic-tile:hover .mosaic-big-star,.mosaic-tile.is-tapped .mosaic-big-star{transform:rotate(20deg) scale(1.07)}
.mosaic-tile:hover .mosaic-arrow,.mosaic-tile.is-tapped .mosaic-arrow{transform:translate(8px,-8px) rotate(15deg)}
@media(max-width:1100px){.hero h1{font-size:clamp(68px,8.2vw,92px)}.mosaic-tile{height:165px;padding:17px}}
@media(max-width:760px){
  .hero-copy{width:100%}
  .hero h1{font-size:clamp(50px,10.8vw,72px);line-height:.99;letter-spacing:-.075em}
  .creative-mosaic{padding:21px 0 58px}
  .mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mosaic-tile{height:145px;padding:15px;border-radius:22px}
  .mosaic-tile strong{font-size:clamp(23px,6vw,33px)}
  .mosaic-big-star{font-size:125px}
  .mosaic-arrow{font-size:122px}
  .mosaic-green strong{font-size:33px}
  .mosaic-dark strong{font-size:36px}
}
@media(max-width:500px){.hero h1{font-size:clamp(45px,11vw,55px)}.mosaic-tile{height:132px}.mosaic-label{font-size:8px}.mosaic-code{font-size:40px}.mosaic-waves{font-size:80px}}
@media(prefers-reduced-motion:reduce){.mosaic-corner,.mosaic-big-star,.mosaic-arrow{transition:none}}
