.training-page {
  --text-muted: #a3b2bf;
  --t-xs: .8125rem;
  --t-sm: .9375rem;
  --t-base: 1rem;
  --t-lg: 1.25rem;
  --t-xl: clamp(1.65rem, 3vw, 2.25rem);
  --t-hero: clamp(2.25rem, 4.1vw, 3.5rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  overflow-x: visible;
}
.training-page [hidden] { display: none !important; }
.training-page h1 { font-size: var(--t-hero); font-weight: 800; line-height: 1.08; letter-spacing: -.045em; margin: var(--space-5) 0 var(--space-6); }
.training-page h2 { font-size: var(--t-xl); line-height: 1.16; text-transform: none; letter-spacing: -.025em; }
.training-page h3 { font-size: var(--t-lg); text-transform: none; }
.training-page section { padding: var(--space-20) var(--space-8); scroll-margin-top: 100px; }
.training-page .section-eyebrow { font-size: var(--t-xs); letter-spacing: .12em; margin-bottom: var(--space-5); }
.accent { color: var(--orange); }
.training-page .brand-line { color: var(--orange-hover); font-size: var(--t-base); font-weight: 600; line-height: 1.6; margin-block: var(--space-5); }
.training-page .btn { min-height: 48px; font-size: var(--t-xs); letter-spacing: .025em; padding: var(--space-4) var(--space-5); cursor: pointer; line-height: 1.45; }
.training-page .btn:active { transform: translateY(0); }
.training-page .btn:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.training-page .btn-ghost { background: transparent; }
.training-page .btn-ghost:hover:not(:disabled) { background: var(--orange); color: var(--ink); }
.training-page .btn-ghost:disabled:hover { color: var(--text); border-color: var(--text); }
.training-page .nav-inner { gap: var(--space-5); }
.training-page .brand-name span:last-child { font-size: 12px; }
.training-nav { display: flex; gap: var(--space-6); font-size: var(--t-xs); }
.training-nav a { display: flex; align-items: center; min-height: 44px; padding: var(--space-3) 0; }
.training-hero { padding: var(--space-12) var(--space-8) var(--space-20); }
.hero-training-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-16); align-items: center; }
.section-inner > *, .two-col > *, .hero-training-grid > *, .inquiry-layout > * { min-width: 0; }
.breadcrumb { display: inline-block; font-size: var(--t-xs); color: var(--text-muted); margin-bottom: var(--space-8); padding-block: var(--space-2); }
.training-page .lede { font-size: var(--t-base); line-height: 1.75; max-width: 65ch; }
.body-copy { font-size: var(--t-base); color: var(--text-dim); line-height: 1.75; margin-bottom: var(--space-5); }
.disclosure, .micro { font-size: var(--t-xs); color: var(--text-muted); line-height: 1.65; margin-top: var(--space-5); }
.training-page .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-6); }
.training-positioning { background: var(--ink-2); padding: var(--space-10); border: 1px solid var(--line-strong); }
.positioning-title { font-size: var(--t-xl); font-weight: 600; line-height: 1.3; letter-spacing: -.02em; margin-bottom: var(--space-8); }
.card-number { display: block; font-size: var(--t-xs); color: var(--orange-hover); margin-bottom: var(--space-6); text-transform: uppercase; letter-spacing: .06em; }
.offer-glance > div { border-top: 1px solid var(--line-strong); padding-block: var(--space-5); }
.offer-glance dt { font-size: var(--t-sm); font-weight: 600; }
.offer-glance dd { font-size: var(--t-sm); line-height: 1.65; margin-top: var(--space-2); color: var(--text-dim); }
.two-col { display: grid; grid-template-columns: 1fr 1.05fr; gap: var(--space-20); }
.training-intro { border-top: 1px solid var(--line); }
.doctrine-hierarchy { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 var(--space-8); margin-top: var(--space-8); }
.doctrine-hierarchy > div { padding: var(--space-5) 0; border-top: 1px solid var(--line-strong); }
.doctrine-hierarchy dt { font-size: var(--t-base); font-weight: 600; color: var(--orange-hover); }
.doctrine-hierarchy dd { font-size: var(--t-base); color: var(--text-dim); margin-top: var(--space-2); }
.offer-section, .resource-section { background: var(--ink-2); border-block: 1px solid var(--line); }
.offer-section > .section-inner > .lede { margin-top: var(--space-5); }
.offer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-6); margin-top: var(--space-10); }
.offer-card { padding: var(--space-8); background: var(--ink); border: 1px solid var(--line-strong); display: flex; flex-direction: column; align-items: start; }
.offer-card > p:not(.card-number):not(.micro):not(.brand-line) { font-size: var(--t-base); line-height: 1.7; color: var(--text-dim); margin-top: var(--space-3); }
.offer-facts { width: 100%; padding-block: var(--space-6); margin-bottom: auto; }
.offer-facts > div { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-4); border-top: 1px solid var(--line); padding-block: var(--space-4); font-size: var(--t-sm); line-height: 1.6; }
.offer-facts dt { color: var(--text); font-weight: 500; }
.offer-facts dd { color: var(--text-dim); }
.scope-note { padding: var(--space-6); background: var(--ink-3); color: var(--text-dim); font-size: var(--t-sm); line-height: 1.75; margin-top: var(--space-8); }
.curriculum-boundary { font-size: var(--t-sm); line-height: 1.75; color: var(--text-dim); margin-top: var(--space-6); max-width: 95ch; }
.licensing-interest { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-8); border-top: 1px solid var(--line-strong); margin-top: var(--space-10); padding-top: var(--space-8); }
.licensing-interest p:not(.card-number):not(.micro) { color: var(--text-dim); font-size: var(--t-base); line-height: 1.75; }
.licensing-interest .card-number { margin-bottom: var(--space-4); }
.scope-note b, .curriculum-boundary b { color: var(--text); }
.sector-contexts { margin-top: var(--space-10); }
.sector-contexts > .body-copy { margin-top: var(--space-4); }
.sector-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-6); margin: var(--space-6) 0; }
.sector-card { padding: var(--space-8); border: 1px solid var(--line-strong); background: var(--ink); scroll-margin-top: 115px; }
.sector-card .card-number { margin-bottom: var(--space-4); }
.sector-card > p:not(.card-number):not(.micro) { color: var(--text-dim); font-size: var(--t-base); line-height: 1.75; margin-top: var(--space-4); }
@media(max-width:640px) { .sector-grid { grid-template-columns: 1fr; } .sector-card { padding: var(--space-6); } }
.inquiry-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: var(--space-16); align-items: start; }
.inquiry-intro .lede { margin-block: var(--space-5); }
.preview-disclosure { padding-top: var(--space-6); margin-top: var(--space-6); border-top: 1px solid var(--line-strong); }
.preview-disclosure h3 { font-size: var(--t-base); }
.preview-disclosure p { font-size: var(--t-sm); color: var(--text-dim); line-height: 1.75; margin-top: var(--space-3); }
.request-form, .request-review { background: var(--ink-2); padding: var(--space-8); border: 1px solid var(--line-strong); scroll-margin-top: 105px; }
.wizard-progress { margin-bottom: var(--space-8); }
#step-status { font-size: var(--t-sm); color: var(--orange-hover); font-weight: 600; margin-bottom: var(--space-3); }
#inquiry-progress { display: block; width: 100%; height: 4px; border: 0; background: var(--ink-3); color: var(--orange); accent-color: var(--orange); }
#inquiry-progress::-webkit-progress-bar { background: var(--ink-3); }
#inquiry-progress::-webkit-progress-value { background: var(--orange); }
#inquiry-progress::-moz-progress-bar { background: var(--orange); }
.step-labels { display: flex; justify-content: space-between; gap: var(--space-2); list-style: none; font-size: .75rem; color: var(--text-muted); padding-top: var(--space-3); }
.step-labels [aria-current] { color: var(--text); font-weight: 600; }
.wizard-step { border: 0; min-width: 0; padding: 0; margin-top: var(--space-6); }
.wizard-step legend { font-size: var(--t-lg); font-weight: 600; line-height: 1.4; margin-bottom: var(--space-4); padding: 0; width: 100%; }
.step-help { color: var(--text-dim); font-size: var(--t-sm); line-height: 1.7; margin-bottom: var(--space-5); }
.training-page label { font-size: var(--t-sm); display: block; color: var(--text); font-weight: 500; }
.wizard-step > label:not(:first-of-type) { margin-top: var(--space-6); }
.training-page label span { font-weight: 400; }
.training-page input, .training-page select, .training-page textarea { display: block; width: 100%; font: inherit; font-size: var(--t-base); line-height: 1.5; background: var(--ink); border: 1px solid var(--line-strong); padding: var(--space-3); color: var(--text); border-radius: 2px; margin-top: var(--space-2); min-height: 48px; color-scheme: dark; }
.training-page textarea { resize: vertical; }
.training-page :is(a, button, input, select, textarea, summary, legend, [tabindex="-1"]):focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.training-page select { text-overflow: ellipsis; }
.training-page input[aria-invalid="true"], .training-page select[aria-invalid="true"], .training-page textarea[aria-invalid="true"] { border-color: var(--orange-hover); }
.conditional-field { margin-top: var(--space-5); }
.field-note { color: var(--text-muted); font-size: var(--t-xs); line-height: 1.65; margin-top: var(--space-2); }
.inline-note { font-size: var(--t-sm); line-height: 1.7; color: var(--text-dim); background: var(--ink); padding: var(--space-4); margin-top: var(--space-5); }
.check-label { display: flex !important; align-items: start; gap: var(--space-3); line-height: 1.75; cursor: pointer; }
.check-label input { width: 22px; height: 22px; min-height: 22px; flex-shrink: 0; margin: var(--space-1) 0 0; accent-color: var(--orange); }
.validation-message { font-size: var(--t-sm); color: var(--orange-hover); margin-top: var(--space-5); }
.validation-message:empty { display: none; }
.wizard-actions { display: flex; align-items: stretch; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--line); }
.wizard-footer { margin-top: var(--space-4); }
.request-summary { margin-top: var(--space-6); }
.request-summary > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--space-4); padding-block: var(--space-3); border-bottom: 1px solid var(--line); font-size: var(--t-sm); line-height: 1.6; }
.request-summary dt { color: var(--text-muted); }
.request-summary dd { color: var(--text); overflow-wrap: anywhere; white-space: pre-wrap; }
.profile-details { margin-top: var(--space-5); }
.profile-details summary { min-height: 44px; padding-block: var(--space-3); cursor: pointer; font-size: var(--t-sm); }
.brief-fallback { margin-top: var(--space-6); font-size: var(--t-sm); }
.brief-fallback summary { cursor: pointer; padding-block: var(--space-3); min-height: 44px; }
.brief-fallback pre { font: inherit; font-size: var(--t-xs); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; color: var(--text-dim); padding-top: var(--space-4); }
.readonly-teaser { margin-top: var(--space-8); padding-top: var(--space-8); border-top: 1px solid var(--line-strong); }
.readonly-teaser p:not(.card-number):not(.micro) { font-size: var(--t-base); color: var(--text-dim); line-height: 1.75; margin-top: var(--space-4); }
.readonly-teaser blockquote { font-size: var(--t-lg); font-weight: 500; line-height: 1.5; margin-block: var(--space-6); color: var(--text); }
.text-link { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-3) 0; text-decoration: underline; text-underline-offset: 5px; color: var(--orange-hover); font-size: var(--t-sm); }
.inline-link { color: var(--orange-hover); text-decoration: underline; text-underline-offset: 3px; }
.reference-heading { display: grid; grid-template-columns: 1.45fr 1fr; gap: var(--space-16); align-items: start; }
.reference-heading .body-copy { margin-top: var(--space-5); }
#reference-count { margin-bottom: var(--space-5); }
.reference-entry { border-top: 1px solid var(--line-strong); padding: var(--space-4) 0; }
.reference-entry summary { cursor: pointer; min-height: 44px; font-size: var(--t-sm); padding: var(--space-1) 0; line-height: 1.7; }
.reference-entry summary span { color: var(--orange-hover); font-size: var(--t-xs); display: inline-block; min-width: 44px; }
.reference-entry p { font-size: var(--t-sm); line-height: 1.75; margin: var(--space-4) 0; color: var(--text-dim); max-width: 95ch; }
.reference-entry a { color: var(--orange-hover); text-decoration: underline; overflow-wrap: anywhere; }
.reference-entry .ref-date { font-size: var(--t-xs); color: var(--text-muted); }
.training-page .foot-col h2 { font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-hover); margin-bottom: var(--space-4); }
.training-page .foot-col a { min-height: 44px; padding-block: var(--space-3); font-size: var(--t-sm); }
.skip-training { position: absolute; left: -9999px; }
.skip-training:focus { left: var(--space-3); top: var(--space-3); background: var(--ink); padding: var(--space-4); z-index: 300; }
.legacy-message { max-width: 800px; padding: var(--space-20) var(--space-8); margin: 0 auto; }
@media (max-width: 1100px) {
  .hero-training-grid, .two-col, .inquiry-layout, .reference-heading { gap: var(--space-8); }
  .training-nav { gap: var(--space-4); }
  .training-positioning { padding: var(--space-8); }
}
@media (max-width: 850px) {
  .hero-training-grid, .two-col, .inquiry-layout, .licensing-interest { grid-template-columns: 1fr; }
  .training-positioning { max-width: 680px; }
  .training-nav { display: none; }
  .training-page section { padding: var(--space-12) var(--space-5); }
  .training-hero { padding: var(--space-8) var(--space-5) var(--space-12); }
  .reference-heading { grid-template-columns: 1fr; gap: var(--space-5); }
  .training-page .foot-inner { grid-template-columns: 1fr 1fr; }
  .training-page .brand { font-size: 12px; letter-spacing: .04em; }
  .training-page .nav-cta { font-size: 12px; padding: var(--space-3); min-height: 44px; display: flex; align-items: center; text-align: center; }
  .training-page .brand img { width: 32px; height: 32px; }
  .inquiry-intro .text-link { margin-top: var(--space-3); }
}
@media (max-width: 600px) {
  .offer-grid { grid-template-columns: 1fr; }
  .offer-card, .request-form, .request-review, .training-positioning { padding: var(--space-6); }
  .doctrine-hierarchy { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 var(--space-5); }
  .training-page .cta-row { gap: var(--space-3); }
  .training-page .cta-row .btn, .offer-card .btn { width: 100%; justify-content: center; text-align: center; }
  .training-page .nav-inner { gap: var(--space-3); padding: var(--space-4); }
  .brand-name span:last-child { display: none; }
  .training-page .brand img { width: 30px; height: 30px; }
  .training-page .foot-inner { gap: var(--space-6); }
  .request-summary > div { grid-template-columns: 1fr; gap: var(--space-1); }
  .wizard-actions { gap: var(--space-3); }
  .wizard-actions .btn { padding-inline: var(--space-4); }
  .wizard-actions #wizard-next { flex: 1; }
  .step-labels { flex-wrap: wrap; gap: var(--space-2) var(--space-3); justify-content: start; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .training-page *, .training-page *::before, .training-page *::after { transition: none !important; animation: none !important; }
}
@media print {
  .training-page .nav, .training-page .cta-row, .training-page button, .training-page form { display: none; }
  .training-page { background: white; color: black; }
  .training-page * { color: black !important; background: transparent !important; }
  .training-page section { padding: var(--space-6) 0; }
  .reference-entry { break-inside: avoid; }
  .hero-training-grid, .inquiry-layout { display: block; }
}
