/* Academy 15465:54340. Shared Challenge hero / Payouts timeline and final CTA. */
.academy-page{background:var(--bg);color:var(--text)}
.academy-page .osc-hero__inner{min-height:502px;padding-block:80px;gap:70px;justify-content:center}
.academy-page .osc-hero__copy h1{font-size:56px;line-height:68px;letter-spacing:-.56px}
.academy-page .osc-hero__copy p{font-size:16px;line-height:22px}
.academy-page .osc-title-row{gap:0}
.academy-page .osc-title-row>span+span{margin-left:.15em}
.academy-page .academy-intro{padding:100px 0 80px}
.academy-page .academy-intro__video{display:block;position:relative;max-width:960px;aspect-ratio:960/520;overflow:hidden;margin:auto;border:1px solid var(--brand);border-radius:20px;background:#070400}
.academy-page .academy-intro__poster{position:absolute;width:100%;height:auto;top:0;left:0;display:block}
.academy-page .academy-intro__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;transition:transform .2s}
.academy-page .academy-intro__video:hover .academy-intro__play{transform:translate(-50%,-50%) scale(1.08)}
.academy-page .osc-heading>p{max-width:800px;margin:16px auto 0;color:#666;font-size:18px;line-height:24px}
.academy-page .phub-process__steps{min-height:calc(var(--phub-step-base,0px) + var(--phub-node-size)*5 + var(--phub-rail-segment)*4)}
.academy-page .academy-courses{scroll-margin-top:100px}
.academy-page .academy-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.academy-page .academy-course{display:flex;flex-direction:column;gap:16px;min-width:0;padding:16px 16px 24px;background:#ffffff14;border:1px solid #ffffff29;border-radius:24px;overflow:hidden}
.academy-page .academy-course__image{height:200px;border-radius:16px;overflow:hidden;background:#ffffff14}
.academy-page .academy-course__image img{display:block;width:100%;height:100%;object-fit:cover}
.academy-page .academy-course__copy{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.academy-page .academy-course__module{font-size:12px;line-height:14px;color:var(--brand);margin:0 0 8px}
.academy-page .academy-course h3{font-size:20px;line-height:24px;letter-spacing:-.2px;margin:0 0 4px;font-weight:700}
.academy-page .academy-course__description{font-size:16px;line-height:22px;color:#999;margin:0 0 12px;flex:1}
.academy-page .academy-course__button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--brand);border-radius:20px;padding:6px 12px;font-size:12px;line-height:14px;font-weight:600;color:var(--brand)}
.academy-page .academy-course__button img{width:16px;height:16px}
.academy-page .academy-course__arrow-hover{display:none}
.academy-page .academy-course__button:hover{color:#fff;background:var(--brand)}
.academy-page .academy-course__button:hover img{display:none}
.academy-page .academy-course__button:hover .academy-course__arrow-hover{display:block}
@media(max-width:1023px){.academy-page .osc-hero__copy h1{font-size:40px;line-height:48px}.academy-page .academy-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.academy-page .phub-process__steps{min-height:0}}
@media(prefers-reduced-motion:reduce){.academy-page .phub-step__card{opacity:1!important;transform:none!important;transition:none!important}.academy-page .academy-intro__play{transition:none}}
@media(max-width:767px){.academy-page .osc-hero__inner{min-height:0;padding-top:var(--osc-hero-after-header);padding-bottom:40px;gap:40px}.academy-page .osc-hero__copy h1{font-size:32px;line-height:1.2;letter-spacing:-.32px}.academy-page .academy-intro{padding:40px 0}.academy-page .academy-intro__play{width:40px;height:40px}.academy-page .academy-course-grid{grid-template-columns:1fr}.academy-page .osc-heading>p{font-size:16px;line-height:22px}.academy-page .academy-course__image{height:auto;aspect-ratio:16/9}.academy-page .osc-title-row{flex-wrap:wrap}}

.academy-page .academy-course h3 a{color:inherit;text-decoration:none}.academy-page .academy-course a:focus-visible{outline:2px solid #f98715;outline-offset:4px}

.academy-page button.academy-course__button{background:transparent;font-family:inherit;cursor:pointer}
.academy-page button.academy-course__button:hover{background:var(--brand)}

/* Academy coming-soon dialog. */
.academy-page .academy-notice{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;padding:40px 32px 32px;border:1px solid #f987154d;border-radius:24px;background:radial-gradient(ellipse at top,#f987151f,transparent 65%),#171310;color:#fff;font-family:Inter,sans-serif;text-align:center;box-shadow:0 24px 100px #0009}
.academy-page .academy-notice::backdrop{background:#070400c2;backdrop-filter:blur(6px)}
.academy-page .academy-notice__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#999;font-size:26px;line-height:1;cursor:pointer}
.academy-page .academy-notice__close:hover{background:#ffffff0d;color:#fff}
.academy-page .academy-notice__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border:1px solid #f9871540;border-radius:20px;background:#f9871514;color:#F98715}
.academy-page .academy-notice__brand{margin:0 0 12px;color:#F98715;font-size:11px;font-weight:700;line-height:16px;letter-spacing:2px}
.academy-page .academy-notice h2{margin:0 0 28px;color:#fff;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.6px}
.academy-page .academy-notice__confirm{display:block;width:100%;min-height:48px;padding:12px 20px;border:0;border-radius:12px;background:#F98715;color:#070400;font-family:inherit;font-size:15px;font-weight:700;line-height:24px;cursor:pointer}
.academy-page .academy-notice__confirm:hover{background:#F9A215}
.academy-page .academy-notice button:focus-visible,.academy-page button.academy-course__button:focus-visible{outline:2px solid #F98715;outline-offset:4px}
@media(max-width:480px){.academy-page .academy-notice{padding:36px 24px 24px}.academy-page .academy-notice h2{font-size:26px}}

/* Override the legacy theme's dialog display reset while closed. */
.academy-page dialog.academy-notice:not([open]){display:none}
.academy-page dialog.academy-notice[open]{display:block}
.academy-page .academy-notice #academy-notice-course{margin-bottom:12px;font-size:26px;line-height:1.25;overflow-wrap:break-word}
.academy-page .academy-notice__status{margin:0 0 28px;color:#F98715;font-size:18px;line-height:26px;font-weight:600}
