/* 공통 헤더·푸터용 shared/css/site.css 병합 보정.
   site.css의 전역 body 규칙이 AX 본문 타이포·레이아웃을 바꾸지 않도록 되돌립니다. */
body {
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
}

.document {
  line-height: normal;
  font-feature-settings: normal;
}

/* site.css의 h1~h3 text-wrap:balance 가 AX 제목의 의도된 <br> 줄바꿈을 깨뜨립니다. */
.document h1,
.document h2,
.document h3 {
  text-wrap: wrap;
}

/* site.css에도 .eyebrow / .section-heading 이 있어 장식 의사요소·여백이 덧씌워집니다.
   AX가 직접 선언하지 않은 속성만 원래 값으로 되돌립니다. */
.document .eyebrow {
  display: block;
  font-family: inherit;
  text-transform: none;
}

.document .section-heading {
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
}

.document .eyebrow::before,
.document .section-heading::before {
  content: none;
}

/* 공통 site.css는 사이트 전역에서 자간을 지웁니다.
   ( *, *::before, *::after { letter-spacing: 0 !important; } )
   AX 본문은 자간이 레이아웃에 직결되므로 아래에서 되살립니다.
   먼저 상속을 복구한 뒤, AX 자체 선언값을 그대로 재선언합니다.
   site.css를 고치지 않고 이 파일 안에서만 해결합니다. */
.document {
  letter-spacing: normal !important;
}

.document *,
.document *::before,
.document *::after {
  letter-spacing: inherit !important;
}

.document .page-brand {
  letter-spacing: 0.16em !important;
}

.document .page-footer {
  letter-spacing: 0.08em !important;
}

.document .section-number,
.document .eyebrow {
  letter-spacing: 0.14em !important;
}

.document .hero-copy h1 {
  letter-spacing: -0.06em !important;
}

.document .hero-description {
  letter-spacing: -0.015em !important;
}

.document .product-kicker {
  letter-spacing: 0.12em !important;
}

.document .window-bar {
  letter-spacing: 0.12em !important;
}

.document .hero-facts strong {
  letter-spacing: -0.035em !important;
}

.document .section-heading h2 {
  letter-spacing: -0.055em !important;
}

.document .card-label {
  letter-spacing: 0.1em !important;
}

.document .difference-card h3 {
  letter-spacing: -0.045em !important;
}

.document .deliverables-heading h2 {
  letter-spacing: -0.055em !important;
}

.document .deliverable-index {
  letter-spacing: 0.1em !important;
}

.document .deliverable-card h3 {
  letter-spacing: -0.04em !important;
}

.document .content-heading h2 {
  letter-spacing: -0.06em !important;
}

.document .problem-index {
  letter-spacing: 0.12em !important;
}

.document .problem-card h3 {
  letter-spacing: -0.045em !important;
}

.document .panel-heading span {
  letter-spacing: 0.1em !important;
}

.document .panel-heading h3 {
  letter-spacing: -0.04em !important;
}

.document .value-equation strong {
  letter-spacing: -0.055em !important;
}

.document .principle-card h3 {
  letter-spacing: -0.04em !important;
}

.document .principle-card h3 b {
  letter-spacing: 0.08em !important;
}

.document .process-flow h3 {
  letter-spacing: -0.04em !important;
}

.document .curriculum-label strong {
  letter-spacing: 0.08em !important;
}

.document .evidence-stats dd {
  letter-spacing: -0.05em !important;
}

.document .testimonial-grid blockquote > span {
  letter-spacing: 0.1em !important;
}

.document .testimonial-grid blockquote strong {
  letter-spacing: -0.035em !important;
}

.document .closing-value-card > span {
  letter-spacing: 0.1em !important;
}

.document .closing-value-card h3 {
  letter-spacing: -0.045em !important;
}

.document .contact-panel p {
  letter-spacing: 0.08em !important;
}

.document .contact-panel h3 {
  letter-spacing: -0.045em !important;
}

.document .curriculum-detail-card > header strong {
  letter-spacing: 0.08em !important;
}

.document .curriculum-detail-card h3 {
  letter-spacing: -0.04em !important;
}

