/* Academy entrance and its navigation. The study views keep their own theme. */
body:has(#academyStudyEntrance:not([hidden])) {
  background: #101714 !important;
}

body.academy-bootstrap {
  --bs-border-width: 1px;
  --bs-border-radius: 6px;
}

body.academy-bootstrap :is(.btn, main button.primary, main button.ghost) {
  --bs-btn-padding-x: .9rem;
  --bs-btn-padding-y: .6rem;
  --bs-btn-font-family: inherit;
  --bs-btn-font-size: .9rem;
  --bs-btn-font-weight: 650;
  min-height: 44px;
}

body.academy-bootstrap :is(.btn-primary, main button.primary) {
  --bs-btn-color: #142018;
  --bs-btn-bg: #bbd4b2;
  --bs-btn-border-color: #bbd4b2;
  --bs-btn-hover-color: #142018;
  --bs-btn-hover-bg: #d4e6ca;
  --bs-btn-hover-border-color: #d4e6ca;
  --bs-btn-focus-shadow-rgb: 187, 212, 178;
  --bs-btn-active-color: #142018;
  --bs-btn-active-bg: #a7c29d;
  --bs-btn-active-border-color: #a7c29d;
  --bs-btn-disabled-color: #142018;
  --bs-btn-disabled-bg: #bbd4b2;
  --bs-btn-disabled-border-color: #bbd4b2;
}

body.academy-bootstrap :is(.btn-outline-secondary, main button.ghost) {
  --bs-btn-color: #e1e9dd;
  --bs-btn-border-color: #778779;
  --bs-btn-hover-color: #f4f5ee;
  --bs-btn-hover-bg: #2b382f;
  --bs-btn-hover-border-color: #a1b3a1;
  --bs-btn-focus-shadow-rgb: 187, 212, 178;
  --bs-btn-active-color: #f4f5ee;
  --bs-btn-active-bg: #344639;
  --bs-btn-active-border-color: #bbd4b2;
  --bs-btn-disabled-color: #c6cec5;
  --bs-btn-disabled-border-color: #778779;
}

body.academy-bootstrap > main button:is(.primary, .ghost) {
  border-radius: var(--bs-border-radius) !important;
  background: var(--bs-btn-bg) !important;
  border-color: var(--bs-btn-border-color) !important;
  color: var(--bs-btn-color) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.academy-bootstrap > main button:is(.primary, .ghost):not(:disabled):is(:hover, :focus-visible) {
  background: var(--bs-btn-hover-bg) !important;
  border-color: var(--bs-btn-hover-border-color) !important;
  color: var(--bs-btn-hover-color) !important;
}
body.academy-bootstrap > main button:is(.primary, .ghost):not(:disabled):is(:active, .active, .show) {
  background: var(--bs-btn-active-bg) !important;
  border-color: var(--bs-btn-active-border-color) !important;
  color: var(--bs-btn-active-color) !important;
}
body.academy-bootstrap :is(.btn, main button.primary, main button.ghost):focus-visible {
  outline: 2px solid #d4e6ca !important;
  outline-offset: 3px;
}
body.academy-bootstrap :is(.btn, main button.primary, main button.ghost)[hidden] { display: none !important; }

#academyStudyEntrance {
  max-width: 1180px;
  margin-top: clamp(24px, 4vw, 52px);
  color: #f4f5ee;
}
#academyStudyEntrance > .academy-intro {
  max-width: none;
  padding: 0;
  border: 1px solid #3d4b40;
  border-radius: 12px;
  background: #202a23;
}
body.academy-bootstrap #academyStudyEntrance .academy-intro .row {
  --bs-gutter-x: 0;
  margin: 0;
  align-items: stretch;
}
.academy-intro-copy { padding: clamp(24px, 5vw, 64px) !important; }
#academyStudyEntrance .academy-intro .eyebrow {
  color: #bbd4b2 !important;
  font-size: .75rem;
  letter-spacing: .1em;
}
#academyStudyEntrance .academy-intro h1 {
  max-width: 13ch;
  margin: 15px 0;
  color: #f5f3e9;
  font-family: Georgia, serif;
  font-size: clamp(2.4rem, 4.9vw, 4.4rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.045em;
}
#academyStudyEntrance .academy-intro p {
  max-width: 40ch;
  color: #c7d1c6;
  font-size: 1rem;
  line-height: 1.6;
}
.academy-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.academy-intro-actions .btn { display: inline-flex; align-items: center; justify-content: center; }
.academy-intro-cover {
  display: grid;
  place-items: center;
  padding: 18px !important;
  border-radius: 0 11px 11px 0;
  background: #181f1a;
}
.academy-intro-cover img {
  display: block;
  width: auto;
  max-width: 100%;
  height: min(340px, 34vw);
  border-radius: 4px;
  object-fit: contain;
}

