.academy-promo{position:fixed;inset:0;margin:auto;padding:0;border:1px solid var(--line);border-radius:12px;width:min(740px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg);color:var(--text);box-shadow:0 24px 80px #0004}
.academy-promo[open]{display:grid;grid-template-columns:.85fr 1fr}
.academy-promo::backdrop{background:rgb(10 24 17 / .65)}
body.academy-promo-open{overflow:hidden}
.academy-promo-image{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:65% center}
.academy-promo-copy{padding:48px 32px 28px}
.academy-promo-label{color:var(--accent-hover);font-size:13px;font-weight:700;margin:0 0 16px}
.academy-promo h2{font-size:clamp(28px,4vw,36px);line-height:1.12;letter-spacing:-.03em;margin:0 0 18px}
.academy-promo-copy>p:not(.academy-promo-label){color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:20px}
.academy-promo-copy .academy-promo-detail{font-size:12px;font-weight:600}
.academy-promo-detail span{margin:0 8px}
.academy-promo .button{width:100%;white-space:normal;text-align:center;padding:14px 16px;min-height:48px;font-size:12px}
.academy-promo-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--text);font-size:28px;cursor:pointer;line-height:1}
.academy-promo-dismiss{display:block;margin:10px auto 0;padding:10px 20px;min-height:44px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:600px){.academy-promo[open]{grid-template-columns:minmax(0,1fr)}.academy-promo-image{min-height:0;height:155px}.academy-promo-copy{padding:22px}.academy-promo h2{font-size:29px}.academy-promo-copy>p:not(.academy-promo-label){margin-bottom:14px}}
@media(max-height:600px){.academy-promo-image{display:none}.academy-promo[open]{grid-template-columns:1fr}.academy-promo-copy{padding:48px 24px 20px}}
