/* Brew Studio: a user-controlled lesson stage with an editorial reading column. */
body.academy-v9.academy-v9 main .bs-studio .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
body.academy-v9.academy-v9 main .bs-studio {
  --bs-forest: #073b31;
  --bs-cream: #fffaf0;
  --bs-mint: #c8dfcf;
  --bs-gold: #e0b960;
  --bs-muted: #4a6255;
  --bs-rule: #073b3130;
  min-width: 0;
  padding: clamp(44px, 6vw, 82px) var(--ac-gutter, 5vw);
  color: var(--bs-forest);
  background: var(--ac-light, #e4ecdf);
  font-family: Manrope, Arial, sans-serif;
}
body.academy-v9.academy-v9 main .bs-studio[hidden],
body.academy-v9.academy-v9 main .bs-studio [hidden] { display: none !important; }
body.academy-v9.academy-v9 main .bs-studio > * { max-width: 1240px; margin-inline: auto; }
body.academy-v9.academy-v9 main .bs-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  align-items: end;
  gap: 10px 42px;
  margin-bottom: 26px;
}
body.academy-v9.academy-v9 main .bs-heading > .eyebrow { grid-column: 1 / -1; margin: 0; }
body.academy-v9.academy-v9 main .bs-heading h2 {
  margin: 0;
  color: var(--bs-forest);
  font: 800 clamp(48px, 5.6vw, 78px)/.98 'Barlow Condensed', sans-serif;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.academy-v9.academy-v9 main .bs-heading > p:last-child {
  max-width: 44ch;
  margin: 0 0 4px;
  color: #334f40;
  font-size: 18px;
  line-height: 1.7;
}
body.academy-v9.academy-v9 main .bs-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
body.academy-v9.academy-v9 main .bs-methods button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 150px;
  min-height: 52px;
  padding: 11px 20px;
  border: 1px solid #527563;
  border-radius: 2px;
  background: #f8f6ee;
  color: var(--bs-forest);
  font: 800 19px/1.2 'Barlow Condensed', sans-serif;
  letter-spacing: .015em;
  text-align: center;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
body.academy-v9.academy-v9 main .bs-methods button[aria-selected="true"] {
  border-color: var(--bs-forest);
  background: var(--bs-forest);
  color: var(--bs-cream);
}
body.academy-v9.academy-v9 main .bs-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid #073b3124;
  background: var(--bs-cream);
  box-shadow: 0 16px 42px #183b2b12;
}
body.academy-v9.academy-v9 main .bs-workbench > * { min-width: 0; }
body.academy-v9.academy-v9 main .bs-stage {
  display: flex;
  flex-direction: column;
  min-width: 0;
  container-type: inline-size;
  padding: clamp(16px, 2.2vw, 28px);
  background: var(--bs-forest);
  color: var(--bs-cream);
}
body.academy-v9.academy-v9 main .bs-stage-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 28px;
  margin-bottom: 10px;
  color: #e4ecdf;
  font: 600 14px/1.4 Manrope, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.academy-v9.academy-v9 main .bs-stage-top > :last-child { color: var(--bs-gold); text-align: right; }