.document .module-list strong {
  letter-spacing: -0.025em !important;
}

.document .hero-facts p {
  letter-spacing: -0.04em !important;
}

/* 히어로 상단 유틸리티 줄 — 브레드크럼 + 조용한 PDF 저장 액션 */
.hero-utility {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.hero-utility .p-crumb {
  margin-bottom: 0;
}

.pdf-save {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  padding: 7px 12px;
  border: 0;
  border-radius: 9px;
  color: var(--ink-soft);
  background: transparent;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease;
}

.pdf-save svg {
  width: 15px;
  height: 15px;
}

.pdf-save:hover,
.pdf-save:focus-visible {
  color: var(--brand-primary);
  background: rgb(40 100 240 / 7%);
}

/* 공통 헤더는 position:fixed 이므로 히어로 상단 여백을 확보합니다. */
.ax-hero .page-inner {
  padding-top: calc(var(--nav-h) + 28px);
}

.document {
  width: 100%;
}

.pdf-page {
  width: 100%;
  min-height: 820px;
  overflow: hidden;
}

.page-inner {
  width: min(var(--content-width), calc(100% - 56px));
  min-height: inherit;
  margin: 0 auto;
  padding: 48px 0 72px;
}

.hero-layout {
  grid-template-columns: minmax(0, 0.9fr) minmax(470px, 1.1fr);
  gap: 72px;
  min-height: 555px;
  margin-top: 66px;
}

.hero-copy h1 {
  margin-top: 23px;
  font-size: clamp(52px, 4.8vw, 74px);
  line-height: 1.08;
}

.hero-description {
  margin-top: 28px;
  font-size: 18px;
  line-height: 1.75;
}

.hero-actions {
  margin-top: 32px;
}

.audience-panel {
  margin-top: 25px;
}

.audience-panel strong {
  padding-top: 9px;
  font-size: 14px;
}

.audience-panel ul {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 7px;
}

.audience-panel li {
  padding: 8px 11px;
  font-size: 16px;
}

.hero-visual {
  height: 520px;
}

.worksheet-window {
  top: 230px;
  right: 28px;
  bottom: auto;
  width: 62%;
}

.hero-book {
  top: 92px;
  bottom: auto;
  left: 26px;
  width: 52%;
}

.credential-float {
  top: 60px;
  right: 32px;
  bottom: auto;
}

.hero-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none;
  margin-top: 8px;
}

.hero-facts article {
  padding: 27px 14px;
}

.hero-facts strong {
  font-size: 22px;
}

.hero-facts strong em {
  font-size: 35px;
}

.hero-facts p {
  margin-top: 5px;
  font-size: 16px;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.difference-showcase .page-inner,
.deliverables-showcase .page-inner {
  padding-top: 104px;
  padding-bottom: 104px;
}

.difference-showcase .section-heading h2 {
  max-width: 1050px;
}

.difference-showcase .section-number {
  font-size: 32px;
}

.section-heading {
  gap: 64px;
}

.section-heading h2 {
  margin-top: 18px;
  font-size: clamp(48px, 4.4vw, 66px);
  line-height: 1.08;
}

.section-lead {
  max-width: 430px;
  padding-bottom: 6px;
  font-size: 18px;
  line-height: 1.7;
}

.difference-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 580px;
  gap: 22px;
  margin-top: 56px;
}

.difference-card {
  padding: 34px 36px;
}

.book-card {
  grid-row: auto;
}

.card-label span {
  width: 23px;
  height: 23px;
  font-size: 9px;
}

.difference-card h3 {
  margin-top: 22px;
  font-size: 29px;
  line-height: 1.28;
}

.difference-card > p {
  max-width: 350px;
  margin-top: 13px;
  font-size: 16px;
  line-height: 1.6;
}

.book-visual {
  display: flex;
  flex: 1;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  margin-top: 20px;
  transform: translateY(12px);
}

.book-cover {
  width: 80%;
  transform: none;
}

.canvas {
  width: 70%;
}

.canvas-two {
  transform: none;
}

.worksheet-visual {
  display: flex;
  flex: 1;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
  gap: 26px;
  width: 100%;
  margin-top: 20px;
}

