/* ============================================================
   TRAUMA-SENSITIVE MINDFULNESS - PAGE OVERRIDES
   Loaded after css/sales.css on trauma-sensitive-mindfulness.html
   only. Everything is scoped under body.tsm so the Regulated
   Teacher page keeps its lighter editorial type.
   ============================================================ */

/* ---------- Heavier, darker type for a conversion page ---------- */
.tsm .sp-prose p,
.tsm .sp-list li,
.tsm .sp-step p,
.tsm .sp-bio-text p,
.tsm .sp-guarantee-box p {
  font-weight: 500;
  color: var(--text);
}
.tsm .sp-cta-band p { font-weight: 500; color: var(--white); }
.tsm .sp-prose strong { font-weight: 700; }
.tsm .sp-section--sage .sp-prose p { color: rgba(255,255,255,0.92); }

.tsm .sp-lede               { font-weight: 500; }
.tsm .sp-hero-offer-head h1 { font-weight: 500; }
.tsm .sp-h2                 { font-weight: 500; letter-spacing: 0.01em; }
.tsm .sp-cta-band h2        { font-weight: 500; }
.tsm .sp-eyebrow            { font-weight: 700; }
.tsm .sp-offer-label        { font-weight: 500; color: var(--text); }
.tsm .sp-offer-who          { font-weight: 500; }
.tsm .sp-price-now          { font-weight: 500; }
.tsm .sp-step::before       { font-weight: 500; color: var(--sage); }
.tsm .sp-pullquote p        { font-weight: 500; }
.tsm .sp-quote-strip-inner p{ font-weight: 500; }
.tsm .sp-sticky-text        { font-weight: 500; }
.tsm .btn                   { font-weight: 700; }
.tsm .sp-price-was          { font-weight: 500; color: var(--text-mid); }

/* No italics anywhere on this page */
.tsm em,
.tsm .sp-pullquote p,
.tsm .sp-quote-strip-inner p { font-style: normal; }

.tsm-center { text-align: center; }

/* ---------- Hero: product bundle image, shown whole ---------- */
.tsm .sp-hero-split { grid-template-columns: 1fr 1fr; }
.tsm-hero-img {
  min-height: 560px;
  background-size: contain;
  background-color: #efece5;
}

/* ---------- Big statement lines ---------- */
.tsm-statement {
  font-family: var(--f-futura);
  font-size: 34px;
  font-weight: 500;
  line-height: 1.3em;
  text-align: center;
  color: var(--text);
  margin-bottom: 32px;
}
.tsm-turn .tsm-statement { color: var(--white); }

/* ---------- "You put it down to... / But..." reframe ---------- */
.tsm-reframe {
  margin-top: 48px;
  border: 1px solid var(--sage-light);
  border-top: 3px solid var(--sage);
  background: var(--cream);
  padding: 30px 34px;
}
.tsm-reframe-was {
  font-family: var(--f-brandon);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7em;
  color: var(--text);
  margin-bottom: 16px;
}
.tsm-reframe-is {
  font-family: var(--f-brandon);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.65em;
  color: var(--text);
}

/* ---------- Cards ---------- */
.tsm-cards {
  display: grid;
  gap: 20px;
}
.tsm-cards--1       { grid-template-columns: 1fr; }
.tsm-cards--2       { grid-template-columns: 1fr 1fr; }

.tsm-card {
  background: var(--white);
  border: 1px solid var(--sage-light);
  border-top: 3px solid var(--sage);
  padding: 32px 30px;
}
.tsm-card p {
  font-family: var(--f-brandon);
  font-size: 16.5px;
  font-weight: 500;
  line-height: 1.75em;
  color: var(--text);
  margin-bottom: 14px;
}
.tsm-card p:last-child { margin-bottom: 0; }
.tsm-card strong { font-weight: 700; color: var(--sage-dark); }

.tsm-after-cards { margin: 56px auto 0; }

/* Receive cards */
.tsm-receive .tsm-card { text-align: center; }
.tsm-icon {
  width: 40px;
  height: 40px;
  fill: none;
  stroke: var(--sage);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin: 0 auto 16px;
  display: block;
}
.tsm-receive h3 {
  font-family: var(--f-futura);
  font-size: 19px;
  font-weight: 500;
  line-height: 1.35em;
  color: var(--text);
  margin-bottom: 10px;
}

/* ---------- The breath section ---------- */
.tsm-big {
  font-family: var(--f-futura);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.35em;
  text-align: center;
  color: var(--sage);
  margin: 36px auto 40px;
  max-width: 600px;
}
.tsm-tells {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  max-width: 480px;
  margin: 18px auto 0;
}
.tsm-tells li {
  text-align: center;
  font-family: var(--f-brandon);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5em;
  color: var(--text);
}
.tsm-after-tells {
  font-family: var(--f-brandon);
  font-size: 16.5px;
  font-weight: 500;
  text-align: center;
  color: var(--text);
  margin: 18px 0 56px;
}
.tsm-quote {
  font-family: var(--f-futura);
  font-size: 30px;
  font-weight: 500;
  text-align: center;
  color: var(--sage);
  margin-top: 18px;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .tsm .sp-hero-split { grid-template-columns: 1fr; }
  .tsm-hero-img       { min-height: 0; aspect-ratio: 1 / 1; }
  .tsm-statement      { font-size: 26px; }
  .tsm-big,
  .tsm-quote          { font-size: 24px; }
  .tsm-reframe        { padding: 24px 22px; }
  .tsm-reframe-is     { font-size: 17.5px; }
  .tsm-cards--2       { grid-template-columns: 1fr; }
  .tsm-card           { padding: 26px 22px; }
  .tsm-after-cards    { margin-top: 40px; }
}