body.academy-v9.academy-v9 main .bs-scene {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9e8d322;
  background: #0b493b;
  box-shadow: inset 0 0 0 1px #ffffff0a;
}
body.academy-v9.academy-v9 main .bs-scene svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 840 / 560;
  max-width: 100%;
}
body.academy-v9.academy-v9 main .bs-readout {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px 18px;
  min-height: 55px;
  padding: 10px 2px 4px;
}
body.academy-v9.academy-v9 main .bs-readout > span { color: #d4e4d7; font-size: 15px; line-height: 1.4; }
body.academy-v9.academy-v9 main .bs-readout output {
  color: var(--bs-gold);
  font: 800 clamp(26px, 3vw, 38px)/1 'Barlow Condensed', sans-serif;
  text-align: right;
  overflow-wrap: anywhere;
}
body.academy-v9.academy-v9 main .bs-transport {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid #fffaf02b;
}
body.academy-v9.academy-v9 main .bs-transport button,
body.academy-v9.academy-v9 main .bs-challenge button,
body.academy-v9.academy-v9 main .bs-prev-next button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  padding: 10px 15px;
  border: 1px solid #93b29d;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: 600 15px/1.35 Manrope, Arial, sans-serif;
  text-align: center;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
body.academy-v9.academy-v9 main .bs-transport .bs-play { min-width: 102px; border-color: var(--bs-gold); background: var(--bs-gold); color: var(--bs-forest); }
body.academy-v9.academy-v9 main .bs-scrub-label {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 3px 12px;
  min-width: 0;
  color: var(--bs-cream);
  font: 600 15px/1.35 Manrope, Arial, sans-serif;
}
body.academy-v9.academy-v9 main .bs-scrub-label > span { grid-column: 1 / -1; }
body.academy-v9.academy-v9 main .bs-scrub-label input[type="range"] {
  display: block;
  width: 100%;
  min-width: 40px;
  min-height: 48px;
  margin: 0;
  accent-color: var(--bs-gold);
  cursor: pointer;
  touch-action: pan-y;
}
body.academy-v9.academy-v9 main .bs-scrub-label input[type="range"]::-webkit-slider-thumb { width: 24px; height: 24px; cursor: grab; }
body.academy-v9.academy-v9 main .bs-scrub-label input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border: 2px solid var(--bs-cream); border-radius: 50%; background: var(--bs-gold); cursor: grab; }
body.academy-v9.academy-v9 main .bs-scrub-label output { min-width: 3ch; color: var(--bs-gold); font-weight: 800; text-align: right; }
body.academy-v9.academy-v9 main .bs-lesson {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  padding: clamp(22px, 3vw, 38px);
  background: var(--bs-cream);
}
body.academy-v9.academy-v9 main .bs-dose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(126px, .8fr);
  align-items: center;
  gap: 10px 16px;
  min-width: 0;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-left: 3px solid var(--bs-forest);
  background: #f0eadc;
  color: #334f40;
  font: 600 14px/1.45 Manrope, Arial, sans-serif;
}
body.academy-v9.academy-v9 main .bs-dose select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 9px 36px 9px 12px;
  border: 1px solid #648474;
  border-radius: 2px;
  background: #fffdf7;
  color: var(--bs-forest);
  font: 600 15px/1.35 Manrope, Arial, sans-serif;
  cursor: pointer;
}
body.academy-v9.academy-v9 main .bs-step-count {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  min-height: 30px;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-left: 3px solid var(--bs-gold);
  background: #f0eadc;
  color: #334f40;
  font: 800 13px/1.4 Manrope, Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.academy-v9.academy-v9 main .bs-lesson h3[data-bs-title] {
  margin: 0 0 12px;
  color: var(--bs-forest);
  font: 800 clamp(38px, 3.6vw, 50px)/.98 'Barlow Condensed', sans-serif;
  letter-spacing: -.02em;
  text-wrap: balance;
}
body.academy-v9.academy-v9 main .bs-lesson > p[data-bs-copy] { margin: 0 0 20px; color: #243f32; font-size: 17px; line-height: 1.7; }
body.academy-v9.academy-v9 main .bs-observe {
  display: grid;
  grid-template-columns: minmax(74px, .32fr) minmax(0, 1fr);
  gap: 8px 14px;
  align-items: start;
  margin: 0 0 18px;
  padding: 15px 16px;
  border-left: 4px solid #648474;
  background: #e9efe4;
}
body.academy-v9.academy-v9 main .bs-observe strong { color: #405b48; font: 800 13px/1.5 Manrope, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
body.academy-v9.academy-v9 main .bs-observe p { margin: 0; color: #223d31; font-size: 15px; line-height: 1.6; }
body.academy-v9.academy-v9 main .bs-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 20px;
  background: var(--bs-rule);
  border: 1px solid var(--bs-rule);
}
body.academy-v9.academy-v9 main .bs-metrics > div { display: grid; gap: 4px; min-width: 0; padding: 12px 14px; background: #f5f1e6; }
body.academy-v9.academy-v9 main .bs-metrics dt { color: #506858; font: 600 13px/1.4 Manrope, Arial, sans-serif; }
body.academy-v9.academy-v9 main .bs-metrics dd { margin: 0; color: var(--bs-forest); font: 800 24px/1.1 'Barlow Condensed', sans-serif; overflow-wrap: anywhere; }
body.academy-v9.academy-v9 main .bs-challenge {
  margin-top: auto;
  padding: 17px 18px;
  border-top: 3px solid var(--bs-gold);
  background: #f0eadc;
}
body.academy-v9.academy-v9 main .bs-challenge > p:first-child { margin: 0 0 10px; color: #243f32; font-size: 15px; line-height: 1.55; }
body.academy-v9.academy-v9 main .bs-challenge button { margin: 0 6px 8px 0; border-color: var(--bs-forest); color: var(--bs-forest); }
body.academy-v9.academy-v9 main .bs-challenge button[data-bs-practice] { background: var(--bs-forest); color: var(--bs-cream); }
body.academy-v9.academy-v9 main .bs-challenge > p[role="status"],
body.academy-v9.academy-v9 main .bs-answer > p[role="status"] { min-height: 1.5em; margin: 5px 0 0; color: #315b40; font-size: 14px; line-height: 1.5; font-weight: 600; }
body.academy-v9.academy-v9 main .bs-challenge[data-result="hit"] { border-top-color: #438057; background: #e6efe4; }
body.academy-v9.academy-v9 main .bs-challenge[data-result="early"] { border-top-color: #c18b38; }
body.academy-v9.academy-v9 main .bs-challenge[data-result="late"] { border-top-color: #ad694e; }
body.academy-v9.academy-v9 main .bs-answer { margin-top: 16px; padding: 15px 0 0; border-top: 1px solid var(--bs-rule); }
body.academy-v9.academy-v9 main .bs-answer > p:first-child { margin: 0 0 10px; color: #405b48; font-size: 15px; line-height: 1.55; font-weight: 600; }
body.academy-v9.academy-v9 main .bs-answer-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.academy-v9.academy-v9 main .bs-answer-options button {
  min-width: 0;
  min-height: 48px;
  padding: 9px 12px;
  border: 1px solid #648474;
  border-radius: 2px;
  background: transparent;
  color: var(--bs-forest);
  font: 600 14px/1.4 Manrope, Arial, sans-serif;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
body.academy-v9.academy-v9 main .bs-answer-options button[aria-pressed="true"] { background: var(--bs-forest); color: var(--bs-cream); }
body.academy-v9.academy-v9 main .bs-prev-next { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; }
body.academy-v9.academy-v9 main .bs-prev-next button { flex: 1 1 0; border-color: #5d7867; color: var(--bs-forest); }
body.academy-v9.academy-v9 main .bs-prev-next button:last-child { border-color: var(--bs-forest); background: var(--bs-forest); color: var(--bs-cream); }
body.academy-v9.academy-v9 main .bs-prev-next button:disabled { opacity: .48; cursor: not-allowed; }
body.academy-v9.academy-v9 main .bs-step-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 16px;
  border-top: 1px solid var(--bs-rule);
  border-bottom: 1px solid var(--bs-rule);
}
body.academy-v9.academy-v9 main .bs-step-list li { min-width: 0; list-style: none; }
body.academy-v9.academy-v9 main .bs-step-list button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 62px;
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid var(--bs-rule);
  background: transparent;
  color: var(--bs-muted);
  text-align: left;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}
body.academy-v9.academy-v9 main .bs-step-list li:nth-child(3n) button { border-right: 0; }
body.academy-v9.academy-v9 main .bs-step-list li:nth-child(n+4) { border-top: 1px solid var(--bs-rule); }
body.academy-v9.academy-v9 main .bs-step-list button > span { flex: none; color: #648474; font: 800 25px/1 'Barlow Condensed', sans-serif; }
body.academy-v9.academy-v9 main .bs-step-list button strong { min-width: 0; font: 600 14px/1.35 Manrope, Arial, sans-serif; overflow-wrap: anywhere; }
body.academy-v9.academy-v9 main .bs-step-list button[aria-current="step"] { background: var(--bs-forest); color: var(--bs-cream); }
body.academy-v9.academy-v9 main .bs-step-list button[aria-current="step"] > span { color: var(--bs-gold); }
body.academy-v9.academy-v9 main .bs-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 18px; }
body.academy-v9.academy-v9 main .bs-footer a { display: inline-flex; align-items: center; min-height: 48px; color: var(--bs-forest); font-size: 15px; line-height: 1.5; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.academy-v9.academy-v9 main .bs-footer small { max-width: 48ch; color: #526b5a; font-size: 13px; line-height: 1.55; text-align: right; }
body.academy-v9.academy-v9 main .bs-studio :is(button, input, select, a):focus-visible { outline: 3px solid #39794e; outline-offset: 4px; }
body.academy-v9.academy-v9 main .bs-studio button:not(:disabled):active { background-color: #e8ce87; color: var(--bs-forest); }
body.academy-v9.academy-v9 main .bs-studio button:disabled { cursor: not-allowed; }
@media (hover: hover) {
  body.academy-v9.academy-v9 main .bs-methods button:not([aria-selected="true"]):hover,
  body.academy-v9.academy-v9 main .bs-answer-options button:not([aria-pressed="true"]):hover { background: #e9efe4; }
  body.academy-v9.academy-v9 main .bs-step-list button:not([aria-current="step"]):hover { background: #e9efe4; color: var(--bs-forest); }
}

/* Supporting diagrams stay available below the guided lesson, in a calm disclosure. */
body.academy-v9.academy-v9 main .ig-secondary {
  max-width: 1240px;
  margin: 26px auto 0;
  border: 1px solid var(--bs-rule, #073b3130);
  background: #f7f4eb;
}
body.academy-v9.academy-v9 main .ig-secondary > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 13px 18px;
  color: #315544;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 800;
  cursor: pointer;
}
body.academy-v9.academy-v9 main .ig-secondary[open] > summary { border-bottom: 1px solid var(--bs-rule, #073b3130); }
body.academy-v9.academy-v9 main .ig-secondary > :not(summary) { margin-inline: 18px; }
body.academy-v9.academy-v9 main .ig-secondary > :last-child { margin-bottom: 18px; }

@media (max-width: 900px) {
  body.academy-v9.academy-v9 main .bs-workbench { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.academy-v9.academy-v9 main .bs-stage { padding: 22px; }
  body.academy-v9.academy-v9 main .bs-scene { max-width: 760px; width: 100%; align-self: center; }
  body.academy-v9.academy-v9 main .bs-lesson { padding: 28px; }
  body.academy-v9.academy-v9 main .bs-lesson h3[data-bs-title] { font-size: clamp(40px, 6vw, 50px); }
  body.academy-v9.academy-v9 main .bs-step-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.academy-v9.academy-v9 main .bs-studio { padding: 40px var(--ac-gutter, 20px); }
  body.academy-v9.academy-v9 main .bs-heading { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 22px; }
  body.academy-v9.academy-v9 main .bs-heading h2 { font-size: clamp(46px, 12vw, 62px); }
  body.academy-v9.academy-v9 main .bs-heading > p:last-child { font-size: 16px; }
  body.academy-v9.academy-v9 main .bs-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.academy-v9.academy-v9 main .bs-methods button { min-width: 0; min-height: 52px; padding-inline: 10px; }
  body.academy-v9.academy-v9 main .bs-stage { padding: 14px; }
  body.academy-v9.academy-v9 main .bs-stage-top { font-size: 12px; }
  body.academy-v9.academy-v9 main .bs-readout { align-items: flex-start; flex-direction: column; gap: 3px; padding-block: 10px; }
  body.academy-v9.academy-v9 main .bs-readout output { text-align: left; }
  body.academy-v9.academy-v9 main .bs-transport { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; }
  body.academy-v9.academy-v9 main .bs-transport .bs-play { grid-column: 1; grid-row: 1; justify-self: start; }
  body.academy-v9.academy-v9 main .bs-transport .bs-scrub-label { grid-column: 1 / -1; grid-row: 2; }
  body.academy-v9.academy-v9 main .bs-transport .bs-replay { grid-column: 2; grid-row: 1; }
  body.academy-v9.academy-v9 main .bs-lesson { padding: 22px 18px; }
  body.academy-v9.academy-v9 main .bs-lesson h3[data-bs-title] { font-size: 42px; }
  body.academy-v9.academy-v9 main .bs-lesson > p[data-bs-copy] { font-size: 16px; }
  body.academy-v9.academy-v9 main .bs-observe { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  body.academy-v9.academy-v9 main .bs-metrics > div { padding: 11px 10px; }
  body.academy-v9.academy-v9 main .bs-metrics dd { font-size: 22px; }
  body.academy-v9.academy-v9 main .bs-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.academy-v9.academy-v9 main .bs-dose { grid-template-columns: minmax(0, 1fr) minmax(118px, .85fr); gap: 8px 12px; padding: 10px 12px; }
  body.academy-v9.academy-v9 main .bs-step-list li:nth-child(3n) button { border-right: 1px solid var(--bs-rule); }
  body.academy-v9.academy-v9 main .bs-step-list li:nth-child(2n) button { border-right: 0; }
  body.academy-v9.academy-v9 main .bs-step-list li:nth-child(n+3) { border-top: 1px solid var(--bs-rule); }
  body.academy-v9.academy-v9 main .bs-step-list button { min-height: 58px; padding: 8px 10px; }
  body.academy-v9.academy-v9 main .bs-step-list button strong { font-size: 13px; }
  body.academy-v9.academy-v9 main .bs-footer { align-items: flex-start; flex-direction: column; gap: 4px; }
  body.academy-v9.academy-v9 main .bs-footer small { text-align: left; }
  body.academy-v9.academy-v9 main .ig-secondary { margin-top: 20px; }
}
@container (max-width: 420px) {
  body.academy-v9.academy-v9 main .bs-transport { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; }
  body.academy-v9.academy-v9 main .bs-transport .bs-play { grid-column: 1; grid-row: 1; justify-self: start; }
  body.academy-v9.academy-v9 main .bs-transport .bs-scrub-label { grid-column: 1 / -1; grid-row: 2; }
  body.academy-v9.academy-v9 main .bs-transport .bs-replay { grid-column: 2; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.academy-v9.academy-v9 main .bs-studio *,
  body.academy-v9.academy-v9 main .bs-studio *::before,
  body.academy-v9.academy-v9 main .bs-studio *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
body.academy-v9.academy-v9[data-academy-motion="off"] main .bs-studio *,
body.academy-v9.academy-v9[data-academy-motion="off"] main .bs-studio *::before,
body.academy-v9.academy-v9[data-academy-motion="off"] main .bs-studio *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media print {
  body.academy-v9.academy-v9 main .bs-studio { padding: 18px 0; background: #fff; }
  body.academy-v9.academy-v9 main .bs-methods,
  body.academy-v9.academy-v9 main .bs-transport,
  body.academy-v9.academy-v9 main .bs-challenge button,
  body.academy-v9.academy-v9 main .bs-answer-options,
  body.academy-v9.academy-v9 main .bs-prev-next { display: none !important; }
  body.academy-v9.academy-v9 main .bs-workbench { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); box-shadow: none; }
  body.academy-v9.academy-v9 main .bs-stage { padding: 12px; print-color-adjust: exact; }
  body.academy-v9.academy-v9 main .bs-lesson { padding: 16px; }
}

body.academy-v9.academy-v9 main .bs-challenge > output { display: block; margin: 10px 0 16px; color: var(--bs-forest); font: 800 48px/1 'Barlow Condensed', sans-serif; }
body.academy-v9.academy-v9 main .bs-challenge [data-bs-practice-stop] { background: var(--bs-gold); font-weight: 800; }