.worksheet-visual img {
  width: 100%;
}

.worksheet-visual img:first-child {
  transform: none;
}

.worksheet-visual img:last-child {
  transform: none;
}

.badge-visual {
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: 60%;
}

.badge-main {
  right: 14px;
  bottom: 44px;
  left: auto;
  width: 58%;
}

.badge-sub {
  top: 0;
  right: auto;
  bottom: auto;
  left: 18px;
  width: 54%;
}

.deliverables-showcase .page-inner {
  min-height: 900px;
}

.deliverables-heading {
  max-width: 1120px;
}

.deliverables-showcase .section-number {
  font-size: 32px;
}

.deliverables-heading h2 {
  margin-top: 19px;
  font-size: clamp(48px, 4.5vw, 68px);
  line-height: 1.09;
}

.deliverables-heading > p:last-child {
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.65;
}

.deliverables-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 48px;
}

.deliverable-card {
  min-height: 230px;
  padding: 26px;
}

.deliverable-index {
  font-size: 14px;
}

.deliverable-card h3 {
  margin-top: 28px;
  font-size: 24px;
  line-height: 1.28;
}

.deliverable-card p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.55;
}

.deliverables-note {
  gap: 40px;
  margin-top: 30px;
  padding-top: 22px;
}

.deliverables-note p {
  font-size: 16px;
}

/* Pages 04–10 */
.problem-showcase .page-inner,
.perspective-showcase .page-inner,
.principle-showcase .page-inner,
.process-showcase .page-inner,
.curriculum-showcase .page-inner,
.curriculum-detail-showcase .page-inner,
.evidence-showcase .page-inner,
.closing-showcase .page-inner {
  padding-top: 104px;
  padding-bottom: 104px;
}

.content-heading h2 {
  font-size: clamp(48px, 4.35vw, 66px);
  line-height: 1.08;
}

.content-heading .section-number {
  font-size: 32px;
  line-height: 1.2;
}

.content-heading > p:last-child {
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.7;
}

.problem-grid {
  gap: 20px;
  margin-top: 52px;
}

.problem-card {
  min-height: 300px;
  padding: 34px;
}

.problem-index {
  font-size: 14px;
}

.problem-card h3 {
  margin-top: 34px;
  font-size: 30px;
  line-height: 1.25;
}

.problem-card p {
  max-width: 310px;
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.65;
}

.problem-conclusion {
  gap: 36px;
  margin-top: 22px;
  padding: 28px 34px;
}

.problem-conclusion span {
  font-size: 18px;
}

.problem-conclusion strong {
  font-size: 24px;
}

.perspective-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 50px;
}

.approach-panel,
.sequence-panel {
  min-height: 420px;
  padding: 34px;
}

.panel-heading span {
  font-size: 14px;
}

.panel-heading h3 {
  margin-top: 11px;
  font-size: 27px;
  line-height: 1.28;
}

.approach-panel ul,
.sequence-panel ol {
  margin-top: 28px;
}

.approach-panel li {
  grid-template-columns: 142px 1fr;
  gap: 18px;
  padding: 18px 0;
}

.approach-panel li strong,
.sequence-panel li strong {
  font-size: 19px;
}

.approach-panel li span,
.sequence-panel li span {
  font-size: 18px;
  line-height: 1.55;
}

.sequence-panel li {
  gap: 18px;
  padding: 16px 0;
}

.sequence-panel li em {
  width: 38px;
  height: 38px;
  font-size: 13px;
}

.sequence-panel li div {
  gap: 5px;
}

.research-note {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.6;
}

.value-equation {
  gap: 15px;
  margin-top: 44px;
  padding: 16px;
}

.value-equation > div {
  gap: 5px;
  padding: 17px 20px;
}

.value-equation strong {
  font-size: 42px;
}

.value-equation span {
  font-size: 16px;
}

.value-equation > b {
  font-size: 25px;
}

.principle-grid {
  gap: 18px;
  margin-top: 20px;
}

.principle-card {
  min-height: 350px;
  padding: 30px;
}

.principle-card > span {
  font-size: 16px;
}

.principle-card h3 {
  margin-top: 18px;
  font-size: 32px;
  line-height: 1.18;
}