.academy-path-heading {
  margin: clamp(30px, 4vw, 50px) 0 18px;
  font-family: Georgia, serif;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 500;
}
:is(#academyPaths, #academyTools) { scroll-margin-top: 110px; }
body.academy-bootstrap #academyStudyEntrance .academy-path-grid {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
  display: flex !important;
  gap: 0 !important;
  padding: 0;
}
#academyStudyEntrance .academy-path-grid > div { box-sizing: border-box; }
#academyStudyEntrance .academy-path-card {
  display: flex !important;
  flex-direction: row !important;
  width: 100%;
  height: 100%;
  padding: 12px !important;
  background: #1a241e !important;
  border: 1px solid #3d4b40 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: border-color .18s, background-color .18s;
}
#academyStudyEntrance .academy-path-card::after,
#academyStudyEntrance .academy-book-cover::after { display: none; }
#academyStudyEntrance .academy-book-cover {
  flex: 0 0 clamp(66px, 9vw, 105px);
  align-self: start;
  aspect-ratio: 2 / 3;
  border: 0;
  border-radius: 4px;
}
#academyStudyEntrance .academy-book-cover > img { object-fit: contain; }
#academyStudyEntrance .academy-path-copy {
  min-width: 0;
  box-sizing: border-box;
  gap: 6px !important;
  padding: 2px 0 0 14px !important;
  text-shadow: none;
}
#academyStudyEntrance .academy-path-copy > small {
  color: #bbd4b2 !important;
  font-size: .6875rem !important;
  letter-spacing: .08em;
}
#academyStudyEntrance .academy-path-copy > strong {
  min-height: 0;
  color: #f4f5ee;
  font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
}
#academyStudyEntrance .academy-path-description {
  min-height: 0;
  margin-bottom: 5px;
  color: #c4cec6;
  font-size: .875rem;
  line-height: 1.5;
}
#academyStudyEntrance .academy-path-copy > b {
  justify-content: space-between;
  gap: 6px;
  min-height: 34px;
  padding: 5px 0 0 !important;
  border-top: 1px solid #3d4b40 !important;
  background: none;
  color: #bbd4b2 !important;
  text-shadow: none !important;
}
#academyStudyEntrance .academy-path-copy > b > span { display: inline; }
#academyStudyEntrance .academy-path-card:hover {
  background: #26342a !important;
  border-color: #8da38e !important;
  transform: none;
}
#academyStudyEntrance .academy-path-card:focus-visible,
#academyReferenceEntrance summary:focus-visible {
  outline: 2px solid #d4e6ca !important;
  outline-offset: 3px;
}

.academy-home-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  list-style: none;
  margin: 24px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #35463a;
}
.academy-home-benefits li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #c4cec6;
  font-size: .875rem;
}
.academy-benefit-icon { width: 22px; height: 22px; color: #aed6b8; }

body > .app-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  max-width: 1180px;
  gap: 14px !important;
  width: calc(100% - 48px);
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.academy-tool-group {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #35463a;
  border-radius: 12px;
  background: #1a241e;
}
.academy-tool-group:first-child {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.academy-tool-group h3 {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  padding: 4px 6px;
  color: #edf2ed;
  font-size: 1rem;
  font-weight: 680;
}
body > .app-nav :is(.nav-tab, .youtube-link) {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100% !important;
  min-width: 0;
  min-height: 44px;
  margin: 0 !important;
  padding: var(--bs-btn-padding-y) .7rem !important;
  border: 1px solid var(--bs-btn-border-color) !important;
  border-radius: var(--bs-border-radius) !important;
  background: transparent !important;
  color: var(--bs-btn-color) !important;
  box-shadow: none !important;
  text-shadow: none;
  text-align: left;
  text-decoration: none;
  white-space: normal !important;
  line-height: 1.35;
  font-size: .875rem;
}
body > .app-nav :is(.nav-tab, .youtube-link) > span:not(.nav-icon) { min-width: 0; overflow-wrap: anywhere; }
body > .app-nav .nav-icon {
  flex: 0 0 22px;
  width: 22px;
  display: inline-grid;
  place-items: center;
  background: none;
  color: #aed6b8;
}
body > .app-nav :is(.nav-tab, .youtube-link):hover,
body > .app-nav .nav-tab.active {
  background: var(--bs-btn-hover-bg) !important;
  border-color: var(--bs-btn-hover-border-color) !important;
  color: var(--bs-btn-hover-color) !important;
}
body > .app-nav .video-review-tab > b {
  align-self: center;
  margin: 0;
  background: #b6e7c3 !important;
  color: #15241a !important;
  font-size: .65rem;
}
#academyReferenceEntrance summary {
  padding: 12px 0;
  color: #cce2d2;
  cursor: pointer;
}
#academyReferenceEntrance details[open] > summary { margin-bottom: 12px; }

.academy-ebook-entry { max-width: 1180px; width: calc(100% - 48px); margin: 28px auto 0; }
.academy-ebook-entry a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 14px 0;
  color: #eaf2eb;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid #35463a;
}
.academy-ebook-entry span { font-size: .875rem; font-weight: 400; color: #c4cec6; }
.academy-ebook-entry a:hover { color: #b6e7c3; }
.academy-ebook-entry a:focus-visible { outline: 2px solid #b6e7c3; outline-offset: 3px; }
#openFeedback { text-align: left; }

@media (max-width: 850px) {
  .academy-tool-group:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body > .app-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body > .app-nav,
  .academy-ebook-entry { width: calc(100% - 32px); }
}
@media (max-width: 540px) {
  body > .app-nav { grid-template-columns: minmax(0, 1fr); }
  .academy-tool-group:not(:first-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-home-benefits { gap: 8px 16px; }
}
@media (max-width: 991px) {
  .academy-intro-cover { border-radius: 0 0 11px 11px; }
  .academy-intro-cover img { height: min(260px, 59vw); }
}
@media (max-width: 420px) {
  .academy-intro-actions .btn { width: 100%; }
}
@media (max-width: 920px) and (orientation: landscape) {
  body:has(#academyStudyEntrance[hidden]) > .app-nav { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #academyStudyEntrance .academy-path-card { transition: none; }
}
