.academy-page .primary-nav a[aria-current="page"] { color: var(--white); background: var(--green); }
.academy-page .mobile-nav a[aria-current="page"] { color: var(--lime); }

.academy-eyebrow { color: var(--lime); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.academy-hero { position: relative; overflow: hidden; color: var(--white); background: var(--ink); }
.academy-hero::before { position: absolute; top: -270px; left: 28%; width: 640px; aspect-ratio: 1; border: 105px solid rgba(137, 230, 15, .045); border-radius: 50%; content: ""; }
.academy-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(490px, .95fr); min-height: 710px; }
.academy-hero__copy { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: 72px 78px 72px 0; }
.academy-hero h1 { max-width: 9ch; margin: 20px 0 28px; font-family: var(--headline); font-size: clamp(64px, 7.4vw, 104px); font-weight: 800; letter-spacing: -.07em; line-height: .86; }
.academy-hero__copy > p { max-width: 60ch; margin: 0; color: rgba(255, 255, 255, .66); font-size: 14px; }
.academy-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 32px; }
.academy-hero__actions > a:not(.button) { color: var(--white); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.academy-hero__actions > a span { margin-left: 7px; color: var(--lime); }
.academy-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; margin: 48px 0 0; border-top: 1px solid rgba(255, 255, 255, .18); border-left: 1px solid rgba(255, 255, 255, .18); }
.academy-hero__stats div { padding: 16px; border-right: 1px solid rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.academy-hero__stats dt { color: var(--lime); font-family: var(--headline); font-size: 24px; font-weight: 800; line-height: 1; }
.academy-hero__stats dd { margin: 7px 0 0; color: rgba(255, 255, 255, .5); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.academy-hero__curriculum { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; padding: 35px; color: var(--ink); background: var(--lime); }
.curriculum-head { display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid rgba(24, 32, 31, .35); padding-bottom: 15px; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.curriculum-head strong { font-family: var(--headline); font-size: 21px; line-height: 1; }
.curriculum-letters { display: grid; grid-template-columns: repeat(3, 1fr); place-self: center stretch; border-top: 1px solid rgba(24, 32, 31, .28); border-left: 1px solid rgba(24, 32, 31, .28); }
.curriculum-letters span { display: grid; place-items: center; aspect-ratio: 1; border-right: 1px solid rgba(24, 32, 31, .28); border-bottom: 1px solid rgba(24, 32, 31, .28); font-family: var(--headline); font-size: clamp(70px, 7vw, 105px); font-weight: 800; letter-spacing: -.08em; }
.curriculum-letters span:nth-child(2) { color: var(--lime); background: var(--ink); }
.academy-hero__curriculum ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid rgba(24, 32, 31, .35); border-left: 1px solid rgba(24, 32, 31, .35); list-style: none; }
.academy-hero__curriculum li { display: grid; grid-template-columns: 25px 1fr; align-content: center; min-height: 75px; padding: 11px; border-right: 1px solid rgba(24, 32, 31, .35); border-bottom: 1px solid rgba(24, 32, 31, .35); }
.academy-hero__curriculum li > span { grid-row: 1 / 3; font-size: 7px; font-weight: 800; }
.academy-hero__curriculum li strong { font-family: var(--headline); font-size: 12px; }
.academy-hero__curriculum li small { font-size: 7px; }
.academy-hero__note { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; min-height: 76px; padding-inline: 28px; background: var(--green); }
.academy-hero__note span, .academy-hero__note a { font-size: 8px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.academy-hero__note p { margin: 0; color: var(--lime); font-family: var(--headline); font-size: 16px; font-weight: 700; }

.academy-upcoming, .academy-library, .academy-programs { padding-block: 96px; }
.academy-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 44px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.academy-section-head > div { flex: 1; }
.academy-section-head h2, .academy-benefits h2, .academy-enrollment h2 { max-width: 13ch; margin: 10px 0 0; font-family: var(--headline); font-size: clamp(43px, 5.2vw, 72px); font-weight: 800; letter-spacing: -.06em; line-height: .93; }
.academy-section-head > p { max-width: 50ch; margin: 0 0 5px; color: var(--ink-soft); font-size: 12px; }

.academy-calendar { border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.academy-event { display: grid; grid-template-columns: 150px minmax(0, 1fr) 150px; align-items: stretch; min-height: 230px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.academy-event--featured { min-height: 290px; }
.academy-event__date { display: grid; place-content: center; padding: 20px; border-right: 1px solid var(--line); text-align: center; }
.academy-event__date strong { color: var(--green); font-family: var(--headline); font-size: 72px; letter-spacing: -.07em; line-height: .8; }
.academy-event--featured .academy-event__date { color: var(--ink); background: var(--lime); }
.academy-event--featured .academy-event__date strong { color: var(--ink); }
.academy-event__date span { margin-top: 11px; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-event__body { display: grid; align-content: center; padding: 32px 38px; }
.academy-event__meta { display: flex; gap: 18px; color: var(--green); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.academy-event__meta span + span::before { margin-right: 18px; color: var(--line); content: "/"; }
.academy-event h3 { max-width: 25ch; margin: 11px 0 10px; font-family: var(--headline); font-size: clamp(24px, 3vw, 39px); letter-spacing: -.045em; line-height: .98; }
.academy-event__body > p { max-width: 68ch; margin: 0; color: var(--ink-soft); font-size: 10px; }
.academy-event__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 16px; }
.academy-event__tags span { padding: 4px 7px; border: 1px solid var(--line); color: var(--ink-soft); font-size: 7px; font-weight: 700; }
.academy-event > a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 20px; border-left: 1px solid var(--line); color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.academy-event > a:hover { background: var(--lime); }
.academy-event > a span { font-size: 16px; }

.learning-paths { padding-block: 96px; color: var(--white); background: var(--green-dark); }
.academy-section-head--light { border-color: rgba(255, 255, 255, .2); }
.academy-section-head--light .section-label { color: var(--lime); }
.academy-section-head--light > p { color: rgba(255, 255, 255, .62); }
.academy-section-head--light .section-link { color: var(--lime); }
.path-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, .2); border-left: 1px solid rgba(255, 255, 255, .2); }
.path-card { position: relative; min-height: 500px; padding: 28px; border-right: 1px solid rgba(255, 255, 255, .2); border-bottom: 1px solid rgba(255, 255, 255, .2); }
.path-card__number { color: rgba(255, 255, 255, .5); font-size: 8px; font-weight: 800; }
.path-card__letter { display: grid; place-items: center; width: 82px; aspect-ratio: 1; margin: 45px 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; color: var(--ink); background: var(--lime); font-family: var(--headline); font-size: 26px; font-weight: 800; }
.path-card h3 { max-width: 10ch; margin: 0 0 12px; font-family: var(--headline); font-size: 28px; letter-spacing: -.04em; line-height: 1; }
.path-card > p { min-height: 52px; margin: 0; color: rgba(255, 255, 255, .58); font-size: 9px; }
.path-card ul { display: grid; gap: 7px; margin: 22px 0 48px; padding: 0; list-style: none; }
.path-card li { color: rgba(255, 255, 255, .8); font-size: 8px; }
.path-card li::before { margin-right: 7px; color: var(--lime); content: "↗"; }
.path-card > a { position: absolute; bottom: 27px; left: 28px; color: var(--lime); font-size: 8px; font-weight: 800; text-decoration: none; text-transform: uppercase; }

.academy-benefits { padding-block: 96px; background: var(--mist); }
.academy-benefits__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 9vw, 140px); }
.academy-benefits h2 { max-width: 9ch; }
.academy-benefits ol { margin: 0; padding: 0; border-top: 1px solid #cdd5d1; list-style: none; }
.academy-benefits li { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 28px 0; border-bottom: 1px solid #cdd5d1; }
.academy-benefits li > span { color: var(--green); font-family: var(--headline); font-size: 31px; font-weight: 800; }
.academy-benefits h3 { margin: 0 0 7px; font-family: var(--headline); font-size: 22px; }
.academy-benefits p { max-width: 65ch; margin: 0; color: var(--ink-soft); font-size: 10px; }

.library-grid { display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 18px; }
.publication-card { min-width: 0; border: 1px solid var(--line); background: var(--white); }
.publication-card a { display: block; height: 100%; text-decoration: none; }
.publication-card__image { aspect-ratio: 4 / 5; overflow: hidden; background: var(--mist); }
.publication-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.publication-card:hover img { transform: scale(1.025); }
.publication-card__body { padding: 22px; }
.publication-card__body > span { color: var(--green); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.publication-card h3 { margin: 11px 0 26px; font-family: var(--headline); font-size: 20px; letter-spacing: -.035em; line-height: 1.05; }
.publication-card__body strong { color: var(--green); font-size: 8px; text-transform: uppercase; }
.publication-card--feature { color: var(--white); background: var(--ink); }
.publication-card--feature .publication-card__image { aspect-ratio: 16 / 11; }
.publication-card--feature h3 { font-size: 29px; }
.publication-card--feature .publication-card__body strong { color: var(--lime); }

.academy-experts { padding-block: 96px; color: var(--white); background: var(--ink); }
.expert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.expert-card { border: 1px solid rgba(255, 255, 255, .17); }
.expert-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.75); }
.expert-card > div { min-height: 170px; padding: 20px; }
.expert-card span { color: var(--lime); font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.expert-card h3 { margin: 9px 0; font-family: var(--headline); font-size: 24px; letter-spacing: -.035em; }
.expert-card p { margin: 0; color: rgba(255, 255, 255, .56); font-size: 9px; }

.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.program-grid article { min-height: 360px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.program-grid span { display: inline-block; padding: 5px 8px; color: var(--ink); background: var(--lime); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.program-grid h3 { margin: 110px 0 14px; font-family: var(--headline); font-size: 32px; letter-spacing: -.045em; line-height: 1; }
.program-grid p { max-width: 45ch; margin: 0; color: var(--ink-soft); font-size: 10px; }

.academy-enrollment { padding-block: 90px; color: var(--white); background: var(--green); }
.academy-enrollment__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 9vw, 130px); }
.academy-enrollment h2 { max-width: 12ch; }
.academy-enrollment__grid > div > p { max-width: 52ch; margin: 23px 0 28px; color: rgba(255, 255, 255, .68); font-size: 12px; }
.academy-enrollment dl { margin: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
.academy-enrollment dl > div { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.academy-enrollment dt { font-size: 9px; font-weight: 800; }
.academy-enrollment dd { display: grid; margin: 0; }
.academy-enrollment dd strong { color: var(--lime); font-family: var(--headline); font-size: 19px; }
.academy-enrollment dd span { margin-top: 5px; color: rgba(255, 255, 255, .6); font-size: 8px; }

@media (max-width: 1100px) {
  .academy-hero__grid { grid-template-columns: .9fr 1.1fr; }
  .academy-hero__copy { padding-right: 45px; }
  .path-grid, .expert-grid { grid-template-columns: repeat(2, 1fr); }
  .library-grid { grid-template-columns: repeat(2, 1fr); }
  .publication-card--feature { grid-row: span 1; }
}

@media (max-width: 820px) {
  .academy-hero__grid, .academy-benefits__grid, .academy-enrollment__grid { grid-template-columns: 1fr; }
  .academy-hero__copy { min-height: 650px; padding: 65px 0; }
  .academy-hero__curriculum { min-height: 610px; }
  .academy-hero__note { grid-template-columns: 1fr auto; padding-block: 18px; }
  .academy-hero__note span { grid-column: 1 / -1; }
  .academy-section-head { align-items: flex-start; flex-direction: column; }
  .academy-event { grid-template-columns: 130px minmax(0, 1fr); }
  .academy-event > a { grid-column: 2; min-height: 65px; border-top: 1px solid var(--line); border-left: 0; }
  .program-grid { grid-template-columns: 1fr; }
  .program-grid article { min-height: 300px; }
  .program-grid h3 { margin-top: 75px; }
}

@media (max-width: 560px) {
  .academy-hero__copy { min-height: 620px; padding-block: 52px; }
  .academy-hero h1 { font-size: clamp(55px, 17vw, 74px); }
  .academy-hero__stats { grid-template-columns: 1fr; }
  .academy-hero__curriculum { min-height: 510px; padding: 22px; }
  .curriculum-letters span { font-size: 61px; }
  .academy-hero__note { grid-template-columns: 1fr; gap: 8px; }
  .academy-hero__note span { grid-column: auto; }
  .academy-upcoming, .learning-paths, .academy-benefits, .academy-library, .academy-experts, .academy-programs { padding-block: 64px; }
  .academy-section-head { gap: 20px; margin-bottom: 32px; }
  .academy-section-head h2, .academy-benefits h2, .academy-enrollment h2 { font-size: clamp(39px, 12vw, 54px); }
  .academy-event, .academy-event--featured { grid-template-columns: 1fr; min-height: 0; }
  .academy-event__date { justify-content: start; min-height: 120px; border-right: 0; border-bottom: 1px solid var(--line); text-align: left; }
  .academy-event__date strong { font-size: 57px; }
  .academy-event__body { padding: 26px; }
  .academy-event > a { grid-column: auto; border-left: 0; }
  .path-grid, .library-grid, .expert-grid { grid-template-columns: 1fr; }
  .path-card { min-height: 470px; }
  .academy-benefits__grid { gap: 38px; }
  .publication-card__image, .publication-card--feature .publication-card__image { aspect-ratio: 16 / 10; }
  .expert-card img { aspect-ratio: 16 / 13; object-position: center 20%; }
  .academy-enrollment { padding-block: 64px; }
  .academy-enrollment__grid { gap: 45px; }
  .academy-enrollment dl > div { grid-template-columns: 1fr; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .publication-card__image img { transition: none; }
}