.principle-card h3 b {
  margin-bottom: 7px;
  font-size: 15px;
}

.principle-card > strong {
  margin-top: 22px;
  font-size: 19px;
  line-height: 1.45;
}

.principle-card ul {
  margin-top: 17px;
}

.principle-card li {
  padding-left: 16px;
  font-size: 18px;
  line-height: 1.6;
}

.principle-card li::before,
.curriculum-card li::before,
.closing-value-card li::before {
  top: 0.72em;
  width: 5px;
  height: 5px;
}

.duration-band {
  gap: 18px;
  width: 100%;
  margin: 20px 0 0;
}

.duration-track {
  gap: 12px;
  min-height: 58px;
  padding: 14px 22px;
}

.duration-track strong {
  font-size: 18px;
}

.duration-track span {
  font-size: 16px;
}

.process-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 54px;
}

.process-flow--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.process-flow--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.process-flow::before {
  top: 37px;
  right: 8%;
  left: 8%;
}

.process-flow li {
  min-height: 350px;
  padding: 24px;
}

.process-flow--three li,
.process-flow--four li {
  min-height: 380px;
  padding: 28px;
}

.process-flow li > span {
  width: 46px;
  height: 46px;
  font-size: 13px;
}

.process-flow h3 {
  margin-top: 28px;
  font-size: 25px;
}

.process-flow p {
  margin-top: 17px;
  font-size: 16px;
  line-height: 1.62;
}

.process-flow strong {
  padding-top: 17px;
  font-size: 15px;
  line-height: 1.45;
}

.curriculum-grid {
  gap: 20px;
  margin-top: 48px;
}

.curriculum-card {
  min-height: 390px;
  padding: 30px;
}

.curriculum-label {
  column-gap: 14px;
}

.curriculum-label span {
  width: 45px;
  height: 45px;
  font-size: 13px;
}

.curriculum-label strong {
  font-size: 15px;
}

.curriculum-label em {
  margin-top: 2px;
  font-size: 22px;
}

.curriculum-card > p {
  margin-top: 26px;
  font-size: 16px;
  line-height: 1.65;
}

.curriculum-card ul {
  margin-top: 21px;
}

.curriculum-card li {
  padding-left: 16px;
  font-size: 16px;
  line-height: 1.7;
}

.curriculum-card > div:last-child {
  margin-top: 24px;
  padding-top: 20px;
}

.curriculum-card > div:last-child b {
  font-size: 14px;
}

.curriculum-card > div:last-child span {
  margin-top: 7px;
  font-size: 16px;
  line-height: 1.5;
}

.curriculum-time {
  gap: 18px;
  width: max-content;
  margin: 24px auto 0;
  padding: 14px 26px;
  font-size: 16px;
}

.curriculum-time i {
  height: 22px;
  margin: 0 8px;
}

.curriculum-detail-heading {
  max-width: 1120px;
}

.curriculum-detail-grid {
  gap: 20px;
  margin-top: 46px;
}

.curriculum-detail-card {
  min-height: 570px;
}

.curriculum-detail-card > header {
  padding: 27px 28px 25px;
}

.curriculum-detail-card > header span {
  font-size: 14px;
}

.curriculum-detail-card > header strong {
  margin-top: 12px;
  font-size: 14px;
}

.curriculum-detail-card h3 {
  margin-top: 3px;
  font-size: 28px;
  line-height: 1.2;
}

.module-list li {
  padding: 17px 26px;
}

.module-list li > div {
  gap: 12px;
}

.module-list b {
  width: 30px;
  height: 30px;
  font-size: 11px;
}

.module-list strong {
  font-size: 17px;
}

.module-list p {
  margin-top: 8px;
  padding-left: 42px;
  font-size: 16px;
  line-height: 1.5;
}

.evidence-heading {
  max-width: none;
}

.evidence-stats {
  gap: 16px;
  margin-top: 38px;
}

.evidence-stats > div {
  min-height: 128px;
  padding: 18px;
}

.evidence-stats dt {
  margin-top: 7px;
  font-size: 16px;
}

.evidence-stats dd {
  font-size: 38px;
}

.evidence-stats dd span {
  font-size: 22px;
}

