@font-face{font-display:swap;font-family:Right Grotesk;font-style:normal;font-weight:800;src:url(/fonts/PPRightGrotesk-SpatialBlack.woff) format("woff")}@font-face{font-display:swap;font-family:GT Walsheim;font-style:normal;font-weight:400;src:url(/fonts/GT-Walsheim-Pro-Regular.woff) format("woff")}@font-face{font-display:swap;font-family:GT Walsheim;font-style:normal;font-weight:600;src:url(/fonts/GT-Walsheim-Pro-Medium.woff) format("woff")}:root{color-scheme:light;--red:#f23a3d;--red-dark:#9d1e25;--ink:#191717;--wine:#500000;--paper:#ffffff;--cream:#f6f2ec;--line:#ded8d1;--muted:#655f5d;--green:#17653a;--green-soft:#dff2e6;--blue-soft:#dceaf0}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--cream);color:var(--ink);font-family:GT Walsheim,Arial,sans-serif;line-height:1.45}button,input{font:inherit}a{color:inherit}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;clip:rect(0,0,0,0)}.kicker{color:var(--red);font-size:.79rem;font-weight:600;letter-spacing:0;margin:0 0 .65rem;text-transform:uppercase}.light-kicker{color:#ff6b6e}.login-page{background:var(--paper);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);height:100vh;height:100dvh;max-width:100vw;width:100%}.login-page,.login-visual{min-height:0;overflow:hidden}.login-visual{height:100%;position:relative}.login-visual>img{object-fit:cover;object-position:42% center}.login-visual-shade{background:rgba(16,11,12,.55);inset:0;position:absolute}.brand-lockup{left:clamp(1.5rem,5vw,5rem);position:absolute;top:clamp(1.5rem,5vw,4rem);z-index:1}.brand-lockup img{height:auto}.challenge-intro{bottom:clamp(2.4rem,8vh,7rem);color:#fff;left:clamp(1.5rem,5vw,5rem);max-width:620px;position:absolute;right:2rem;z-index:1}.challenge-title-lockup{line-height:0;margin:0;max-width:720px}.challenge-title-lockup img{display:block;height:auto;width:100%}.intro-copy{font-size:1.12rem;margin:1.6rem 0 1.4rem;max-width:500px}.period-line{font-weight:600;gap:.6rem}.login-content,.period-line{align-items:center;display:flex}.login-content{height:100%;justify-content:center;min-height:0;min-width:0;overflow-y:auto;padding:clamp(1.5rem,5vh,4rem) clamp(2rem,6vw,6.5rem)}.login-content-inner{max-width:470px;width:100%}.prototype-label{align-items:center;background:var(--blue-soft);border-radius:6px;color:#234c5d;display:inline-flex;font-size:.78rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.4rem .65rem}.live-label{background:var(--green-soft);color:#154c2f}.prototype-dot{background:#2d7e9c;border-radius:50%;height:.46rem;width:.46rem}.login-content h2,.section-heading h2{color:var(--wine);font-family:Right Grotesk,Impact,sans-serif;font-weight:800;letter-spacing:0;line-height:.95;margin:0}.login-content h2{font-size:3.55rem;max-width:390px}.login-description{color:var(--muted);font-size:1.02rem;margin:.8rem 0 1.35rem;max-width:420px}.login-form{display:grid;grid-gap:.55rem;gap:.55rem}.login-form label{font-size:.84rem;font-weight:600;margin-top:.5rem}.login-form input{background:#fff;border:1px solid #bdb7b1;border-radius:6px;color:var(--ink);min-height:48px;outline:none;padding:.75rem .9rem;width:100%}.login-form input:focus-visible{border-color:var(--red);box-shadow:0 0 0 3px rgba(242,58,61,.15)}.login-error{background:#fff2f2;border:1px solid #f4c4c4;border-radius:6px;color:var(--red-dark);font-size:.86rem;margin:.65rem 0 0;padding:.72rem .85rem}.primary-button{align-items:center;background:var(--red);border:0;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.75rem;justify-content:center;margin-top:.75rem;min-height:50px;padding:.85rem 1.2rem;transition:background-color .16s ease,transform .16s ease}.primary-button:hover{background:var(--red-dark)}.primary-button,.primary-button:active,.primary-button:focus-visible,.primary-button:hover{-webkit-text-fill-color:#fff;color:#fff}.primary-button svg{color:#fff;stroke:currentColor}.primary-button:active{transform:translateY(1px)}.login-points{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-gap:.45rem;gap:.45rem;margin-top:1.4rem;padding:1rem 0}.login-points p,.privacy-note{align-items:center;display:flex;gap:.6rem;margin:0}.login-points svg{color:var(--green)}.privacy-note{color:var(--muted);font-size:.84rem;margin-top:.9rem}.dashboard-page{min-height:100vh}.dashboard-header{align-items:center;background:#fff;display:flex;height:72px;justify-content:space-between;padding:0 max(1.25rem,calc((100vw - 1180px) / 2))}.dashboard-logo{border-radius:4px;display:inline-flex}.dashboard-logo:focus-visible{outline:2px solid var(--red);outline-offset:4px}.dashboard-logo img{height:auto}.header-actions{align-items:center;display:flex;gap:.75rem}.icon-link{align-items:center;background:transparent;border:1px solid var(--line);border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0;width:38px}.icon-link:hover{background:var(--cream)}.challenge-banner{background:#171313;color:#fff;min-height:286px;overflow:hidden;position:relative}.banner-copy{align-self:center;padding:3rem 2rem 3rem max(1.25rem,calc((100vw - 1180px) / 2));position:relative;z-index:1}.hero-lead{color:#fff;font-size:1.25rem;font-weight:400;margin:0 0 1.15rem}.hero-partnership{color:#d9d2cf;font-size:.82rem;margin:.9rem 0 0;max-width:640px}.hero-partnership span{color:#fff;font-weight:600}.hero-period{color:#d9d2cf;font-size:.88rem;font-weight:600;margin:.9rem 0 0}.hero-description{color:#e8e3e0;font-size:.9rem;margin:.65rem 0 0;max-width:640px}.hero-description.error{color:#ffb7b8}.challenge-rewards{border-bottom:1px solid rgba(255,255,255,.2);border-top:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem;max-width:720px}.challenge-reward{min-width:0;padding:.72rem .8rem .72rem 0}.challenge-reward+.challenge-reward{border-left:1px solid rgba(255,255,255,.2);padding-left:.8rem}.challenge-reward span,.challenge-reward strong{display:block}.challenge-reward strong{color:#ff6b6e;font-family:Right Grotesk,Impact,sans-serif;font-size:1.18rem;line-height:1}.challenge-reward span{color:#e8e3e0;font-size:.76rem;line-height:1.28;margin-top:.3rem}.challenge-classes{color:#d9d2cf;font-size:.76rem;line-height:1.38;margin:.85rem 0 0;max-width:720px}.challenge-classes strong{color:#fff;display:block;font-size:.78rem;margin-bottom:.15rem}.challenge-classes span{display:block}.registration-tag{align-items:center;background:var(--green-soft);border-radius:6px;color:#154c2f;display:inline-flex;font-size:.86rem;font-weight:600;gap:.45rem;margin-top:1rem;padding:.5rem .7rem}.hero-registration{align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.24);border-radius:8px;display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:40px minmax(0,1fr) auto;margin-top:1.35rem;max-width:720px;padding:.9rem}.hero-registration.unavailable{border-color:rgba(255,199,151,.45)}.hero-registration-icon{align-items:center;background:rgba(255,255,255,.13);border-radius:6px;color:#ff8587;display:flex;height:40px;justify-content:center;width:40px}.hero-registration.unavailable .hero-registration-icon{color:#ffc797}.hero-registration-copy strong{display:block;font-size:1rem}.hero-registration-copy p{color:#d9d2cf;font-size:.83rem;margin:.18rem 0 0}.hero-registration .registration-notice{color:#ffb7b8;font-weight:600}.hero-registration .primary-button,.hero-registration form{margin:0}.hero-registration .primary-button{min-height:44px;white-space:nowrap}.banner-image{inset:0;opacity:.38;position:absolute}.banner-image img{object-fit:cover;object-position:center 42%}.dashboard-content{margin:0 auto;max-width:1180px;padding:3rem 1.25rem 4rem}.progress-band{background:#fff;border-bottom:1px solid var(--line)}.progress-inner{margin:0 auto;max-width:1180px;padding:1.8rem 1.25rem 2rem}.over-goal-label{background:var(--wine);border-radius:6px;color:#fff;display:inline-flex;font-size:.82rem;font-weight:600;margin-top:.15rem;max-width:320px;padding:.45rem .65rem;text-align:center}.progress-layout{align-items:flex-start;display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:minmax(0,1fr) auto}.progress-visual{min-width:0}.progress-scale{color:var(--muted);font-size:.74rem;height:24px;margin-top:.45rem;position:relative}.checkpoint-label{left:40%;position:absolute;transform:translateX(-50%)}.goal-label{position:absolute;right:0}.progress-track{background:#e8e2dc;border-radius:6px;display:flex;height:38px;isolation:isolate;overflow:hidden;position:relative}.checkpoint-line{background:rgba(255,255,255,.86);bottom:0;box-shadow:0 0 0 1px rgba(80,0,0,.18);left:40%;position:absolute;top:0;width:2px;z-index:1}.progress-booked,.progress-completed{align-items:center;bottom:0;display:flex;justify-content:center;left:0;min-width:0;position:absolute;top:0;transition:width .5s ease}.progress-completed{background:var(--red);border-radius:6px;color:var(--ink);isolation:isolate;overflow:visible;z-index:2}.progress-completed:after,.progress-completed:before{content:"";pointer-events:none;position:absolute}.progress-completed:before{animation:liquid-swell 4.6s ease-in-out infinite;background:radial-gradient(circle 10px at 18% 72%,rgba(255,255,255,.3) 0 95%,transparent 100%),radial-gradient(circle 8px at 52% 20%,rgba(255,255,255,.2) 0 95%,transparent 100%),radial-gradient(circle 11px at 84% 74%,rgba(255,255,255,.24) 0 95%,transparent 100%);inset:-65% -18%;opacity:.75;transform:translate3d(-3%,4%,0) rotate(-2deg);z-index:0}.progress-completed:after{animation:liquid-current 3.8s linear infinite;background-image:radial-gradient(circle,rgba(255,255,255,.2) 0 2px,transparent 3px),radial-gradient(circle,rgba(255,255,255,.13) 0 3px,transparent 4px);background-position:0 8px,18px 28px;background-size:34px 34px,46px 46px;inset:0;opacity:.65;z-index:1}.progress-liquid{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:2}.progress-completed>.progress-liquid{overflow:visible}.progress-liquid>span{animation:particle-rise var(--particle-speed,2.8s) ease-in infinite;animation-delay:var(--particle-delay,0s);aspect-ratio:1;background:rgba(255,255,255,.78);border-radius:50%;bottom:-9px;box-shadow:0 0 7px rgba(255,255,255,.5);flex:none;height:var(--particle-size,4px);left:var(--particle-x,50%);max-height:6px;max-width:6px;opacity:0;position:absolute;width:var(--particle-size,4px)}.progress-booked{background:rgba(242,58,61,.2);border-radius:6px;color:var(--wine);isolation:isolate;justify-content:flex-end;overflow:hidden;padding-right:.55rem;z-index:1}.booked-particle-window{bottom:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}.booked-particles>span{--particle-fade:0.22;--particle-opacity:0.4;background:rgba(80,0,0,.72);box-shadow:none}.progress-wave{background:transparent;bottom:2px;pointer-events:none;position:absolute;right:-10px;top:2px;width:20px;z-index:1}.progress-wave:after{animation:progress-wave 1.9s ease-in-out infinite alternate;background:var(--red);-webkit-clip-path:path("M 0 0 H 10 C 19 4 19 13 10 17 C 19 21 19 30 10 34 H 0 Z");clip-path:path("M 0 0 H 10 C 19 4 19 13 10 17 C 19 21 19 30 10 34 H 0 Z");content:"";inset:0;position:absolute}.progress-booked strong,.progress-completed strong{font-size:.84rem;position:relative;z-index:3}.progress-completed strong{background:rgba(255,255,255,.82);border-radius:4px;padding:.08rem .3rem}.progress-booked strong{background:rgba(255,255,255,.58);border-radius:4px;padding:.08rem .3rem}.progress-counts{display:flex;gap:.65rem;padding-bottom:.1rem}.progress-count{align-items:center;border-radius:6px;display:inline-flex;font-size:.82rem;gap:.35rem;min-height:38px;padding:.45rem .6rem;white-space:nowrap}.completed-count{background:var(--red);color:var(--ink)}.booked-count{background:#eee7dd;color:var(--wine)}@keyframes liquid-swell{0%,to{transform:translate3d(-4%,5%,0) rotate(-2deg) scale(1.02)}50%{transform:translate3d(4%,-4%,0) rotate(2deg) scale(1.12)}}@keyframes liquid-current{0%{background-position:0 8px,18px 28px}to{background-position:68px -26px,-74px -18px}}@keyframes particle-rise{0%{opacity:0;transform:translate3d(0,8px,0) scale(.55)}18%{opacity:var(--particle-opacity,.82)}48%{transform:translate3d(6px,-18px,0) scale(1)}76%{opacity:var(--particle-fade,.62);transform:translate3d(-4px,-34px,0) scale(.88)}to{opacity:0;transform:translate3d(3px,-55px,0) scale(.35)}}@keyframes progress-wave{0%{-webkit-clip-path:path("M 0 0 H 10 C 19 4 19 13 10 17 C 19 21 19 30 10 34 H 0 Z");clip-path:path("M 0 0 H 10 C 19 4 19 13 10 17 C 19 21 19 30 10 34 H 0 Z")}to{-webkit-clip-path:path("M 0 0 H 10 C 15 3 17 12 10 16 C 17 21 15 31 10 34 H 0 Z");clip-path:path("M 0 0 H 10 C 15 3 17 12 10 16 C 17 21 15 31 10 34 H 0 Z")}}.sessions-section{margin-top:0}.section-heading{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:1.25rem}.section-heading h2{font-size:2.5rem}.result-count{color:var(--muted);font-size:.9rem;padding-bottom:.25rem}.session-list{display:grid;grid-gap:.75rem;gap:.75rem;list-style:none;margin:1rem 0 0;padding:0}.session-row{align-items:center;border-radius:8px;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:38px minmax(0,1fr) minmax(300px,auto);min-height:92px;padding:1rem 1.2rem}.session-row.completed{background:var(--red);color:var(--ink)}.session-row.booked{background:#fff;border:1px solid var(--line)}.session-check{align-items:center;border-radius:6px;display:flex;height:34px;justify-content:center;width:34px}.session-row.completed .session-check{background:rgba(25,23,23,.12);color:var(--ink)}.session-row.booked .session-check{background:var(--blue-soft);color:#20556a}.session-main{min-width:0}.session-main strong{display:block;font-size:1.04rem;overflow-wrap:anywhere}.session-main span,.session-meta span{align-items:center;color:var(--muted);display:flex;font-size:.83rem;gap:.38rem}.session-row.completed .session-main span,.session-row.completed .session-meta span{color:rgba(25,23,23,.78)}.session-main span{margin-top:.35rem}.session-meta{align-items:center;display:flex;gap:1rem;justify-content:flex-end}.session-meta .session-status{border-radius:5px;font-size:.72rem;font-weight:600;padding:.3rem .48rem;text-transform:uppercase}.session-row.completed .session-status{background:rgba(25,23,23,.12);color:var(--ink)}.session-row.booked .session-status{background:var(--blue-soft);color:#20556a}.empty-sessions{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:1.4rem}@media (prefers-reduced-motion:reduce){.progress-booked,.progress-completed:after,.progress-completed:before,.progress-liquid>span,.progress-wave:after{animation:none}}@media (max-width:940px){.login-page{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr)}.progress-layout{grid-template-columns:1fr}.progress-counts{justify-content:flex-start}}@media (min-width:761px) and (max-height:820px){.login-content{padding-bottom:.9rem;padding-top:.9rem}.prototype-label{margin-bottom:.8rem}.login-content h2{font-size:2.8rem}.login-description{font-size:.94rem;margin:.5rem 0 .85rem}.login-form{gap:.35rem}.login-form label{margin-top:.25rem}.login-form input{min-height:44px;padding-bottom:.6rem;padding-top:.6rem}.primary-button{margin-top:.55rem;min-height:46px}.login-points{gap:.3rem;margin-top:.9rem;padding:.65rem 0}.privacy-note{margin-top:.65rem}}@media (max-width:760px){.login-page{grid-template-columns:1fr;grid-template-rows:clamp(145px,28dvh,230px) minmax(0,1fr)}.login-visual{height:auto;min-height:0}.login-visual>img{object-position:42% 46%}.brand-lockup{left:1.25rem;top:1rem}.brand-lockup img{width:132px}.challenge-intro{bottom:.85rem;left:1.25rem;right:1.25rem}.intro-copy{display:none}.period-line{font-size:.84rem;gap:.45rem;margin-top:.45rem}.login-content{height:auto;justify-content:flex-start;overscroll-behavior:contain;padding:1rem 1.25rem}.login-content-inner{margin:auto 0}.prototype-label{margin-bottom:.6rem}.login-content .kicker{display:none}.login-content h2{font-size:2.35rem}.login-description{font-size:.92rem;margin:.45rem 0 .8rem}.login-form{gap:.35rem}.login-form label{font-size:.78rem;margin-top:.2rem}.login-form input{min-height:44px;padding:.6rem .8rem}.primary-button{margin-top:.5rem;min-height:46px;padding:.65rem 1rem}.login-points{font-size:.82rem;gap:.25rem;margin-top:.75rem;padding:.6rem 0}.privacy-note{font-size:.75rem;margin-top:.55rem}.dashboard-header{height:64px;padding:0 1rem}.dashboard-logo img{width:112px}.challenge-banner{min-height:0}.banner-copy{padding:2.2rem 1.25rem}.hero-lead{font-size:1.05rem;margin-bottom:.9rem}.hero-description{font-size:.84rem}.challenge-reward{padding-left:.55rem;padding-right:.55rem}.challenge-reward:first-child{padding-left:0}.challenge-reward strong{font-size:1.02rem}.challenge-classes,.challenge-reward span{font-size:.72rem}.hero-registration{align-items:start;grid-template-columns:40px minmax(0,1fr)}.hero-registration form{grid-column:1/-1;width:100%}.hero-registration .primary-button{width:100%}.banner-image{inset:0;opacity:.3;position:absolute}.dashboard-content{padding-top:2.4rem}.progress-inner{padding:1.6rem 1.25rem 1.8rem}.progress-counts{flex-wrap:wrap}.session-row{align-items:start;grid-template-columns:34px minmax(0,1fr);padding:1rem}.session-meta{grid-column:2;flex-wrap:wrap;justify-content:flex-start}}@media (max-width:430px){.login-content h2{font-size:2.2rem}.section-heading h2{font-size:2.15rem}.progress-count{flex:1 1 auto;justify-content:center}.session-meta{flex-wrap:wrap;gap:.45rem 1rem}}@media (max-width:760px) and (max-height:620px){.login-page{grid-template-rows:clamp(128px,25dvh,150px) minmax(0,1fr)}.brand-lockup{left:.9rem;top:.65rem}.brand-lockup img{width:112px}.challenge-intro{bottom:.5rem;left:.9rem;right:.9rem}.period-line{font-size:.75rem;margin-top:.25rem}.period-line svg{height:16px;width:16px}.login-content{padding:.6rem .9rem}.prototype-label{font-size:.7rem;margin-bottom:.35rem;padding:.25rem .5rem}.login-content h2{font-size:2rem}.login-description{display:none}.login-form{gap:.2rem}.login-form label{margin-top:.1rem}.login-form input{min-height:40px;padding-bottom:.45rem;padding-top:.45rem}.primary-button{margin-top:.35rem;min-height:42px}.login-points{margin-top:.5rem;padding:.4rem 0}.privacy-note{margin-top:.35rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}