/* Private coaching uses the shared course cards, buttons and site tokens. */
.private-main { --container-width: 1180px; }
.private-main .build-hero { background: #f5f8ff; }
.private-main .build-hero::before { display: none; }
.private-main .build-hero-inner { min-height: 620px; padding: 64px 0; }
.private-main .build-hero-inner > div { max-width: 520px; }
.private-main .build-hero { background-image: linear-gradient(90deg,rgba(255,255,255,.7),transparent 60%),url('../images/private-course-banner.jpg'); background-position: right center; background-size: cover; }
.private-main h1 .private-accent { color: var(--yellow); text-shadow: 0 1px #ad7800; }
.private-main .build-hero-sub { max-width: 510px; }
.private-main .build-hero-meta > span { padding: 5px 9px; background: rgba(255,255,255,.94); border-radius: 999px; }
.private-main .build-btn { min-height: 44px; }
.private-soft { background: var(--soft); }
.private-split { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 48px; }
.private-split h2 { font-size: clamp(30px,3.3vw,44px); line-height: 1.2; margin: 0 0 24px; }
.private-split p { color: var(--text); }
.private-quote { margin: 28px 0 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--yellow); font-size: 21px; font-weight: 700; }
.private-quote p { color: var(--brand-blue); margin: 0 0 10px; }
.private-quote p:last-child { margin: 0; }
.private-coaching-image { width: 100%; height: auto; }
.private-main .private-process { background: var(--brand-blue); color: white; }
.private-process .build-section-head h2 { color: white; }
.private-steps, .private-journey { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; }
.private-steps li { border-top: 1px solid rgba(255,255,255,.3); padding-top: 24px; }
.private-steps .build-icon { background: var(--yellow); }
.private-steps h3 { font-size: 23px; margin: 0 0 8px; }
.private-steps h4 { font-size: 15px; margin: 0 0 12px; color: #ffe49a; }
.private-steps p { font-size: 14px; color: #e0e9ff; margin: 0; }
.private-main .build-skill-card h4 { font-size: 17px; line-height: 1.5; margin: 18px 0 12px; }
.private-main .build-skill-card p { font-size: 14px; color: var(--text); }
.private-journey { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 22px; }
.private-journey li { position: relative; padding: 22px 14px; border-radius: var(--radius-card); background: white; border: 1px solid var(--line); font-size: 16px; font-weight: 700; }
.private-journey li:not(:last-child)::after { content: '→'; position: absolute; right: -19px; top: 45%; color: var(--brand-blue); }
.private-journey small { display: block; margin-top: 12px; color: var(--text); font-size: 12px; font-weight: 400; }
.private-triple { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.private-triple h3 { font-size: 23px; }
.private-case-label { font-size: 12px; letter-spacing: .1em; font-weight: 800; color: var(--brand-blue); }
.private-triple h4 { margin: 22px 0 10px; font-size: 14px; color: var(--brand-blue); }
.private-triple p { color: var(--text); font-size: 15px; }
.private-focus-list { list-style: none; padding: 0; margin: 0; color: var(--text); }
.private-focus-list li + li::before { content: '↓'; display: block; color: var(--brand-blue); margin: 8px 0; }
.private-note { max-width: 800px; text-align: center; margin: 30px auto 0; color: var(--text); }
.private-info { max-width: 900px; margin: auto; }
.private-info .build-course-info { grid-template-columns: 160px 1fr; gap: 40px; }
.private-info .build-course-info img { width: 160px; height: auto; }
.private-info dl, .private-info dd { margin: 0; }
.private-info dt { font-weight: 700; color: var(--brand-blue); }
.private-selected { border: 2px solid var(--yellow); background: #fffae9; }
.private-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
.private-main .build-cta { background: var(--brand-blue); }
.private-main .build-cta-inner > div { width: 100%; max-width: 800px; }
.private-main .build-cta-inner { justify-content: center; text-align: center; }
.private-main .build-cta .build-hero-actions { justify-content: center; }
@media(max-width:1100px) {
  .private-main .build-hero { background-image: none; }
  .private-main .build-hero-inner { min-height: 0; padding: 44px 0 30px; }
  .private-main .build-hero-inner > div { max-width: 680px; padding: 0; background: none; }
  .private-main .build-hero::after { content: ''; position: static; display: block; width: 100%; height: auto; aspect-ratio: 1995 / 788; border-radius: 0; background: url('../images/private-course-banner.jpg') center / contain no-repeat; }
}
@media(max-width:980px) {
  .private-split { grid-template-columns: 1fr; gap: 28px; }
  .private-steps, .private-journey { grid-template-columns: 1fr; gap: 24px; }
  .private-steps li { position: relative; padding: 20px 0 0 76px; }
  .private-steps .build-icon { position: absolute; left: 0; top: 24px; }
  .private-steps li:not(:last-child)::after { content: ''; position: absolute; left: 22px; top: 80px; bottom: -24px; border-left: 1px solid rgba(255,255,255,.4); }
  .private-journey li:not(:last-child)::after { content: '↓'; right: auto; left: 34px; top: auto; bottom: -26px; }
  .private-journey li { padding: 24px; }
  .private-triple { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .private-main .build-grid-4, .private-triple { grid-template-columns: 1fr; }
  .private-main h1 { font-size: clamp(38px,11vw,48px); }
  .private-quote { font-size: 19px; padding-left: 18px; }
  .private-info .build-course-info, .private-info .build-info-row { grid-template-columns: 1fr; }
  .private-info .build-info-row { gap: 4px; }
  .private-main .build-hero-actions { flex-direction: column; }
}
