/* OP-20260728-236: homepage-only containment loaded after the shared workspace system. */
body.home-redesign-active .hero {
  overflow: clip !important;
  contain: layout paint;
}

body.home-redesign-active .hero-inner,
body.home-redesign-active .hero-copy {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body.home-redesign-active .hero-media {
  inset: 22px 4% 22px 45% !important;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: calc(100% - 44px);
  overflow: clip !important;
  contain: paint;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 10px;
}

body.home-redesign-active .hero-media :is(img, video) {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  min-width: 0;
  object-fit: cover !important;
  object-position: 52% 42% !important;
}

html[data-theme="night"] body.home-redesign-active .hero-media {
  inset: 0 !important;
  max-height: none;
  border-radius: 0;
}

@media (max-width: 900px) {
  body.home-redesign-active .hero-media,
  html[data-theme="night"] body.home-redesign-active .hero-media {
    inset: 42% 0 0 !important;
    max-width: 100%;
    max-height: none;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  body.home-redesign-active .hero-copy { width: 100% !important; }
}

@media (max-width: 620px) {
  body.home-redesign-active .hero-media,
  html[data-theme="night"] body.home-redesign-active .hero-media {
    inset: 52% 0 0 !important;
  }
}

/* OP-20260805-007: keep the teacher course separate, directly below the three member plans. */
body.home-redesign-active .pricing-section > .independent-course-pricing-row {
  grid-template-columns:minmax(220px,340px) minmax(0,1fr);
  gap:clamp(24px,4vw,48px);
  width:100%;
  max-width:none;
  margin:28px 0 0;
  padding:30px 12px;
  border-top:1px solid rgba(255,255,255,.26);
  border-bottom:1px solid rgba(255,255,255,.26);
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-poster {
  width:100%;
  max-width:340px;
  justify-self:start;
  border:1px solid rgba(255,255,255,.18);
  border-radius:2px;
  box-shadow:none;
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-copy {
  gap:12px;
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-copy h2 {
  max-width:760px;
  color:#f5f5f7;
  font-size:40px;
  line-height:1.12;
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-copy p,
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-boundary {
  color:rgba(245,245,247,.78);
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-tag {
  color:#dfc182;
  border-color:rgba(223,193,130,.5);
  background:rgba(8,28,23,.22);
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-metrics span {
  min-width:116px;
  color:#f5f5f7;
  border-color:rgba(255,255,255,.2);
  border-radius:2px;
  background:rgba(8,28,23,.22);
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-metrics strong,
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-boundary strong {
  color:#f5f5f7;
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-boundary {
  border-left-color:#78c8a4;
  background:rgba(8,28,23,.2);
}
body.home-redesign-active .pricing-section > .independent-course-pricing-row .btn {
  color:#fff;
  background:#2d7462;
  box-shadow:none;
}

@media (max-width:820px) {
  body.home-redesign-active .pricing-section > .independent-course-pricing-row {
    grid-template-columns:minmax(0,1fr);
    padding-inline:0;
  }
  body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-poster {
    width:min(100%,340px);
    justify-self:center;
  }
}

@media (max-width:480px) {
  body.home-redesign-active .pricing-section > .independent-course-pricing-row {
    gap:20px;
    margin-top:20px;
    padding-block:24px;
  }
  body.home-redesign-active .pricing-section > .independent-course-pricing-row .independent-course-copy h2 {
    font-size:30px;
  }
}

/* OP-20260825-584: public learner compute-price catalog below course plans. */
body.home-redesign-active .compute-price-section {
  background:linear-gradient(180deg,#0b100e 0%,#101814 100%);
  border-top:1px solid rgba(223,193,130,.22);
  border-bottom:1px solid rgba(120,200,164,.18);
}
.compute-price-head {display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:clamp(24px,5vw,72px);align-items:end}
.compute-price-head h2 {margin:6px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.04}
.compute-price-head p {margin:0;color:rgba(245,245,247,.68)}
.compute-price-intro {display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.compute-price-intro strong {display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid rgba(223,193,130,.58);border-radius:999px;color:#ffe0a0;background:rgba(223,193,130,.14);font-size:14px;letter-spacing:.04em;white-space:nowrap}
.compute-price-warning {display:grid;gap:9px;padding:19px 21px;border:2px solid rgba(232,126,83,.58);border-radius:14px;background:linear-gradient(135deg,rgba(153,49,25,.22),rgba(223,193,130,.08));box-shadow:0 0 0 4px rgba(232,126,83,.06)}
.compute-price-warning strong {color:#ffb28f;font-size:14px;letter-spacing:.08em}
.compute-price-warning span {color:#fff2e9;font-size:14px;font-weight:650;line-height:1.75}
.compute-student-only {width:max-content;margin:24px 0 16px;padding:7px 12px;border:1px solid rgba(120,200,164,.34);border-radius:999px;color:#91d8b8;background:rgba(45,116,98,.15);font-size:12px;font-weight:800;letter-spacing:.12em}
.compute-promotion-note {display:flex;gap:14px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(223,193,130,.42);border-radius:12px;background:rgba(223,193,130,.08)}
.compute-promotion-note strong {flex:0 0 auto;color:#ffe0a0}.compute-promotion-note span {color:#f5eee0;font-size:13px;line-height:1.7}
.compute-price-groups {display:grid;gap:12px}
.compute-price-group {overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.025)}
.compute-price-group > summary {display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:14px;align-items:center;padding:18px 20px;cursor:pointer;list-style:none}
.compute-price-group > summary::-webkit-details-marker {display:none}
.compute-price-group > summary span {color:#f5f5f7;font-size:17px;font-weight:800}
.compute-price-group > summary small {color:rgba(245,245,247,.52)}
.compute-price-group > summary b {color:#dfc182;font-size:22px;font-weight:400;transition:transform .2s ease}
.compute-price-group[open] > summary b {transform:rotate(45deg)}
.compute-price-table-wrap {overflow-x:auto;border-top:1px solid rgba(255,255,255,.1)}
.compute-price-table {width:100%;border-collapse:collapse;table-layout:fixed}
.compute-price-table th,.compute-price-table td {padding:15px 20px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.08)}
.compute-price-table th {color:rgba(245,245,247,.45);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.compute-price-table th:nth-child(1) {width:36%}.compute-price-table th:nth-child(2) {width:20%}
.compute-price-table td {color:rgba(245,245,247,.72);font-size:13px}
.compute-price-table td strong {color:#f5f5f7;font-size:14px}
.compute-model-name {display:grid;gap:7px;align-items:start}
.compute-model-name > span {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.compute-model-success {display:block;color:#72d7a3;font-size:11px;font-weight:700;line-height:1.45}
.compute-billing-badge {display:inline-flex;margin-left:9px;padding:3px 7px;border-radius:999px;color:#fff0c7;background:#70531b;font-size:10px;font-weight:800;letter-spacing:.08em;vertical-align:middle}
.compute-price-table tbody tr:last-child td {border-bottom:0}
.compute-price-variants {display:flex;flex-wrap:wrap;gap:7px}
.compute-price-variants span {display:inline-flex;gap:7px;align-items:center;padding:6px 9px;border-radius:8px;color:#dfc182;background:rgba(223,193,130,.08);white-space:nowrap}
.compute-price-variants b {color:#91d8b8;font-size:11px}
.compute-price-table tr.is-per-job .compute-price-variants span {color:#fff0c7;background:#4c3a18;box-shadow:inset 0 0 0 1px rgba(255,224,160,.18)}
.compute-price-table tr.is-per-job .compute-price-variants b {color:#9ce6cc}
.compute-price-foot {display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:18px;padding:18px 20px;border-left:3px solid #2d7462;background:rgba(45,116,98,.1)}
.compute-price-foot p {max-width:900px;margin:0;color:rgba(245,245,247,.62);font-size:13px;line-height:1.75}
.compute-price-foot .btn {flex:0 0 auto}
html[data-theme="day"] .compute-price-section {background:linear-gradient(180deg,#f4f7f5,#eaf1ed)}
html[data-theme="day"] .compute-price-warning {border-color:rgba(174,66,35,.55);background:linear-gradient(135deg,#fff0e8,#fff8eb);box-shadow:0 0 0 4px rgba(174,66,35,.06)}
html[data-theme="day"] .compute-price-warning strong {color:#9b381f}
html[data-theme="day"] .compute-price-warning span {color:#5e291c}
html[data-theme="day"] .compute-price-head h2,html[data-theme="day"] .compute-price-group > summary span,html[data-theme="day"] .compute-price-table td strong {color:#10251d}
html[data-theme="day"] .compute-price-head p {color:#3b534a}
html[data-theme="day"] .compute-price-intro strong {border-color:#a86f16;color:#754706;background:#fff1c8}
html[data-theme="day"] .compute-price-group > summary small,html[data-theme="day"] .compute-price-table td,html[data-theme="day"] .compute-price-foot p {color:#40564e}
html[data-theme="day"] .compute-price-group {border-color:#b8c8c1;background:rgba(255,255,255,.34)}
html[data-theme="day"] .compute-price-table-wrap {border-color:#aebfb7}
html[data-theme="day"] .compute-price-table th {color:#314a40;background:rgba(27,91,70,.055)}
html[data-theme="day"] .compute-price-table th,html[data-theme="day"] .compute-price-table td {border-bottom-color:#c6d3cd}
html[data-theme="day"] .compute-model-success {color:#087451}
html[data-theme="day"] .compute-price-variants span {color:#8a5200;background:#fff0c9;box-shadow:inset 0 0 0 1px rgba(168,111,22,.16)}
html[data-theme="day"] .compute-price-variants b {color:#08785d}
html[data-theme="day"] .compute-billing-badge {color:#fff;background:#34483f}
html[data-theme="day"] .compute-price-table tr.is-per-job .compute-price-variants span {color:#fff5d8;background:#34483f;box-shadow:inset 0 0 0 1px #1c3028}
html[data-theme="day"] .compute-price-table tr.is-per-job .compute-price-variants b {color:#9ef0d3}
html[data-theme="day"] .compute-promotion-note {border-color:#b98634;background:#fff4d9}html[data-theme="day"] .compute-promotion-note strong {color:#754706}html[data-theme="day"] .compute-promotion-note span {color:#4c3b22}
@media (max-width:760px) {
  .compute-price-head {grid-template-columns:1fr;align-items:start}
  .compute-price-group > summary {padding:15px 16px}
  .compute-price-table,.compute-price-table tbody,.compute-price-table tr,.compute-price-table td {display:block;width:100%}
  .compute-price-table thead {display:none}
  .compute-price-table tr {padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .compute-price-table td {display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;padding:5px 0;border:0;font-size:12px}
  .compute-price-table td::before {content:attr(data-label);color:rgba(245,245,247,.42);font-size:11px;letter-spacing:.04em}
  html[data-theme="day"] .compute-price-table tr {border-bottom-color:rgba(20,34,29,.1)}
  html[data-theme="day"] .compute-price-table td::before {color:rgba(20,34,29,.48)}
  .compute-price-foot {align-items:flex-start;flex-direction:column}
  .compute-promotion-note {align-items:flex-start;flex-direction:column;gap:6px}
}
@media (max-width:430px) {
  .compute-price-head h2 {font-size:34px}
  .compute-price-warning {padding:15px 16px}
  .compute-price-table td {grid-template-columns:88px minmax(0,1fr)}
  .compute-price-variants span {white-space:normal}
  .compute-price-foot .btn {width:100%}
  .compute-price-intro {align-items:flex-start;flex-direction:column}
}
