:root{--navy:#061a3a;--ink:#102143;--cream:#f7f3ea;--paper:#fffdf8;--gold:#ba8a35;--blue:#1975ba;--line:#d8d1c3;--sans:"DM Sans",Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.5}.site-header{position:absolute;top:0;z-index:5;width:100%;display:flex;align-items:center;justify-content:space-between;padding:27px clamp(24px,6vw,88px)}.brand{color:var(--navy);font-weight:700;font-size:clamp(1.7rem,3vw,2.7rem);line-height:.7;text-decoration:none;letter-spacing:-2px}.brand span{font-weight:500}.brand::after{content:"";display:block;width:34px;height:3px;margin-top:15px;background:var(--gold)}.brand small{display:block;margin:15px 0 0 42px;font:600 9px/1.2 var(--sans);text-transform:uppercase;letter-spacing:3px}.site-nav{display:flex;align-items:center;gap:clamp(18px,3vw,45px);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700}.site-nav a{color:var(--ink);text-decoration:none}.nav-cta{border-bottom:2px solid var(--gold);padding:10px 0}.menu-button{display:none;background:none;border:0}.hero{position:relative;overflow:hidden;min-height:735px;padding:180px clamp(24px,6vw,88px) 100px;background:linear-gradient(110deg,#f8f5ee 0%,#f9f6ed 38%,rgba(250,228,190,.7) 67%,#eaa54a 100%)}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,234,.98) 0%,rgba(247,243,234,.82) 36%,rgba(247,243,234,.05) 69%);z-index:1}.hero-content{position:relative;z-index:2;max-width:680px}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.hero h1,.section h2,.register-section h2{margin:0;font:600 clamp(3.2rem,6.2vw,6.3rem)/.94 var(--serif);letter-spacing:-4px}.hero h1 em,.register-section em{color:var(--gold);font-style:normal}.gold-rule,.mini-rule{width:50px;height:2px;background:var(--gold);margin:27px 0}.hero-label{margin:0;font:600 clamp(1.3rem,2vw,2rem) var(--serif)}.hero-label span{font:500 13px var(--sans);color:#596172}.hero-copy{max-width:490px;margin:12px 0 24px;color:#46516b}.button{display:inline-flex;align-items:center;gap:30px;padding:15px 23px;border-radius:999px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.2px;text-decoration:none}.button span{font-size:19px}.button-primary{color:#fff;background:var(--navy)}.sun{position:absolute;right:9%;top:190px;width:145px;height:145px;border-radius:50%;background:#fff4bc}.mountains{position:absolute;left:-5%;right:-5%;bottom:0;clip-path:polygon(0 55%,10% 40%,18% 55%,31% 19%,44% 56%,58% 36%,67% 54%,79% 8%,91% 44%,100% 25%,100% 100%,0 100%)}.mountain-back{height:315px;background:linear-gradient(#b8b3bf,#5d6576);opacity:.45}.mountain-front{height:230px;background:linear-gradient(145deg,#7d8088,#252e3d);opacity:.86}.skyline{position:absolute;right:3%;bottom:130px;width:42%;height:205px;background:linear-gradient(90deg,transparent 0 8%,#354355 8% 11%,transparent 11% 14%,#455264 14% 17%,transparent 17% 21%,#26364d 21% 26%,transparent 26% 30%,#354355 30% 36%,transparent 36% 39%,#27364a 39% 46%,transparent 46% 50%,#38465a 50% 54%,transparent 54% 58%,#304157 58% 63%,transparent 63% 68%,#425169 68% 74%,transparent 74% 79%,#304054 79% 85%,transparent 85%);opacity:.74}.explorer{position:absolute;z-index:2;right:16%;bottom:65px;width:145px;height:225px}.head{position:absolute;top:0;left:58px;width:47px;height:52px;background:#201e22;border-radius:48% 49% 40% 40%}.body{position:absolute;bottom:0;left:16px;width:126px;height:180px;border-radius:55px 55px 0 0;background:#102030;transform:skew(-8deg)}.backpack{position:absolute;right:0;bottom:18px;width:68px;height:112px;background:#1c2b3a;border:5px solid #0d1724;border-radius:21px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:-1px auto 0;background:var(--paper);position:relative;z-index:3;border-radius:20px 20px 0 0}.pillars article{display:flex;gap:15px;align-items:center;justify-content:center;padding:23px;border-right:1px solid var(--line)}.pillars article:last-child{border:0}.pillar-icon{font-size:36px}.pillars h2{margin:0;text-transform:uppercase;font-size:10px;letter-spacing:1.2px}.section{padding:95px clamp(24px,6vw,88px)}.section-heading{text-align:center;max-width:660px;margin:0 auto 52px}.section-heading h2{font-size:clamp(2.5rem,4.4vw,4.4rem);letter-spacing:-2px}.section-heading>p:last-child{color:#697185}.timeline{display:grid;grid-template-columns:repeat(3,1fr);max-width:1110px;margin:auto;background:var(--paper);border-radius:17px;box-shadow:0 12px 35px rgba(6,26,58,.08)}.timeline article{text-align:center;padding:36px 30px;border-right:1px solid var(--line)}.timeline article:last-child{border:0}.number{display:grid;place-items:center;width:42px;height:42px;margin:-58px auto 15px;border-radius:50%;color:#fff;background:var(--navy);font-weight:700}.number.blue{background:var(--blue)}.number.gold{background:var(--gold)}h3{font:600 1.35rem var(--serif);margin:0}.date{font-size:12px;font-weight:700}.mini-rule{height:2px;width:25px;margin:14px auto}.timeline article>p:last-child{font:14px var(--serif);color:#525d70}.how-it-works{background:#fffdfa}.inline-heading{display:flex;align-items:end;justify-content:space-between;max-width:none;text-align:left}.inline-heading>p:last-child{font:14px var(--serif)}.steps{display:grid;grid-template-columns:repeat(6,1fr);padding:0;margin:0;list-style:none}.steps li{text-align:center;padding:0 10px;position:relative}.steps li:not(:last-child)::after{content:"›";position:absolute;right:-4px;top:22px;color:#9199a6;font-size:27px}.step-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border:1px solid #9ea7b4;border-radius:50%;font-weight:700;font-size:20px}.steps h3{font-size:1rem}.steps p{font:13px/1.35 var(--serif);margin:5px 0;color:#586175}.register-section{display:flex;justify-content:space-between;gap:50px;align-items:center;padding:80px clamp(24px,10vw,160px);color:#fff;background:var(--navy)}.register-section h2{font-size:clamp(2.4rem,4.5vw,4.5rem);letter-spacing:-2px}.register-section>div>p:last-child{max-width:500px;color:#ced7e5}.register-card{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;min-width:300px;padding:21px;background:#0c2b58;border:1px solid #284977}.register-card p{font:14px var(--serif);margin:0}.qr-placeholder{display:grid;place-items:center;width:86px;height:86px;color:var(--navy);background:repeating-conic-gradient(#061a3a 0 25%,#fff 0 50%) 50%/16px 16px}.qr-placeholder span{padding:5px;color:#fff;background:var(--navy);font-size:9px;text-align:center}.button-light{grid-column:1/-1;justify-content:space-between;color:var(--navy);background:#fff}.button[aria-disabled="true"]{cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(24px,6vw,88px);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--cream)}@media(max-width:760px){.site-header{padding:22px 24px}.brand small{font-size:7px;letter-spacing:2px}.site-nav{position:absolute;left:20px;right:20px;top:85px;display:none;flex-direction:column;align-items:stretch;padding:20px;background:#fffdf8;box-shadow:0 10px 25px #071a3a20}.site-nav.is-open{display:flex}.menu-button{display:grid;gap:4px}.menu-button span:not(.sr-only){display:block;width:24px;height:2px;background:var(--navy)}.hero{min-height:690px;padding:155px 24px 55px}.hero h1{font-size:3.35rem;letter-spacing:-3px}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.96),rgba(247,243,234,.63))}.explorer{right:4%;transform:scale(.78);transform-origin:bottom right}.skyline{width:75%;bottom:100px}.sun{right:-25px;top:220px}.pillars{grid-template-columns:repeat(2,1fr);border-radius:0}.pillars article{justify-content:flex-start;padding:18px}.pillars article:nth-child(2){border-right:0}.timeline,.steps{grid-template-columns:1fr}.timeline article{border-right:0;border-bottom:1px solid var(--line);padding:35px 24px}.timeline article:last-child{border-bottom:0}.number{margin:-56px auto 15px}.inline-heading{display:block}.steps{gap:30px}.steps li{display:grid;grid-template-columns:65px 1fr;text-align:left;column-gap:15px}.steps li .step-icon{grid-row:span 2;margin:0}.steps li p{margin:2px 0}.steps li:not(:last-child)::after{display:none}.register-section{display:block}.register-card{margin-top:30px;min-width:0}footer{display:block}.hero-copy{max-width:360px}}

/* Official logo lockup and gentle hero motion */
.brand{display:flex;align-items:center;gap:10px}.brand-name{display:block}.brand-name>span{font-weight:500}.brand::after{position:absolute;top:104px;margin:0}.brand-mark{display:grid;place-items:center;width:49px;height:49px;overflow:hidden;border:1px solid rgba(186,138,53,.5);border-radius:50%;background:#172131;box-shadow:0 6px 15px rgba(6,26,58,.16)}.brand-mark img{width:163px;height:50px;max-width:none;object-fit:cover}.brand small{margin-left:2px}.hero{background:linear-gradient(120deg,#f9f6ed 0%,#f8f3e8 37%,#f5d9ac 69%,#d88632 100%);isolation:isolate}.hero::before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 72% 39%,rgba(255,255,237,.88),transparent 19%),radial-gradient(circle at 84% 50%,rgba(218,114,28,.22),transparent 29%);animation:sky-shift 13s ease-in-out infinite alternate}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.98) 0%,rgba(247,243,234,.8) 38%,rgba(247,243,234,.04) 72%)}.aurora{position:absolute;z-index:0;right:-13%;top:30%;width:72%;height:360px;background:radial-gradient(ellipse,rgba(255,237,173,.65),transparent 64%);filter:blur(14px);animation:breathe 8s ease-in-out infinite}.orbit{position:absolute;z-index:1;border:1px solid rgba(255,255,240,.55);border-radius:50%;transform:rotate(-22deg);pointer-events:none}.orbit-one{right:-3%;top:125px;width:520px;height:210px;animation:drift 10s ease-in-out infinite}.orbit-two{right:4%;top:96px;width:350px;height:145px;border-color:rgba(186,138,53,.36);animation:drift 13s ease-in-out infinite reverse}.signal{position:absolute;z-index:2;width:7px;height:7px;border-radius:50%;background:#fff7d5;}.signal-one{right:23%;top:180px}.signal-two{right:7%;top:370px;animation-delay:-3s}.mountains{z-index:1}.skyline{z-index:2}.explorer{z-index:3}@keyframes sky-shift{to{transform:translate3d(-2%,1%,0) scale(1.03)}}@keyframes sunrise{50%{transform:translateY(-9px);box-shadow:0 0 105px 48px rgba(255,237,178,.9)}}@keyframes breathe{50%{transform:scale(1.08);opacity:.75}}@keyframes drift{50%{transform:rotate(-16deg) translateY(9px)}}@keyframes float{50%{transform:translateY(-18px) translateX(8px);opacity:.55}}@media(max-width:760px){.brand{gap:7px;font-size:1.8rem}.brand-mark{width:39px;height:39px}.brand-mark img{width:128px;height:40px}.brand::after{top:89px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Refined official logo, reference hero crop, and consistent line icons */
.brand{gap:0}.brand-mark{width:216px;height:66px;padding:0;border:0;border-radius:8px;background:#202225;box-shadow:0 8px 18px rgba(6,26,58,.14)}.brand-mark img{display:block;width:216px;height:66px;max-width:100%;object-fit:cover}.brand::after{top:107px}.hero-photo{position:absolute;z-index:0;inset:0 0 0 42%;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:75% 53%;filter:saturate(.92) contrast(.97) brightness(1.05)}.hero::before{z-index:0;opacity:.5}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,1) 0%,rgba(247,243,234,.94) 32%,rgba(247,243,234,.38) 54%,rgba(247,243,234,.03) 77%)}.aurora,.sun,.orbit,.signal{display:none}.pillar-icon{position:relative;display:block;width:36px;height:36px;color:var(--navy);font-size:0}.pillar-icon::before,.pillar-icon::after{content:"";position:absolute;box-sizing:border-box}.icon-globe{border:2px solid currentColor;border-radius:50%}.icon-globe::before{inset:5px 11px;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;border-radius:50%}.icon-globe::after{left:3px;right:3px;top:16px;border-top:1.5px solid currentColor}.icon-people::before{left:8px;top:3px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%;box-shadow:12px 4px 0 -1px var(--paper),12px 4px 0 0 currentColor}.icon-people::after{left:2px;bottom:4px;width:23px;height:15px;border:2px solid currentColor;border-bottom:0;border-radius:15px 15px 0 0;box-shadow:12px 3px 0 -1px var(--paper),12px 3px 0 0 currentColor}.icon-book{border:2px solid currentColor;border-radius:2px}.icon-book::before{top:-2px;bottom:-2px;left:16px;border-left:2px solid currentColor}.icon-book::after{top:7px;left:6px;width:8px;border-top:1.5px solid currentColor;box-shadow:11px 0 0 -0.2px currentColor}.icon-trophy::before{left:10px;top:3px;width:17px;height:17px;border:2px solid currentColor;border-radius:0 0 10px 10px}.icon-trophy::after{left:15px;bottom:2px;width:9px;height:10px;border-bottom:2px solid currentColor;border-left:2px solid currentColor;border-right:2px solid currentColor;box-shadow:-8px -20px 0 -6px currentColor,8px -20px 0 -6px currentColor}@media(max-width:760px){.brand-mark{width:156px;height:48px}.brand-mark img{width:156px;height:48px}.brand::after{top:82px}.hero-photo{left:0}.hero-photo img{object-position:72% 50%;filter:saturate(.8) brightness(1.12)}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.95),rgba(247,243,234,.68))}}

/* Final header lockup and original hero art: no reference-page text behind the headline. */
.hero-photo{display:none}.brand{gap:11px}.brand-mark{display:grid;width:53px;height:53px;overflow:hidden;flex:none;border:1px solid rgba(186,138,53,.56);border-radius:50%;background:#172131;box-shadow:0 7px 16px rgba(6,26,58,.14)}.brand-mark img{width:174px;height:53px;max-width:none;object-fit:cover;transform:scale(1.65);transform-origin:50% 15%}.brand-name{display:block;color:var(--navy);font-size:clamp(1.7rem,3vw,2.7rem);font-weight:700;letter-spacing:-2px}.brand-name .neura{font-weight:500}.brand-name .viz{color:#1975ba}.brand small{margin:11px 0 0 2px;color:var(--ink);font-size:9px;letter-spacing:3px}.brand::after{top:108px}.hero{background:linear-gradient(120deg,#faf8f1 0%,#f8f2e6 38%,#f6d7a0 70%,#d78938 100%)}.hero::before{z-index:0;display:block;opacity:1;background:radial-gradient(circle at 73% 39%,rgba(255,255,237,.91),transparent 18%),radial-gradient(circle at 84% 50%,rgba(218,114,28,.2),transparent 30%);animation:sky-shift 13s ease-in-out infinite alternate}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.99) 0%,rgba(247,243,234,.84) 39%,rgba(247,243,234,.08) 73%)}.aurora{display:block}.sun{display:block;z-index:1}.orbit{display:block}.signal{display:block}.hero .mountains{z-index:1}.hero .skyline{z-index:2}.hero .explorer{z-index:3}@media(max-width:760px){.brand{gap:8px}.brand-mark{width:42px;height:42px}.brand-mark img{width:139px;height:42px}.brand-name{font-size:1.75rem}.brand small{font-size:7px;letter-spacing:2px;margin-top:8px}.brand::after{top:90px}}

/* Transparent emblem and sunset/city hero, derived from the supplied images. */
.brand-mark{width:52px;height:52px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.brand-mark img{display:block;width:52px;height:52px;max-width:none;object-fit:contain;transform:none}.hero-photo{display:block;z-index:0;inset:0 0 0 42%;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.92) contrast(.98) brightness(1.06)}.hero::before{display:none}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,1) 0%,rgba(247,243,234,.96) 31%,rgba(247,243,234,.48) 49%,rgba(247,243,234,.04) 74%)}.aurora,.sun,.orbit,.signal,.hero .mountains,.hero .skyline,.hero .explorer{display:none}@media(max-width:760px){.brand-mark,.brand-mark img{width:42px;height:42px}.hero-photo{left:0}.hero-photo img{object-position:70% center}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.93),rgba(247,243,234,.53))}}

/* Clean wordmark header and a quiet footer emblem while the HD image is prepared. */
.site-header .brand-mark{display:none}.brand{gap:0}.brand::after{top:104px}.hero-photo{display:none}.hero::before{display:block;z-index:0;opacity:1}.hero::after{background:linear-gradient(90deg,rgba(247,243,234,.99) 0%,rgba(247,243,234,.84) 39%,rgba(247,243,234,.08) 73%)}.aurora,.sun,.orbit,.signal{display:block}.hero .mountains,.hero .skyline,.hero .explorer{display:block}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:30px;height:30px;opacity:.72;object-fit:contain}.footer-brand p{margin:0}@media(max-width:760px){.brand::after{top:88px}.footer-brand{margin-top:14px}}

/* Inline SVG icons are used so every browser renders the six challenge steps consistently. */
.step-icon{color:var(--navy)}.step-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* Keep the challenge year in the same event-title typeface. */
.hero-label span{font:inherit;color:var(--ink)}


