/* A practical learning invitation, with the actual book kept fully in frame. */
.academy-book-hero {
  position: relative;
  isolation: isolate;
  min-height: 640px;
  overflow: hidden;
  border-bottom: 1px solid #8bc5ac22;
  background: radial-gradient(ellipse at 82% 51%, #32685638, transparent 39%), radial-gradient(ellipse at 65% 85%, #24414535, transparent 50%), linear-gradient(115deg, #070f19 0%, #08141b 56%, #0b191e 100%);
  color: #edf5f2;
}
.academy-book-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: radial-gradient(circle at 73% 13%, #d9f1e8 0 .6px, transparent 1px), radial-gradient(circle at 92% 24%, #d9f1e8 0 .7px, transparent 1.1px), radial-gradient(circle at 65% 39%, #d9f1e8 0 .5px, transparent .9px), radial-gradient(circle at 85% 66%, #d9f1e8 0 .5px, transparent .9px), radial-gradient(circle at 54% 81%, #d9f1e8 0 .5px, transparent .9px), radial-gradient(circle at 95% 89%, #d9f1e8 0 .7px, transparent 1px);
}
.academy-book-hero .academy-book-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  min-height: 640px;
  padding-block: 65px 72px;
}
.academy-book-hero .academy-book-copy { position: relative; z-index: 2; min-width: 0; max-width: 690px; }
.academy-book-hero .academy-book-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 33px; color: #81998f; font-size: 10px; font-weight: 450; line-height: 1.5; letter-spacing: .035em; }
.academy-book-hero .academy-book-breadcrumb a { color: #a2b8ad; }
.academy-book-hero .academy-book-breadcrumb a:hover { color: #d7eee0; }
.academy-book-hero .academy-book-breadcrumb :is(span, i):not(:last-child) { color: #516c62; font-style: normal; }
.academy-book-hero .academy-book-copy > .eyebrow { margin-bottom: 18px; color: #9bd2b4; font-size: 10px; letter-spacing: .19em; }
.academy-book-hero .academy-book-copy > .eyebrow::before { background: #a3d9a4; box-shadow: 0 0 13px #93c89d3d; }
.academy-book-hero h1.academy-book-title { margin: 0; font-size: clamp(32px, 3.12vw, 46px); font-weight: 650; line-height: 1.36; letter-spacing: -.05em; word-break: keep-all; text-wrap: initial; }
.academy-book-hero .academy-book-title > span,
.academy-book-hero .academy-book-title > em { display: block; }
.academy-book-hero .academy-book-title > em { margin-top: 2px; color: #a6dda3; font-size: .96em; font-style: normal; font-weight: inherit; }
.academy-book-hero .academy-book-description { max-width: 660px; margin: 25px 0 0; color: #b0c2bc; font-size: 14px; font-weight: 400; line-height: 1.95; letter-spacing: -.025em; word-break: keep-all; }
.academy-book-hero .academy-book-description strong { color: #e0ede5; font-weight: 550; }
.academy-book-hero .academy-book-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.academy-book-hero .academy-book-actions .button-primary { min-height: 49px; padding-inline: 23px; border-color: #acdca5; border-radius: 5px; background: #acdca5; color: #102117; font-size: 12px; font-weight: 600; }
.academy-book-hero .academy-book-actions .button-primary:hover { border-color: #c1edb9; background: #c1edb9; }
.academy-book-hero .academy-book-art { position: relative; display: grid; place-items: center; align-self: center; min-width: 0; min-height: 440px; }
.academy-book-hero .academy-book-art::before { content: ""; position: absolute; z-index: -1; width: 92%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(ellipse, #8aba7340, #4c8e6910 51%, transparent 72%); filter: blur(22px); }
.academy-book-hero .academy-book-art img { display: block; width: 100%; height: auto; max-width: 570px; max-height: 590px; object-fit: contain; object-position: center; filter: drop-shadow(0 29px 28px #0007); }

/* Blend the original book artwork into the hero background. */
@media (min-width: 841px) {
  .academy-book-hero .academy-book-shell { position: static; }
  .academy-book-hero .academy-book-art { position: absolute; z-index: 0; inset: 0 -2% 0 auto; display: block; align-self: stretch; width: min(60%, 900px); min-height: 0; mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 100%); }
  .academy-book-hero .academy-book-art img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; filter: none; }
  .academy-book-hero .academy-book-art::before { display: none; }
}
@media (min-width: 1600px) {
  .academy-book-hero .academy-book-shell { min-height: 700px; padding-block: 79px 84px; gap: 48px; }
  .academy-book-hero h1.academy-book-title { font-size: 46px; }

}
@media (max-width: 1120px) {
  .academy-book-hero .academy-book-shell { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 23px; }
  .academy-book-hero .academy-book-description { font-size: 13px; line-height: 1.9; }
  .academy-book-hero .academy-book-art { min-height: 370px; }
}
@media (max-width: 840px) {
  .academy-book-hero .academy-book-shell { grid-template-columns: minmax(0, 1fr); gap: 26px; min-height: 0; padding-block: 45px 43px; }
  .academy-book-hero .academy-book-copy { max-width: 680px; }
  .academy-book-hero .academy-book-breadcrumb { margin-bottom: 27px; }
  .academy-book-hero h1.academy-book-title { font-size: clamp(30px, 5vw, 41px); }
  .academy-book-hero .academy-book-description { max-width: 660px; font-size: 14px; }
  .academy-book-hero .academy-book-art { justify-self: center; width: min(470px, 100%); min-height: 0; }
  .academy-book-hero .academy-book-art img { width: auto; max-width: 100%; height: 350px; max-height: 350px; }
}
@media (max-width: 520px) {
  .academy-book-hero .academy-book-shell { width: calc(100% - 40px); gap: 30px; padding-block: 33px 37px; }
  .academy-book-hero .academy-book-breadcrumb { margin-bottom: 25px; font-size: 9px; }
  .academy-book-hero .academy-book-copy > .eyebrow { margin-bottom: 16px; font-size: 9px; letter-spacing: .15em; }
  .academy-book-hero h1.academy-book-title { font-size: clamp(25px, 6.75vw, 34px); line-height: 1.4; letter-spacing: -.055em; }
  .academy-book-hero .academy-book-title > em { font-size: .96em; }
  .academy-book-hero .academy-book-description { margin-top: 20px; color: #afc2b8; font-size: 13px; line-height: 1.9; }
  .academy-book-hero .academy-book-actions { margin-top: 25px; }
  .academy-book-hero .academy-book-actions .button-primary { min-height: 47px; padding-inline: 20px; }
  .academy-book-hero .academy-book-art { width: 100%; }
  .academy-book-hero .academy-book-art img { height: 305px; max-height: 305px; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-book-hero .academy-book-actions .button { transition: none; }
}

/* Keep the field-story invitation alongside the AI × TRADE mark. */
.academy-featured .academy-field-invite { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 190px; margin-bottom: 28px; background: radial-gradient(ellipse, #5fd9a014, transparent 70%); scroll-margin-top: 8px; }
.academy-featured .academy-field-invite .academy-mark { min-height: 0; margin: 0; background: none; }
.academy-featured .academy-field-button { min-height: 44px; max-width: 100%; margin-top: 18px; padding: 10px 18px; border-color: #3a6b5a; border-radius: 4px; color: #b7e4cc; font-size: 12px; line-height: 1.6; }
.academy-featured .academy-field-button:hover { border-color: #74c29b; background: #5fd9a00d; }
.academy-featured .academy-field-button svg { width: 13px; height: 13px; }
@media (max-width: 760px) {
  .academy-featured .academy-field-invite { min-height: 155px; }
}

/* SIGNAL's learning case uses the published student book, in its original proportions. */
.academy-card.signal-card.signal-book-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 625px;
  padding: 32px;
  border-color: #75b18c37;
  background: radial-gradient(ellipse at 90% 4%, #75b18c0c, transparent 58%), #08151b;
  scroll-margin-top: 95px;
}
.signal-book-card > .eyebrow { margin: 0 0 12px; color: #9cc8ac; font-size: 9px; line-height: 1.6; letter-spacing: .13em; }
.signal-book-card > h3 { margin: 0 0 7px; color: #e8f1ed; font-size: 24px; font-weight: 550; line-height: 1.35; letter-spacing: -.035em; word-break: keep-all; }
.signal-book-card > .academy-subtitle { margin: 0 0 22px; color: #83ae99; font-size: 11px; line-height: 1.6; }
.signal-book-card .signal-book-feature { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: start; gap: 24px; min-width: 0; }
.signal-book-card .signal-book-cover { display: block; align-self: start; width: 160px; max-width: 100%; padding: 0; border: 0; background: transparent; }
.signal-book-card .signal-book-cover img { display: block; width: 100%; height: auto; max-height: 246px; object-fit: contain; object-position: center top; filter: drop-shadow(0 12px 15px #0004); }
.signal-book-card .signal-book-cover:focus-visible { outline: 2px solid #9acba5; outline-offset: 7px; }
.signal-book-card .signal-book-copy { min-width: 0; }
.signal-book-card .signal-book-title { margin: 0; color: #d9eadf; font-size: 18px; font-weight: 550; line-height: 1.5; letter-spacing: -.035em; word-break: keep-all; }
.signal-book-card .signal-book-title > span { display: block; margin-top: 7px; color: #9db4a5; font-size: 12px; font-weight: 400; line-height: 1.7; letter-spacing: -.025em; }
.signal-book-card .signal-book-description { margin: 15px 0 0; color: #a2b8b0; font-size: 12px; line-height: 1.85; word-break: keep-all; }
.signal-book-card .signal-book-meta { margin: 13px 0 0; color: #739885; font-size: 10px; line-height: 1.8; word-break: keep-all; }
.signal-book-card .signal-book-topics { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 22px; padding-top: 17px; border-top: 1px solid #8fc4a51f; }
.signal-book-card .signal-book-topics > span { display: inline-flex; align-items: center; gap: 6px; color: #a3bfae; font-size: 10px; line-height: 1.8; }
.signal-book-card .signal-book-topics > span::before { content: ''; width: 3px; height: 3px; border-radius: 50%; background: #86b796; }
.signal-book-card .signal-book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 22px; margin-top: auto; padding-top: 24px; }
.signal-book-card .signal-book-actions .button { min-height: 44px; margin: 0; padding: 9px 14px; border-color: #587f6a; border-radius: 4px; background: #9acba505; color: #c7e6d0; font-size: 11px; font-weight: 500; line-height: 1.6; gap: 10px; }
.signal-book-card .signal-book-actions .button:hover { border-color: #8fbd9d; background: #8fbd9d0e; }
.signal-book-card .signal-book-actions .button svg { width: 13px; height: 13px; }
.signal-book-card .signal-book-actions .text-link { min-height: 38px; gap: 9px; color: #94bca4; font-size: 10px; }
.signal-book-card .signal-book-actions .text-link:hover { color: #c0e5cd; }
.signal-book-card .signal-book-actions .text-link svg { width: 12px; height: 12px; }

@media (min-width: 761px) and (max-width: 1120px) {
  .academy-card.signal-card.signal-book-card { padding: 27px; }
  .signal-book-card > h3 { font-size: 22px; }
  .signal-book-card .signal-book-feature { grid-template-columns: 126px minmax(0, 1fr); gap: 18px; }
  .signal-book-card .signal-book-cover { width: 126px; }
  .signal-book-card .signal-book-title { font-size: 17px; }
  .signal-book-card .signal-book-title > span { font-size: 11px; }
  .signal-book-card .signal-book-description { font-size: 11px; }
  .signal-book-card .signal-book-meta { font-size: 9px; }
  .signal-book-card .signal-book-actions { column-gap: 14px; }
}
@media (max-width: 760px) {
  .academy-card.signal-card.signal-book-card { min-height: 0; padding: 28px; }
  .signal-book-card > h3 { font-size: 24px; }
  .signal-book-card .signal-book-feature { grid-template-columns: 170px minmax(0, 1fr); gap: 25px; }
  .signal-book-card .signal-book-cover { width: 170px; }
  .signal-book-card .signal-book-description { font-size: 13px; }
  .signal-book-card .signal-book-meta { font-size: 11px; }
  .signal-book-card .signal-book-topics { margin-top: 25px; }
  .signal-book-card .signal-book-actions { margin-top: 0; padding-top: 22px; }
}
@media (max-width: 520px) {
  .academy-card.signal-card.signal-book-card { padding: 25px 23px; }
  .signal-book-card > .eyebrow { font-size: 8px; letter-spacing: .11em; }
  .signal-book-card > h3 { font-size: 23px; }
  .signal-book-card > .academy-subtitle { margin-bottom: 25px; }
  .signal-book-card .signal-book-feature { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .signal-book-card .signal-book-cover { justify-self: center; width: 170px; }
  .signal-book-card .signal-book-title { font-size: 19px; }
  .signal-book-card .signal-book-title > span { margin-top: 6px; font-size: 12px; }
  .signal-book-card .signal-book-description { margin-top: 13px; font-size: 13px; line-height: 1.9; }
  .signal-book-card .signal-book-meta { margin-top: 12px; font-size: 10px; }
  .signal-book-card .signal-book-topics { gap: 7px 12px; margin-top: 23px; }
  .signal-book-card .signal-book-actions { align-items: flex-start; flex-direction: column; gap: 9px; padding-top: 21px; }
  .signal-book-card .signal-book-actions .button { min-height: 44px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .signal-book-card .signal-book-actions .button { transition: none; }
}

/* A first lesson, directly after the Academy introduction. */
.academy-literacy { padding: 76px 0; border-bottom: 1px solid #8bc5ac1e; background: radial-gradient(ellipse at 84% 48%, #599a7d0a, transparent 60%), #080f17; }
.academy-literacy-shell { display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.academy-literacy-copy { min-width: 0; }
.academy-literacy-copy > .eyebrow { margin-bottom: 20px; color: #a4d4b2; font-size: 10px; letter-spacing: .18em; }
.academy-literacy-copy h2 { margin: 0; color: #e7f0ec; font-size: clamp(27px, 2.4vw, 35px); font-weight: 600; line-height: 1.45; letter-spacing: -.045em; word-break: keep-all; }
.academy-literacy-copy h2 > span, .academy-literacy-copy h2 > em { display: block; }
.academy-literacy-copy h2 > em { margin-top: 13px; color: #a6dda3; font-size: .7em; font-style: normal; font-weight: 500; line-height: 1.6; letter-spacing: -.03em; }
.academy-literacy-description { margin-top: 23px; color: #95aca4; font-size: 13px; line-height: 1.95; word-break: keep-all; }
.academy-literacy-video { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #82b99b40; border-radius: 13px; background: #0b1720; box-shadow: 0 18px 50px #0003; }
.academy-video-frame { position: relative; aspect-ratio: 16 / 9; min-height: 200px; background: #03080d; }
.academy-video-frame iframe { display: block; width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
.academy-video-launch { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; color: #0b241b; }
.academy-video-launch::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 45%, #040d1980); }
.academy-video-launch img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.academy-video-play { position: relative; z-index: 1; display: grid; place-items: center; width: 66px; height: 66px; border: 1px solid #c9f3d6; border-radius: 50%; background: #b6e4bd; box-shadow: 0 5px 30px #04130a66; transition: transform .25s ease, background-color .25s ease; }
.academy-video-play svg { width: 24px; height: 24px; margin-left: 1px; }
.academy-video-play-label { position: absolute; z-index: 1; bottom: 17px; left: 20px; display: inline-flex; align-items: center; gap: 8px; color: #eef6f1; font-size: 11px; font-weight: 500; letter-spacing: .02em; }
.academy-video-play-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #b6e4bd; }
.academy-video-launch:hover .academy-video-play { transform: scale(1.07); background: #d0f0cc; }
.academy-video-launch:focus-visible { outline: 3px solid #b6e4bd; outline-offset: -5px; }
.academy-literacy-video figcaption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px 18px; padding: 15px 19px; color: #829e91; font-size: 10px; line-height: 1.6; }
.academy-literacy-video figcaption .text-link { min-height: 28px; gap: 8px; color: #b0d7bd; font-size: 10px; }
.academy-literacy-video figcaption .text-link svg { width: 12px; height: 12px; }
@media (max-width: 900px) {
  .academy-literacy { padding: 57px 0; }
  .academy-literacy-shell { grid-template-columns: minmax(0, 1fr); gap: 29px; }
  .academy-literacy-copy h2 { font-size: 31px; }
  .academy-literacy-copy h2 > em { margin-top: 8px; font-size: .72em; }
  .academy-literacy-description { margin-top: 15px; }
}
@media (max-width: 520px) {
  .academy-literacy { padding: 46px 0; }
  .academy-literacy-shell { gap: 25px; }
  .academy-literacy-copy > .eyebrow { margin-bottom: 15px; font-size: 9px; }
  .academy-literacy-copy h2 { font-size: 27px; }
  .academy-literacy-copy h2 > em { font-size: 20px; line-height: 1.6; }
  .academy-literacy-description { font-size: 12px; line-height: 1.9; }
  .academy-literacy-description br { display: none; }
  .academy-video-play { width: 55px; height: 55px; }
  .academy-video-play svg { width: 21px; height: 21px; }
  .academy-video-play-label { bottom: 12px; left: 14px; font-size: 10px; }
  .academy-literacy-video { border-radius: 10px; }
  .academy-literacy-video figcaption { padding: 11px 14px; gap: 7px; font-size: 9px; }
  .academy-literacy-video figcaption .text-link { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-video-play { transition: none; }
  .academy-video-launch:hover .academy-video-play { transform: none; }
}
