/* Editorial framing for the RVC training landing page. The shared trainer
   itself is unchanged; these rules are scoped to this entry page. */
.training-landing .guide-page-hero {
  padding-bottom: 10px;
}

.training-hero-copy {
  max-width: 670px;
  margin: 12px 0 0;
  color: #665e59;
  font-size: .96rem;
  line-height: 1.6;
}

.training-hero-copy code {
  color: #98451e;
  font-size: .91em;
}

.training-landing #train-voice {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #e9ded7;
  border-radius: 17px;
  box-shadow: 0 18px 42px rgba(50, 32, 22, .045);
}

.training-landing #train-voice > .panel-heading {
  padding: 24px clamp(20px, 4vw, 34px) 19px;
  background: linear-gradient(110deg, #fffaf6, #fff 72%);
}

.training-landing #train-voice > .panel-heading h2 {
  margin: 0;
}

.training-landing #train-voice .dropzone {
  border-color: #d6c8bf;
  background: linear-gradient(180deg, #fdfcfa, #faf8f6);
}

.training-landing #train-voice .dropzone:hover,
.training-landing #train-voice .dropzone.dragging {
  border-color: #de6a27;
  background: #fff8f3;
}

.training-landing .training-story {
  margin-top: 22px;
  padding: 0;
  border: 0;
  background: transparent;
}

.training-landing .guide-demo {
  margin: 0;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}

.training-landing .training-demo-standalone {
  margin: 18px 0;
}

.training-landing .guide-demo-copy h2,
.training-story .training-steps h2,
.training-story .training-reference h2 {
  margin: 8px 0 10px;
  font-size: clamp(1.5rem, 2.5vw, 1.9rem);
  line-height: 1.2;
  letter-spacing: -.035em;
}

.training-landing .guide-demo-copy p:last-child {
  margin: 0;
}

.training-landing .guide-video-frame {
  margin-top: 4px;
  border-color: #e7dfd9;
  box-shadow: none;
}

.training-delivery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: clamp(20px, 4vw, 42px);
  align-items: start;
  margin-top: 18px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid #e9ded7;
  border-radius: 14px;
  background: #fffaf6;
}

.training-delivery .section-kicker {
  margin: 0;
  color: #a64a20;
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .12em;
}

.training-delivery h2 {
  margin: 8px 0 10px;
  color: #29221f;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.25;
  letter-spacing: -.03em;
}

.training-delivery p {
  margin: 0;
}

.training-delivery .training-delivery-note {
  margin-top: 10px;
  color: #75695f;
  font-size: .76rem;
}

.training-delivery ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.training-delivery li {
  padding: 12px 0;
  border-bottom: 1px solid #eadfd8;
}

.training-delivery li:first-child { padding-top: 0; }
.training-delivery li:last-child { padding-bottom: 0; border-bottom: 0; }
.training-delivery li strong { display: block; color: #a64a20; font-size: .82rem; }
.training-delivery li span { display: block; color: #665e59; font-size: .76rem; line-height: 1.5; }

.training-steps {
  margin-top: 56px;
  text-align: center;
}

.training-steps > .section-kicker,
.training-reference .section-kicker {
  margin: 0;
  color: #a64a20;
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .12em;
}

.training-steps ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.training-steps li {
  min-width: 0;
  padding: 28px;
  border: 1px solid #e8e3df;
  border-radius: 14px;
  background: #fff;
}

.training-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #fff3e9;
  color: #ba501e;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .05em;
  font-variant-numeric: tabular-nums;
}

.training-story .training-steps h3 {
  margin: 24px 0 7px;
  color: #29221f;
  font-size: 1rem;
  letter-spacing: -.015em;
}

.training-story .training-steps li p {
  margin: 0;
  line-height: 1.7;
}

.training-reference {
  margin-top: 56px;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}

.training-reference-head {
  margin-bottom: 18px;
}

.training-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 36px;
}

.training-faq-list > div {
  padding: 16px 0 14px;
  border-top: 1px solid #ebe5e0;
}

.training-story .training-faq-list h3 {
  margin: 0 0 5px;
}

.training-story .training-faq-list p {
  margin: 0;
}

.training-end-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  margin: 22px 0 0;
  padding: 17px 2px 0;
  border-top: 1px solid #e9e3df;
}

.training-end-nav a {
  color: #a64a20;
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
}

.training-end-nav a:hover,
.training-end-nav a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 760px) {
  .training-steps,
  .training-reference {
    margin-top: 40px;
  }

  .training-steps ol,
  .training-faq-list,
  .training-delivery {
    grid-template-columns: minmax(0, 1fr);
  }

  .training-steps li {
    padding: 24px;
  }

  .training-landing .guide-video-frame {
    aspect-ratio: 16 / 9;
  }
}