/* Mobile hero readability: keep event information above decorative art. */
.hero-label{color:var(--navy)}.hero-copy{color:#203557;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.75)}
@media(max-width:760px){.hero{min-height:700px;padding-top:145px;background:linear-gradient(145deg,#faf7ef 0%,#f7f0de 60%,#eed19d 100%)}.hero .mountains,.hero .skyline,.hero .explorer,.hero .aurora,.hero .sun,.hero .orbit,.hero .signal{display:none!important}.hero::before{display:none!important}.hero::after{display:none}.hero-content{max-width:100%}.hero-label{display:inline-block;margin-top:2px;padding:8px 10px;background:rgba(255,253,248,.88);box-shadow:0 5px 18px rgba(6,26,58,.07)}.hero-label span{display:block;margin-top:2px;font:inherit;color:var(--navy)}.hero-copy{max-width:280px;margin:10px 0 18px;padding:8px 10px;border-left:1px solid var(--gold);background:rgba(255,253,248,.82);font-size:13px;line-height:1.45}.button-primary{position:relative;z-index:3}}

/* Final AI Challenge hero: supplied high-resolution artwork with a minimal readability overlay. */
.hero{min-height:760px;background-image:url('../images/hero-ai-challenge.jpg');background-size:cover;background-position:center center}.hero::before{display:none!important}.hero::after{display:block!important;background:linear-gradient(90deg,rgba(248,245,237,.98) 0%,rgba(248,245,237,.95) 34%,rgba(248,245,237,.66) 50%,rgba(248,245,237,.12) 74%,rgba(248,245,237,0) 100%)}.hero .mountains,.hero .skyline,.hero .explorer,.hero .aurora,.hero .sun,.hero .orbit,.hero .signal{display:none!important}.hero-content{max-width:650px}.hero-copy{max-width:470px;color:#203557;font-weight:500;text-shadow:none}.hero-label{color:var(--navy)}
@media(max-width:760px){.hero{min-height:720px;padding:145px 24px 52px;background-position:62% center}.hero::after{display:block!important;background:linear-gradient(90deg,rgba(248,245,237,.96) 0%,rgba(248,245,237,.90) 54%,rgba(248,245,237,.48) 100%)}.hero-label{background:rgba(255,253,248,.88)}.hero-copy{max-width:280px;background:rgba(255,253,248,.86)}}

/* Registration card without QR, "Need help?" contact section and floating WhatsApp button. */
.register-card{grid-template-columns:1fr}.help-section{padding-bottom:70px}.help-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1110px;margin:auto;padding:0;list-style:none}.help-card{display:flex;flex-direction:column;align-items:flex-start;gap:22px;height:100%;padding:30px 28px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--paper);text-decoration:none;box-shadow:0 12px 35px rgba(6,26,58,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}a.help-card:hover{transform:translateY(-4px);border-color:rgba(186,138,53,.65);box-shadow:0 18px 42px rgba(6,26,58,.12)}.help-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border:1px solid rgba(186,138,53,.55);border-radius:50%;color:var(--navy);background:var(--cream);box-shadow:inset 0 0 0 4px var(--paper);transition:background .25s ease,color .25s ease,border-color .25s ease}.help-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a.help-card:hover .help-icon{color:#fff;background:var(--navy);border-color:var(--navy)}.help-body{display:flex;flex:1;flex-direction:column;width:100%;min-width:0}.help-card h3{margin:0 0 6px;font-size:1.3rem}.help-value{margin-bottom:18px}.help-value{display:block;color:var(--navy);font-size:15px;font-weight:600;overflow-wrap:anywhere}.help-action{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.help-action{line-height:20px}.help-action span{font-size:16px;line-height:20px;transition:transform .25s ease}a.help-card:hover .help-action span{transform:translateX(4px)}.help-note{color:#697185}.wa-float{position:fixed;right:16px;right:max(16px,env(safe-area-inset-right));bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:10;display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--gold);border-radius:50%;color:#fff;background:var(--navy);box-shadow:0 8px 20px rgba(6,26,58,.25)}.wa-float svg{width:26px;height:26px;fill:currentColor}.wa-float:focus-visible,a.help-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:960px) and (min-width:761px){.help-card{padding:26px 18px}.help-value{font-size:13.5px}}
@media(max-width:760px){.help-list{grid-template-columns:1fr;gap:14px}.help-card{flex-direction:row;gap:16px;padding:22px 18px}.help-icon{width:50px;height:50px}.help-icon svg{width:24px;height:24px}.help-card h3{font-size:1.15rem}.help-value{font-size:14px}.help-value{margin-bottom:12px}.help-action{padding-top:12px}.wa-float{width:46px;height:46px;right:14px;right:max(14px,env(safe-area-inset-right));bottom:14px;bottom:max(14px,env(safe-area-inset-bottom))}.wa-float svg{width:23px;height:23px}}

/* Header emblem lockup (links to neuraviz.com) and navy multi-column footer. */
.brand{position:relative;gap:14px}.brand-logo{display:block;flex:none;width:54px;height:54px;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px rgba(186,138,53,.55),0 8px 20px rgba(6,26,58,.18);transition:transform .25s ease,box-shadow .25s ease}.brand-logo img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.06)}.brand:hover .brand-logo{transform:translateY(-2px);box-shadow:0 0 0 1px var(--gold),0 12px 24px rgba(6,26,58,.22)}.brand::after{top:auto;left:68px;bottom:-14px}.brand:focus-visible{outline:3px solid var(--gold);outline-offset:6px;border-radius:6px}
.site-footer{display:block;padding:64px clamp(24px,6vw,88px) 0;color:#ced7e5;background:var(--navy);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;border-top:3px solid var(--gold)}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;max-width:1110px;margin:0 auto;padding-bottom:48px}.footer-logo{display:inline-flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:1.9rem;font-weight:700;line-height:.8;letter-spacing:-1.5px}.footer-logo img{flex:none;width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(186,138,53,.6)}.footer-logo .neura{font-weight:500}.footer-logo .viz{color:#5fa8de}.footer-logo small{display:block;margin-top:9px;color:#ced7e5;font:600 9px/1.2 var(--sans);letter-spacing:2.2px;text-transform:uppercase}.footer-tagline{max-width:330px;margin:24px 0 0;color:#fff;font:500 1.25rem/1.35 var(--serif)}.footer-tagline em{display:block;color:var(--gold);font-style:normal}.footer-col h2{margin:6px 0 18px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li+li{margin-top:11px}.footer-col a{color:#ced7e5;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease}.footer-col a:hover{color:#fff}.footer-col a:focus-visible,.footer-logo:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1110px;margin:0 auto;padding:22px 0 26px;border-top:1px solid #284977;color:#8fa0bb;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.footer-bottom p{margin:0}
@media(max-width:1180px){.footer-bottom{padding-right:60px}}
@media(max-width:760px){.brand{gap:10px}.brand-logo{width:42px;height:42px}.brand::after{left:52px;bottom:-12px}.site-footer{padding-top:48px}.footer-top{grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:36px}.footer-about{grid-column:1/-1}.footer-bottom{display:block;padding:20px 0 84px}.footer-bottom p+p{margin-top:6px}}

/* Registration card with the official registration QR code. */
.register-card{flex:none;grid-template-columns:auto 1fr;gap:18px 22px;width:470px;min-width:0;padding:24px;border-radius:16px;border-top:2px solid var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.22)}.register-qr{padding:8px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(186,138,53,.5)}.register-qr img{display:block;width:168px;height:168px;border-radius:4px}.register-card-text{align-self:center}.register-card .register-card-title{color:#fff;font:600 1.25rem/1.25 var(--serif)}.register-card .register-card-note{margin-top:10px;color:#ced7e5;font:400 13px/1.5 var(--sans)}
@media(max-width:1024px){.register-section{display:block}.register-card{margin-top:34px}}
@media(max-width:760px){.register-card{width:auto;grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 20px}.register-card-text{max-width:260px}.button-light{justify-self:stretch}}

/* Sharp HD emblem: it carries its own gold ring, so no extra outline or zoom-crop. */
.brand-logo{box-shadow:0 8px 20px rgba(6,26,58,.2)}.brand:hover .brand-logo{box-shadow:0 12px 24px rgba(6,26,58,.26)}.brand-logo img{transform:none}.footer-logo img{box-shadow:0 6px 16px rgba(0,0,0,.3)}

/* Footer "Connect with us" social links. */
.footer-top{grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:44px}.footer-social p{margin:0 0 18px;color:#ced7e5;font-size:14px;line-height:1.5}.social-links{display:flex;flex-wrap:wrap;gap:10px}.footer-col .social-links li+li{margin-top:0}.social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(206,215,229,.28);border-radius:50%;color:#fff;background:rgba(255,255,255,.04);transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}.social-links svg{width:17px;height:17px;fill:currentColor}.social-links .stroke-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9}.social-links .stroke-icon .dot{fill:currentColor;stroke:none}.social-links a:hover{color:var(--navy);background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.social-links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1024px) and (min-width:761px){.footer-top{grid-template-columns:repeat(3,1fr);gap:40px 32px}.footer-about{grid-column:1/-1}}
@media(max-width:760px){.footer-top{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-social{grid-column:1/-1}}

/* Hero "Challenge highlights" rotating strip and a calmer mobile headline. */
.hero-ticker{max-width:470px;margin:0 0 26px;padding:13px 16px 14px;border:1px solid rgba(186,138,53,.32);border-left:1px solid var(--gold);border-radius:4px 14px 14px 4px;background:rgba(255,253,248,.78);box-shadow:0 10px 28px rgba(6,26,58,.07);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ticker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.ticker-label{display:flex;align-items:center;gap:8px;margin:0;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.ticker-pulse{position:relative;width:7px;height:7px;border-radius:50%;background:var(--gold)}.ticker-pulse::after{content:"";position:absolute;inset:-4px;border:1px solid var(--gold);border-radius:50%;opacity:0;animation:ticker-pulse 2.4s ease-out infinite}.hero-ticker.is-paused .ticker-pulse::after{animation:none}@keyframes ticker-pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.4);opacity:0}}.ticker-controls{display:flex;align-items:center;gap:10px}.ticker-dots{display:flex;gap:5px}.ticker-dot{width:6px;height:6px;padding:0;border:0;border-radius:6px;background:rgba(6,26,58,.2);cursor:pointer;transition:width .35s ease,background .35s ease}.ticker-dot[aria-current="true"]{width:18px;background:var(--gold)}.ticker-toggle{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid rgba(6,26,58,.18);border-radius:50%;color:var(--navy);background:transparent;cursor:pointer}.ticker-toggle svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ticker-toggle .icon-play{display:none;fill:currentColor;stroke-width:1.5}.hero-ticker.is-paused .icon-pause{display:none}.hero-ticker.is-paused .icon-play{display:block}.ticker-toggle[hidden]{display:none}.ticker-toggle:hover{border-color:var(--gold)}.ticker-dot:focus-visible,.ticker-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ticker-track{display:grid;overflow:hidden;margin:0;padding:0;list-style:none}.ticker-track li{grid-area:1/1;align-self:start;color:#203557;font-size:14.5px;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(70%);transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1),visibility 0s linear .55s}.ticker-track li.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}.ticker-track li.is-leaving{visibility:visible;transform:translateY(-70%)}.ticker-track strong{color:var(--navy);font-weight:700}
@media(prefers-reduced-motion:reduce){.ticker-track li{transition:none}}
@media(max-width:760px){.hero{min-height:0;padding:132px 20px 48px}.hero h1{font-size:clamp(2.3rem,10.4vw,2.85rem);line-height:1;letter-spacing:-1.5px}.hero .gold-rule{margin:20px 0}.hero-label{font-size:1.15rem}.hero-copy{max-width:100%}.hero-ticker{margin-bottom:22px;padding:11px 13px 12px}.ticker-label{font-size:9px;letter-spacing:1.6px}.ticker-track li{font-size:13.5px}}

/* Hero entrance: staggered rise, sliding tagline with blue-to-gold highlights, glittering Register now. */
@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-slide{from{opacity:0;transform:translateX(-28px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}@keyframes cta-glow{0%,100%{box-shadow:0 10px 24px rgba(6,26,58,.24),0 0 0 0 rgba(186,138,53,0)}50%{box-shadow:0 12px 30px rgba(6,26,58,.3),0 0 0 6px rgba(186,138,53,.24)}}@keyframes cta-shine{0%{transform:translateX(-130%) skewX(-18deg)}42%,100%{transform:translateX(230%) skewX(-18deg)}}@keyframes cta-twinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(90deg)}}
.hero-content>*{animation:hero-rise .8s cubic-bezier(.22,.61,.36,1) both}.hero-content>:nth-child(1){animation-delay:.05s}.hero-content>:nth-child(2){animation-delay:.15s}.hero-content>:nth-child(3){animation-delay:.3s}.hero-content>:nth-child(4){animation-delay:.4s}.hero-content>.hero-copy{animation:hero-slide 1.1s cubic-bezier(.22,.61,.36,1) .55s both}.hero-content>.hero-ticker{animation-delay:.8s}
.hero-highlight{color:#1765a3;font-weight:700}.hero-highlight-gold{color:#8a5f1a}
.hero-content>.button-primary{position:relative;z-index:3;overflow:hidden;isolation:isolate;animation:hero-rise .8s cubic-bezier(.22,.61,.36,1) .95s both,cta-glow 3s ease-in-out 2s infinite;transition:background .25s ease,transform .25s ease}.button-primary::after,.button-light::after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:-1;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 30%,rgba(255,236,190,.55) 50%,rgba(255,255,255,.08) 70%,transparent);transform:translateX(-130%) skewX(-18deg);pointer-events:none}.hero-content>.button-primary:hover{background:#0b2a5c;transform:translateY(-2px)}
.button-light{position:relative;overflow:hidden;isolation:isolate}.button-light::after{background:linear-gradient(90deg,transparent,rgba(186,138,53,.06) 30%,rgba(186,138,53,.28) 50%,rgba(186,138,53,.06) 70%,transparent);animation-delay:3s}

/* Highlights strip: icon chip and accent colour per item (blue, gold, navy from the brand). */
.accent-blue{--accent:#1765a3;--accent-soft:rgba(25,117,186,.1);--accent-ring:rgba(25,117,186,.24)}.accent-gold{--accent:#8a5f1a;--accent-soft:rgba(186,138,53,.13);--accent-ring:rgba(186,138,53,.32)}.accent-navy{--accent:#061a3a;--accent-soft:rgba(6,26,58,.07);--accent-ring:rgba(6,26,58,.17)}.ticker-head{margin-bottom:10px}.ticker-track li{display:flex;align-items:center;gap:12px}.ticker-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}.ticker-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ticker-text{color:#4a5672}.ticker-track strong{color:var(--accent);font-weight:700}
@media(max-width:760px){.ticker-track li{gap:10px}.ticker-icon{width:30px;height:30px}.ticker-icon svg{width:15px;height:15px}}

/* Highlights strip without a card: blur-slide transitions, icon pop, gold progress line. */
.hero-ticker{max-width:540px;margin:22px 0 30px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ticker-head{margin-bottom:12px}.ticker-track{overflow:visible}.ticker-track li{align-self:center;gap:14px;font-size:16px;line-height:1.55;transform:translateY(16px);filter:blur(6px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,.61,.36,1),filter .6s ease,visibility 0s linear .7s}.ticker-track li.is-active{transform:none;filter:none;transition-delay:0s}.ticker-track li.is-leaving{transform:translateY(-16px);filter:blur(6px)}.ticker-icon{width:38px;height:38px;transform:scale(.6) rotate(-12deg);transition:transform .7s cubic-bezier(.34,1.56,.64,1) .12s}.ticker-icon svg{width:18px;height:18px}.ticker-track li.is-active .ticker-icon{transform:none}.ticker-text{color:#3b4763}
.ticker-progress{position:relative;height:2px;margin-top:16px;overflow:hidden;border-radius:2px;background:rgba(6,26,58,.1)}.ticker-progress span{position:absolute;inset:0;border-radius:2px;background:linear-gradient(90deg,var(--gold),#d9b46a);transform:scaleX(0);transform-origin:left}.ticker-progress span.is-running{animation:ticker-fill 5s linear forwards}.hero-ticker.is-held .ticker-progress span{animation-play-state:paused}@keyframes ticker-fill{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.ticker-progress{display:none}.ticker-track li,.ticker-icon{transition:none;filter:none}}

/* Balanced type scale across the page. */
.hero h1{font-size:clamp(3rem,5.6vw,5.4rem);letter-spacing:-3px}.hero-label{font-size:clamp(1.2rem,1.7vw,1.65rem)}.pillars h2{font-size:11px}.section-heading h2{font-size:clamp(2.2rem,3.8vw,3.8rem)}.register-section h2{font-size:clamp(2.2rem,3.9vw,3.9rem)}.steps p{font-size:13.5px}
@media(max-width:760px){.hero h1{font-size:clamp(2.3rem,10.4vw,2.85rem);letter-spacing:-1.5px}.hero-label{font-size:1.1rem}.hero-ticker{margin:18px 0 26px}.ticker-head{margin-bottom:10px}.ticker-track li{gap:12px;font-size:14.5px}.ticker-icon{width:34px;height:34px}.ticker-icon svg{width:16px;height:16px}.section-heading h2,.register-section h2{font-size:clamp(2rem,8.6vw,2.4rem);letter-spacing:-1px}.pillars h2{font-size:10px}}

/* "How it works": word marquee (continuous) above numbered step cards that advance one at a time. */
.how-it-works{position:relative;padding-top:80px;padding-bottom:64px;background:linear-gradient(180deg,#fffdfa 0%,#f9f5ec 100%)}.how-it-works .section-heading{margin-bottom:26px}
.hiw-marquee{overflow:hidden;margin:0 calc(-1*clamp(24px,6vw,88px)) 30px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.hiw-marquee-track{display:flex;align-items:center;width:max-content;}.hiw-marquee span,.hiw-marquee i{margin-right:24px;white-space:nowrap}.hiw-marquee span{font:600 clamp(1.3rem,2.3vw,2.1rem)/1.1 var(--serif);letter-spacing:-.5px;color:var(--navy)}.hiw-marquee span:nth-of-type(even){color:var(--gold)}.hiw-marquee i{color:var(--gold);font-size:.8rem;font-style:normal}.hiw-marquee:hover .hiw-marquee-track{animation-play-state:paused}@keyframes hiw-flow-half{to{transform:translateX(-50%)}}
.how-it-works .steps{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding:0}.how-it-works .steps li{position:relative;display:flex;flex:0 0 250px;flex-direction:column;align-items:flex-start;gap:18px;min-height:0;padding:22px 22px 20px;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 10px 28px rgba(6,26,58,.06);transition:transform .5s cubic-bezier(.22,.61,.36,1),background .5s ease,border-color .5s ease,box-shadow .5s ease}.how-it-works .steps li::after{display:none}.how-it-works .steps li::before{content:"";position:absolute;top:-70px;right:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(186,138,53,.4),transparent 68%);opacity:0;transition:opacity .5s ease;pointer-events:none}
.step-num{position:absolute;top:12px;right:16px;font:600 2.8rem/1 var(--serif);letter-spacing:-1.5px;color:transparent;-webkit-text-stroke:1px rgba(186,138,53,.5);transition:-webkit-text-stroke-color .5s ease}.how-it-works .step-icon{position:relative;z-index:1;width:48px;height:48px;margin:0;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#0b2a5c 0%,#1975ba 100%);box-shadow:0 8px 18px rgba(25,117,186,.28),inset 0 1px 0 rgba(255,255,255,.18);transition:background .5s ease,color .5s ease,box-shadow .5s ease}.how-it-works .step-icon svg{width:22px;height:22px;stroke-width:1.7}.how-it-works .step-icon .accent{stroke:#e9c47a}.step-body{position:relative;z-index:1;margin-top:auto}.how-it-works .steps h3{margin:0 0 4px;font-size:1.15rem;transition:color .5s ease}.how-it-works .steps p{margin:0;color:#586175;font:13.5px/1.5 var(--serif);transition:color .5s ease}
.how-it-works .steps li.is-lead{transform:translateY(-6px);border-color:var(--navy);background:var(--navy);box-shadow:0 22px 44px rgba(6,26,58,.24)}.how-it-works .steps li.is-lead::before{opacity:1}.how-it-works .steps li.is-lead .step-num{-webkit-text-stroke-color:var(--gold)}.how-it-works .steps li.is-lead .step-icon{color:var(--navy);background:linear-gradient(135deg,#d9b46a 0%,#ba8a35 100%);box-shadow:0 8px 18px rgba(186,138,53,.35),inset 0 1px 0 rgba(255,255,255,.35)}.how-it-works .steps li.is-lead .step-icon .accent{stroke:#fff}.how-it-works .steps li.is-lead h3{color:#fff}.how-it-works .steps li.is-lead p{color:#ced7e5}
@media(hover:hover){.how-it-works .steps li:not(.is-lead):hover{transform:translateY(-4px);border-color:rgba(186,138,53,.6);box-shadow:0 18px 38px rgba(6,26,58,.12)}}
.hiw-js .hiw-viewport{overflow:hidden;margin:0 calc(-1*clamp(24px,6vw,88px));-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent)}.hiw-js .steps{flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;padding:12px clamp(24px,6vw,88px) 18px;transition:transform .9s cubic-bezier(.65,0,.35,1)}.hiw-js .steps li{margin-right:18px}.hiw-js .steps.no-anim,.hiw-js .steps.no-anim li,.hiw-js .steps.no-anim li *{transition:none!important}
.hiw-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.hiw-controls button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:var(--paper);cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}.hiw-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hiw-controls button:hover{color:#fff;background:var(--navy);border-color:var(--navy)}.hiw-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.how-it-works{padding-top:64px;padding-bottom:52px}.how-it-works .section-heading{margin-bottom:20px}.hiw-marquee{margin-bottom:22px;padding:8px 0}.hiw-marquee span{font-size:1.2rem}.hiw-marquee span,.hiw-marquee i{margin-right:16px}.how-it-works .steps li{flex-basis:230px;gap:14px;padding:18px 18px 16px}.step-num{top:10px;right:14px;font-size:2.3rem}.how-it-works .step-icon{width:42px;height:42px;border-radius:12px}.how-it-works .step-icon svg{width:20px;height:20px}.how-it-works .steps h3{font-size:1.05rem}.how-it-works .steps p{font-size:13px}.hiw-js .steps li{margin-right:14px}.hiw-controls{justify-content:center}}
@media(prefers-reduced-motion:reduce){.hiw-marquee-track{animation:none}}
.hiw-js .hiw-viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent calc(clamp(24px,6vw,88px) - 16px),#000 clamp(24px,6vw,88px),#000 94%,transparent);mask-image:linear-gradient(90deg,transparent 0,transparent calc(clamp(24px,6vw,88px) - 16px),#000 clamp(24px,6vw,88px),#000 94%,transparent)}

/* "Need help?" panel: intro + support hours on the left, two clickable contact cards on the right. */
.help-section{padding-top:84px;padding-bottom:84px}.help-panel{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;max-width:1110px;margin:0 auto;padding:56px;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 30px 70px rgba(6,26,58,.08)}.help-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),#d9b46a 45%,rgba(25,117,186,.55))}.help-panel::after{content:"";position:absolute;right:-140px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(25,117,186,.09),transparent 65%);pointer-events:none}
.help-intro{position:relative;z-index:1}.help-intro h2{margin:0;color:var(--navy);font:600 clamp(2.2rem,3.6vw,3.3rem)/1.02 var(--serif);letter-spacing:-1.5px}.help-intro h2 em{color:var(--gold);font-style:normal}.help-lead{max-width:400px;margin:18px 0 0;color:#586175;font-size:15.5px;line-height:1.6}
.help-hours{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding:10px 20px 10px 10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(6,26,58,.05)}.help-hours-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#d9b46a,#ba8a35);box-shadow:0 8px 16px rgba(186,138,53,.3),inset 0 1px 0 rgba(255,255,255,.35)}.help-hours-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.help-hours-label{display:block;color:#8a5f1a;font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.help-hours-value{display:block;margin-top:2px;color:var(--navy);font-size:14.5px;font-weight:600}
.help-panel .help-list{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:16px;max-width:none;margin:0;padding:0;list-style:none}.help-panel .help-card{display:flex;flex-direction:row;align-items:center;gap:18px;height:auto;padding:22px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(6,26,58,.05);transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease}.help-panel .help-card:hover{transform:translateY(-3px);border-color:rgba(186,138,53,.55);box-shadow:0 22px 44px rgba(6,26,58,.12)}.help-panel .help-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.help-panel .help-icon,.help-panel .help-card:hover .help-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border:0;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0b2a5c 0%,#1975ba 100%);box-shadow:0 10px 20px rgba(25,117,186,.28),inset 0 1px 0 rgba(255,255,255,.2)}.help-panel .help-card-whatsapp .help-icon,.help-panel .help-card-whatsapp:hover .help-icon{background:linear-gradient(135deg,#2bd96f 0%,#128c7e 100%);box-shadow:0 10px 20px rgba(37,211,102,.3),inset 0 1px 0 rgba(255,255,255,.25)}.help-panel .help-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.help-panel .help-icon svg.brand{width:27px;height:27px;fill:currentColor;stroke:none}
.help-panel .help-body{display:block;flex:1;min-width:0}.help-panel h3.help-label{margin:0 0 4px;color:#5d6679;font:700 11px/1.3 var(--sans);letter-spacing:1.6px;text-transform:uppercase}.help-panel .help-value{display:block;margin:0;color:var(--navy);font-size:17px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.help-panel .help-note{display:block;margin-top:3px;color:#697185;font-size:13px}
.help-arrow{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--navy);transition:background .35s ease,color .35s ease,border-color .35s ease}.help-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease}.help-panel .help-card:hover .help-arrow{color:var(--navy);background:var(--gold);border-color:var(--gold)}.help-panel .help-card:hover .help-arrow svg{transform:translateX(3px)}
@media(max-width:1024px){.help-panel{grid-template-columns:1fr;gap:36px;padding:44px}}
@media(max-width:760px){.help-section{padding-top:60px;padding-bottom:60px}.help-panel{gap:28px;padding:32px 18px 20px;border-radius:22px}.help-intro h2{font-size:clamp(2rem,8.6vw,2.4rem);letter-spacing:-1px}.help-lead{font-size:14.5px}.help-hours{display:flex;margin-top:22px}.help-panel .help-card{gap:14px;padding:16px}.help-panel .help-icon,.help-panel .help-card:hover .help-icon{width:48px;height:48px;border-radius:14px}.help-panel .help-icon svg{width:22px;height:22px}.help-panel .help-icon svg.brand{width:24px;height:24px}.help-panel .help-value{font-size:14.5px}.help-panel .help-note{font-size:12.5px}.help-arrow{width:36px;height:36px}.help-arrow svg{width:16px;height:16px}}
.help-panel{grid-template-columns:1.05fr 1fr}.help-intro h2{text-wrap:balance}.help-panel .help-value{overflow-wrap:normal}
@media(max-width:1024px){.help-panel{grid-template-columns:1fr}}
@media(max-width:760px){.help-panel{padding:30px 16px 16px}.help-panel .help-card{padding:14px}.help-panel .help-value{font-size:13.5px}}
@media(max-width:420px){.help-arrow{display:none}}
.help-intro .nowrap{white-space:nowrap}

/* Hero highlights: each word slides in from the right with a soft blur, staggered; the outgoing line drifts up and away. */
.ticker-track li,.ticker-track li.is-active,.ticker-track li.is-leaving{transform:none;filter:none}.ticker-text{display:block}.ticker-word{display:inline-block;opacity:0}
.ticker-track li.is-active .ticker-word{animation:ticker-word-in .75s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--i) * 45ms)}.ticker-track li.is-leaving .ticker-word{animation:ticker-word-out .45s cubic-bezier(.55,0,.75,.2) both;animation-delay:calc(var(--i) * 18ms)}
.ticker-track li .ticker-icon{transform:translateX(-14px) scale(.55) rotate(-25deg);opacity:0;transition:transform .8s cubic-bezier(.34,1.56,.64,1),opacity .4s ease}.ticker-track li.is-active .ticker-icon{transform:none;opacity:1;transition-delay:.05s}
@keyframes ticker-word-in{from{opacity:0;transform:translate3d(26px,0,0);filter:blur(6px)}60%{filter:blur(0)}to{opacity:1;transform:none;filter:none}}
@keyframes ticker-word-out{to{opacity:0;transform:translate3d(-18px,-6px,0);filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.ticker-word{opacity:1}.ticker-track li.is-active .ticker-word,.ticker-track li.is-leaving .ticker-word{animation:none}.ticker-track li .ticker-icon{transform:none;opacity:1;transition:none}}

/* Hero: lighter cream wash so more of the photo shows through. */
.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.9) 0%,rgba(248,245,237,.76) 28%,rgba(248,245,237,.38) 44%,rgba(248,245,237,.04) 62%,rgba(248,245,237,0) 100%)}
@media(max-width:760px){.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.86) 0%,rgba(248,245,237,.7) 50%,rgba(248,245,237,.25) 100%)}}

/* Hero highlights: one hairline segment per highlight (stories-style) and a numeric counter in place of dots. */
.ticker-count{color:rgba(6,26,58,.45);font-size:11px;font-weight:600;letter-spacing:1.5px;font-variant-numeric:tabular-nums}.ticker-count b{color:var(--navy);font-weight:700}
.hero-ticker .ticker-progress{display:flex;gap:6px;height:auto;margin-top:12px;overflow:visible;border-radius:0;background:none}
.ticker-seg{position:relative;flex:1;height:18px;padding:0;border:0;background:none;cursor:pointer}.ticker-seg::before{content:"";position:absolute;inset:8px 0 auto;height:2px;border-radius:2px;background:rgba(6,26,58,.22);transition:background .3s ease}.ticker-seg:hover::before{background:rgba(6,26,58,.4)}
.hero-ticker .ticker-seg span{inset:8px 0 auto;height:2px;border-radius:2px;background:var(--navy);transform:scaleX(0);transform-origin:left}.hero-ticker .ticker-seg.is-done span{transform:scaleX(1);background:rgba(6,26,58,.42)}
.ticker-seg:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}
@media(prefers-reduced-motion:reduce){.hero-ticker .ticker-progress{display:flex}.hero-ticker .ticker-seg[aria-current="true"] span{transform:scaleX(1)}}

/* How it works: the four real stages in one calm row, each linking to its form. */
.stages-section{background:var(--paper)}.stages{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:0 auto;padding:0;list-style:none;border-top:1px solid var(--line)}.stages li{display:flex;border-left:1px solid var(--line)}.stages li:first-child{border-left:0}
.stage{position:relative;display:flex;flex-direction:column;width:100%;padding:34px 28px 30px;color:inherit;text-decoration:none}.stage::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.61,.36,1)}.stage:hover::before,.stage:focus-visible::before{transform:scaleX(1)}.stage:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.stage-num{margin-bottom:26px;color:var(--gold);font-size:13px;font-weight:600;letter-spacing:2px;font-variant-numeric:tabular-nums}.stage h3{margin:0 0 10px;color:var(--navy);font:600 1.4rem/1.2 var(--serif)}.stage p{margin:0 0 26px;color:#5d6679;font-size:15px;line-height:1.55}
.stage-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--navy);font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;transition:color .3s ease}.stage-go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}.stage:hover .stage-go{color:var(--gold)}.stage:hover .stage-go svg{transform:translateX(4px)}
.stages-note{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1120px;margin:36px auto 0;color:#697185;font-size:14px;text-align:center}.stages-note svg{flex:none;width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Why join: four pillars with thin line icons, no boxes. */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;max-width:1120px;margin:0 auto;padding:0;list-style:none}.why-grid svg{display:block;width:30px;height:30px;margin-bottom:22px;fill:none;stroke:var(--navy);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.why-grid h3{margin:0 0 8px;color:var(--navy);font:600 1.3rem/1.25 var(--serif)}.why-grid p{margin:0;color:#5d6679;font-size:15px;line-height:1.55}

/* FAQ: native <details> accordion with hairline rows. */
.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);max-width:1120px;margin:0 auto;box-sizing:content-box}.faq-intro h2{margin:0 0 22px;font-size:clamp(2.2rem,3.6vw,3.4rem);letter-spacing:-1.5px}
.faq-facts{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;color:var(--navy);font-size:14px;font-weight:500}.faq-facts li{white-space:nowrap}.faq-facts li:not(:last-child)::after{content:"\00B7";margin:0 10px;color:var(--gold);font-weight:700}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;color:var(--navy);font-size:17px;font-weight:600;cursor:pointer;list-style:none;transition:color .25s ease}.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;transition:transform .3s ease}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list summary:hover{color:var(--gold)}.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.faq-list details p{max-width:620px;margin:0;padding:0 40px 24px 0;color:#5d6679;font-size:15.5px;line-height:1.65}.faq-list details[open] p{animation:faq-in .35s ease both}.faq-list a{color:var(--blue)}@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.faq-list details[open] p{animation:none}.stage::before,.stage-go svg{transition:none}}
@media(max-width:1024px){.stages,.why-grid{grid-template-columns:repeat(2,1fr)}.stages li:nth-child(3){border-left:0}.stages li:nth-child(n+3){border-top:1px solid var(--line)}.why-grid{gap:44px 36px}}
@media(max-width:860px){.faq-section{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.stages{grid-template-columns:1fr}.stages li{border-left:0}.stages li+li{border-top:1px solid var(--line)}.stage{display:grid;grid-template-columns:44px 1fr;padding:24px 0}.stage-num{grid-row:1/4;margin:5px 0 0}.stage h3{font-size:1.25rem;margin-bottom:6px}.stage p{margin-bottom:14px}.stage-go{grid-column:2;justify-self:start}.stages-note{align-items:flex-start;text-align:left;font-size:13.5px}.stages-note svg{margin-top:2px}
.why-grid{grid-template-columns:1fr;gap:28px}.why-grid li{display:grid;grid-template-columns:44px 1fr}.why-grid svg{grid-row:1/3;width:26px;height:26px;margin:2px 0 0}.why-grid h3{font-size:1.2rem}.faq-list summary{font-size:16px;padding:19px 0}.faq-list details p{padding-right:0;font-size:15px}}
.section-heading h2,.faq-intro h2{text-wrap:balance}

/* Hero label: no box behind "NeuraViz AI Challenge"; navy title with a gold year, lifted off the photo by a soft glow. */
.hero-label{color:var(--navy);text-shadow:0 1px 14px rgba(255,253,248,.9),0 0 2px rgba(255,253,248,.6)}.hero-label span{color:#8a5f1a}
@media(max-width:760px){.hero-label{display:block;padding:0;background:none;box-shadow:none}.hero-label span{display:inline;margin:0}}

/* Anchored sections clear the top of the window. */
section[id]{scroll-margin-top:24px}
.site-nav a:focus-visible,.button:focus-visible,.hero-learn a:focus-visible,.why-link:focus-visible,.faq-list a:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}

/* Hero: quiet AI Learning link under the Register button. */
.hero-content>.hero-learn{margin:18px 0 0;font-size:14px;animation-delay:1.05s}.hero-learn a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(186,138,53,.7);text-decoration-thickness:1px;text-underline-offset:5px;transition:color .25s ease}.hero-learn a:hover{color:#8a5f1a}

/* AI Learning band: slim, hairline-bounded, with an outline button that does not compete with Register. */
.learn-band{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:52px max(clamp(24px,6vw,88px),calc((100% - 1120px) / 2));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.learn-band h2{margin:0 0 8px;color:var(--navy);font:600 clamp(1.7rem,2.6vw,2.3rem)/1.15 var(--serif);letter-spacing:-.5px}.learn-band p:last-child{margin:0;color:#5d6679;font-size:15.5px}
.button-outline{flex:none;color:var(--navy);background:transparent;box-shadow:inset 0 0 0 1px var(--navy);transition:background .25s ease,color .25s ease}.button-outline:hover{color:#fff;background:var(--navy)}
.why-link{display:inline-block;margin-top:14px;color:var(--navy);font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;transition:color .25s ease}.why-link:hover{color:#8a5f1a}

/* Prizes: three quiet cards, one hairline row for 4th-8th, and a total. Gold only on 1st place. */
.prizes-section{background:var(--paper)}.prize-top,.prize-rest,.prize-total,.prize-note{max-width:960px;margin-left:auto;margin-right:auto}
.prize-top{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:0;margin-bottom:0;padding:0;list-style:none}.prize-top li{display:flex;flex-direction:column;gap:16px;padding:30px 28px 32px;border:1px solid var(--line);border-radius:14px}.prize-top .prize-first{border-top:2px solid var(--gold)}
.prize-place{color:#5d6679;font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.prize-amount{color:var(--navy);font:600 clamp(2.2rem,3.4vw,2.9rem)/1 var(--serif);letter-spacing:-1px}.prize-first .prize-amount{color:#8a5f1a}
.prize-rest{margin-top:28px;margin-bottom:0;padding:0;list-style:none;border-top:1px solid var(--line)}.prize-rest li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 4px;border-bottom:1px solid var(--line)}.prize-rest .prize-amount{font-size:1.5rem;letter-spacing:-.3px}
.prize-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:0;margin-bottom:0;padding:22px 4px 0}.prize-total dt{color:var(--navy);font-size:15px;font-weight:700}.prize-total dd{margin:0;color:var(--navy);font:700 1.8rem/1 var(--serif)}
.prize-note{margin-top:30px;margin-bottom:0;color:#697185;font-size:13px}

/* Register band: lead keeps its tone; the deadline sits quietly under it. */
.register-section>div>p:nth-last-child(2){max-width:500px;color:#ced7e5}.register-section>div>p.register-deadline{margin-top:12px;color:#e2c48a;font-size:14px;font-weight:600}

@media(max-width:1100px) and (min-width:961px){.site-nav{gap:20px;letter-spacing:1.2px}}
@media(max-width:760px){.learn-band{flex-direction:column;align-items:flex-start;gap:22px;padding:44px 20px}.prize-top{grid-template-columns:1fr;gap:12px}.prize-top li{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 20px 22px}.prize-amount{font-size:1.9rem}.prize-rest li,.prize-total{padding-left:0;padding-right:0}.prize-rest .prize-amount{font-size:1.3rem}.prize-total dd{font-size:1.5rem}.why-link{grid-column:2;justify-self:start;margin-top:10px}}
.prizes-section h2,.prize-amount,.prize-total dd{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.section-heading>p:last-child{text-wrap:balance}

/* AI Learning band, refined: one quiet card with a short gold rule, a facts line and an outline button whose fill sweeps in on hover. */
.learn-band{display:block;padding:64px clamp(24px,6vw,88px);border:0}.learn-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1120px;margin:0 auto;padding:44px 52px;background:var(--paper);border:1px solid var(--line);border-radius:20px}.learn-inner::before{content:"";position:absolute;top:-1px;left:52px;width:56px;height:2px;background:var(--gold)}
.learn-band h2{margin:0 0 10px;font-size:clamp(1.8rem,2.8vw,2.5rem)}.learn-band .learn-lead{max-width:520px;margin:0;color:#5d6679;font-size:15.5px;line-height:1.6}
.learn-meta{display:flex;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none;color:var(--navy);font-size:12px;font-weight:600;letter-spacing:.4px}.learn-meta li{white-space:nowrap}.learn-meta li:not(:last-child)::after{content:"\00B7";margin:0 10px;color:var(--gold);font-weight:700}
.button-outline{position:relative;overflow:hidden;isolation:isolate;gap:22px;padding:17px 26px;box-shadow:inset 0 0 0 1px var(--navy);transition:color .45s cubic-bezier(.65,0,.35,1),box-shadow .45s ease}.button-outline::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:scaleX(0);transform-origin:right;transition:transform .55s cubic-bezier(.65,0,.35,1)}
.button-outline:hover,.button-outline:focus-visible{color:#fff;background:transparent}.button-outline:hover::before,.button-outline:focus-visible::before{transform:scaleX(1);transform-origin:left}.button-outline span{display:inline-block}.button-outline:hover span{animation:none;transform:translateX(5px);transition:transform .35s ease}
@keyframes learn-nudge{0%,62%,100%{transform:none}76%{transform:translateX(6px)}88%{transform:translateX(1px)}}

/* Prizes, refined: white cards, a short gold rule on 1st place only, gentle lift on hover, calm hairline rows below. */
.prize-top{gap:18px}.prize-top li,.prize-top .prize-first{position:relative;gap:18px;padding:34px 30px 36px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .45s ease,box-shadow .45s ease}
.prize-top .prize-first::before{content:"";position:absolute;top:-1px;left:30px;width:44px;height:2px;background:var(--gold)}.prize-top li:hover{transform:translateY(-3px);border-color:rgba(186,138,53,.45);box-shadow:0 14px 34px rgba(6,26,58,.06)}
.prize-place{display:flex;align-items:center;gap:10px}.prize-amount{font-size:clamp(2.3rem,3.5vw,3rem)}
.prize-rest{margin-top:34px}.prize-rest li{padding:22px 2px}.prize-rest .prize-amount{font-size:1.45rem}.prize-total{padding:24px 2px 0}.prize-total dt{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase}.prize-total dd{font-size:2rem}.prize-note{margin-top:34px;text-align:center}
@media(prefers-reduced-motion:reduce){.button-outline span{animation:none}.button-outline::before,.prize-top li{transition:none}.prize-top li:hover{transform:none}}
@media(max-width:760px){.learn-band{padding:44px 20px}.learn-inner{flex-direction:column;align-items:flex-start;gap:26px;padding:34px 24px}.learn-inner::before{left:24px}.prize-top li,.prize-top .prize-first{flex-direction:row;align-items:baseline;justify-content:space-between;padding:22px 22px 24px}.prize-top .prize-first::before{left:22px}.prize-amount{font-size:1.9rem}.prize-rest .prize-amount{font-size:1.3rem}.prize-total dd{font-size:1.6rem}.prize-note{text-align:left}}
.learn-band h2,.learn-band .learn-lead{text-wrap:balance}

/* ===== Minimal system pass: one container (1120px), one spacing rhythm (96/64px), one card style (16px radius, hairline, white, no shadow). ===== */
:root{--sans:"DM Sans","Noto Sans",Arial,sans-serif;--container:1120px;--card-radius:16px}
main .section{padding-top:96px;padding-bottom:96px}main .section-heading{margin-bottom:56px}main .help-section{padding-top:0}.learn-band{padding-top:96px;padding-bottom:0}
.register-section{padding:96px max(clamp(24px,6vw,88px),calc((100% - var(--container)) / 2))}
.timeline,.stages,.why-grid,.faq-section,.learn-inner,.help-panel,.prize-top,.prize-rest,.prize-total,.prize-note{max-width:var(--container)}


/* Cards: one style everywhere. */
.learn-inner,.prize-top li,.prize-top .prize-first,.help-panel .help-card{border:1px solid var(--line);border-radius:var(--card-radius);background:#fff;box-shadow:none}
.prize-top li:hover,.help-panel .help-card:hover{transform:translateY(-2px);border-color:rgba(186,138,53,.5);box-shadow:none}
.register-card{position:relative;border-radius:var(--card-radius);border-top:1px solid #284977;box-shadow:none}.register-card::before{content:"";position:absolute;top:-1px;left:24px;width:44px;height:2px;background:var(--gold)}

/* Need help: no outer panel, no gradients - intro on the left, two plain contact cards on the right. */
.help-panel{padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;align-items:center}.help-panel::before,.help-panel::after{display:none}
.help-panel .help-card{padding:22px 24px}.help-panel .help-icon,.help-panel .help-card:hover .help-icon,.help-panel .help-card-whatsapp .help-icon,.help-panel .help-card-whatsapp:hover .help-icon{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:none;box-shadow:none}.help-panel .help-card-whatsapp .help-icon{color:#128c7e}
.help-panel .help-icon svg{width:21px;height:21px}.help-panel .help-icon svg.brand{width:22px;height:22px}.help-panel .help-card:hover .help-arrow{color:#fff;background:var(--navy);border-color:var(--navy)}
.help-hours{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.help-hours-icon{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--gold);background:none;box-shadow:none}.help-hours-icon svg{width:18px;height:18px}

/* FAQ: facts as hairline pills; heading stays in view on desktop. */
.faq-facts{gap:8px;font-size:12.5px}.faq-facts li{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}.faq-facts li:not(:last-child)::after{content:none}
@media(min-width:861px){.faq-intro{position:sticky;top:48px;align-self:start}}


@media(max-width:760px){main .section{padding-top:64px;padding-bottom:64px}main .section-heading{margin-bottom:36px}main .help-section{padding-top:0}.learn-band{padding-top:64px;padding-bottom:0}.register-section{padding-top:64px;padding-bottom:64px}
.help-panel{padding:0}.help-panel .help-card{padding:16px}}
@media(max-width:400px){.hero-label{font-size:1rem}}

/* ===== International pass: floating pill nav, event-style section headers, calmer type scale. ===== */
html{scroll-padding-top:24px}section[id]{scroll-margin-top:24px}


/* Calmer type scale. */
.hero h1{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.02;letter-spacing:-1.2px}.hero-label{font-size:clamp(1.05rem,1.4vw,1.3rem)}.hero .gold-rule{margin:22px 0}
main .section-heading h2,.faq-intro h2,.help-intro h2,.register-section h2{font-size:clamp(1.9rem,3.1vw,2.75rem);line-height:1.08;letter-spacing:-1px}.learn-band h2{font-size:clamp(1.5rem,2.2vw,2rem)}
.timeline h3,.stage h3,.why-grid h3{font-size:1.25rem}.prize-amount{font-size:clamp(1.9rem,2.8vw,2.4rem)}.prize-total dd{font-size:1.6rem}

/* Event-style section headers: numbered label, heading left, intro right. */
main{counter-reset:sec}.section-heading>.eyebrow,.learn-copy>.eyebrow,.faq-intro>.eyebrow,.help-intro>.eyebrow,.register-section .eyebrow{display:flex;align-items:center;gap:12px;counter-increment:sec}
.section-heading>.eyebrow::before,.learn-copy>.eyebrow::before,.faq-intro>.eyebrow::before,.help-intro>.eyebrow::before,.register-section .eyebrow::before{content:counter(sec,decimal-leading-zero);padding-right:12px;border-right:1px solid currentColor;font-variant-numeric:tabular-nums}
main .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);column-gap:64px;align-items:end;max-width:var(--container);text-align:left}main .section-heading>.eyebrow{grid-column:1/-1;margin-bottom:18px}main .section-heading h2{grid-column:1}main .section-heading>p:last-child{grid-column:2;margin:0;padding-bottom:6px;color:#5d6679;font-size:15.5px;line-height:1.6;text-wrap:pretty}

/* Hero: tidy highlights and an inline AI Learning link beside the button. */
.hero-ticker{max-width:470px;margin:20px 0 28px}.ticker-track li{font-size:15px}.hero-content>.hero-learn{display:inline-block;margin:0 0 0 24px;vertical-align:middle;font-size:13.5px}
@media(max-width:760px){.hero h1{font-size:clamp(2.1rem,9vw,2.5rem);letter-spacing:-1px}.hero-label{font-size:1rem}.hero .gold-rule{margin:18px 0}.hero-ticker{margin:16px 0 24px}.ticker-track li{font-size:14px}.hero-content>.hero-learn{display:block;margin:18px 0 0}
main .section-heading{grid-template-columns:1fr}main .section-heading>p:last-child{grid-column:1;margin-top:14px;padding:0}main .section-heading h2,.faq-intro h2,.help-intro h2,.register-section h2{font-size:clamp(1.65rem,7vw,2rem)}.learn-band h2{font-size:1.45rem}.prize-amount{font-size:1.7rem}.prize-total dd{font-size:1.4rem}}


/* Header: back to the original in-page header (scrolls with the page). Desktop keeps inline links; the overlay menu parts stay hidden. */
.nav-top{display:none}

/* Journey: the original numbered cards, refined - separate white cards, circle numbers sitting on the top edge, date pill. */
.timeline{grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;background:none;border-radius:0;box-shadow:none}
.timeline article,.timeline article:last-child{position:relative;text-align:center;padding:46px 30px 34px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:transform .45s cubic-bezier(.22,.61,.36,1),border-color .45s ease}.timeline article:hover{transform:translateY(-3px);border-color:rgba(186,138,53,.5)}
.timeline .number{display:grid;place-items:center;width:46px;height:46px;margin:-70px auto 20px;border-radius:50%;color:#fff;background:var(--navy);font-size:14px;font-weight:700;box-shadow:0 0 0 6px var(--cream)}.timeline .number.blue{background:var(--blue)}.timeline .number.gold{background:#8a5f1a}
.timeline h3{margin:0 0 12px;color:var(--navy);font:600 1.35rem/1.2 var(--serif)}.timeline .date{display:inline-block;margin:0;padding:5px 12px;border-radius:999px;color:var(--navy);background:var(--cream);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.timeline .mini-rule{display:block;width:28px;height:2px;margin:18px auto;background:var(--gold)}.timeline article>p:last-child{margin:0;color:#5d6679;font:15px/1.55 var(--sans)}
@media(max-width:760px){.timeline{grid-template-columns:1fr;gap:44px}.timeline article,.timeline article:last-child{padding:42px 22px 28px;border-bottom:1px solid var(--line)}.timeline .number{margin:-64px auto 18px}}

/* Alignment: header, hero and highlights strip share the 1120px column used by every section. */
:root{--gutter:max(clamp(24px,6vw,88px),calc((100% - 1120px) / 2))}
.site-header{padding-left:var(--gutter);padding-right:var(--gutter)}.hero{padding-left:var(--gutter);padding-right:var(--gutter)}
.hero-label{margin:0 0 32px}

/* Menu (tablet and phone): three solid lines; opens a compact frosted panel at the top right, the page stays visible behind a light dim. */
@media(max-width:960px){
.site-header .menu-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}.site-header .menu-button .menu-icon{display:flex;flex-direction:column;gap:5px;width:24px;height:auto;border:0;border-radius:0;background:none}.site-header .menu-button .menu-icon i{display:block;width:24px;height:2px;margin:0;border-radius:2px;background:var(--navy)}
.site-header .site-nav{position:fixed;top:12px;right:12px;left:auto;bottom:auto;z-index:300;width:min(300px,calc(100% - 24px));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:56px 16px 16px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(255,253,248,.78);-webkit-backdrop-filter:saturate(1.6) blur(22px);backdrop-filter:saturate(1.6) blur(22px);box-shadow:0 24px 60px rgba(6,26,58,.2);letter-spacing:0;text-transform:none;counter-reset:navi;opacity:0;visibility:hidden;transform:scale(.96);transform-origin:top right;transition:opacity .3s ease,transform .35s cubic-bezier(.22,.61,.36,1),visibility 0s linear .35s}
.site-header .site-nav.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.site-header .site-nav>a{counter-increment:navi;display:flex;align-items:baseline;gap:12px;padding:13px 6px;border-bottom:1px solid rgba(6,26,58,.08);color:var(--navy);font:600 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;text-decoration:none;transition:color .25s ease,padding .25s ease}.site-header .site-nav>a::before{content:counter(navi,decimal-leading-zero);color:var(--gold);font-size:10.5px;font-weight:600;letter-spacing:.5px}.site-header .site-nav>a:hover{padding-left:10px;color:#8a5f1a}
.site-header .site-nav>a.nav-cta{counter-increment:none;justify-content:center;margin-top:14px;padding:13px;border:0;border-radius:999px;color:#fff;background:var(--navy);font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.site-header .site-nav>a.nav-cta::before{content:none}.site-header .site-nav>a.nav-cta:hover{padding-left:13px;color:#fff;background:#0b2a5c}
.site-header .nav-top{position:absolute;top:10px;right:10px;left:auto;display:block}.nav-close{display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}.nav-close-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--navy);background:rgba(6,26,58,.06);transition:transform .4s cubic-bezier(.22,.61,.36,1),background .3s ease}.nav-close-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.nav-close:hover .nav-close-icon{transform:rotate(90deg);background:rgba(6,26,58,.1)}
.nav-close:focus-visible,.menu-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:12px}}
body.menu-open{overflow:hidden}body.menu-open .site-header{z-index:400}body.menu-open::before{content:"";position:fixed;inset:0;z-index:350;background:rgba(6,26,58,.18);animation:menu-dim .3s ease both}@keyframes menu-dim{from{opacity:0}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav{transition:none}body.menu-open::before{animation:none}}

/* Challenge highlights: on the hero image under the buttons, no background - label, rotating highlight, one loading segment per highlight. */
.hero-content>.hero-ticker{max-width:520px;margin:44px 0 0;padding:0;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation-delay:1.15s}
.hero-ticker .ticker-head{display:block;margin:0 0 12px}.hero-ticker .ticker-label{color:#8a5f1a;font-size:10.5px;letter-spacing:2px;text-shadow:0 1px 10px rgba(255,253,248,.9)}
.hero-ticker .ticker-track{min-height:48px}.hero-ticker .ticker-track li{align-self:center;color:#102143;font-size:15px;line-height:1.5;text-shadow:0 1px 12px rgba(255,253,248,.85)}.hero-ticker .ticker-icon{width:34px;height:34px;background:rgba(255,253,248,.7)}
.hero-ticker .ticker-progress{margin:14px 0 0;gap:5px}.hero-ticker .ticker-seg{height:14px}.hero-ticker .ticker-seg::before{inset:auto 0 0;height:2px;background:rgba(6,26,58,.28)}.hero-ticker .ticker-seg span{inset:auto 0 0;height:2px}
@media(max-width:760px){.hero-content>.hero-ticker{margin-top:34px}.hero-ticker .ticker-track{min-height:64px}.hero-ticker .ticker-track li{font-size:14px}}
/* Highlights: a single loading line - only the current highlight's segment shows, full width, and refills for each text. */
.hero-ticker .ticker-seg{display:none}.hero-ticker .ticker-seg[aria-current="true"]{display:block;flex:1;cursor:default}

/* Prize amounts: clean sans numerals (DM Sans with the matching rupee glyph) instead of the heavy serif. */
.prize-amount,.prize-total dd{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums}.prize-amount{font-size:clamp(1.9rem,2.6vw,2.3rem)}.prize-rest .prize-amount{font-size:1.3rem;font-weight:600}.prize-total dd{font-size:1.55rem;font-weight:700}

/* Journey: compact cards - number beside the title, date underneath, one short line of text. */
.timeline{gap:16px;padding-top:0}.timeline article,.timeline article:last-child{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:14px;row-gap:4px;align-content:start;text-align:left;padding:22px 24px}
.timeline .number{grid-row:1/3;align-self:start;width:38px;height:38px;margin:2px 0 0;font-size:12.5px;box-shadow:none}.timeline h3{grid-column:2;margin:0;font-size:1.15rem;line-height:1.3}.timeline .date{grid-column:2;justify-self:start;margin:0;padding:0;background:none;color:#697185;font-size:10.5px;letter-spacing:1.2px}
.timeline .mini-rule{display:none}.timeline article>p:last-child{grid-column:2;margin-top:8px;font-size:14.5px;line-height:1.5}
@media(max-width:760px){.timeline{gap:12px}.timeline article,.timeline article:last-child{padding:18px 18px 20px}.timeline .number{margin:2px 0 0}}

/* How it works: four soft colour cards - navy, blue, gold, sage - each with a matching numbered circle and link. */
.stages{gap:16px;border-top:0}.stages li,.stages li:first-child,.stages li:nth-child(3),.stages li:nth-child(n+3),.stages li+li{border:0}
.stages li:nth-child(1){--accent:#061a3a;--tint:#edf0f6}.stages li:nth-child(2){--accent:#155f97;--tint:#e8f1f9}.stages li:nth-child(3){--accent:#2f6b4f;--tint:#e8f1eb}.stages li:nth-child(4){--accent:#8a5f1a;--tint:#f7eedd}
.stage{padding:26px 24px 24px;border-radius:16px;background:var(--tint);transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease}.stage::before{display:none}.stage:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(6,26,58,.08)}
.stage-num{display:grid;place-items:center;width:36px;height:36px;margin-bottom:22px;border-radius:50%;color:#fff;background:var(--accent);font-size:12px;letter-spacing:.5px}.stage h3{color:var(--navy)}.stage p{color:#4f5a6e}.stage-go,.stage:hover .stage-go{color:var(--accent)}
@media(max-width:640px){.stages{gap:12px}.stage{padding:20px 18px}.stage-num{margin:0}}
.prize-amount .cur,.prize-total dd .cur{margin-right:.08em;font-family:var(--serif);font-size:.7em;font-weight:500;vertical-align:.2em;opacity:.9}
/* Need help: compact contact cards. */
.help-panel .help-list{gap:12px;max-width:440px;justify-self:end;width:100%}.help-panel .help-card{gap:14px;padding:14px 16px}.help-panel .help-icon,.help-panel .help-card:hover .help-icon,.help-panel .help-card-whatsapp .help-icon,.help-panel .help-card-whatsapp:hover .help-icon{width:40px;height:40px}
.help-panel .help-icon svg{width:18px;height:18px}.help-panel .help-icon svg.brand{width:19px;height:19px}.help-panel h3.help-label{margin-bottom:2px;font-size:10px}.help-panel .help-value{font-size:15px}.help-panel .help-note{margin-top:1px;font-size:12px}.help-arrow{width:34px;height:34px}.help-arrow svg{width:15px;height:15px}
@media(max-width:1024px){.help-panel .help-list{max-width:none;justify-self:stretch}}

/* Challenge highlights: a soft gold strip directly under the hero image - label | rotating highlight, single loading line below. */
.highlights-strip{padding:24px var(--gutter) 22px;background:#faf2e3;border-bottom:1px solid #eedfc3}
.highlights-strip .hero-ticker{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:32px;align-items:center;max-width:var(--container);margin:0 auto;padding:0;border:0;background:none;box-shadow:none;animation:none}
.highlights-strip .ticker-head{display:block;grid-column:1;grid-row:1;margin:0;padding-right:32px;border-right:1px solid #e6d6b8}.highlights-strip .ticker-label{text-shadow:none;white-space:nowrap}
.highlights-strip .ticker-track{grid-column:2;grid-row:1;min-height:34px}.highlights-strip .ticker-track li{text-shadow:none}.highlights-strip .ticker-icon{background:#fff}
.highlights-strip .ticker-progress{grid-column:1/-1;grid-row:2;margin:18px 0 0}.highlights-strip .ticker-seg::before{background:rgba(138,95,26,.18)}.highlights-strip .ticker-seg span{background:#8a5f1a}
@media(max-width:760px){.highlights-strip{padding:20px 20px 18px}.highlights-strip .hero-ticker{grid-template-columns:1fr;row-gap:12px}.highlights-strip .ticker-head{padding:0;border:0}.highlights-strip .ticker-track{grid-column:1;grid-row:2;min-height:64px}.highlights-strip .ticker-progress{grid-row:3;margin-top:2px}}

/* ===== Calm hero + teal CTA (per mockup): all-navy hero type, clean cream behind the text, photo to the right and bottom. ===== */
:root{--teal:#34c3b4;--teal-dark:#27ab9d}
.hero .eyebrow{color:#3b4763;letter-spacing:2.6px}.hero h1,.hero h1 em{color:var(--navy);text-shadow:none}.hero-label,.hero-label span{color:var(--navy);text-shadow:none}.hero .gold-rule{width:56px;height:2px;background:#c9b48c}
.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.97) 0%,rgba(248,245,237,.94) 38%,rgba(248,245,237,.6) 52%,rgba(248,245,237,.1) 68%,rgba(248,245,237,0) 100%)}
@media(max-width:760px){.hero{background-position:77% bottom}.hero::after{background:linear-gradient(180deg,rgba(248,245,237,.97) 0%,rgba(248,245,237,.95) 50%,rgba(248,245,237,.45) 76%,rgba(248,245,237,.1) 100%),linear-gradient(90deg,rgba(248,245,237,.85) 0%,rgba(248,245,237,.5) 45%,rgba(248,245,237,0) 72%)}}

/* Register now: teal pill with navy text, soft teal shadow, no sparkle. */
.hero-content>.button-primary{color:var(--navy);background:var(--teal);box-shadow:0 10px 26px rgba(52,195,180,.35);animation:hero-rise .8s cubic-bezier(.22,.61,.36,1) .95s both}.hero-content>.button-primary::before,.hero-content>.button-primary::after{content:none;display:none}
.hero-content>.button-primary:hover{color:#fff;background:#17766d;transform:translateY(-2px);box-shadow:0 14px 30px rgba(52,195,180,.42)}.hero-content>.button-primary span{color:var(--navy)}
.hero-learn a{color:var(--navy);font-weight:500;text-decoration:none}.hero-learn a:hover{color:var(--teal-dark)}

/* Highlights strip: navy label, white rounded icon tile, taupe loading line. */
.highlights-strip .ticker-label{color:var(--ink);letter-spacing:2.2px}.highlights-strip .ticker-pulse{background:#a8957a}.highlights-strip .ticker-pulse::after{border-color:#a8957a}
.highlights-strip .ticker-icon{width:38px;height:38px;border-radius:10px;color:var(--navy);background:#fff;box-shadow:0 0 0 1px rgba(6,26,58,.1),0 4px 10px rgba(6,26,58,.05)}.highlights-strip .ticker-track li{color:var(--navy);font-size:16px}.highlights-strip .ticker-track strong{color:var(--navy)}
.highlights-strip .ticker-seg::before{height:3px;border-radius:3px;background:#e4ddd0}.highlights-strip .ticker-seg span{height:3px;border-radius:3px;background:#a38c66}

/* Section labels across the page: navy, matching the hero and strip (the navy register band keeps its gold label). */
main .section .eyebrow,.learn-copy>.eyebrow{color:var(--ink);letter-spacing:2.6px}
.highlights-strip .hero-highlight,.highlights-strip .hero-highlight-gold{color:var(--navy);font-weight:700}.hero-content>.button-primary{gap:14px;padding:12px 22px;font-size:11.5px;letter-spacing:1.3px;box-shadow:0 6px 16px rgba(52,195,180,.3)}.hero-content>.button-primary span{font-size:15px;line-height:1}

/* Challenge highlights: one static line - label, icon tile and text, no rotation. */
.highlights-strip{padding:22px var(--gutter)}.highlight-static{display:flex;align-items:center;gap:32px;max-width:var(--container);margin:0 auto}
.highlight-static .ticker-label{flex:none;margin:0;padding-right:32px;border-right:1px solid #e6d6b8;white-space:nowrap}.highlight-text{display:flex;align-items:center;gap:14px;margin:0;color:var(--navy);font-size:16px;line-height:1.5}.highlight-text .ticker-icon{flex:none;opacity:1;transform:none}
.highlight-static .hero-highlight,.highlight-static .hero-highlight-gold{color:var(--navy);font-weight:700}
@media(max-width:760px){.highlights-strip{padding:20px}.highlight-static{flex-direction:column;align-items:flex-start;gap:12px}.highlight-static .ticker-label{padding:0;border:0}.highlight-text{font-size:15px}}
/* Highlight strip: slim single line, no title. */
.highlights-strip{padding:14px var(--gutter)}.highlight-static{gap:0}.highlight-text{gap:12px;font-size:15px}.highlights-strip .highlight-text .ticker-icon{width:30px;height:30px;border-radius:8px}.highlights-strip .highlight-text .ticker-icon svg{width:15px;height:15px}
@media(max-width:760px){.highlights-strip{padding:14px 20px}.highlight-text{font-size:14px;line-height:1.45}}

/* Menu panel: deep blue with white text, links in Playfair Display. */
@media(max-width:960px){
.site-header .site-nav{border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,#0f3f7d 0%,#0a2c5c 100%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 24px 60px rgba(6,26,58,.35)}
.site-header .site-nav>a{border-bottom-color:rgba(255,255,255,.12);color:#fff;font:500 19px/1.3 var(--serif);letter-spacing:.1px}.site-header .site-nav>a::before{color:#e2c48a;font-family:var(--sans)}.site-header .site-nav>a:hover{color:#e2c48a}
.site-header .site-nav>a.nav-cta{color:var(--navy);background:#fff;font-family:var(--sans)}.site-header .site-nav>a.nav-cta:hover{color:var(--navy);background:#e8eef7}
.nav-close-icon{color:#fff;background:rgba(255,255,255,.12)}.nav-close:hover .nav-close-icon{background:rgba(255,255,255,.2)}}
/* Menu panel: Register-band navy, links styled like the Register button (DM Sans, bold, uppercase, tracked). */
@media(max-width:960px){
.site-header .site-nav{background:var(--navy);border-color:rgba(255,255,255,.1)}
.site-header .site-nav>a{font:700 12.5px/1.3 var(--sans);letter-spacing:1.6px;text-transform:uppercase;padding:16px 6px}.site-header .site-nav>a::before{font-size:10px;letter-spacing:.5px}}
.prize-note{line-height:1.7}.prize-more{display:block;margin-bottom:4px;color:var(--navy);font-size:14px;font-weight:600}

/* ===== 31 Oct 2026: rotating hero headline, two learning tracks, login band ===== */

/* Hero headline: all six lines share one grid cell, so the box is always as tall as the longest line (no layout shift). */
.hero h1.hero-title{margin:0}.hero-rotator{display:grid}
.hero-line{grid-area:1/1;display:block;text-wrap:balance;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),visibility 0s linear .6s}
.hero-line.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}.hero-line.is-leaving{transform:translateY(-10px)}
.hero h1 .hero-line em{font-style:italic;font-weight:600;color:var(--teal-dark)}.hero h1 .hero-line[data-tone="gold"] em{color:#8a6418}.hero h1 .hero-line[data-tone="navy"] em{color:var(--blue)}

.hero .gold-rule{width:40px;margin:6px 0 22px}
.hero-dots{display:flex;margin:6px 0 0 -19px}.hero-dots[hidden]{display:none}
.hero-dot{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}.hero-dot::before{content:"";width:6px;height:6px;border-radius:6px;background:var(--line);transition:width .4s ease,background .4s ease}
.hero-dot[aria-current="true"]::before{width:18px;background:var(--gold)}.hero-dot:hover::before{background:#b9ad96}.hero-dot[aria-current="true"]:hover::before{background:var(--gold)}.hero-dot:focus-visible{outline:2px solid var(--gold);outline-offset:-6px;border-radius:10px}
@media(prefers-reduced-motion:reduce){.hero-line{transition:none}}

/* Hero links: two quiet links under the Register button. */
.hero-content>.hero-learn{display:flex;flex-wrap:wrap;column-gap:28px;margin:12px 0 0;font-size:13.5px}.hero-learn a{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.hero-content>.button-primary{min-height:44px}
@media(max-width:760px){.hero-content>.hero-learn{flex-direction:column;margin-top:10px}}

/* Header: Log in as a quiet outline pill beside Register; in the phone menu it sits above the Register button. */
.site-nav .nav-login{padding:10px 18px;border:1px solid rgba(6,26,58,.28);border-radius:999px;transition:border-color .25s ease,background .25s ease}.site-nav .nav-login:hover{border-color:var(--navy);background:rgba(6,26,58,.04)}
@media(max-width:960px){.site-header .site-nav>a.nav-login{counter-increment:none;justify-content:center;margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;font-size:12px}.site-header .site-nav>a.nav-login::before{content:none}.site-header .site-nav>a.nav-login:hover{padding-left:14px;color:#fff;border-color:#fff;background:rgba(255,255,255,.06)}.site-header .site-nav>a.nav-login+a.nav-cta{margin-top:8px}}

/* Login band: quiet paper panel, three steps joined by a hairline. */
.login-band{padding:72px var(--gutter);background:var(--cream)}
.login-inner{max-width:var(--container);margin:0 auto;padding:44px 48px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--paper)}
.login-head .eyebrow{color:var(--ink);letter-spacing:2.6px}.login-head h2{margin:0;color:var(--navy);font:600 clamp(1.6rem,2.6vw,2.2rem)/1.15 var(--serif);letter-spacing:-.5px;text-wrap:balance}.login-head h2 em{color:var(--navy);font-style:italic;font-weight:600}
.login-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 0;padding:0;list-style:none}.login-steps::before{content:"";position:absolute;top:22px;left:10%;right:10%;height:1px;background:var(--line)}
.login-steps li{position:relative;padding:0 8px;text-align:center}.login-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 14px;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:var(--paper)}.login-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.login-num{display:block;margin-bottom:6px;color:#8a5f1a;font-size:11px;font-weight:700;letter-spacing:1.5px}.login-steps h3{margin:0 0 6px;color:var(--navy);font:600 1.1rem/1.3 var(--serif)}.login-steps p{max-width:260px;margin:0 auto;color:#5d6679;font-size:14.5px;line-height:1.55}
.login-foot{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.login-note{display:flex;align-items:center;gap:10px;margin:0;color:#5d6679;font-size:13.5px}.login-note svg{flex:none;width:18px;height:18px;fill:none;stroke:#8a5f1a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-actions{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap}.login-actions .button-primary{gap:14px;min-height:44px;padding:12px 24px}.login-actions .button-primary::before,.login-actions .button-primary::after{content:none}.login-actions .button-primary:hover{background:#0b2a5c}
.login-register{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none}.login-register:hover{color:#8a5f1a}
.login-actions a:focus-visible,.login-register:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:999px}
@media(max-width:760px){.login-band{padding:48px 20px}.login-inner{padding:30px 22px}
.login-steps{grid-template-columns:1fr;gap:24px;margin-top:28px}.login-steps::before{top:22px;bottom:22px;left:22px;right:auto;width:1px;height:auto}
.login-steps li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:0;text-align:left}.login-icon{grid-row:1/4;margin:0}.login-num{margin:2px 0 4px}.login-steps p{max-width:none;margin:0}
.login-foot{flex-direction:column;align-items:flex-start}}

/* How it works: small note under stages 2-4. */
.stage-login{display:block;margin-top:8px;color:#5d6679;font-size:11.5px;letter-spacing:.3px}

/* Register band: inline login link. */
.register-section .register-login{color:#e2c48a;font-weight:600;text-decoration:underline;text-underline-offset:3px}.register-section .register-login:hover{color:#fff}

/* AI Learning: two equal cards - light Foundations, deep navy Advanced with a soft gold glow. */
.learn-band{padding:96px var(--gutter) 0;border:0}
.learn-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:var(--container);margin:0 auto}
.learn-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:36px 36px 34px;border:1px solid var(--line);border-radius:var(--card-radius);background:#fff}
.learn-track{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}
.learn-new{padding:3px 9px;border-radius:999px;color:var(--navy);background:#e2c48a;font-size:9.5px;letter-spacing:1.4px}
.learn-card h3{margin:0 0 10px;color:var(--navy);font:600 clamp(1.4rem,2vw,1.7rem)/1.2 var(--serif);letter-spacing:-.3px}.learn-card .learn-lead{max-width:440px;margin:0;color:#5d6679;font-size:15px;line-height:1.6}
.learn-card .learn-meta{margin:18px 0 26px}.learn-card .button{margin-top:auto;min-height:44px}
.learn-card-advanced{border-color:#14305c;background:var(--navy)}.learn-card-advanced::after{content:"";position:absolute;top:-120px;right:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(186,138,53,.28),transparent 68%);pointer-events:none}
.learn-card-advanced>*{position:relative;z-index:1}.learn-card-advanced .learn-track{color:#e2c48a}.learn-card-advanced h3{color:#fff}.learn-card-advanced .learn-lead{color:#c6d0e0}.learn-card-advanced .learn-meta{color:#fff}
.learn-card-advanced .button-outline{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.learn-card-advanced .button-outline::before{background:#e2c48a}.learn-card-advanced .button-outline:hover,.learn-card-advanced .button-outline:focus-visible{color:var(--navy)}
@media(max-width:760px){.learn-band{padding:64px 20px 0}.learn-cards{grid-template-columns:1fr;gap:14px}.learn-card{padding:28px 22px 26px}}
/* Tap targets: header links and menu controls at least 44px tall. */
@media(min-width:961px){.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0}.site-nav .nav-cta{min-height:44px}}
@media(max-width:960px){.site-header .site-nav>a.nav-cta,.site-header .site-nav>a.nav-login{min-height:46px}.nav-close-icon{width:44px;height:44px}}
.hero-content>.button-primary,.login-actions .button-primary,.learn-card .button{min-height:46px}
@media(max-width:760px){.hero h1.hero-title{font-size:clamp(1.8rem,8vw,2.2rem);letter-spacing:-.8px}.hero-dots{margin-top:2px}}
.nowrap{white-space:nowrap}.learn-band .section-heading>.eyebrow{color:var(--ink);letter-spacing:2.6px}
@media(max-width:760px){.login-steps::before{display:none}.login-steps li:not(:last-child)::after{content:"";position:absolute;top:44px;bottom:-24px;left:22px;width:1px;background:var(--line)}}
@media(min-width:641px){.stages li:first-child .stage-go{margin-bottom:25px}}
@media(max-width:760px){.learn-band{padding-left:24px;padding-right:24px}.login-band{padding-left:24px;padding-right:24px}}
/* Headline emphasis: gradient start colours darkened slightly so the large text meets WCAG AA (3:1) on the cream hero. */
.hero h1 .hero-line em{color:#17766d}.hero h1 .hero-line[data-tone="gold"] em{color:#8a6418}


/* Hero headline, word by word: words rise in one after another; the key phrase is a solid accent colour with a soft matching highlighter stroke that sweeps in beneath it. */
.hero-rotator.is-split .hero-line{transform:none;transition:none}.hero-rotator.is-split .hero-line.is-leaving{opacity:1;visibility:visible}
.hero h1 .hero-line[data-tone] em{position:relative;margin-left:.04em;padding:0 .06em;color:var(--tone);-webkit-text-fill-color:currentColor;text-shadow:none;background:linear-gradient(var(--tint),var(--tint)) no-repeat 0 88%/0% .32em;-webkit-background-clip:border-box;background-clip:border-box;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s cubic-bezier(.22,1,.36,1) .55s}
.hero h1 .hero-line[data-tone].is-active em{background-size:100% .32em}.hero h1 .hero-line[data-tone].is-leaving em{background-size:0 .32em;transition-duration:.35s;transition-delay:0s}
.hero-line[data-tone="teal"]{--tone:#17766d;--tint:#cfece6}.hero-line[data-tone="gold"]{--tone:#8a5f1a;--tint:#f2e2bf}.hero-line[data-tone="navy"]{--tone:#1765a3;--tint:#d6e6f5}
.hw{display:inline-block}
.hero-line.is-active .hw{animation:hw-in .8s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--wi) * 85ms)}.hero-line.is-leaving .hw{animation:hw-out .4s cubic-bezier(.55,0,.75,.2) both;animation-delay:calc(var(--wi) * 25ms)}
@keyframes hw-in{from{opacity:0;transform:translateY(.45em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes hw-out{to{opacity:0;transform:translateY(-.3em);filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.hero h1 .hero-line[data-tone] em{transition:none}}

/* Header brand as one lockup: the emblem is exactly as tall as the name + tagline block, both centre on the menu,
   the tagline is spaced to the wordmark's width, and the emblem gets a crisp ring instead of a blurry drop shadow. */
.site-header .brand{gap:12px;align-items:center;line-height:1}.site-header .brand::after{content:none}
.site-header .brand-logo{width:46px;height:46px;box-shadow:0 0 0 1px rgba(186,138,53,.6),0 2px 6px rgba(6,26,58,.16)}
.site-header .brand:hover .brand-logo{box-shadow:0 0 0 1px var(--gold),0 4px 10px rgba(6,26,58,.2)}
.site-header .brand-name{font-size:30px;line-height:30px;letter-spacing:-1px}
.site-header .brand small{margin:5px 0 0 1px;font:600 8.5px/11px var(--sans);letter-spacing:1.25px;color:#3b4763}
@media(max-width:760px){.site-header .brand{gap:10px}.site-header .brand-logo{width:40px;height:40px}.site-header .brand-name{font-size:26px;line-height:26px;letter-spacing:-.8px}.site-header .brand small{margin-top:4px;font-size:7.5px;line-height:10px;letter-spacing:1px}}

/* Hero cream fade, lighter (two steps) so more of the image shows while the text stays readable. */
.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.9) 0%,rgba(248,245,237,.82) 36%,rgba(248,245,237,.44) 50%,rgba(248,245,237,.06) 64%,rgba(248,245,237,0) 100%)}
@media(max-width:760px){.hero::after{background:linear-gradient(180deg,rgba(248,245,237,.9) 0%,rgba(248,245,237,.84) 50%,rgba(248,245,237,.3) 76%,rgba(248,245,237,.04) 100%),linear-gradient(90deg,rgba(248,245,237,.68) 0%,rgba(248,245,237,.34) 45%,rgba(248,245,237,0) 72%)}}

/* Section rhythm after the reorder (Prizes, How it works, Why join, Register, Learn, Log in, FAQ, Support):
   backgrounds alternate paper and cream so each section reads as its own block, with even spacing throughout. */
.prizes-section,.why-section,.login-band{background:var(--paper)}
.stages-section,.learn-band,.faq-section{background:var(--cream)}
.faq-section{max-width:none;margin:0;padding-left:max(var(--gutter),calc((100% - var(--container)) / 2));padding-right:max(var(--gutter),calc((100% - var(--container)) / 2));box-sizing:border-box}
.learn-band{padding-bottom:96px}.login-band{padding-top:96px;padding-bottom:96px}
.login-inner{background:#fff}
main .help-section{padding-top:0;background:var(--cream)}
.prize-note{text-align:left}
@media(max-width:760px){.learn-band{padding-bottom:64px}.login-band{padding-top:64px;padding-bottom:64px}}
/* Phone stage cards: "Log in required" sits under the stage link, in the text column, not under the number. */
@media(max-width:860px){.stage .stage-login{grid-column:2;margin-top:6px}}
/* Log in now sits 4th (after Why join) and is numbered like the other sections; Register is the closing call to action.
   Backgrounds keep alternating: Why join paper, Log in cream, Learn paper, Register navy. */
.login-head>.eyebrow{display:flex;align-items:center;gap:12px;counter-increment:sec}.login-head>.eyebrow::before{content:counter(sec,decimal-leading-zero);padding-right:12px;border-right:1px solid currentColor;font-variant-numeric:tabular-nums}
.login-band{background:var(--cream)}.learn-band{background:var(--paper)}

/* AI learning: one card, two paths side by side (stacked on phones). Each path has its own accent:
   Foundations teal, Advanced gold. Buttons fill from left to right on hover and the arrow nudges forward. */
.learn-panel{display:grid;grid-template-columns:1fr 1fr;max-width:var(--container);margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 48px -36px rgba(6,26,58,.35)}
.learn-path{--acc:#17766d;--acc-soft:#e2f2ef;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:46px 48px 48px}
.learn-path::before{content:"";position:absolute;top:0;left:48px;width:40px;height:2px;background:var(--acc)}
.learn-path-adv{--acc:#8a5f1a;--acc-soft:#f5ead6;border-left:1px solid var(--line);background:#fffcf6}
.learn-step{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--navy);font:700 11px/1 var(--sans);letter-spacing:2.2px;text-transform:uppercase}
.learn-step span{padding:6px 10px;border-radius:999px;color:var(--acc);background:var(--acc-soft);font-size:10px;letter-spacing:1.2px}
.learn-new{padding:5px 9px;border-radius:999px;color:#fff;background:var(--acc);font-size:9.5px;font-style:normal;letter-spacing:1.2px}
.learn-path h3{margin:0 0 12px;text-wrap:balance;color:var(--navy);font:600 clamp(1.45rem,2vw,1.75rem)/1.2 var(--serif);letter-spacing:-.4px}
.learn-desc{max-width:440px;margin:0 0 22px;color:#5d6679;font-size:15px;line-height:1.65}
.learn-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none}
.learn-facts li{padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12.5px;font-weight:500;line-height:1.3}
.learn-btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-top:auto;padding:0 24px;overflow:hidden;border:1px solid var(--navy);border-radius:999px;font:700 11.5px/1 var(--sans);letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;transition:color .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease}
.learn-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.learn-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.learn-btn-solid{color:#fff;background:var(--navy)}
.learn-btn-line{color:var(--navy);background:transparent}
.learn-btn:hover,.learn-btn:focus-visible{color:#fff;border-color:var(--acc);transform:translateY(-1px);box-shadow:0 12px 24px -12px rgba(6,26,58,.5)}
.learn-btn:hover::before,.learn-btn:focus-visible::before{transform:scaleX(1)}
.learn-btn:hover svg,.learn-btn:focus-visible svg{transform:translateX(4px)}
.learn-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.learn-panel{grid-template-columns:1fr}.learn-path{padding:34px 24px 32px}.learn-path::before{left:24px}.learn-path-adv{border-left:0;border-top:1px solid var(--line)}.learn-btn{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.learn-btn,.learn-btn::before,.learn-btn svg{transition:none}}

/* Register band, footer and phone menu: the original navy, one step lighter so it feels softer next to the cream page.
   The QR card and dividers are lifted a matching step. */
:root{--navy-soft:#0e2b55}
.register-section,.site-footer{background:var(--navy-soft)}
.register-card{background:#16386a;border-color:#2f5487}
.footer-bottom{border-top-color:#2f5487}
@media(max-width:960px){.site-header .site-nav{background:var(--navy-soft)}}
/* Highlight strip on phones: the globe icon is dropped and the text set at 13.5px so the line fits in two lines (360px and up). */
@media(max-width:430px){.highlights-strip{padding:14px 20px}.highlight-text{font-size:13.5px}.highlights-strip .highlight-text .ticker-icon{display:none}}

/* Hero image: WebP first, the original JPG for browsers without image-set()/WebP. */
.hero{background-image:url('../images/hero-ai-challenge.jpg');background-image:-webkit-image-set(url('../images/hero-ai-challenge.webp') 1x);background-image:image-set(url('../images/hero-ai-challenge.webp') type('image/webp'),url('../images/hero-ai-challenge.jpg') type('image/jpeg'))}

/* Hero key facts + countdown: small caps like the hero eyebrow, a gold dot before each fact, a hairline gold rule above.
   Each fact carries its own dot, so the row wraps cleanly on phones. */
.hero-facts{max-width:640px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(186,138,53,.4)}
.hero-facts-list{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;color:var(--navy);font:700 10.5px/1.4 var(--sans);letter-spacing:1.6px;text-transform:uppercase}
.hero-facts-list li{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.hero-facts-list li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.hero-facts-list .cur{margin-right:-6px;font-family:'Noto Sans',var(--sans);letter-spacing:0}
.hero-countdown{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:#3b4763;font-size:13.5px;line-height:1.4}
.hero-countdown strong{color:var(--navy);font-weight:700}
.hero-countdown-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--teal-dark)}
.hero-countdown.is-live .hero-countdown-dot::after{content:"";position:absolute;inset:-4px;border:1px solid var(--teal);border-radius:50%;opacity:.55}
.hero-countdown.is-closed .hero-countdown-dot{background:#8a93a5}
@keyframes cd-pulse{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}
/* Tablet/phone: no card over the photo. The facts keep the hairline gold rule and get a soft cream halo so they stay readable while the image shows through. */
@media(max-width:960px){.hero-facts{margin-top:22px;padding-top:16px}.hero-facts-list,.hero-countdown{text-shadow:0 0 6px rgba(248,245,237,.95),0 0 14px rgba(248,245,237,.9),0 0 2px rgba(248,245,237,1)}}
@media(max-width:760px){.hero{padding-bottom:190px}.hero-facts-list{gap:10px 16px;font-size:10px;letter-spacing:1.1px}.hero-countdown{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-countdown.is-live .hero-countdown-dot::after{animation:none;opacity:0}}

/* Key dates, inside How it works: a horizontal timeline on desktop, vertical on phones. The first (open) step is gold. */
.key-dates{max-width:var(--container);margin:44px auto 0;padding-top:34px;border-top:1px solid var(--line)}
.key-dates-title{margin:0 0 26px;color:var(--ink);font:700 11px/1 var(--sans);letter-spacing:2.6px;text-transform:uppercase}
.key-dates-list{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.key-dates-list::before{content:"";position:absolute;top:5px;left:6px;right:6px;height:1px;background:var(--line)}
.key-dates-list li{position:relative;display:flex;flex-direction:column;gap:6px;padding-top:28px}
.key-dates-list li::before{content:"";position:absolute;top:0;left:0;width:11px;height:11px;box-sizing:border-box;border:1px solid #b9ae9a;border-radius:50%;background:var(--cream)}
.key-dates-list li.is-next::before{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 4px rgba(186,138,53,.18)}
.kd-when{color:#5d6679;font-size:12px;font-weight:600;letter-spacing:.2px;line-height:1.4}
.key-dates-list li.is-next .kd-when{color:#8a5f1a}
.kd-what{order:-1;color:var(--navy);font:600 1.05rem/1.25 var(--serif)}
.kd-note{color:#697185;font-size:13px;line-height:1.45}
@media(max-width:860px){.key-dates{margin-top:36px;padding-top:28px}.key-dates-list{grid-template-columns:1fr;gap:22px}.key-dates-list::before{top:6px;bottom:6px;left:5px;right:auto;width:1px;height:auto}.key-dates-list li{padding:0 0 0 28px}}

/* Mobile header Log in pill (shown only when the desktop nav collapses). 44px tap area, smaller visible pill. */
.header-login{display:none}
@media(max-width:960px){.site-header .header-login{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;margin-right:6px;padding:0 2px;color:var(--navy);text-decoration:none}.header-login span{display:inline-flex;align-items:center;height:32px;padding:0 14px;border:1px solid rgba(6,26,58,.28);border-radius:999px;font:700 10.5px/1 var(--sans);letter-spacing:1.4px;text-transform:uppercase;transition:border-color .25s ease,background .25s ease}.header-login:hover span{border-color:var(--navy);background:rgba(6,26,58,.04)}.header-login:focus-visible{outline:none}.header-login:focus-visible span{outline:2px solid var(--gold);outline-offset:3px}}
@media(max-width:360px){.site-header .header-login{margin-right:2px}.header-login span{padding:0 11px;letter-spacing:1.1px}}

/* Footer privacy link */
.footer-legal{display:inline-block;margin:-15px 0 -15px 10px;padding:15px 4px;color:inherit;text-decoration:underline;text-underline-offset:3px}.footer-legal:hover{color:#fff}
.faq-list p a{overflow-wrap:anywhere}

/* Podium (impeccable pass): numbers are the stars. The prizes sit on a navy stage; each prize stands on a step sized to its value (2nd · 1st · 3rd), with places 4–8 as gold-rimmed medallions. */
.prizes-section{position:relative;overflow:hidden;background:var(--navy);color:#dfe6f1}
.prizes-section::before{content:"";position:absolute;left:50%;top:-38%;width:min(1100px,150%);aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(186,138,53,.17),rgba(186,138,53,0));pointer-events:none}
.prizes-section>*{position:relative}
.prizes-section .section-heading>.eyebrow{color:#e0bd78}.prizes-section .section-heading h2{color:#fff}.prizes-section .section-heading>p:last-child{color:#b9c4d6}
.prizes-section .prize-top{display:flex;align-items:flex-end;justify-content:center;gap:clamp(8px,1.6vw,18px);max-width:880px;margin:8px auto 0;padding:0 24px;border-bottom:0}
.prizes-section .prize-top li,.prizes-section .prize-top .prize-first{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;min-width:0;overflow:hidden;padding:clamp(18px,2.4vw,30px) 8px 0;text-align:center;border:1px solid #2f5487;border-bottom:0;border-radius:16px 16px 0 0;background:linear-gradient(180deg,#16386a,#0e2b55);box-shadow:none;transition:none}
.prizes-section .prize-top li:hover{transform:none;border-color:#2f5487;box-shadow:none}
.prizes-section .prize-top li:nth-child(2){order:-1;height:clamp(140px,15vw,170px)}
.prizes-section .prize-top li:nth-child(3){height:clamp(104px,10vw,116px)}
.prizes-section .prize-top .prize-first{flex-grow:1.18;height:clamp(226px,25vw,284px);border-color:#d9b06a;background:linear-gradient(180deg,#d6a852,#ba8a35 58%,#a37829)}
.prizes-section .prize-top .prize-first:hover{border-color:#d9b06a}
.prizes-section .prize-top .prize-first::before{display:none}
.prizes-section .prize-top li::after{content:"2";content:"2"/"";position:absolute;left:50%;bottom:-.18em;transform:translateX(-50%);color:rgba(255,255,255,.12);font:600 clamp(5rem,9vw,7.5rem)/1 var(--serif);pointer-events:none}
.prizes-section .prize-top .prize-first::after{content:"1";content:"1"/"";color:rgba(6,26,58,.18);font-size:clamp(6rem,11vw,9rem)}
.prizes-section .prize-top li:nth-child(3)::after{content:"3";content:"3"/""}
.prizes-section .prize-place{justify-content:center;color:#c3cee0;font-size:11.5px;letter-spacing:1.8px}
.prizes-section .prize-amount{color:#fff;font:600 clamp(1.5rem,3vw,2.4rem)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.prizes-section .prize-first .prize-place{color:var(--navy)}
.prizes-section .prize-first .prize-amount{color:var(--navy);font-size:clamp(1.9rem,4.2vw,3.4rem)}
.prizes-section .prize-rest{max-width:880px;margin:14px auto 0;border:0}
.prizes-section .prize-rest li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:20px 28px 22px;border:1px solid #2f5487;border-top:0;border-radius:0 0 16px 16px;background:#0e2b55}
.prizes-section .prize-rest .prize-place{justify-content:flex-start}
.prizes-section .prize-rest .prize-amount{font-size:clamp(1.35rem,2.2vw,1.7rem)}
.medals{display:flex}.medals i{display:grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--gold);border-radius:50%;color:#e0bd78;background:var(--navy);font:600 17px/1 var(--serif);font-style:normal}.medals{gap:8px}
.prizes-section .prize-total{max-width:880px;padding:26px 4px 0}.prizes-section .prize-total dt{color:#c3cee0}.prizes-section .prize-total dd{color:#e0bd78;font:600 clamp(1.7rem,2.6vw,2.2rem)/1 var(--serif);font-variant-numeric:lining-nums}
.prizes-section .prize-note{max-width:880px;color:#a9b6cb}.prizes-section .prize-more{color:#fff}
.prizes-section .cur{font-family:var(--serif)}
.prizes-section ::selection{background:var(--gold);color:var(--navy)}
/* Signature moment: steps rise from the stage floor, then the medallions land (JS arms this only when the prizes start off screen). */
.prizes-section.is-armed .prize-top li{clip-path:inset(100% 0 0 0)}
.prizes-section.is-armed .medals i{opacity:0;transform:translateY(10px) scale(.6)}
.prizes-section.is-up .prize-top li{clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.16,1,.3,1)}
.prizes-section.is-up .prize-top li:nth-child(3){transition-delay:0s}.prizes-section.is-up .prize-top li:nth-child(2){transition-delay:.14s}.prizes-section.is-up .prize-top .prize-first{transition-delay:.28s}
.prizes-section.is-up .medals i{opacity:1;transform:none;transition:opacity .35s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.prizes-section.is-up .medals i:nth-child(1){transition-delay:.7s}.prizes-section.is-up .medals i:nth-child(2){transition-delay:.76s}.prizes-section.is-up .medals i:nth-child(3){transition-delay:.82s}.prizes-section.is-up .medals i:nth-child(4){transition-delay:.88s}.prizes-section.is-up .medals i:nth-child(5){transition-delay:.94s}
@media(max-width:760px){.prizes-section .prize-top li,.prizes-section .prize-top .prize-first{flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:16px 4px 0}.prizes-section .prize-top li:nth-child(2){height:122px}.prizes-section .prize-top li:nth-child(3){height:90px}.prizes-section .prize-top .prize-first{height:192px}.prizes-section .prize-place{font-size:11px;letter-spacing:.4px}.prizes-section .prize-amount{font-size:clamp(.95rem,4.6vw,1.35rem)}.prizes-section .prize-first .prize-amount{font-size:clamp(1.15rem,5.8vw,1.7rem)}.prizes-section .prize-rest li{grid-template-columns:1fr auto;gap:12px 14px;padding:16px 18px}.prizes-section .prize-rest .medals{grid-column:1/-1}.medals i{width:38px;height:38px;font-size:15px}}
/* Stages as numbered steps on one rail: display-scale gold numerals instead of tinted cards. */
.stages{gap:0 28px}
.stages li:nth-child(n){--accent:var(--navy)}
.stage,.stage:hover{padding:30px 0 6px;border-top:1px solid #cdc4b1;border-radius:0;background:transparent;box-shadow:none;transform:none}
.stage::before{display:block;top:-1px;height:2px;background:var(--gold)}
.stage::after{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;box-sizing:border-box;border:1px solid #b9ae9a;border-radius:50%;background:var(--cream)}
.stages li:first-child .stage::after{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 4px rgba(186,138,53,.18)}
.stage-num{display:block;width:auto;height:auto;margin:0 0 14px;border-radius:0;color:#8a5f1a;background:none;font:500 clamp(3.2rem,4.6vw,4.4rem)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.stage-go,.stage:hover .stage-go{color:var(--navy)}.stage:hover .stage-go,.stage:focus-visible .stage-go{color:#8a5f1a}
@media(max-width:640px){.stages{gap:0}.stage,.stage:hover{grid-template-columns:64px 1fr;padding:24px 0 22px 26px}.stage-num{grid-row:1/4;margin:0;font-size:2.6rem}}
/* Browser surfaces in the palette. */
::selection{background:#f2e2bf;color:var(--navy)}html{accent-color:var(--gold);caret-color:var(--navy)}

/* Podium framing (review fixes): one centred axis for heading, podium and plinth; the steps stand on a plinth that runs into the 4th–8th row. */
.prizes-section .section-heading{display:block;max-width:720px;margin-left:auto;margin-right:auto;text-align:center}.prizes-section .section-heading>.eyebrow{justify-content:center}.prizes-section .section-heading>p:last-child{max-width:60ch;margin:16px auto 0;padding:0}
.prizes-section .prize-top{position:relative}
.prizes-section .prize-top::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;box-sizing:border-box;border:1px solid #2f5487;border-bottom:0;border-radius:10px 10px 0 0;background:#0e2b55}
.prizes-section .prize-amount,.prizes-section .prize-total dd{font-variant-numeric:tabular-nums lining-nums}
@media(max-width:760px){.prizes-section .prize-top{padding:0 8px}}
/* Key dates: the deadline is the one date set at display scale. */
.key-dates-list{grid-template-columns:minmax(0,1.7fr) repeat(4,minmax(0,1fr))}
.key-dates-list li.is-next .kd-date{display:block;margin-top:8px;color:var(--navy);font:600 clamp(1.6rem,2vw,2rem)/1.05 var(--serif);letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:lining-nums}
@media(max-width:860px){.key-dates-list{grid-template-columns:1fr}}
/* Why join: lead with free AI learning as the feature; the other three read as a compact list beside it. */
.why-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 72px;align-items:start}
.why-grid li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:24px 0;border-top:1px solid var(--line)}.why-grid li:last-child{border-bottom:1px solid var(--line)}
.why-grid li svg{grid-row:1/3;width:28px;height:28px;margin:2px 0 0}.why-grid li h3{margin:0 0 6px}
.why-grid li:nth-child(3){grid-column:1;grid-row:1/4;display:block;padding:44px 48px 46px;border:0;border-radius:20px;background:#e6f4f1}
.why-grid li:nth-child(3) svg{width:44px;height:44px;margin:0 0 26px;stroke:#17766d;stroke-width:1.2}
.why-grid li:nth-child(3) h3{margin:0 0 14px;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.12;letter-spacing:-.01em}
.why-grid li:nth-child(3) p{max-width:40ch;color:#3f4a5e;font-size:17px;line-height:1.6}
.why-grid li:nth-child(3) .why-link{display:inline-flex;margin-top:24px}
@media(max-width:860px){.why-grid{grid-template-columns:1fr;gap:0}.why-grid li:nth-child(3){grid-column:auto;grid-row:auto;order:-1;margin-bottom:12px;padding:30px 26px 32px}}
/* Small-screen header and hero label stay on one line. */
.header-login span,.hero-label span{white-space:nowrap}
/* Hero headline, mask rise: every word slides up from behind its own baseline mask; leaving words sink out through the top.
   The highlighted phrase then catches one light sweep. (The rotator only runs when motion is allowed.) */
.hw{clip-path:inset(-.35em -.25em -.16em -.25em)}
.hw-i{display:inline-block}
.hero-line.is-active .hw,.hero-line.is-leaving .hw{animation:none}
.hero-line.is-active .hw-i{animation:hw-rise .95s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.05s + var(--wi) * 70ms)}
.hero-line.is-leaving .hw-i{animation:hw-sink .36s cubic-bezier(.5,0,.75,0) both;animation-delay:calc(var(--wi) * 12ms)}
.hero-rotator.is-turning .hero-line.is-active .hw-i{animation-delay:calc(.48s + var(--wi) * 70ms)}
.hero-rotator.is-turning .hero-line[data-tone].is-active em::after{animation-delay:1.9s}
@keyframes hw-rise{from{transform:translateY(125%)}}
@keyframes hw-sink{to{transform:translateY(-130%)}}
.hero h1 .hero-line[data-tone] em::after{content:"";position:absolute;inset:-.08em -.12em;background:linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.8) 50%,rgba(255,255,255,0) 62%) no-repeat;background-size:260% 100%;background-position:130% 0;opacity:0;pointer-events:none}
.hero h1 .hero-line[data-tone].is-active em::after{animation:em-sweep 1.15s cubic-bezier(.45,0,.2,1) 1.6s both}
@keyframes em-sweep{0%{opacity:0;background-position:130% 0}18%,82%{opacity:1}100%{opacity:0;background-position:-30% 0}}
/* Scroll story (CSS scroll-driven; browsers without it keep the static page). */
.button:active,.learn-btn:active,.nav-cta:active,.header-login:active span,.help-card:active,.wa-float:active{scale:.97}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
main .section-heading h2,.faq-intro h2,.help-intro h2,.login-head h2,.register-section h2{animation:head-wipe cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 85%}
.stages{position:relative;view-timeline:--rail block}
.stages::after{content:"";position:absolute;top:0;left:0;right:0;z-index:1;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none;animation:rail-x linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
.stage::after{z-index:2}
.stages li:nth-child(2) .stage::after{animation:dot-2 linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
.stages li:nth-child(3) .stage::after{animation:dot-3 linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
.stages li:nth-child(4) .stage::after{animation:dot-4 linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
@media(max-width:640px){.stages::after{right:auto;bottom:0;left:4.5px;width:2px;height:auto;transform:scaleY(0);transform-origin:top;animation-name:rail-y}}
}}
@keyframes head-wipe{from{clip-path:inset(-.3em 100% -.3em -.3em);transform:translateY(.22em)}to{clip-path:inset(-.3em -.3em -.3em -.3em);transform:none}}
@keyframes rail-x{to{transform:scaleX(1)}}
@keyframes rail-y{to{transform:scaleY(1)}}
@keyframes dot-2{0%,24%{border-color:#b9ae9a;background:var(--cream)}27%,100%{border-color:var(--gold);background:var(--gold)}}
@keyframes dot-3{0%,49%{border-color:#b9ae9a;background:var(--cream)}52%,100%{border-color:var(--gold);background:var(--gold)}}
@keyframes dot-4{0%,74%{border-color:#b9ae9a;background:var(--cream)}77%,100%{border-color:var(--gold);background:var(--gold)}}
/* Contrast: gold text on cream only in its darker, AA-safe tone. */
.faq-list summary:hover{color:#8a5f1a}.help-intro h2 em{color:#8a5f1a}
/* Hero highlighter waits for the words: it draws in after the last word lands and drops at once when the line leaves. */
.hero h1 .hero-line[data-tone].is-active em{transition-delay:1s}.hero-rotator.is-turning .hero-line[data-tone].is-active em{transition-delay:1.3s}
.hero h1 .hero-line[data-tone].is-leaving em{background-size:0 .32em;transition:none}
/* Teal marks what is live now (current stage, next date); gold stays for the prize and the path toward it. */
.stages li:first-child .stage::after,.key-dates-list li.is-next::before{border-color:#17766d;background:#17766d;box-shadow:none}
.key-dates-list li.is-next .kd-when{color:#17766d}.key-dates-list li.is-next .kd-note{order:-1}
/* Ghost place numerals scale with their (value-sized) steps so they never touch the amounts. */
.prizes-section .prize-top li:nth-child(2)::after{font-size:clamp(3.6rem,5.6vw,5rem);bottom:-.22em}.prizes-section .prize-top li:nth-child(3)::after{font-size:clamp(2.8rem,4.2vw,3.6rem);bottom:-.24em}
@media(max-width:760px){.prizes-section .prize-top li:nth-child(2)::after{font-size:3rem}.prizes-section .prize-top li:nth-child(3)::after{font-size:2.2rem}.prizes-section .prize-top .prize-first::after{font-size:4.6rem}}
.prizes-section .prize-top li:nth-child(3)::after{font-size:2.2rem;bottom:-.2em}
@media(max-width:760px){.prizes-section .prize-top li:nth-child(3)::after{font-size:1.7rem}}
/* Event pass (impeccable delight): the deadline is live. */
/* Hero facts at a readable size. */
.hero-facts-list{font-size:11px}
@media(max-width:760px){.hero-facts-list{font-size:11px;letter-spacing:1px}}
/* Live countdown ticket: cream pass with the clock in display numerals; digits roll as time moves. The sentence stays for screen readers. */
.hero-countdown.has-clock{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding:12px 20px 12px 16px;border:1px solid rgba(6,26,58,.12);border-radius:16px;background:rgba(255,253,248,.94);box-shadow:0 12px 30px -14px rgba(6,26,58,.35);text-shadow:none}
.hero-countdown.has-clock .hero-countdown-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cd-clock{display:grid;grid-template-columns:repeat(4,auto);column-gap:18px;row-gap:6px;align-items:start}
.cd-title{grid-column:1/-1;color:#17766d;font:700 11px/1.2 var(--sans);letter-spacing:1.4px;text-transform:uppercase}
.cd-unit{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:2.1em}
.cd-unit+.cd-unit::before{content:"";position:absolute;left:-10px;top:4px;height:22px;width:1px;background:rgba(6,26,58,.14)}
.cd-num{display:inline-flex;color:var(--navy);font:600 1.75rem/1 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.cd-d{display:inline-grid;clip-path:inset(0 -.1em)}
.cd-d i{grid-area:1/1;font-style:normal}
.cd-d i.is-in{animation:cd-in .5s cubic-bezier(.16,1,.3,1) both}
.cd-d i.is-out{animation:cd-out .32s cubic-bezier(.5,0,.75,0) both}
@keyframes cd-in{from{transform:translateY(105%)}}
@keyframes cd-out{to{transform:translateY(-105%)}}
.cd-lab{color:#5d6679;font:700 11px/1 var(--sans);letter-spacing:.8px;text-transform:uppercase}
@media(max-width:760px){.hero-countdown.has-clock{gap:12px;padding:11px 16px 11px 14px}.cd-clock{column-gap:16px}.cd-num{font-size:1.5rem}.cd-unit+.cd-unit::before{left:-9px;height:20px}}
/* How it works: stage 1 carries a live "Open now" tag (shown only while registration is open). */
.stage-live{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:4px 10px 4px 8px;border-radius:999px;color:#17766d;background:#e2f2ef;font:700 11px/1.2 var(--sans);letter-spacing:.8px;text-transform:uppercase;vertical-align:.2em;white-space:nowrap}
.stage-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#17766d}
.stage-live[hidden]{display:none}
/* Key dates as an event schedule: dates still to be announced hang on a dashed line; the deadline carries a live "In N days" tag. */
.key-dates-list::before{height:0;background:none;border-top:1px dashed #c4b79f}
@media(max-width:860px){.key-dates-list::before{width:0;border-top:0;border-left:1px dashed #c4b79f}}
.kd-in{display:inline-flex;margin-top:10px;padding:5px 11px;border-radius:999px;color:#fff;background:#17766d;font:700 11px/1.2 var(--sans);letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
.kd-in[hidden]{display:none}
/* Scroll: stages unlock as the rail reaches them (outline numeral fills with gold, a gold head leads the line); key dates arrive one by one. */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
.stages li:nth-child(n+2) .stage-num{-webkit-text-stroke:1px #8a5f1a;animation:num-2 linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
.stages li:nth-child(3) .stage-num{animation-name:num-3}.stages li:nth-child(4) .stage-num{animation-name:num-4}
.stages::before{content:"";position:absolute;z-index:3;top:-2.5px;left:0;width:7px;height:7px;border-radius:50%;background:#d9b06a;box-shadow:0 1px 6px rgba(186,138,53,.6);pointer-events:none;animation:bead-x linear both;animation-timeline:--rail;animation-range:entry 70% cover 55%}
@media(max-width:640px){.stages::before{top:0;left:2px;animation-name:bead-y}}
.key-dates-list li{animation:kd-arrive cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 90%}
}}
@keyframes num-2{0%,24%{color:transparent}27%,100%{color:#8a5f1a}}
@keyframes num-3{0%,49%{color:transparent}52%,100%{color:#8a5f1a}}
@keyframes num-4{0%,74%{color:transparent}77%,100%{color:#8a5f1a}}
@keyframes bead-x{from{left:0;opacity:0}6%{opacity:1}to{left:calc(100% - 7px);opacity:1}}
@keyframes bead-y{from{top:0;opacity:0}6%{opacity:1}to{top:calc(100% - 7px);opacity:1}}
@keyframes kd-arrive{from{opacity:0;transform:translateX(-14px)}}
/* Micro-labels at the 11px legibility floor (the brand tagline keeps its tuned size). */
.header-login span,.learn-step span,.learn-new,.help-hours-label,.help-panel h3.help-label,.footer-legal{font-size:11px}
/* Phones: the countdown pass sits above the subject's head in the hero photo. */
@media(max-width:760px){.hero{padding-bottom:265px}}
/* ---- Section upgrade (impeccable): countdown, key dates, why join, FAQ ---- */
/* Countdown, days only, no panel: the day count at display scale beside its label, sitting straight on the hero. */
.hero-countdown.has-clock{display:flex;align-items:center;gap:12px;margin-top:18px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.cd-clock{display:flex;align-items:center;gap:12px}
.cd-num{display:inline-flex;color:var(--navy);font:600 clamp(2.5rem,3.4vw,3.1rem)/.9 var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.cd-lab{display:flex;flex-direction:column;gap:4px;color:#3b4763;font:500 13.5px/1.2 var(--sans);letter-spacing:0;text-transform:none}
.cd-lab b{color:#17766d;font:700 11px/1.2 var(--sans);letter-spacing:1.4px;text-transform:uppercase}
.cd-clock.is-last .cd-num{display:none}
@media(max-width:960px){.hero-countdown.has-clock{text-shadow:0 0 6px rgba(248,245,237,.95),0 0 14px rgba(248,245,237,.9),0 0 2px #f8f5ed}}
@media(max-width:760px){.hero{padding-bottom:225px}.cd-num{font-size:2.5rem}}
/* Key dates as an event programme: the deadline gets its own live panel; the rest run as a schedule beside it. */
.key-dates{margin-top:64px;padding-top:0;border-top:0}
.key-dates-list{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0 56px;align-items:start}
.key-dates-list::before,.key-dates-list li::before{content:none}
.key-dates-list li{padding:0}
.key-dates-list li.is-next{grid-column:1;grid-row:1/6;padding:34px 36px 36px;border-radius:20px;background:#e6f4f1}
.key-dates-list li.is-next .kd-note{order:-2;color:#17766d;font:700 11px/1.2 var(--sans);letter-spacing:1.4px;text-transform:uppercase}
.key-dates-list li.is-next .kd-what{font-size:1.3rem}
.key-dates-list li.is-next .kd-when{margin-top:14px;color:#17766d;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.key-dates-list li.is-next .kd-date{margin-top:6px;font-size:clamp(2rem,3.2vw,2.9rem);letter-spacing:-.02em;text-transform:none}
.kd-in{margin-top:16px;letter-spacing:.8px}
.key-dates-list li:not(.is-next){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:4px;align-items:baseline;padding:20px 0;border-bottom:1px dashed #c4b79f}
.key-dates-list li.is-next+li{border-top:1px dashed #c4b79f}
.key-dates-list li:not(.is-next) .kd-what{grid-column:1;grid-row:1/3;font-size:1.12rem}
.key-dates-list li:not(.is-next) .kd-when{grid-column:2;grid-row:1;color:var(--navy);font-size:13px}
.key-dates-list li:not(.is-next) .kd-note{grid-column:2;grid-row:2}
@media(max-width:860px){.key-dates{margin-top:48px}.key-dates-list{grid-template-columns:1fr;gap:0}.key-dates-list li.is-next{grid-column:auto;grid-row:auto;margin-bottom:10px;padding:26px 24px 28px}.key-dates-list li:not(.is-next){padding:18px 0}}
@media(max-width:560px){.key-dates-list li:not(.is-next){grid-template-columns:1fr}.key-dates-list li:not(.is-next) .kd-what,.key-dates-list li:not(.is-next) .kd-when,.key-dates-list li:not(.is-next) .kd-note{grid-column:1;grid-row:auto}.key-dates-list li:not(.is-next) .kd-what{margin-bottom:2px}}
/* Why join: the feature leads with its number; list rows get ringed icons and a navy hairline that draws in on hover. */
.why-grid li:nth-child(3){position:relative}
.why-grid li:nth-child(3) svg{position:absolute;top:40px;right:44px;margin:0}
.why-big{display:flex;align-items:flex-end;gap:14px;margin:0 0 22px;color:#17766d;font:700 11px/1.3 var(--sans);letter-spacing:1.4px;text-transform:uppercase}
.why-big span{color:#17766d;font:500 clamp(4.6rem,7vw,6.2rem)/.78 var(--serif);letter-spacing:-.03em}
.why-grid li:not(:nth-child(3)){position:relative;grid-template-columns:56px 1fr}
.why-grid li:not(:nth-child(3)) svg{box-sizing:content-box;width:20px;height:20px;padding:11px;border:1px solid var(--line);border-radius:50%;background:#fff;transition:border-color .3s ease,background-color .3s ease}
.why-grid li:not(:nth-child(3))::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.why-grid li:not(:nth-child(3)):hover::after{transform:scaleX(1)}
.why-grid li:not(:nth-child(3)):hover svg{border-color:var(--navy);background:#f3f6fa}
@media(max-width:860px){.why-grid li:nth-child(3) svg{top:28px;right:24px;width:36px;height:36px}.why-big span{font-size:4.4rem}}
/* FAQ: each question is a quiet row that becomes a white card when open; the plus turns into a close mark; answers glide open where supported. */
.faq-list{display:grid;gap:10px;border-top:0}
.faq-list details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.5);transition:background-color .3s ease,border-color .3s ease}
.faq-list details:hover{border-color:rgba(6,26,58,.24)}
.faq-list details[open]{background:#fff;border-color:rgba(6,26,58,.16)}
.faq-list summary{padding:18px 18px 18px 24px;font-size:16.5px}
.faq-list summary::after{width:34px;height:34px;box-sizing:border-box;border:1px solid var(--line);border-radius:50%;background-size:12px 1.5px,1.5px 12px;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .25s ease,border-color .25s ease,color .25s ease}
.faq-list details[open] summary::after{transform:rotate(135deg);color:#fff;border-color:var(--navy);background-color:var(--navy)}
.faq-list details p{padding:0 70px 22px 24px}
.faq-more{margin:26px 0 0;color:#5d6679;font-size:14.5px;line-height:1.5}
.faq-more a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-color:rgba(6,26,58,.3);text-underline-offset:5px;transition:text-decoration-color .25s ease}
.faq-more a:hover{text-decoration-color:var(--navy)}
@media(max-width:760px){.faq-list summary{padding:16px 14px 16px 18px;font-size:16px}.faq-list details p{padding:0 18px 20px}}
@supports selector(::details-content){@media(prefers-reduced-motion:no-preference){.faq-list details{interpolate-size:allow-keywords}.faq-list details::details-content{block-size:0;overflow:hidden;transition:block-size .45s cubic-bezier(.16,1,.3,1),content-visibility .45s allow-discrete}.faq-list details[open]::details-content{block-size:auto}}}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.why-grid li,.faq-list details{animation:kd-arrive cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 90%}}}
@media(max-width:560px){.key-dates-list li.is-next .kd-date{font-size:clamp(1.5rem,7.4vw,2rem);white-space:normal}}
/* Hero alignment: dots start on the text edge (the active pill grows rightwards inside its 44px tap area). */
.hero-dot{justify-items:start;padding-left:19px}
.hero-countdown.has-clock{padding-left:4px}.faq-more a{gap:6px}
@media(max-width:860px){.why-grid li:nth-child(3) svg{display:none}}
.why-grid li:nth-child(3) .why-link{gap:8px}
/* Static stage rail (every browser; the scroll-driven layer draws gold over it): one continuous hairline through the stage dots. */
.stages{position:relative}
.stages::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#cdc4b1;pointer-events:none}
.stages li:first-child .stage{border-top-color:var(--gold)}
@media(max-width:640px){.stages::before{bottom:0;right:auto;left:5px;width:1px;height:auto}}
/* Why join feature on warm sand (teal is kept for live states only). */
.why-grid li:nth-child(3){background:#f3ecdf}.why-grid li:nth-child(3) svg{stroke:var(--navy)}
.prizes-section .prize-top li:nth-child(3)::after{font-size:2.6rem;bottom:-.14em}
@media(max-width:760px){.prizes-section .prize-top li:nth-child(3)::after{font-size:1.9rem}}
/* Why join feature: the book icon sits in the flow above the heading (no overlap at any width). */
.why-grid li:nth-child(3) svg,.why-grid li:nth-child(3) svg{position:static;display:block;width:40px;height:40px;margin:0 0 22px}
@media(max-width:860px){.why-grid li:nth-child(3) svg{display:block;width:34px;height:34px;margin-bottom:18px}}
/* Podium: no ghost numerals; step height and amount carry the ranking. */
.prizes-section .prize-top li::after,.prizes-section .prize-top .prize-first::after,.prizes-section .prize-top li:nth-child(3)::after{content:none}
/* ---- Stage cards (replaces the rail): four tinted cards in the brand palette, one accent each, linked by arrows. ---- */
.stages{gap:16px;align-items:stretch}
.stages::before,.stages::after{content:none}
.stages li:nth-child(1){--accent:#061a3a;--tint:#edf0f6;--edge:rgba(6,26,58,.1);--glow:rgba(6,26,58,.22)}
.stages li:nth-child(2){--accent:#1765a3;--tint:#e8f1f9;--edge:rgba(23,101,163,.14);--glow:rgba(23,101,163,.25)}
.stages li:nth-child(3){--accent:#17766d;--tint:#e6f4f1;--edge:rgba(23,118,109,.14);--glow:rgba(23,118,109,.25)}
.stages li:nth-child(4){--accent:#8a5f1a;--tint:#f7eedd;--edge:rgba(138,95,26,.16);--glow:rgba(138,95,26,.25)}
.stages li{position:relative;display:flex}
.stage,.stage:hover{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:28px 26px 24px;border:1px solid var(--edge);border-radius:18px;background:var(--tint);box-shadow:none;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1)}
.stage:hover,.stage:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px -20px var(--glow)}
.stages li:nth-child(n) .stage::before,.stages li:nth-child(n) .stage::after{content:none;animation:none}
.stages li:nth-child(n) .stage-num{display:grid;place-items:center;width:40px;height:40px;margin:0 0 24px;border-radius:50%;color:#fff;background:var(--accent);font:700 12px/1 var(--sans);letter-spacing:.5px;-webkit-text-stroke:0;animation:none;font-variant-numeric:tabular-nums}
.stage h3{margin:0 0 8px;color:var(--navy)}
.stage p{color:#4f5a6e}
.stage-go,.stage:hover .stage-go,.stage:focus-visible .stage-go{color:var(--accent)}
/* Outlined numeral watermark in the card corner. */
.stage-mark{position:absolute;top:10px;right:18px;color:transparent;-webkit-text-stroke:1px var(--edge);font:600 5.2rem/1 var(--serif);pointer-events:none;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.stage:hover .stage-mark{transform:translateY(-4px)}
@supports (-webkit-text-stroke:1px black){.stage-mark{-webkit-text-stroke:1.2px color-mix(in srgb,var(--accent) 30%,transparent)}}
/* Arrow connectors between cards (desktop row). */
.stages li:not(:last-child)::after{content:"";position:absolute;z-index:2;top:50%;right:-15px;width:14px;height:14px;margin-top:-7px;border-top:1.5px solid #b9ad96;border-right:1.5px solid #b9ad96;transform:rotate(45deg)}
@media(max-width:1024px){.stages li:nth-child(2)::after{content:none}}
@media(max-width:640px){.stages{gap:12px}.stages li:not(:last-child)::after{top:auto;right:auto;bottom:-10px;left:42px;width:8px;height:8px;margin:0;transform:rotate(135deg)}
.stage,.stage:hover{display:grid;grid-template-columns:52px 1fr;padding:22px 20px 20px}.stages li:nth-child(n) .stage-num{grid-row:1/4;margin:0;width:38px;height:38px}.stage-mark{font-size:4rem;top:8px;right:14px}}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.stages li{animation:kd-arrive cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 80%}}}
@media(prefers-reduced-motion:reduce){.stage,.stage-mark{transition:none}.stage:hover{transform:none}}
/* Key dates: the deadline panel's title at a calmer size. */
.key-dates-list li.is-next .kd-what{font-size:1.05rem;line-height:1.3}
@media(max-width:560px){.key-dates-list li.is-next .kd-what{font-size:1rem}.key-dates-list li.is-next .kd-date{font-size:clamp(1.5rem,7vw,1.85rem)}}
.stages li:first-child .stage{border-top-color:var(--edge)}
@media(max-width:640px){.stage-mark{display:none}.stages li:nth-child(2)::after{content:""}}

/* Phone hero: the photo stays the hero background. It is sized so the subject sits bottom-right beside the countdown
   (not under the text), fading up into cream behind the headline. Less enlargement keeps it sharp. */
@media(max-width:760px){
.hero{min-height:0;padding:104px 20px 40px;background-color:#f8f5ed;background-repeat:no-repeat;background-size:100% auto;background-position:50% 100%}
.hero::after{inset:0;height:auto;z-index:1;background:linear-gradient(180deg,#f8f5ed 0%,#f8f5ed 30%,rgba(248,245,237,.86) 44%,rgba(248,245,237,.5) 62%,rgba(248,245,237,.14) 82%,rgba(248,245,237,0) 100%)}
.hero-facts{margin-top:20px;padding-top:14px}
}
@media(max-width:480px){.hero{background-size:auto 62%;background-position:67% 100%}}
@media(max-width:760px){.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.9) 0%,rgba(248,245,237,.72) 42%,rgba(248,245,237,0) 66%),linear-gradient(180deg,#f8f5ed 0%,#f8f5ed 30%,rgba(248,245,237,.82) 44%,rgba(248,245,237,.36) 64%,rgba(248,245,237,0) 86%)}.cd-lab{color:#1f2b45}}
/* ---- Key dates, programme v2: a calendar-leaf deadline and a numbered schedule. ---- */
.key-dates-title{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.key-dates-title::after{content:"";flex:1;height:1px;background:var(--line)}
/* Deadline panel */
.key-dates-list li.is-next{position:relative;overflow:hidden;padding:32px 34px 34px;border:1px solid rgba(23,118,109,.18);background:linear-gradient(160deg,#ebf6f3 0%,#e0f0ec 100%)}
.key-dates-list li.is-next::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#17766d}
.key-dates-list li.is-next .kd-what{font-size:1.05rem}
.key-dates-list li.is-next .kd-when{margin-top:18px}
.key-dates-list li.is-next .kd-date{display:flex;align-items:flex-end;gap:16px;margin-top:10px;white-space:normal;transform-origin:50% 0}
.kd-day{color:var(--navy);font:600 clamp(4.2rem,6vw,5.4rem)/.78 var(--serif);letter-spacing:-.04em;font-variant-numeric:lining-nums}
.kd-month{display:flex;flex-direction:column;gap:8px;padding-bottom:2px;color:var(--navy);font:600 clamp(1.3rem,1.8vw,1.6rem)/1 var(--serif);letter-spacing:-.01em;text-transform:none}
.kd-month small{color:#17766d;font:700 11px/1.3 var(--sans);letter-spacing:1px;text-transform:uppercase}
.kd-in{align-items:center;gap:8px;margin-top:20px}
.kd-in::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7)}
/* Schedule rows: numbered badge, title, then when/note; dashed rule beneath. */
.key-dates-list li.is-next+li{border-top:0}
.key-dates-list li:not(.is-next){position:relative;grid-template-columns:42px minmax(0,1fr) minmax(0,1fr);column-gap:18px;row-gap:4px;align-items:center;padding:20px 0;border-bottom:0}
.key-dates-list li:not(.is-next)::before{content:"";position:static;grid-column:1;grid-row:1/3;display:grid;place-items:center;box-sizing:border-box;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff no-repeat center/20px;color:var(--navy);font:600 1.1rem/1 var(--serif);box-shadow:none}
.key-dates-list li:nth-child(2)::before{content:"2"}.key-dates-list li:nth-child(3)::before{content:"3"}.key-dates-list li:nth-child(4)::before{content:"4"}
.key-dates-list li:nth-child(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061a3a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8v5a4 4 0 0 1-8 0zM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8.5 20.5h7M10 17h4'/%3E%3C/svg%3E")}
.key-dates-list li:not(.is-next)::after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px dashed #c4b79f;transform-origin:left}
.key-dates-list li:not(.is-next) .kd-what{grid-column:2;grid-row:1/3;font-size:1.15rem;line-height:1.25}
.key-dates-list li:not(.is-next) .kd-when{grid-column:3;grid-row:1;align-self:end;color:var(--navy);font:700 11.5px/1.35 var(--sans);letter-spacing:.7px;text-transform:uppercase}
.key-dates-list li:not(.is-next) .kd-note{grid-column:3;grid-row:2;align-self:start;color:#5d6679;font-size:13.5px}
@media(max-width:560px){
.key-dates-list li.is-next{padding:26px 22px 28px}.kd-day{font-size:3.7rem}.kd-month{font-size:1.25rem}
.key-dates-list li:not(.is-next){grid-template-columns:42px minmax(0,1fr);column-gap:16px;align-items:start}
.key-dates-list li:not(.is-next)::before{grid-row:1/4}
.key-dates-list li:not(.is-next) .kd-what{grid-column:2;grid-row:1;margin-bottom:4px}
.key-dates-list li:not(.is-next) .kd-when{grid-column:2;grid-row:2}
.key-dates-list li:not(.is-next) .kd-note{grid-column:2;grid-row:3}}
/* Motion: the date leaf flips down into place, badges pop, dashed rules draw; the live tag breathes. */
@media(prefers-reduced-motion:no-preference){.kd-in::before{animation:none}}
@keyframes kd-live{to{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
.key-dates-list li.is-next .kd-date{animation:kd-leaf cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 20% cover 40%}
.key-dates-list li:not(.is-next)::before{animation:kd-pop cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 10% entry 90%}
.key-dates-list li:not(.is-next)::after{animation:kd-draw cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 30% cover 45%}
}}
@keyframes kd-leaf{from{opacity:0;transform:perspective(700px) rotateX(-80deg)}}
@keyframes kd-pop{from{opacity:0;transform:scale(.6)}}
@keyframes kd-draw{from{transform:scaleX(0)}}
/* ---- Stage line: each badge connects to the next with a segment in its own colour, blending into the next stage's colour.
   It draws in (and brightens) as you scroll; without scroll timelines or with reduced motion it simply shows. ---- */
.stages li:nth-child(1){--next:#1765a3}.stages li:nth-child(2){--next:#17766d}.stages li:nth-child(3){--next:#8a5f1a}
.stages li{view-timeline:--stage block}
.stages li:not(:last-child)::after{content:"";position:absolute;z-index:2;top:46.5px;left:72px;right:auto;bottom:auto;width:calc(100% - 36px);height:3px;margin:0;border:0;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--next));transform:none;transform-origin:left center;pointer-events:none}
@media(min-width:641px) and (max-width:1024px){.stages li:nth-child(2)::after{content:none}}
@media(max-width:640px){.stages li:not(:last-child)::after{top:66px;left:38.5px;width:3px;height:calc(100% - 36px);background:linear-gradient(180deg,var(--accent),var(--next));transform-origin:center top}}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
.stages li:not(:last-child)::after{animation:stage-line-x linear both;animation-timeline:--stage;animation-range:cover 18% cover 42%}
.stages li:nth-child(2)::after{animation-range:cover 26% cover 50%}.stages li:nth-child(3)::after{animation-range:cover 34% cover 58%}
.stages li:nth-child(n) .stage-num{animation:badge-on linear both;animation-timeline:--stage;animation-range:entry 20% cover 30%}
@media(max-width:640px){.stages li:nth-child(n):not(:last-child)::after{animation-name:stage-line-y;animation-range:cover 30% cover 62%}}
}}
@keyframes stage-line-x{from{opacity:.15;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes stage-line-y{from{opacity:.15;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
@keyframes badge-on{from{opacity:.4;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
/* Hero facts: three quiet columns (value over label) split by hairlines, instead of a dotted run-on list. */
.hero-facts-list{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;font:inherit;letter-spacing:0;text-transform:none}
.hero-facts-list li{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0 22px;white-space:nowrap}
.hero-facts-list li:first-child{padding-left:0}
.hero-facts-list li+li{border-left:1px solid rgba(6,26,58,.16)}
.hero-facts-list li::before{content:none}
.hero-facts-list b{color:var(--navy);font:600 1.3rem/1 var(--serif);letter-spacing:-.01em;font-variant-numeric:lining-nums}
.hero-facts-list b .cur{margin-right:1px;font-family:'Noto Sans',var(--sans);font-size:.8em;font-weight:600}
.hero-facts-list span:not(.cur){color:#4a556b;font:700 11px/1.2 var(--sans);letter-spacing:1.3px;text-transform:uppercase}
@media(max-width:760px){.hero-facts-list li{padding:0 16px}.hero-facts-list li:first-child{padding-left:0}.hero-facts-list b{font-size:1.12rem}.hero-facts-list span:not(.cur){letter-spacing:1px}}
@media(max-width:360px){.hero-facts-list li{padding:0 11px}.hero-facts-list b{font-size:1rem}.hero-facts-list span:not(.cur){font-size:11px;letter-spacing:.6px}}
@media(max-width:480px){.hero{padding-bottom:84px}}
/* Countdown digits: room above and below the glyphs so no font's numerals (e.g. a descending 9 in a fallback face) get clipped;
   the roll travels further to stay hidden inside the wider window. */
.cd-num{line-height:1}
.cd-d{clip-path:inset(-.3em -.12em -.4em)}
@keyframes cd-in{from{transform:translateY(160%)}}
@keyframes cd-out{to{transform:translateY(-160%)}}
/* Phone hero, shorter: a smaller headline (three lines instead of four) and tighter gaps, so the prizes band peeks above the fold on load. */
@media(max-width:760px){.hero{padding-top:96px;padding-bottom:40px}.hero h1.hero-title{font-size:clamp(1.5rem,6.9vw,1.85rem);line-height:1.04;letter-spacing:-.5px}.hero-dots{margin-top:0}.hero .gold-rule{margin:2px 0 14px}.hero-label{margin-bottom:18px}.hero-content>.hero-learn{margin-top:4px}.hero-facts{margin-top:12px}}
/* Phone hero, sky behind the headline: the photo fills the hero's full height (sky at the top, the explorer bottom-right),
   under a light veil that keeps the left column legible. The dot row is shorter; each dot keeps a 44px tap area. */
@media(max-width:760px){.hero{background-size:auto 110%;background-position:76% 0}
.hero::after{background:linear-gradient(90deg,rgba(248,245,237,.78) 0%,rgba(248,245,237,.6) 45%,rgba(248,245,237,0) 72%),linear-gradient(180deg,rgba(248,245,237,.5) 0%,rgba(248,245,237,.2) 30%,rgba(248,245,237,.35) 55%,rgba(248,245,237,0) 85%)}
.hero-dots{height:28px;align-items:center}.hero-dot{margin:-8px 0}}
/* Phone hero, explorer in full view: the photo sits on the hero's bottom edge at 84% height, so the explorer's head and
   shoulders show clearly beside the countdown; the sky still reaches up behind the headline. A stronger left veil calms
   the skyline behind the button and facts, and the right side stays clear. */
@media(max-width:760px){.hero{background-size:auto 84%;background-position:70% 100%;padding-bottom:110px}
.hero::after{background:linear-gradient(180deg,#f8f5ed 0%,rgba(248,245,237,.6) 16%,rgba(248,245,237,.25) 30%,rgba(248,245,237,0) 45%),linear-gradient(90deg,rgba(248,245,237,.88) 0%,rgba(248,245,237,.75) 48%,rgba(248,245,237,0) 70%)}}
/* Phone hero, editorial wash: no panel behind the facts. A white wash covers the left side from the top down to the end of
   the facts row and fades out to the right, so the text reads cleanly while the explorer and city on the right stay clear. */
@media(max-width:760px){html body .hero::after{background:linear-gradient(90deg,rgba(251,249,244,.95) 0%,rgba(251,249,244,.9) 50%,rgba(251,249,244,.66) 68%,rgba(251,249,244,.22) 84%,rgba(251,249,244,0) 96%),linear-gradient(180deg,#f8f5ed 0%,rgba(248,245,237,0) 18%);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 var(--wash-end,72%),transparent calc(var(--wash-end,72%) + 16%));mask-image:linear-gradient(180deg,#000 0,#000 var(--wash-end,72%),transparent calc(var(--wash-end,72%) + 16%))}
html body .hero-facts-list span:not(.cur){color:#3d475c}
html body .hero-learn a{color:var(--navy);font-weight:600}}
/* Hero headline, a touch lighter: the regular cut with a hairline stroke sits between regular and bold. */
html body .hero h1 .hero-line,html body .hero h1 .hero-line em{font-weight:400;-webkit-text-stroke:.5px currentColor}
@media(max-width:760px){html body .hero h1 .hero-line,html body .hero h1 .hero-line em{-webkit-text-stroke:.35px currentColor}}
/* Strip under the hero: a soft sand-to-mist wash in the brand's tints, a gold-teal-blue hairline on top,
   and the two highlighted phrases in deep teal and deep gold. */
html body .highlights-strip{background:linear-gradient(90deg,#f7eedd 0%,#f2f1e8 45%,#e7f1f0 75%,#e6eef6 100%);border-top:0;border-bottom:1px solid rgba(6,26,58,.08);box-shadow:inset 0 1px 0 rgba(186,138,53,.35)}
html body .highlights-strip .highlight-text{color:#3d475c}
html body .highlights-strip .hero-highlight{color:#17766d;font-weight:700}
html body .highlights-strip .hero-highlight.hero-highlight-gold{color:#8a5f1a}
html body .highlights-strip .highlight-text .ticker-icon{color:#17766d}
/* Overall check fixes. Small grey notes on cream reach AA contrast. */
html body .stages-note,html body .kd-note,html body .help-panel .help-note{color:#5d6679}
/* Key dates above phone widths: each row stacks its title, timing and note beside the badge instead of squeezing them
   into two narrow columns (which wrapped awkwardly at tablet and laptop widths). */
@media(min-width:861px){html body .key-dates-list li:not(.is-next){grid-template-columns:42px minmax(0,1fr);column-gap:16px;align-items:start}
html body .key-dates-list li:not(.is-next)::before{grid-column:1;grid-row:1/4}
html body .key-dates-list li:not(.is-next) .kd-what{grid-column:2;grid-row:1}
html body .key-dates-list li:not(.is-next) .kd-when{grid-column:2;grid-row:2;align-self:start}
html body .key-dates-list li:not(.is-next) .kd-note{grid-column:2;grid-row:3}}
/* Calm-and-clear pass: the button shine plays once on hover instead of looping; the logo tagline reads a touch larger. */
html body .button-primary:hover::after,html body .button-light:hover::after{animation:cta-shine 1s ease-out 1 both}
html body .site-header .brand small{font-size:9px;line-height:11px;letter-spacing:1.4px;color:#2f3b57}
/* NeuraViz AI Assistant (Zoho chat): its button sits just above the WhatsApp button, centred on it, and the chat panel
   opens above both, so nothing overlaps. Zoho injects its own styles later, hence !important. */
.agents-chat-launcher{right:20px!important;bottom:80px!important}
.agents-chat-bot:not(.maximized){right:16px!important;bottom:134px!important;max-height:calc(100vh - 150px)}
@media(max-width:760px){.agents-chat-launcher{right:15px!important;bottom:70px!important}
.agents-chat-bot:not(.maximized){right:12px!important;bottom:124px!important;max-width:calc(100vw - 24px);max-height:calc(100vh - 140px)}}
/* Hero headline cycler: "An AI challenge for" holds still (its words never animate, and the outgoing copy hides at once
   behind the identical incoming one); only the profession sinks out and rises in, quickly, with its highlighter stroke.
   The light sweep is kept for the final "everyone." only. */
.hero-rotator.is-cycler .hw-keep .hw-i{animation:none!important}
.hero-rotator.is-cycler .hero-line.is-leaving .hw-keep{visibility:hidden}
.hero-rotator.is-cycler .hw:not(.hw-keep){--wi:0!important}
.hero-rotator.is-cycler.is-turning .hero-line.is-active .hw-i{animation-delay:.3s}
.hero-rotator.is-cycler.is-turning .hero-line[data-tone].is-active em{transition-delay:.55s}
.hero-rotator.is-cycler .hero-line[data-tone]:not([data-final]) em::after{animation:none}
.hero-rotator.is-cycler.is-turning .hero-line[data-final].is-active em::after{animation-delay:.9s}
/* Supporting line under the challenge name: says plainly who can enter. */
.hero-sub{max-width:34rem;margin:0 0 28px;color:#3d475c;font-size:16px;line-height:1.55;text-wrap:pretty}
/* The two-line headline carries the hero now, so it sets larger; the gold rule and the challenge name get room under it. */
html body .hero h1.hero-title{font-size:clamp(2.75rem,4.8vw,4.4rem);line-height:1.04;letter-spacing:-.02em}
html body .hero .gold-rule{margin:26px 0 18px}
html body .hero-label{margin:0 0 8px}
@media(max-width:760px){html body .hero h1.hero-title{font-size:clamp(1.85rem,8.4vw,2.3rem);line-height:1.08;letter-spacing:-.01em}
html body .hero .gold-rule{margin:18px 0 14px}
.hero-sub{margin:0 0 20px;font-size:14.5px;line-height:1.5}}
/* Key dates: the challenge window under the deadline panel title. */
.kd-run{display:block;margin-top:6px;color:#4a556b;font-size:13px;line-height:1.45}
/* Phone hero facts: the dates column ("10 Nov-10 Dec") is the widest, so columns tighten to keep all three inside the
   content width. */
@media(max-width:400px){html body .hero-facts-list li,html body .hero-facts-list li:first-child{padding:0 10px}html body .hero-facts-list li:first-child{padding-left:0}html body .hero-facts-list b{font-size:1rem}}
@media(max-width:360px){html body .hero-facts-list li,html body .hero-facts-list li:first-child{padding:0 8px}html body .hero-facts-list li:first-child{padding-left:0}html body .hero-facts-list b{font-size:.92rem}}
/* The changing word's mask stops at its own line, so the outgoing word never passes over "An AI challenge for" above it. */
.hero-rotator.is-cycler .hw:not(.hw-keep){clip-path:inset(-.06em -.25em -.22em -.25em)}
/* The outgoing profession fades out in place (no upward slide), so it can never cross the line above. */
@keyframes cyc-out{to{opacity:0}}
.hero-rotator.is-cycler .hero-line.is-leaving .hw:not(.hw-keep) .hw-i{animation:cyc-out .22s ease-out both!important}
.help-sep{margin:0 3px;color:#b39b72}
@media(max-width:560px){.help-value .help-sep{display:none}.help-card-whatsapp .help-value .nowrap{display:block}}
/* Header wordmark set exactly like neuraviz.com: the same font stack, extra-bold weight, tight tracking and size, so
   both sites show the same "NeuraViz". Colours stay ours (navy Neura, blue Viz). */
html body .site-header .brand-name .neura,html body .site-header .brand-name .viz{font-family:Inter,Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.03em}
html body .site-header .brand-name{font-size:1.4rem;line-height:1.1}
@media(max-width:760px){html body .site-header .brand-name{font-size:1.32rem}}
