/* Cineprompt: Creator + Sage, one course for every level. */
body.cp-body {
  --cp-bg: #101213;
  --cp-panel: #181b1c;
  --cp-text: #f2eee5;
  --cp-muted: #c1c1b9;
  --cp-red: #d83e2c;
  --cp-action-hover: #c43c2b;
  --cp-on-action: #fff;
  --cp-accent: #f17864;
}

.cp-body .button--primary {
  color: var(--cp-on-action);
  background: var(--cp-red);
  border-color: var(--cp-red);
}
.cp-body .button--primary:hover {
  color: var(--cp-on-action);
  background: var(--cp-action-hover);
  border-color: var(--cp-action-hover);
}
.cp-body .eyebrow--accent,
.cp-body .included-list li::marker,
.cp-body .step-list > li::marker {
  color: var(--cp-accent);
}

/* The original lockup is rendered with an alpha filter in the SVG asset. */
.cp-body .brand,
.cp-body .brand-image {
  background: transparent;
}
.cp-body .brand { overflow: visible; }
.cp-body .brand-image {
  position: static;
  display: block;
  width: 160px;
  max-width: 100%;
  height: auto;
}
.cp-body .brand { display: flex; align-items: center; height: 66px; }
.cp-body .footer-brand .brand { width: 160px; height: 66px; }
.cp-body .footer-brand .brand-image { width: 160px; }

.cp-body .hero-title span { transform: none; }
.cp-body .cp-unheard-video { margin: 0 0 48px; }
.cp-body .cp-unheard-video__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  border: 1px solid #404442;
}
.cp-body .cp-unheard-video iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.cp-body .cp-unheard-video figcaption {
  margin-top: 12px;
  color: var(--cp-muted);
  font-size: 13px;
  line-height: 1.6;
}
.cp-body .cp-case-questions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.cp-body .cp-case-questions .wp-block-group__inner-container { display: contents; }
.cp-body .cp-case-question {
  min-width: 0;
  padding: 24px;
  border: 1px solid #404442;
  border-top: 3px solid var(--cp-accent);
  background: var(--cp-panel);
}
.cp-body .cp-case-question h3 { margin: 0 0 16px; font-size: 22px; }
.cp-body .cp-case-question p { margin: 0; color: var(--cp-muted); font-size: 17px; }
.cp-body .cp-case-photo { margin: 0; }
.cp-body .cp-case-photo img { display: block; width: 100%; height: auto; }
.cp-body .cp-case-photo figcaption { margin-top: 12px; color: var(--cp-muted); font-size: 13px; line-height: 1.6; }
.cp-body .cp-case-analysis { margin-top: 48px; padding-top: 32px; border-top: 1px solid #404442; }
.cp-body .cp-case-analysis h3 { margin-top: 0; font-size: 28px; }
.cp-body .cp-case-analysis-media--pair, .cp-body .cp-case-readings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cp-body :is(.cp-case-analysis-media, .cp-case-readings) > .wp-block-group__inner-container { display: contents; }
.cp-body .cp-case-readings { margin-top: 24px; }
.cp-body .cp-case-reading { min-width: 0; }
.cp-body .cp-case-reading h4 { margin: 0 0 12px; color: var(--cp-accent); font-size: 15px; font-weight: 700; }
.cp-body .cp-case-reading p { margin: 0; font-size: 17px; line-height: 1.65; }
.cp-body .content-body .cp-case-open-question { padding-left: 20px; margin: 24px 0 0; border-left: 3px solid var(--cp-accent); color: var(--cp-text); font-weight: 500; }
.cp-body .cp-case-curiosity { margin-bottom: 48px; border-left: 3px solid var(--cp-accent); }
.cp-body .cp-case-curiosity h2 { font-size: 28px; }
.cp-body .cp-case-offer .offer-note { margin-bottom: 0; }
.cp-body .cp-case-offer .registration-price { color: var(--cp-text); font-size: 40px; line-height: 1.2; margin-top: 24px; margin-bottom: 8px; }
@media (max-width: 639px) {
  .cp-body .cp-case-questions { grid-template-columns: minmax(0, 1fr); }
  .cp-body .cp-case-question { padding: 24px; }
  .cp-body .cp-case-analysis-media--pair, .cp-body .cp-case-readings { grid-template-columns: minmax(0, 1fr); }
  .cp-body .cp-case-analysis h3 { font-size: 24px; }
}
.cp-body .home-hero {
  height: auto;
  min-height: 840px;
}
.cp-body .hero-content { padding-top: 152px; padding-bottom: 112px; }
.cp-body .hero-title { margin-bottom: 24px; }
.cp-body .hero-audience {
  width: fit-content;
  max-width: 100%;
  margin: 0 0 24px;
  padding: 8px 16px;
  border-left: 3px solid var(--cp-accent);
  background: rgba(16, 18, 19, .92);
  color: var(--cp-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.cp-body .home-hero .hero-description {
  max-width: 610px;
  margin-bottom: 32px;
  font-size: 24px;
  line-height: 1.5;
}
.cp-body .case-copy h2 {
  font-family: "CineDisplay", Impact, sans-serif;
  font-weight: 400;
  line-height: 1.15;
}
.cp-body.cp-page-registration .cp-sales-content .cp-sales-tags {
  width: fit-content;
  max-width: 100%;
  padding: 8px 16px;
  border-left: 3px solid var(--cp-accent);
  background: var(--cp-panel);
  color: var(--cp-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.cp-body :is(.woocommerce, .woocommerce-main) :is(a.button.alt, button.button.alt, input.button.alt),
.cp-body #place_order {
  color: var(--cp-on-action);
  background: var(--cp-red);
  border-color: var(--cp-red);
}
.cp-body :is(.woocommerce, .woocommerce-main) :is(a.button.alt, button.button.alt, input.button.alt):hover,
.cp-body #place_order:hover {
  color: var(--cp-on-action);
  background: var(--cp-action-hover);
  border-color: var(--cp-action-hover);
}

@media (max-width: 1199px) {
  .cp-body .hero-title { font-size: clamp(88px, 11vw, 132px); }
  html[lang="en"] .cp-body .hero-title { font-size: clamp(76px, 10vw, 120px); }
}
@media (max-width: 767px) {
  .cp-body .brand { width: 136px; height: 62px; }
  .cp-body .brand-image { width: 136px; }
  .cp-body .home-hero { min-height: 800px; }
  .cp-body .hero-content { padding-top: 136px; padding-bottom: 112px; }
  .cp-body .hero-title { font-size: clamp(64px, 20vw, 96px); margin-bottom: 24px; }
  html[lang="en"] .cp-body .hero-title { font-size: clamp(52px, 15vw, 82px); }
  .cp-body .hero-audience { max-width: 330px; font-size: 14px; padding: 8px 12px; margin-bottom: 24px; }
  .cp-body .home-hero .hero-description { max-width: 340px; font-size: 19px; margin-bottom: 24px; }
  .cp-body .home-hero .offer-note { max-width: 330px; }
}
