.training-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(3rem, 6vw, 6rem); }
.training-intro-label { color: var(--muted); font-size: .875rem; margin: 0 0 1.5rem; }
.training-hero h1 { font-size: clamp(2.5rem, 4.8vw, 4.75rem); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; margin: 0 0 1.75rem; }
.training-hero-copy > p:not(.training-intro-label) { max-inline-size: 47ch; color: var(--muted); line-height: 1.8; }
.training-hero-copy > .training-lead { color: var(--ink); font-size: 1.25rem; line-height: 1.6; }
.training-hero .hero-actions { margin-block: 1.75rem; flex-wrap: wrap; }
.training-hero-copy > .training-scope { font-size: .75rem; }
.training-workbench { position: relative; border: 1px solid var(--line-accent); border-radius: 1.5rem; background: var(--surface-soft); margin-block-end: 1.75rem; }
.training-workbench-top { display: flex; align-items: center; gap: .625rem; padding: 1rem 1.25rem; border-block-end: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.training-workbench-top small { margin-inline-start: auto; font-size: .6875rem; }
.training-window-mark { inline-size: .5rem; block-size: .5rem; border-radius: 50%; background: var(--brand-accent); flex-shrink: 0; }
.training-workbench-body { padding: clamp(1.25rem, 3vw, 2.25rem); }
.training-demo-task { font-size: 1.25rem; font-weight: 600; letter-spacing: -.025em; margin: 0 0 1.25rem; }
.training-demo-prompt { display: flex; align-items: start; gap: 1rem; padding: 1.25rem; border-radius: 1rem; color: var(--ink); background: var(--surface-accent); }
.training-demo-prompt p { font-size: .9375rem; line-height: 1.7; margin: 0; }
.training-icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid var(--line-accent); border-radius: .875rem; background: var(--paper); color: var(--violet-text); flex-shrink: 0; }
.training-icon svg { inline-size: 1.5rem; block-size: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.training-demo-result { padding: 1.25rem 1.5rem; margin: 1rem 0; border-radius: 1rem; background: var(--paper); border: 1px solid var(--line); }
.training-demo-label { display: block; font-size: .75rem; color: var(--muted); margin-block-end: 1rem; }
.training-demo-line { block-size: .375rem; inline-size: 90%; border-radius: 2px; background: var(--line-accent); margin-block: .625rem; }
.training-demo-line.short { inline-size: 53%; }
.training-demo-line.medium { inline-size: 72%; }
.training-demo-result p { margin: 1rem 0 0; font-size: .75rem; color: var(--muted); line-height: 1.7; }
.training-demo-check { display: flex; align-items: center; gap: .875rem; padding-block-start: .5rem; }
.training-demo-check strong, .training-demo-check span { display: block; font-size: .8125rem; line-height: 1.7; }
.training-demo-check strong { font-weight: 500; }
.training-demo-check div > span { color: var(--muted); }
.training-orbit { position: absolute; inline-size: 7rem; inset: auto -1rem -3rem auto; }
.training-programmes { padding-block: clamp(3rem, 6vw, 5rem); background: var(--surface-soft); border-block: 1px solid var(--line); }
.training-section-title { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-block-end: 2.5rem; }
.training-page h2 { font-size: clamp(2rem, 3.3vw, 3.5rem); line-height: 1.14; letter-spacing: -.035em; margin: 0 0 1.25rem; text-wrap: balance; }
.training-section-title > p { max-inline-size: 39ch; color: var(--muted); line-height: 1.8; margin: 0 0 1.25rem; }
.training-programme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.training-programme { padding-block: 1.5rem; border-block-start: 2px solid var(--line-accent); }
.training-programme h3 { font-size: 1.375rem; letter-spacing: -.025em; line-height: 1.3; margin: 1.5rem 0 1rem; }
.training-programme > p, .training-programme li { color: var(--muted); font-size: .9375rem; line-height: 1.8; }
.training-programme ul { padding-inline-start: 1.125rem; margin-block: 1rem 1.5rem; }
.training-programme .training-output { color: var(--ink); padding-block-start: 1rem; border-block-start: 1px solid var(--line); font-size: .8125rem; }
.training-path { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 5rem; padding-block: clamp(3rem, 7vw, 6rem); }
.training-path > div > p { max-inline-size: 42ch; color: var(--muted); line-height: 1.8; margin-block-end: 1.5rem; }
.training-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 2rem; }
.training-steps li { display: flex; align-items: start; gap: 1.25rem; }
.training-steps li > span { display: grid; place-items: center; inline-size: 2.5rem; block-size: 2.5rem; border: 1px solid var(--line-accent); border-radius: 50%; background: var(--surface-accent); flex-shrink: 0; font-size: .875rem; }
.training-steps h3 { font-size: 1.25rem; font-weight: 500; margin: .25rem 0 .75rem; letter-spacing: -.025em; }
.training-steps p { color: var(--muted); font-size: .9375rem; line-height: 1.8; margin: 0; }
.training-invitation { display: flex; align-items: center; justify-content: space-between; gap: 3rem; border-block-start: 1px solid var(--line); padding-block: 2.5rem 4rem; }
.training-invitation h2 { font-size: 1.75rem; max-inline-size: 30ch; }
.training-invitation p { max-inline-size: 60ch; color: var(--muted); line-height: 1.8; font-size: .9375rem; }
.training-invitation .button { flex-shrink: 0; }
.training-contact .contact-copy h2 { color: var(--contact-copy-ink); }
@media (max-width: 1000px) { .training-section-title { align-items: start; gap: 2rem; } .training-programme-grid { gap: 1.25rem; } .training-path { gap: 2.5rem; } }
@media (max-width: 760px) {
  .training-hero, .training-path { grid-template-columns: 1fr; gap: 2rem; }
  .training-workbench { max-inline-size: 540px; inline-size: 100%; justify-self: center; }
  .training-section-title { flex-direction: column; gap: .5rem; }
  .training-section-title > p { max-inline-size: 54ch; }
  .training-programme-grid { grid-template-columns: 1fr; gap: .75rem; }
  .training-programme { display: grid; grid-template-columns: auto 1fr; gap: .75rem 1rem; }
  .training-programme .training-icon { grid-column: 1; grid-row: 1 / 3; }
  .training-programme h3 { grid-column: 2; margin: .25rem 0 0; }
  .training-programme > p { grid-column: 2; margin: 0; }
  .training-programme ul, .training-programme .training-output { grid-column: 1 / -1; }
  .training-programme ul { margin: .25rem 0 .5rem; }
  .training-invitation { align-items: start; flex-direction: column; gap: 1rem; }
  .training-hero h1 { font-size: clamp(2.25rem, 7vw, 3.75rem); }
  .training-hero-copy > .training-lead { font-size: 1.125rem; }
  .training-hero .hero-actions { align-items: start; gap: 1rem; }
  .training-orbit { inset-inline-end: -.25rem; }
}
@media (max-width: 360px) { .training-demo-prompt { padding: 1rem; gap: .75rem; } .training-demo-prompt .training-icon { display: none; } }