.testimonial-grid {
  gap: 16px;
  margin-top: 20px;
}

.testimonial-grid blockquote {
  min-height: 190px;
  padding: 25px 28px;
}

.testimonial-grid blockquote > span {
  font-size: 13px;
}

.testimonial-grid blockquote strong {
  margin-top: 11px;
  font-size: 20px;
  line-height: 1.45;
}

.testimonial-grid blockquote p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.6;
}

.closing-value-grid {
  gap: 20px;
  margin-top: 44px;
}

.closing-value-card {
  min-height: 285px;
  padding: 30px 34px;
}

.closing-value-card > span {
  font-size: 14px;
}

.closing-value-card h3 {
  margin-top: 16px;
  font-size: 29px;
  line-height: 1.3;
}

.closing-value-card ul {
  margin-top: 21px;
}

.closing-value-card li {
  padding-left: 17px;
  font-size: 16px;
  line-height: 1.75;
}

.contact-panel {
  grid-template-columns: 1fr 1.05fr;
  gap: 48px;
  margin-top: 20px;
  padding: 30px 36px;
}

.contact-panel p {
  font-size: 16px;
}

.contact-panel h3 {
  margin-top: 10px;
  font-size: 28px;
  line-height: 1.28;
}

.contact-panel dl > div {
  grid-template-columns: 96px 1fr;
  gap: 16px;
  padding: 11px 0;
}

.contact-panel dt,
.contact-panel dd {
  font-size: 16px;
}

