:root { --academy-panel: #10110e; --academy-yellow: #e6f08b; --academy-fade: #95998c; }
.academy-page { overflow: hidden; }
.academy-hero { position: relative; min-height: min(760px, calc(100svh - 72px)); padding: clamp(72px, 10vw, 148px) 0 0; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 21%, rgba(200,255,0,.15), transparent 24%), linear-gradient(135deg, #080808 50%, #0f1208); }
.academy-hero:before { content: ""; position: absolute; width: min(53vw, 660px); height: min(53vw, 660px); right: -14vw; top: -28vw; border: 1px solid rgba(200,255,0,.34); border-radius: 50%; box-shadow: 0 0 0 60px rgba(200,255,0,.025), 0 0 0 130px rgba(200,255,0,.018); }
.academy-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: end; gap: 50px; min-height: 540px; padding-bottom: 74px; }
.academy-hero-copy h1, .academy-proof h2, .academy-program h2, .academy-included h2, .enrollment-section h2, .academy-faq h2, .modal-panel h2 { margin: 0; font: 600 clamp(3.45rem, 8vw, 8rem)/.82 "Space Grotesk", sans-serif; letter-spacing: -.105em; text-transform: uppercase; }
.academy-hero-copy h1 em, .academy-proof h2 em, .academy-program h2 em, .academy-included h2 em, .enrollment-section h2 em, .modal-panel h2 em { color: var(--acid); font-style: normal; }
.academy-intro { max-width: 560px; margin: 28px 0 0; color: #d5d5ce; font-size: 1rem; line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 33px; }
.academy-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 18px; padding: 12px 18px; border: 1px solid var(--acid); border-radius: 999px; font: 700 .75rem "Space Grotesk", monospace; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease; }
.academy-button:hover { transform: translateY(-2px); }
.academy-button-primary { background: var(--acid); color: #080808; }
.academy-button-primary:hover { background: #e3ff4a; }
.academy-button-ghost { color: var(--acid); background: transparent; }
.academy-button-ghost:hover { background: rgba(200,255,0,.1); }
.academy-button-wide { width: 100%; }
.academy-price-card { justify-self: end; width: min(100%, 360px); padding: 24px; border: 1px solid rgba(200,255,0,.48); background: rgba(14,16,11,.78); box-shadow: 16px 16px 0 rgba(200,255,0,.08); backdrop-filter: blur(14px); }
.academy-price-card p { margin: 0; color: var(--academy-fade); font: 600 .69rem "Space Grotesk", monospace; letter-spacing: .08em; text-transform: uppercase; }
.academy-price-card strong { display: block; margin: 42px 0 26px; color: var(--acid); font: 600 clamp(3.8rem, 6vw, 5.4rem)/.75 "Space Grotesk", sans-serif; letter-spacing: -.1em; }
.academy-price-card strong small { font-size: .38em; }
.academy-price-card ul, .enrollment-card ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.academy-price-card li, .enrollment-card li { position: relative; padding: 12px 0 12px 15px; border-bottom: 1px solid var(--line); color: #d3d4cb; font-size: .8rem; }
.academy-price-card li:before, .enrollment-card li:before { content: ""; position: absolute; width: 5px; height: 5px; left: 1px; top: 18px; background: var(--acid); border-radius: 50%; }
.text-action { margin-top: 23px; padding: 0; border: 0; background: transparent; color: var(--acid); font: 700 .72rem "Space Grotesk", monospace; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.academy-marquee { overflow: hidden; border-top: 1px solid rgba(200,255,0,.28); border-bottom: 1px solid rgba(200,255,0,.28); color: #dff77b; font: 600 .72rem "Space Grotesk", monospace; letter-spacing: .1em; white-space: nowrap; text-transform: uppercase; }
.academy-marquee span { display: inline-block; padding: 14px 0; animation: academy-marquee 28s linear infinite; }
@keyframes academy-marquee { to { transform: translateX(-25%); } }
.academy-proof, .academy-included, .academy-faq { padding-top: clamp(76px, 10vw, 130px); padding-bottom: clamp(76px, 10vw, 130px); }
.proof-head { display: grid; grid-template-columns: 1.25fr .58fr; align-items: end; gap: 45px; }
.proof-head>p { max-width: 410px; margin: 0; color: var(--academy-fade); font-size: .95rem; line-height: 1.6; }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 63px; background: var(--line); }
.proof-grid article { min-height: 280px; padding: 23px; background: var(--ink); }
.proof-grid span { color: var(--acid); font: 600 .72rem "Space Grotesk", monospace; }
.proof-grid h3 { margin: 103px 0 10px; font: 600 clamp(1.4rem, 2.4vw, 2.25rem)/.9 "Space Grotesk", sans-serif; letter-spacing: -.065em; text-transform: uppercase; }
.proof-grid p { max-width: 320px; margin: 0; color: var(--academy-fade); font-size: .82rem; line-height: 1.52; }
.academy-program { padding: clamp(76px, 10vw, 128px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0d0e0c; }
.program-list { margin: 54px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.program-list li { display: grid; grid-template-columns: 74px 1fr 60px; gap: 24px; align-items: center; padding: 21px 0; border-bottom: 1px solid var(--line); transition: background .25s, padding .25s; }
.program-list li:hover { padding-left: 14px; background: rgba(200,255,0,.07); }
.program-list b, .program-list>span { color: var(--acid); font: 600 .73rem "Space Grotesk", monospace; }
.program-list h3 { margin: 0; font: 600 clamp(1.35rem, 3vw, 2.8rem)/.9 "Space Grotesk", sans-serif; letter-spacing: -.07em; text-transform: uppercase; }
.program-list p { max-width: 690px; margin: 8px 0 0; color: var(--academy-fade); font-size: .83rem; line-height: 1.52; }
.program-list>span { text-align: right; }
.academy-included { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.included-list { border-top: 1px solid var(--line); }
.included-list article { display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.included-list>article>span { color: var(--acid); font-size: 1.05rem; }
.included-list h3 { margin: 0; font: 600 1.1rem "Space Grotesk", sans-serif; letter-spacing: -.04em; text-transform: uppercase; }
.included-list p { margin: 7px 0 0; color: var(--academy-fade); font-size: .84rem; line-height: 1.52; }
.enrollment-section { padding: clamp(70px, 9vw, 118px) 0; background: var(--acid); color: #080808; }
.enrollment-grid { display: grid; grid-template-columns: 1fr minmax(320px, .7fr); gap: 74px; align-items: end; }
.enrollment-section .eyebrow { color: #080808; }
.enrollment-section h2 em { color: #080808; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .05em; }
.enrollment-grid>div>p:last-child { max-width: 480px; margin: 28px 0 0; font-size: .95rem; line-height: 1.58; }
.enrollment-card { padding: 24px; border: 1px solid #080808; background: #0a0a09; color: #f7f7ef; box-shadow: 15px 15px 0 rgba(8,8,8,.2); }
.enrollment-card-top { display: flex; gap: 18px; justify-content: space-between; align-items: baseline; padding-bottom: 40px; }
.enrollment-card-top span { max-width: 185px; color: #bfc1b6; font: 600 .69rem "Space Grotesk", monospace; letter-spacing: .06em; text-transform: uppercase; }
.enrollment-card-top b { color: var(--acid); font: 600 2.25rem/.8 "Space Grotesk", sans-serif; letter-spacing: -.08em; white-space: nowrap; }
.enrollment-card small { display: block; margin-top: 13px; color: #9b9c94; font-size: .68rem; line-height: 1.42; }
.academy-faq { max-width: 1180px; }
.academy-faq h2 { margin-top: 8px; font-size: clamp(3.2rem, 6vw, 6.2rem); }
.faq-list { margin-top: 48px; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; padding: 21px 0; list-style: none; cursor: pointer; font: 600 clamp(1rem, 1.7vw, 1.3rem) "Space Grotesk", sans-serif; letter-spacing: -.04em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:after { content: "+"; color: var(--acid); font-size: 1.4rem; font-weight: 400; }
.faq-list details[open] summary:after { content: "−"; }
.faq-list p { max-width: 700px; margin: 0 0 22px; color: var(--academy-fade); font-size: .9rem; line-height: 1.58; }
.enrollment-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; visibility: hidden; opacity: 0; transition: opacity .25s, visibility .25s; }
.enrollment-modal.is-open { visibility: visible; opacity: 1; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.79); backdrop-filter: blur(10px); }
.modal-panel { position: relative; z-index: 1; width: min(100%, 570px); max-height: min(760px, calc(100svh - 40px)); overflow: auto; padding: clamp(24px, 5vw, 48px); border: 1px solid rgba(200,255,0,.6); background: #10110e; box-shadow: 0 28px 100px rgba(0,0,0,.55); }
.modal-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: #fff; font-size: 1.35rem; cursor: pointer; }
.modal-panel h2 { margin-top: 11px; font-size: clamp(2.8rem, 8vw, 4.8rem); }
.modal-copy { margin: 19px 0 25px; color: var(--academy-fade); font-size: .9rem; line-height: 1.55; }
#enrollment-form { display: grid; gap: 14px; }
#enrollment-form>label:not(.consent) { display: grid; gap: 8px; color: #e4e4dc; font: 700 .7rem "Space Grotesk", monospace; letter-spacing: .06em; text-transform: uppercase; }
#enrollment-form input:not([type="checkbox"]) { width: 100%; min-height: 49px; padding: 0 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 0; outline: none; background: #080808; color: #fff; font: 500 .94rem Manrope, sans-serif; }
#enrollment-form input:focus { border-color: var(--acid); box-shadow: 0 0 0 3px rgba(200,255,0,.1); }
.consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin-top: 4px; color: #b4b5ad; font-size: .72rem; line-height: 1.45; cursor: pointer; }
.consent input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--acid); }
.form-error { min-height: 18px; margin: 0; color: #ff8e8e; font-size: .75rem; }
.order-review { margin: 28px 0 17px; border-top: 1px solid var(--line); }
.order-review>div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.order-review dt { color: var(--academy-fade); font-size: .75rem; }.order-review dd { margin: 0; font-size: .8rem; text-align: right; }
.order-review .order-total { padding-top: 20px; border-color: var(--acid); }.order-review .order-total dd { color: var(--acid); font: 600 1.65rem/.9 "Space Grotesk", sans-serif; letter-spacing: -.06em; }
.payment-note { margin: 0 0 20px; color: var(--academy-fade); font-size: .73rem; line-height: 1.48; }
.back-button { display: block; margin: 18px auto 0; border: 0; background: transparent; color: #afb0a7; font-size: .75rem; cursor: pointer; }
body.modal-open { overflow: hidden; }
@media (max-width: 800px) { .academy-hero { min-height: auto; padding-top: 58px; }.academy-hero-grid, .proof-head, .academy-included, .enrollment-grid { grid-template-columns: 1fr; gap: 34px; }.academy-hero-grid { min-height: auto; padding-bottom: 55px; }.academy-price-card { justify-self: stretch; width: auto; }.proof-grid { grid-template-columns: 1fr; margin-top: 40px; }.proof-grid article { min-height: 220px; }.proof-grid h3 { margin-top: 61px; }.program-list li { grid-template-columns: 35px 1fr; gap: 12px; }.program-list li>span { display: none; }.academy-included { gap: 42px; }.enrollment-card { box-shadow: 9px 9px 0 rgba(8,8,8,.2); }.academy-faq { padding-top: 75px; padding-bottom: 75px; }.academy-hero-copy h1, .academy-proof h2, .academy-program h2, .academy-included h2, .enrollment-section h2 { font-size: clamp(3.2rem, 15vw, 5.4rem); }.modal-panel { padding: 27px 22px; }.modal-close { top: 10px; right: 10px; }.academy-hero:before { width: 310px; height: 310px; top: -130px; right: -145px; } }
