/* Layout refinements for the therapeutic hypnosis presentation page. */
:is(#main-content, main.light-content).therapy-page :is(h1, h2, h3) {
  margin-inline: 0;
  text-align: left;
}

:is(#main-content, main.light-content).therapy-page > .section {
  padding-block: clamp(56px, 6vw, 80px);
}

:is(#main-content, main.light-content).therapy-page .tool-brief-section {
  padding-bottom: 28px;
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-panel {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: stretch;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid var(--line-light);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--light-shadow);
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-main {
  display: block;
  min-width: 0;
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-main .eyebrow {
  margin: 0 0 16px;
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-main h2 {
  max-width: 21ch;
  margin: 0 0 24px;
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  line-height: 1.17;
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-main p {
  max-width: 58ch;
  margin: 0 0 18px;
  line-height: 1.8;
}

:is(#main-content, main.light-content).therapy-page .tool-editorial-main p:last-child {
  margin-bottom: 0;
}

:is(#main-content, main.light-content).therapy-page .tool-compact-stack {
  min-width: 0;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-content: stretch;
  gap: 20px;
}

:is(#main-content, main.light-content).therapy-page .tool-mini-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 2.6vw, 32px);
  border: 1px solid var(--line-light);
  border-radius: 14px;
  background: #f7f9fc;
  box-shadow: none;
}

:is(#main-content, main.light-content).therapy-page .tool-mini-card h3 {
  margin: 0 0 12px;
  font-size: 1.2rem;
  line-height: 1.35;
}

:is(#main-content, main.light-content).therapy-page .tool-mini-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.75;
}

:is(#main-content, main.light-content).therapy-page .therapy-principles-section {
  padding-top: 0;
}

:is(#main-content, main.light-content).therapy-page .grid-3 {
  gap: 24px;
}

:is(#main-content, main.light-content).therapy-page .card {
  padding: clamp(24px, 2.6vw, 32px);
}

:is(#main-content, main.light-content).therapy-page .card p:last-child {
  margin-bottom: 0;
}

:is(#main-content, main.light-content).therapy-page .session-flow-section .split {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(36px, 6vw, 80px);
}

:is(#main-content, main.light-content).therapy-page .session-flow-section .feature-image {
  width: min(100%, 440px);
}

:is(#main-content, main.light-content).therapy-page .session-flow-section .list {
  margin: 0 0 24px;
  padding-left: 22px;
}

:is(#main-content, main.light-content).therapy-page .session-flow-section .list li {
  margin-block: 12px;
  padding-left: 4px;
}

:is(#main-content, main.light-content).therapy-page .hypnose-topics-panel {
  padding: clamp(28px, 4vw, 48px);
  border-color: var(--line-light);
  border-radius: 20px;
  background: #eef3f8;
  box-shadow: none;
}

:is(#main-content, main.light-content).therapy-page .hypnose-topics-heading {
  max-width: none;
  margin: 0 0 32px;
  text-align: left;
}

:is(#main-content, main.light-content).therapy-page .hypnose-topics-heading h2 {
  margin: 8px 0 18px;
}

:is(#main-content, main.light-content).therapy-page .hypnose-topic-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

:is(#main-content, main.light-content).therapy-page .hypnose-topic-grid .card-link {
  min-height: 84px;
  padding: 16px 52px 16px 20px;
  border-radius: 10px;
  line-height: 1.4;
}

:is(#main-content, main.light-content).therapy-page .section-heading {
  max-width: none;
  margin: 0 0 36px;
  text-align: left;
}

:is(#main-content, main.light-content).therapy-page .section-heading h2 {
  margin: 0 0 20px;
}

:is(#main-content, main.light-content).therapy-page .section-heading p:last-child {
  margin-bottom: 0;
}

:is(#main-content, main.light-content).therapy-page .pillar-link-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

:is(#main-content, main.light-content).therapy-page .pillar-link-card {
  padding: 26px 64px 28px 26px;
}

:is(#main-content, main.light-content).therapy-page .faq-list {
  margin-inline: 0;
}

@media (max-width: 1180px) {
  :is(#main-content, main.light-content).therapy-page .hypnose-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  :is(#main-content, main.light-content).therapy-page .tool-editorial-panel,
  :is(#main-content, main.light-content).therapy-page .session-flow-section .split {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  :is(#main-content, main.light-content).therapy-page .tool-compact-stack {
    grid-template-rows: auto;
  }

  :is(#main-content, main.light-content).therapy-page .pillar-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  :is(#main-content, main.light-content).therapy-page > .section {
    padding-block: 48px;
  }

  :is(#main-content, main.light-content).therapy-page .tool-brief-section {
    padding-bottom: 20px;
  }

  :is(#main-content, main.light-content).therapy-page .tool-editorial-panel {
    padding: 24px;
    gap: 26px;
    border-radius: 16px;
  }

  :is(#main-content, main.light-content).therapy-page .tool-editorial-main h2 {
    font-size: clamp(1.75rem, 7.2vw, 2rem);
    margin-bottom: 20px;
  }

  :is(#main-content, main.light-content).therapy-page .tool-mini-card {
    padding: 22px;
  }

  :is(#main-content, main.light-content).therapy-page .therapy-principles-section {
    padding-top: 0;
  }

  :is(#main-content, main.light-content).therapy-page .hypnose-topics-panel {
    padding: 24px;
  }

  :is(#main-content, main.light-content).therapy-page .hypnose-topic-grid,
  :is(#main-content, main.light-content).therapy-page .pillar-link-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#main-content, main.light-content).therapy-page .section-heading {
    margin-bottom: 28px;
  }
}