@media (max-width: 980px) {
  .hero-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .hero-description {
    max-width: 680px;
  }

  .hero-visual {
    width: min(680px, 100%);
    height: 520px;
  }

  .hero-facts {
    grid-template-columns: 1fr;
    max-width: none;
    margin-top: 58px;
  }

  .hero-facts article {
    display: grid;
    grid-template-columns: 230px 1fr;
    align-items: center;
  }

  .hero-facts article + article::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }

  .hero-facts p {
    margin-top: 0;
  }

  .difference-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 520px);
  }

  .book-card {
    grid-row: auto;
  }

  .book-cover {
    width: 54%;
  }

  .deliverables-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .problem-grid,
  .principle-grid,
  .curriculum-grid {
    grid-template-columns: 1fr;
  }

  .problem-card,
  .principle-card,
  .curriculum-card {
    min-height: 0;
  }

  .perspective-layout,
  .closing-value-grid {
    grid-template-columns: 1fr;
  }

  .process-flow {
    grid-template-columns: repeat(2, 1fr);
  }

  .process-flow::before {
    display: none;
  }

  .evidence-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .curriculum-detail-grid {
    grid-template-columns: 1fr;
  }

  .curriculum-detail-card {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .pdf-page {
    min-height: 0;
  }

  .page-inner {
    width: min(100% - 36px, var(--content-width));
    min-height: 0;
    padding: 30px 0 70px;
  }

  .page-brand {
    font-size: 9px;
  }

  .page-brand img {
    width: 100px;
  }

  .hero-layout {
    min-height: 0;
    margin-top: 58px;
  }

  .hero-copy h1 {
    font-size: clamp(41px, 12.8vw, 56px);
  }

  .hero-description {
    font-size: 16px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .primary-cta {
    width: 100%;
  }

  .audience-panel {
    flex-direction: column;
    gap: 9px;
  }

  .audience-panel strong {
    padding-top: 0;
  }

  .audience-panel li {
    padding: 7px 9px;
    font-size: 16px;
  }

  .hero-visual {
    height: 500px;
    border-radius: 28px;
  }

  .product-kicker {
    top: 22px;
    left: 22px;
    font-size: 14px;
  }

  .worksheet-window {
    top: 225px;
    right: 12px;
    bottom: auto;
    width: 86%;
  }

  .hero-book {
    top: 92px;
    bottom: auto;
    left: 14px;
    width: 70%;
  }

  .credential-float {
    top: 54px;
    right: 20px;
    bottom: auto;
    font-size: 13px;
  }

  .hero-visual figcaption {
    right: 18px;
    bottom: 17px;
    left: 18px;
    font-size: 14px;
  }

  .hero-facts {
    grid-template-columns: 1fr;
    margin-top: 42px;
  }

  .hero-facts article {
    display: block;
    padding: 17px 11px;
  }

  .hero-facts article + article::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }

  .hero-facts strong {
    font-size: 18px;
  }

  .hero-facts strong em {
    display: inline;
    margin-bottom: 0;
    font-size: 27px;
  }

  .hero-facts p {
    margin-top: 8px;
    font-size: 16px;
    white-space: nowrap;
  }

  .difference-showcase .page-inner,
  .deliverables-showcase .page-inner {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .section-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .section-heading h2,
  .deliverables-heading h2 {
    font-size: 43px;
  }

  .section-lead,
  .deliverables-heading > p:last-child {
    font-size: 16px;
  }

  .difference-grid {
    grid-template-rows: repeat(3, 520px);
    gap: 16px;
    margin-top: 38px;
  }

  .difference-card {
    padding: 28px 26px;
    border-radius: 25px;
  }

  .difference-card h3 {
    font-size: 25px;
  }

  .book-cover {
    width: 75%;
  }

  .canvas {
    width: 66%;
  }

  .worksheet-visual {
    gap: 16px;
    width: 100%;
  }

  .badge-visual {
    width: auto;
    height: 58%;
  }

  .badge-main {
    right: 14px;
    bottom: 46px;
    left: auto;
    width: 58%;
  }

  .badge-sub {
    top: 0;
    right: auto;
    bottom: auto;
    left: 18px;
    width: 54%;
  }

  .deliverables-showcase .page-inner {
    min-height: 0;
  }

  .deliverables-grid {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .deliverable-card {
    min-height: 210px;
  }

  .deliverables-note {
    justify-content: flex-start;
  }

  .problem-showcase .page-inner,
  .perspective-showcase .page-inner,
  .principle-showcase .page-inner,
  .process-showcase .page-inner,
  .curriculum-showcase .page-inner,
  .curriculum-detail-showcase .page-inner,
  .evidence-showcase .page-inner,
  .closing-showcase .page-inner {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .content-heading h2 {
    font-size: 43px;
  }

  .content-heading > p:last-child {
    font-size: 16px;
  }

  .problem-grid,
  .perspective-layout,
  .principle-grid,
  .process-flow,
  .curriculum-grid,
  .curriculum-detail-grid,
  .evidence-stats,
  .testimonial-grid,
  .closing-value-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 34px;
  }

  .problem-card,
  .approach-panel,
  .sequence-panel,
  .principle-card,
  .process-flow li,
  .curriculum-card,
  .closing-value-card {
    min-height: 0;
    padding: 26px;
  }

  .curriculum-detail-card {
    min-height: 0;
  }

  .curriculum-detail-card > header {
    padding: 24px;
  }

  .module-list li {
    padding: 17px 22px;
  }

  .problem-card h3,
  .principle-card h3,
  .closing-value-card h3 {
    font-size: 26px;
  }

  .problem-conclusion {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
  }

  .problem-conclusion span {
    font-size: 16px;
  }

  .problem-conclusion strong {
    font-size: 21px;
  }

  .approach-panel li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .research-note {
    font-size: 16px;
  }

  .value-equation {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-top: 32px;
    padding: 14px;
  }

  .value-equation > b {
    transform: rotate(90deg);
    text-align: center;
  }

  .value-equation > div {
    padding: 14px;
  }

  .duration-band,
  .curriculum-time {
    gap: 10px;
    width: 100%;
    text-align: center;
  }

  .duration-band {
    grid-template-columns: 1fr;
  }

  .duration-basic,
  .duration-advanced {
    grid-column: 1;
  }

  .duration-track {
    align-items: center;
    flex-direction: column;
    gap: 4px;
    border-radius: 22px;
  }

  .curriculum-time i {
    width: 100%;
    height: 1px;
    margin: 0;
  }

  .process-flow li {
    min-height: 285px;
  }

  .evidence-stats > div {
    min-height: 118px;
  }

  .testimonial-grid blockquote {
    min-height: 0;
    padding: 24px;
  }

  .contact-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px;
  }

  .contact-panel dl > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }
}
