.page-head { max-width: 62ch; }
.page-head .section-title { max-width: 16ch; }
.page-lead { font-size: 16px; line-height: 1.75; color: var(--muted); margin-top: 22px; max-width: 54ch; }

.discipline-card {
    display: flex; flex-direction: column; text-decoration: none; color: inherit;
    border: 1px solid var(--line-soft); background: var(--cream);
    transition: box-shadow 0.5s ease, transform 0.5s ease;
}
.discipline-card:hover { box-shadow: 0 28px 54px -30px rgba(18, 40, 31, 0.45); transform: translateY(-6px); }
.discipline-card-media { position: relative; height: 300px; overflow: hidden; }
.discipline-card-num { position: absolute; left: 22px; top: 14px; font-family: var(--serif); font-size: 36px; font-weight: 300; color: var(--cream); text-shadow: 0 2px 14px rgba(18, 40, 31, 0.45); }
.discipline-card-body { padding: 28px 30px 32px; }
.discipline-card h3 { font-family: var(--serif); font-weight: 300; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.05; color: var(--forest); }
.discipline-card p { font-size: 14.5px; line-height: 1.7; color: var(--muted); margin: 14px 0 22px; }

.discipline-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.discipline-hero-num { font-family: var(--serif); font-size: 34px; font-weight: 300; color: var(--gold); }
.discipline-hero h1 { font-family: var(--serif); font-weight: 300; font-size: clamp(40px, 5.6vw, 84px); line-height: 0.98; letter-spacing: -0.02em; color: var(--forest); margin: 12px 0 22px; }
.discipline-hero-lead { font-size: 16px; line-height: 1.75; color: var(--muted); max-width: 46ch; }
.discipline-hero-actions { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.discipline-hero-media { position: relative; height: clamp(360px, 42vw, 520px); overflow: hidden; }
.dhm-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.dhm-slide.is-active { opacity: 1; }
.dhm-dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 10px; }
.dhm-dot { width: 28px; height: 3px; border: none; padding: 0; cursor: pointer; background: rgba(250, 247, 242, 0.55); transition: background 0.3s ease; }
.dhm-dot.is-active { background: var(--gold); }
.discipline-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); margin-top: 56px; }
.discipline-stat { padding: 24px 24px 4px; border-left: 1px solid var(--line-soft); min-width: 0; overflow-wrap: break-word; }
.discipline-stat:first-child { border-left: none; padding-left: 0; }
.discipline-stat b { display: block; font-family: var(--serif); font-weight: 300; font-size: clamp(26px, 6vw, 40px); color: var(--forest); line-height: 1; }
.discipline-stat span { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); display: block; margin-top: 10px; }

.included { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 48px; margin-top: 8px; }
.included li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ink); }
.included .tick { color: var(--gold); flex-shrink: 0; }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(185, 154, 91, 0.35); }
.step { padding: 30px 22px 40px; border-left: 1px solid var(--line-soft); }
.step:first-child { border-left: none; padding-left: 4px; }
.step-num { font-family: var(--serif); font-size: 46px; font-weight: 300; color: var(--gold); line-height: 1; }
.step h4 { font-family: var(--serif); font-weight: 400; font-size: 19px; line-height: 1.2; color: var(--cream); margin: 18px 0 10px; }
.step p { font-size: 13px; line-height: 1.65; color: rgba(250, 247, 242, 0.6); }

.cta-band { text-align: center; max-width: 720px; margin: 0 auto; }
.cta-band .section-title { margin-inline: auto; max-width: 16ch; }
.cta-band p { font-size: 15px; line-height: 1.75; color: rgba(250, 247, 242, 0.66); margin: 22px auto 32px; max-width: 46ch; }
.cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-actions .btn-dark { background: var(--gold); color: var(--forest); }
.cta-actions .btn-dark:hover { background: var(--gold-hover); color: var(--forest); }
.cta-actions .link-underline { color: var(--cream); }
.cta-actions .link-underline:hover { color: var(--gold); }

@media (max-width: 900px) {
    .discipline-hero,
    .included { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }
    .discipline-stats { grid-template-columns: repeat(3, 1fr); }
    .discipline-card-media { height: clamp(220px, 60vw, 300px); }
    .discipline-hero-media { height: clamp(260px, 56vw, 340px); }
}

@media (max-width: 560px) {
    .discipline-stats { grid-template-columns: 1fr; }
    .discipline-stat { border-left: none; padding-left: 0; padding-top: 20px; border-top: 1px solid var(--line-soft); }
    .discipline-stat:first-child { border-top: none; padding-top: 4px; }
}
