.training-page { --training-border: rgba(16,42,51,.17); }
/* Professional directions and the new, independently priced Qinsy structure. */
.training-direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.training-direction { display:flex; flex-direction:column; min-width:0; padding:26px 23px; border:1px solid var(--training-border); border-radius:22px; background:#fffdf8; }
.training-direction:nth-child(2) { background:#e9f2f1; }
.training-direction:nth-child(3) { background:#edf3f7; }
.training-direction:nth-child(4) { background:#f2f0ea; }
.training-direction-top { display:flex; justify-content:space-between; gap:12px; font-size:.7rem; color:#42616b; }
.training-direction-top b { font-weight:500; }
.training-direction h3 { font-size:1.5rem; line-height:1.2; margin:25px 0 12px; }
.training-direction p { font-size:.9rem; line-height:1.6; margin:0 0 18px; }
.training-direction small { color:#53666c; font-size:.75rem; margin-top:auto; margin-bottom:20px; }
.training-direction .button { align-self:flex-start; font-size:.8rem; padding:12px 16px; }
.training-skill-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.training-skill-links > a { display:grid; grid-template-columns:30px minmax(0,1fr) 20px; align-items:center; gap:14px; padding:23px 0; border-top:1px solid var(--training-border); text-decoration:none; }
.training-skill-links > a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.training-skill-links strong,.training-skill-links small { display:block; }
.training-skill-links strong { font-size:1.12rem; font-weight:650; }
.training-skill-links small { margin-top:6px; font-size:.82rem; color:var(--ink-muted); line-height:1.5; }
.training-skill-number { color:#567b84; font-size:.85rem; font-variant-numeric:tabular-nums; }
.training-skill-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.training-skill { min-width:0; padding:25px 28px; border:1px solid var(--training-border); border-radius:20px; background:#fffdf8; }
.training-skill-top { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.training-skill-top .training-badge { margin-left:auto; }
.training-skill-optional { font-size:.7rem; color:#6d6048; }
.training-skill h3 { font-size:1.4rem; margin:18px 0 6px; line-height:1.2; }
.training-skill p { font-size:.86rem; line-height:1.6; margin:12px 0; color:var(--ink-muted); }
.training-skill .training-skill-goal { color:#126579; font-size:.94rem; font-weight:600; }
.training-skill-result { padding-left:14px; border-left:2px solid #aac9cb; }
.training-skill-result strong { display:block; font-size:.72rem; letter-spacing:.03em; color:#405c65; margin-bottom:3px; }
.training-skill-details { margin-top:17px; border-top:1px solid var(--training-border); }
.training-skill-details summary { padding:15px 0; cursor:pointer; font-size:.82rem; font-weight:650; }
.training-skill-details dl { margin:0 0 16px; }
.training-skill-details dl > div { margin:14px 0; }
.training-skill-details dt { font-size:.8rem; font-weight:650; }
.training-skill-details dd { font-size:.84rem; line-height:1.6; margin:5px 0 0; color:var(--ink-muted); }
.training-skill-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.training-skill-footer > span { font-size:.78rem; color:#596f75; }
.training-skill-footer .button { font-size:.78rem; padding:11px 15px; }
.training-pathway-principles { margin-top:28px; max-width:960px; font-size:.9rem; line-height:1.7; color:var(--ink-muted); }
.training-pathway-principles a { color:#126579; text-underline-offset:3px; }
.training-pathway-intro { max-width:920px; font-size:1.08rem; line-height:1.8; }
.training-pathway-list { display:grid; gap:20px; }
.training-pathway { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; padding:30px; border:1px solid var(--training-border); border-radius:22px; background:#fffdf8; }
.training-pathway:last-child { background:#edf3f3; }
.training-pathway-index { margin-right:16px; font-size:.8rem; color:#567b84; }
.training-pathway h3 { font-size:1.5rem; line-height:1.3; margin:18px 0 12px; }
.training-pathway p { font-size:.89rem; line-height:1.7; color:var(--ink-muted); }
.training-pathway .training-pathway-audience { font-size:.78rem; color:#42616b; }
.training-block-pills { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:12px 0 22px; }
.training-block-pills a { display:block; padding:7px 11px; border:1px solid #b5cbd0; border-radius:8px; text-decoration:none; color:#155d67; font-size:.78rem; }
.training-block-pills a:hover { background:#e2efeb; }
.training-pathway .training-pathway-price { font-weight:650; color:#163d48; margin-bottom:14px; }
.training-scope-note { margin:0 0 28px; padding:21px 24px; background:#f4ecdc; border-left:3px solid #ad8654; border-radius:0 14px 14px 0; }
.training-scope-note strong { font-size:1rem; color:#493e2f; }
.training-scope-note p { max-width:940px; font-size:.86rem; line-height:1.7; color:#625a4f; margin:9px 0 0; }
.training-page .training-legacy-card-note { font-size:.76rem; line-height:1.6; padding:10px 12px; border-radius:8px; background:#f4ecdc; color:#625a4f; }
.training-legacy-disclosure { border-block:1px solid var(--training-border); }
.training-legacy-disclosure > summary { padding:24px 0; cursor:pointer; font-size:1.05rem; font-weight:650; }
.training-legacy-content .training-section { padding:40px 0; background:transparent; }
.training-legacy-content .container { width:100%; max-width:none; padding-inline:0; }
.training-legacy-content .training-heading h2 { font-size:clamp(1.65rem,2.5vw,2.3rem); }
.training-hero-status { color:#d0e1dc; font-size:.84rem; margin-top:24px; }
.training-qimera-variants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.training-qimera-variants > article { border:1px solid var(--training-border); border-radius:20px; background:#fffdf8; padding:28px; min-width:0; }
.training-qimera-variants h3 { font-size:1.4rem; margin:20px 0 12px; }
.training-qimera-variants strong { color:#126579; }
.training-qimera-variants p { font-size:.9rem; line-height:1.7; color:var(--ink-muted); }
.training-qimera-variants > article[data-qimera-kind="bundle"] { grid-column: 1 / -1; background:#e8f1ed; }
.training-qimera-variants .training-qimera-bundle { margin-top:12px; }
@media (max-width:1050px) {
  .training-direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .training-direction-grid,.training-skill-grid,.training-skill-links,.training-qimera-variants,.training-pathway { grid-template-columns:minmax(0,1fr); }
  .training-qimera-variants > article[data-qimera-kind="bundle"] { grid-column:auto; }
  .training-direction { padding:22px; }
  .training-direction h3 { margin-top:16px; }
  .training-direction small { margin-bottom:16px; }
  .training-skill { padding:22px; }
  .training-pathway { padding:24px; gap:10px; }
  .training-scope-note { padding:18px; }
  .training-skill-footer { align-items:flex-start; flex-direction:column; }
  .training-skill-links > a { padding-block:19px; }
  .training-legacy-content .training-heading { gap:16px; }
}
.training-bundle-highlights, .training-bundles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-bottom: 28px; }
.training-card-wide { grid-column: 1 / -1; }
.training-secondary { padding: 0 24px; border: 1px solid var(--training-border); border-radius: 20px; background: rgba(255,255,255,.45); }
.training-secondary > summary { padding: 22px 0; cursor: pointer; font-weight: 650; }
.training-secondary ul { list-style: none; padding: 0; margin: 0 0 20px; }
.training-secondary li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 24px; padding: 18px 0; border-top: 1px solid var(--training-border); }
.training-secondary a { font-weight: 650; text-underline-offset: 3px; }
.training-secondary small { display: block; margin-top: 5px; color: var(--ink-muted); font-size: .8rem; }
.training-secondary strong { white-space: nowrap; }
.training-future { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.training-future > div { max-width: 700px; }
.training-lab-tariffs > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; border-top: 1px solid var(--training-border); padding: 14px 0; }
.training-lab-tariffs small { display: block; margin-top: 5px; font-weight: 400; }
.training-lab-tariffs dd { margin: 0; font-weight: 700; white-space: nowrap; }
.training-lab-extras { padding-left: 20px; }
.training-lab-extras li { margin-block: 8px; }
.training-bundle-tariffs > .recommended { color: #105b6b; font-weight: 650; }
.training-page .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.training-page :is(.training-bundle-card,.training-secondary,.training-lab,.training-tariff-route,.training-tariff) { min-width: 0; }
.training-page :is(h2,h3,p,dd) { overflow-wrap: break-word; }
@media (max-width: 700px) {
  .training-secondary { padding-inline: 20px; }
  .training-secondary li { grid-template-columns: minmax(0,1fr); }
}
.training-bundle-highlight, .training-bundle-card { min-width: 0; padding: 28px; background: #fffdf8; border: 1px solid var(--training-border); border-radius: 22px; }
.training-bundle-highlight { display: flex; flex-direction: column; align-items: start; }
.training-bundle-highlight > strong, .training-bundle-price > strong { display: block; font-size: 1.8rem; color: #163d48; }
.training-bundle-highlight > small, .training-bundle-price > span { display: block; font-size: .8rem; color: var(--ink-muted); }
.training-bundle-highlight > .button { margin-top: auto; }
.training-bundle-highlight h3, .training-bundle-card h3 { font-size: 1.45rem; line-height: 1.25; margin: 18px 0 14px; }
.training-bundle-card p, .training-bundle-highlight p { color: var(--ink-muted); }
.training-components { font-size: .85rem; line-height: 1.8; overflow-wrap: anywhere; }
.training-components a { color: #126579; text-underline-offset: 3px; }
.training-components-label { display: block; color: #163d48; font-weight: 650; }
.training-bundle-price { padding: 19px 0; margin-top: 18px; border-block: 1px solid var(--training-border); }
.training-bundle-card .training-bundle-practice { font-size: .85rem; }
.training-bundle-details { margin: 22px 0; border-block: 1px solid var(--training-border); }
.training-bundle-details > summary, .training-extension > summary { padding: 18px 0; cursor: pointer; color: #163d48; font-weight: 650; }
.training-bundle-details > p { font-size: .88rem; }
.training-bundle-tariffs { margin: 18px 0; }
.training-bundle-tariffs > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 11px 0; border-bottom: 1px solid var(--training-border); }
.training-bundle-tariffs dt { font-size: .82rem; }
.training-bundle-tariffs dd { margin: 0; font-weight: 700; white-space: nowrap; }
.training-extension { margin: 28px 0; padding: 0 24px; border: 1px solid var(--training-border); border-radius: 18px; }
.training-page .training-bundle-card { scroll-margin-top: 100px; }
@media (max-width: 700px) {
  .training-bundle-highlights, .training-bundles { grid-template-columns: 1fr; gap: 18px; }
  .training-bundle-highlight, .training-bundle-card { padding: 23px; }
  .training-bundle-card .button, .training-bundle-highlight .button { max-width: 100%; white-space: normal; }
}
.training-page .training-section { padding: 78px 0; }
.training-page .training-catalog-hero { min-height: 460px; padding: 144px 0 62px; }
.training-page .training-catalog-hero h1 { max-width: 960px; font-size: clamp(2.5rem,4.6vw,4.4rem); line-height: 1.1; margin-bottom: 24px; }
.training-page .training-catalog-hero .lead { max-width: 820px; }
.training-hero-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 30px; color: #b9d4d9; font-size: .85rem; }
.training-hero-meta span::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin: 0 9px 2px 0; background: #86dfd0; }
.training-section-nav { color: var(--ink); background: #f6f4ed; border-bottom: 1px solid var(--training-border); }
.training-section-nav .container { display: flex; flex-wrap: wrap; gap: 4px 28px; padding-block: 16px; }
.training-section-nav a { padding: 7px 0; text-decoration: none; font-size: .85rem; font-weight: 650; }
.training-section-nav a:hover { color: #126579; text-decoration: underline; text-underline-offset: 5px; }
.training-page :is(section[id], article[id]) { scroll-margin-top: 100px; }
.training-page :is(a,button,summary):focus-visible { outline: 3px solid #b95422; outline-offset: 5px; }
.training-heading { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 44px; margin-bottom: 32px; }
.training-heading h2, .training-page .training-intro-grid h2, .training-lab h2, .training-price-panel h2, .training-other h2 { margin: 0; font-size: clamp(1.85rem,3vw,2.8rem); line-height: 1.18; }
.training-heading > p { margin: 0; max-width: 540px; color: var(--ink-muted); }
.training-proposal { display: flex; align-items: start; gap: 10px; margin: 0 0 28px; padding: 14px 18px; border: 1px solid #a6bdc0; border-radius: 14px; background: rgba(255,255,255,.35); color: #35545b; font-size: .86rem; line-height: 1.55; }
.training-proposal > span { color: #81551d; font-size: 1.2rem; line-height: 1.1; }
.training-heading--with-term { grid-template-columns: minmax(0,1fr) minmax(300px,350px); align-items: start; gap: 28px; margin-bottom: 24px; }
.training-heading--with-term .training-heading-copy { min-width: 0; }
.training-heading--with-term .training-heading-description { max-width: 650px; margin: 14px 0 0; color: var(--ink-muted); line-height: 1.6; }
.training-heading--with-term .training-heading-tools { width: 100%; min-width: 0; justify-self: end; }
.training-term-selector[hidden] { display: none; }
.training-term-selector { width: 100%; max-width: 350px; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.training-term-caption { margin: 0 0 9px; color: #4a6870; font-size: .77rem; line-height: 1.35; font-weight: 650; text-align: center; }
.training-term-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3px; padding: 4px; background: #dfebe9; border: 1px solid #a7c3c5; border-radius: 999px; box-shadow: 0 2px 6px rgba(16,42,51,.06); }
.training-term-options button { min-width: 0; min-height: 41px; padding: 9px 5px; border: 0; border-radius: 999px; color: #4a6268; background: transparent; font-family: inherit; font-size: .92rem; font-weight: 650; line-height: 1.2; cursor: pointer; transition: background-color .16s ease, box-shadow .16s ease, color .16s ease; }
.training-term-options button[aria-pressed="true"] { color: #153c46; background: #fffefa; box-shadow: 0 2px 7px rgba(13,55,65,.14); font-weight: 760; }
.training-term-options button:hover:not([aria-pressed="true"]) { background: #edf5f3; }
.training-term-status { display: block; min-height: 17px; margin: 8px 0 0; color: #536a70; font-size: .73rem; line-height: 1.5; text-align: center; }
.training-extension-term { display: flex; justify-content: flex-end; padding: 5px 0 18px; }
.training-extension-term .training-term-selector { max-width: 340px; }
.training-tariff[data-term-selected="false"].recommended { padding: 24px; border: 1px solid #adc3c5; background: rgba(255,255,255,.5); }
.training-tariff[data-term-selected="true"] { padding: 23px; border: 2px solid #176979; background: #e3f1ed; }
.training-bundle-tariffs > div[data-term-selected="true"], .training-tariff-route dl > div[data-term-selected="true"] { color: #124e5c; border-radius: 11px; background: #e2efeb; box-shadow: inset 0 0 0 1px rgba(16,91,107,.16); }
.training-tariff-route dl > div.recommended[data-term-selected="false"] { color: inherit; background: transparent; }
.training-bundle-tariffs > div.recommended[data-term-selected="false"] { color: inherit; font-weight: inherit; }
@media (max-width: 930px) {
  .training-heading--with-term { grid-template-columns: 1fr; gap: 18px; }
  .training-heading--with-term .training-heading-tools { justify-self: start; }
}
@media (max-width: 700px) {
  .training-term-selector { max-width: 100%; }
  .training-term-options button { min-height: 43px; font-size: .86rem; }
  .training-extension-term { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .training-term-options button { transition: none; }
}
.training-catalog { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.training-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--training-border); border-radius: 26px; background: rgba(255,255,255,.68); box-shadow: 0 12px 28px rgba(16,42,51,.055); }
.training-card-art { position: relative; height: 160px; flex-shrink: 0; overflow: hidden; color: #0e5263; background: #dcecef; border-bottom: 1px solid rgba(16,42,51,.09); }
.course-mle .training-card-art { background: #e4e5dd; }
.course-qinsy .training-card-art { background: #d4e2e0; }
.course-qimera .training-card-art { background: #e9e1d2; }
.training-art { display: block; width: 100%; height: 100%; }
.training-art-label { position: absolute; left: 28px; top: 22px; font: 700 .76rem/1.3 ui-monospace,monospace; letter-spacing: .12em; }
.training-card-body { display: flex; flex: 1; flex-direction: column; padding: 26px 28px 28px; }
.training-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
.training-badge { display: inline-block; width: fit-content; padding: 5px 11px; border: 1px solid #a0c4bc; border-radius: 999px; color: #285951; background: #ecf6f1; font-size: .73rem; font-weight: 650; }
.training-badge.preparing { color: #76521d; border-color: #ccb890; background: #faf1df; }
.training-course-index { color: #536a70; font: 600 .76rem/1 ui-monospace,monospace; }
.training-card h3 { margin: 0 0 10px; font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.22; }
.training-card-body > p { margin: 0 0 16px; color: var(--ink-muted); }
.training-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 12px; padding: 0; list-style: none; font-size: .85rem; font-weight: 650; }
.training-facts li + li::before { content: '·'; margin-right: 12px; }
.training-card-body > .training-card-format { font-size: .8rem; margin-bottom: 24px; }
.training-card-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 22px; border-top: 1px solid var(--training-border); }
.training-price-label, .training-card-price { display: block; }
.training-price-label { color: var(--ink-muted); font-size: .76rem; }
.training-card-price { font-size: 1.5rem; line-height: 1.4; letter-spacing: -.035em; }
.training-card-access { display: block; margin-top: 3px; color: #536a70; font-size: .72rem; }
.training-page .training-section .button { color: var(--ink); border-color: #789fa7; background: rgba(255,255,255,.45); font-size: .86rem; }
.training-page .training-section .button-primary { color: #fff; border-color: #105b6b; background: #105b6b; }
.training-page .training-section .button:hover { background: #e2f2f2; }
.training-page .training-section .button-primary:hover { background: #094b59; }
.training-format-grid, .training-practice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.training-format-grid article { padding: 26px; border: 1px solid var(--training-border); border-radius: 20px; background: rgba(255,255,255,.3); }
.training-format-grid article > span, .training-practice-grid article > span { font: 600 .8rem/1 ui-monospace,monospace; color: #16697b; }
.training-format-grid h3 { margin: 18px 0 12px; font-size: 1.2rem; }
.training-format-grid p { color: var(--ink-muted); margin: 0; }
.training-note { max-width: 1050px; margin: 25px 0 0; color: #4c646a; font-size: .88rem; line-height: 1.7; }
.training-lab { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 55px; align-items: center; padding: 42px; border: 1px solid #9bb7bd; border-radius: 28px; background: rgba(255,255,255,.35); }
.training-lab-mark { display: grid; place-items: center; padding: 22px; color: #d9e9eb; background: #0a3b49; border-radius: 24px; aspect-ratio: 1; }
.training-lab-mark > span { justify-self: start; color: #86dfd0; font: 650 .8rem/1 ui-monospace,monospace; letter-spacing: .13em; }
.training-lab-mark svg { width: 160px; max-width: 100%; }
.training-lab h2 { margin-bottom: 20px; }
.training-lab p:not(.eyebrow) { color: #46626a; }
.training-lab-note { font-size: .86rem; }
.training-lab .button { margin-top: 12px; }
.training-terms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; gap: 22px 35px; }
.training-terms > div { padding: 22px 0 0; border-top: 1px solid #aec0bf; }
.training-terms dt { margin-bottom: 8px; font-weight: 700; }
.training-terms dd { margin: 0; color: var(--ink-muted); font-size: .94rem; }
.training-page .training-course-hero { padding: 130px 0 65px; min-height: 0; }
.training-hero-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(290px,.8fr); align-items: center; gap: 48px; margin-top: 32px; }
.training-page .training-course-hero h1 { font-size: clamp(2.2rem,3.9vw,3.7rem); line-height: 1.13; margin: 0 0 24px; }
.training-course-hero .eyebrow { margin-top: 22px; }
.training-course-hero .training-badge { background: #173e43; border-color: #547d7a; color: #d8eee9; }
.training-course-hero .training-badge.preparing { background: #3d3930; border-color: #8c7755; color: #f4dfba; }
.training-actions { margin-top: 26px; }
.training-hero-art { min-width: 0; padding: 32px 24px; border: 1px solid rgba(183,221,224,.25); border-radius: 26px; color: var(--ink); background: linear-gradient(140deg,#e0eceb,#c5dadd); }
.training-hero-art .training-art { height: 180px; color: #1f616e; }
.training-hero-art > strong { display: block; margin-top: 24px; font-size: 2.9rem; font-weight: 580; line-height: 1.1; letter-spacing: -.035em; }
.training-hero-art > span { display: block; margin-top: 14px; color: #42616a; font-size: .87rem; }
.training-intro-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 65px; }
.training-intro-grid > div > p:not(.eyebrow) { color: var(--ink-muted); }
.training-intro-grid h3 { margin: 28px 0 10px; font-size: 1.2rem; }
.training-outcomes { display: grid; gap: 17px; margin: 25px 0 0; padding: 0; list-style: none; }
.training-outcomes li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 15px; padding-top: 16px; border-top: 1px solid #a7bdbf; }
.training-outcomes span { color: #16697b; font: 600 .82rem/1.7 ui-monospace,monospace; }
.training-status-note { padding: 17px; border: 1px solid #c6b593; border-radius: 14px; background: #f2e9d9; color: #675335 !important; font-size: .9rem; }
.training-route-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.training-route { min-width: 0; padding: 28px; border: 1px solid var(--training-border); border-radius: 22px; background: rgba(255,255,255,.45); }
.training-route h3 { margin: 0 0 12px; font-size: 1.6rem; }
.training-route > p { color: var(--ink-muted); }
.training-route dl { display: grid; gap: 8px; font-size: .85rem; }
.training-route dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.training-route dt { color: #536a70; }
.training-route dd { margin: 0; text-align: right; font-weight: 600; }
.training-route-price { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid var(--training-border); }
.training-route-price span { font-size: .8rem; }
.training-route-price strong { color: var(--ink); font-size: 1.55rem; }
.training-programme-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.training-programme-toolbar p { margin: 0; color: var(--ink-muted); font-size: .87rem; }
.training-expand { padding: 10px 14px; color: #164f5e; border: 1px solid #9bb5bb; border-radius: 999px; font-family: inherit; font-size: .84rem; font-weight: 650; line-height: 1.3; background: rgba(255,255,255,.45); cursor: pointer; }
.training-expand[hidden] { display: none; }
.training-modules { display: grid; gap: 13px; }
.training-module { border: 1px solid #b4c0bb; border-radius: 19px; background: rgba(255,255,255,.55); overflow: clip; }
.training-module summary { display: grid; grid-template-columns: 40px minmax(0,1fr) auto 15px; gap: 18px; align-items: center; padding: 23px 27px; cursor: pointer; list-style: none; }
.training-module summary::-webkit-details-marker { display: none; }
.training-module summary::after { content: '+'; color: #16697b; font-size: 1.5rem; text-align: center; line-height: 1; }
.training-module[open] summary::after { content: '−'; }
.training-module summary h3 { margin: 0; font-size: 1.2rem; font-weight: 650; line-height: 1.35; }
.training-module-number { color: #16697b; font: 650 .86rem/1 ui-monospace,monospace; }
.training-module-count { color: var(--ink-muted); font-size: .78rem; white-space: nowrap; }
.training-lessons { margin: 0; padding: 0 27px 8px 85px; list-style: none; }
.training-lessons li { padding: 22px 0; border-top: 1px solid #c1cac5; }
.training-lessons h4 { margin: 0; font-size: 1rem; font-weight: 650; letter-spacing: -.01em; line-height: 1.45; }
.training-lessons p { margin: 8px 0 0; color: #52666b; font-size: .88rem; line-height: 1.7; }
.training-lesson-route { display: inline-block; margin-top: 8px; color: #276470; font-size: .7rem; }
.training-final-note { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 28px; margin-top: 24px; padding: 23px 27px; border: 1px solid #a4bdbd; border-radius: 18px; background: #e1eae4; }
.training-final-note p { margin: 0; color: #4c6366; font-size: .9rem; }
.training-practice-grid article { padding: 26px 26px 24px; border-left: 3px solid #228193; background: rgba(255,255,255,.32); border-radius: 0 17px 17px 0; }
.training-practice-grid h3 { font-size: 1.08rem; line-height: 1.5; margin: 14px 0 0; font-weight: 620; }
.training-planned-labs { margin-top: 36px; padding-top: 30px; border-top: 1px solid #a6bfc2; }
.training-planned-labs h3 { font-size: 1.35rem; margin: 0 0 20px; }
.training-planned-labs ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 42px; padding-left: 23px; color: #46626a; font-size: .9rem; }
.training-planned-labs li { padding-left: 6px; }
.training-time-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.training-time-grid > div { padding: 28px; border: 1px solid var(--training-border); border-radius: 21px; background: rgba(255,255,255,.35); }
.training-time-grid strong { display: block; font-size: clamp(1.6rem,2.8vw,2.5rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.3; }
.training-time-grid span { display: block; margin-top: 13px; color: #536a70; font-size: .9rem; }
.training-price-panel { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(270px,.6fr); gap: 48px; align-items: center; }
.training-price-panel > div > p:not(.eyebrow):not(.training-proposal) { color: var(--ink-muted); }
.training-price-panel .training-proposal { margin-top: 20px; }
.training-price-summary { padding: 34px; border: 1px solid #a4bec3; border-radius: 25px; background: rgba(255,255,255,.55); }
.training-price-summary > span { display: block; color: #536a70; font-size: .85rem; }
.training-price-summary > strong { display: block; margin: 12px 0; font-size: clamp(2.5rem,3.4vw,3.5rem); line-height: 1.15; font-weight: 610; letter-spacing: -.04em; }
.training-price-summary small { color: #435e65; font-size: .87rem; }
.training-price-summary p { margin: 18px 0 0; color: #536a70; font-size: .8rem; }
.training-tariffs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-top: 36px; }
.training-tariff { min-width: 0; padding: 24px; border: 1px solid #adc3c5; border-radius: 20px; background: rgba(255,255,255,.5); }
.training-tariff.recommended { border: 2px solid #176979; background: #e3f1ed; padding: 23px; }
.training-tariff > span { color: #355d65; font-size: .73rem; font-weight: 650; }
.training-tariff h3 { margin: 18px 0 8px; font-size: 1.45rem; }
.training-tariff p { margin: 0 0 20px; color: #536a70; font-size: .85rem; }
.training-tariff > strong { display: block; font-size: 1.65rem; white-space: nowrap; }
.training-tariff-routes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 36px; }
.training-tariff-route { min-width: 0; padding: 27px; border: 1px solid #adc3c5; border-radius: 22px; background: rgba(255,255,255,.4); }
.training-tariff-route h3 { margin: 0 0 20px; font-size: 1.4rem; }
.training-tariff-route dl { margin: 0; display: grid; gap: 7px; }
.training-tariff-route dl > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 12px 14px; border-radius: 10px; }
.training-tariff-route .recommended { color: #124e5c; background: #daeae6; }
.training-tariff-route dt { font-size: .81rem; line-height: 1.5; }
.training-tariff-route dt small { display: block; font-size: .7rem; }
.training-tariff-route dd { margin: 0; font-size: 1.08rem; font-weight: 700; white-space: nowrap; }
.training-other { display: grid; grid-template-columns: .65fr 1.35fr; gap: 44px; }
.training-other > div:last-child { display: grid; gap: 12px; }
.training-other a { display: grid; grid-template-columns: 88px minmax(0,1fr) 20px; align-items: center; gap: 18px; padding: 17px 22px; border: 1px solid #a9bcbf; border-radius: 15px; text-decoration: none; font-weight: 700; background: rgba(255,255,255,.35); }
.training-other a span { color: #536a70; font-weight: 450; font-size: .85rem; }
@media (max-width: 1000px) {
  .training-tariffs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .training-hero-layout { grid-template-columns: 1fr; gap: 30px; }
  .training-hero-art { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 22px 30px; }
  .training-hero-art .training-art { grid-row: span 2; height: 135px; }
  .training-hero-art > strong { margin: 0; }
  .training-hero-art > span { align-self: start; }
  .training-intro-grid { gap: 35px; }
  .training-format-grid, .training-practice-grid { grid-template-columns: 1fr; gap: 16px; }
  .training-lab { grid-template-columns: 145px minmax(0,1fr); padding: 28px; gap: 30px; }
  .training-price-panel { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 700px) {
  .training-tariffs, .training-tariff-routes { grid-template-columns: 1fr; }
  .training-tariff-route { padding: 22px 16px; }
  .training-tariff-route dl > div { padding: 12px 8px; gap: 10px; }
  .training-page .container { width: calc(100% - 36px); }
  .training-page .training-section { padding: 50px 0; }
  .training-page .training-catalog-hero { min-height: 0; padding: 118px 0 44px; }
  .training-page .training-catalog-hero h1 { font-size: 2.35rem; }
  .training-page .training-course-hero { padding: 110px 0 42px; }
  .training-page .training-course-hero h1 { font-size: 2.2rem; overflow-wrap: break-word; }
  .training-hero-layout { margin-top: 23px; }
  .training-heading, .training-intro-grid, .training-terms, .training-route-grid, .training-catalog, .training-time-grid, .training-other { grid-template-columns: 1fr; gap: 24px; }
  .training-heading { margin-bottom: 24px; gap: 16px; }
  .training-heading h2, .training-page .training-intro-grid h2, .training-lab h2, .training-price-panel h2, .training-other h2 { font-size: 1.9rem; }
  .training-hero-meta { margin-top: 22px; gap: 8px; flex-direction: column; }
  .training-section-nav .container { gap: 0 20px; padding-block: 10px; }
  .training-section-nav a { font-size: .8rem; }
  .training-card-art { height: 135px; }
  .training-card-body { padding: 23px; }
  .training-card h3 { font-size: 1.65rem; }
  .training-card-bottom { align-items: start; }
  .training-card-bottom > div { width: 100%; }
  .training-page .training-section .button { min-height: 48px; padding: 10px 18px; }
  .training-lab { grid-template-columns: 1fr; padding: 24px; gap: 24px; }
  .training-lab-mark { display: none; }
  .training-hero-art { padding: 14px 20px; gap: 0 18px; }
  .training-hero-art .training-art { height: 105px; }
  .training-hero-art > strong { font-size: 2.1rem; }
  .training-hero-art > span { font-size: .74rem; margin-top: 8px; }
  .training-route { padding: 23px; }
  .training-route dd { font-size: .82rem; }
  .training-module summary { grid-template-columns: 25px minmax(0,1fr) 14px; padding: 20px 18px; gap: 12px; }
  .training-module summary h3 { font-size: 1.04rem; }
  .training-module-count { display: none; }
  .training-lessons { padding: 0 20px 4px; }
  .training-final-note { grid-template-columns: 1fr; gap: 10px; padding: 22px; }
  .training-planned-labs ol { grid-template-columns: 1fr; gap: 13px; }
  .training-time-grid > div { padding: 25px; }
  .training-price-summary { padding: 27px; }
  .training-other a { grid-template-columns: 58px minmax(0,1fr) 15px; gap: 12px; padding: 16px; }
}

/* Scoped PR #3 enhancements: offer treatment belongs inside existing course cards. */
.training-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.training-card-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 14px;min-width:0}
.training-card-price-row .training-card-price{margin:0}
.training-special-tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid #d5a49a;background:#f9e0d9;color:#8a302b;font-size:.73rem;font-weight:750;line-height:1.5}
.training-special-reference{color:#6c787a;font-size:.97rem;text-decoration:line-through;text-decoration-thickness:1.5px}
.training-card [data-featured-special-only][hidden]{display:none!important}
.training-card[data-featured-special-active="true"] .training-card-price{color:#ac342b;font-size:1.75rem;font-weight:750}
.training-bundle-tariffs>.training-tariff-special{border-left:3px solid #af5447;padding-left:10px;background:#fff1e9}
.training-bundle-tariffs .training-tariff-special dt .training-special-tag{margin-left:5px}
.training-bundle-tariffs .training-tariff-special dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 11px;white-space:normal}
.training-sale-price{color:#ac342b;font-weight:750}
/* The row highlight is informational, not an interactive pill. */
.training-bundle-tariffs>div[data-term-selected="true"]{background:#e2efeb;border-radius:0;box-shadow:none;cursor:default}
.training-lab-bundles{margin-top:42px;scroll-margin-top:115px}
.training-lab-bundles-heading{max-width:870px;margin-bottom:25px}
.training-lab-bundles-heading h3{font-size:clamp(1.6rem,2.5vw,2.15rem);margin:10px 0 14px;line-height:1.2}
.training-lab-bundles-heading p:not(.eyebrow){color:#46626a;line-height:1.65}
.training-lab-bundle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.training-lab-bundle-card{display:flex;flex-direction:column;align-items:stretch}
.training-lab-bundle-card h4{font-size:1.35rem;line-height:1.3;margin:15px 0 10px;overflow-wrap:anywhere}
.training-lab-bundle-card>p{font-size:.85rem;line-height:1.6}
.training-lab-bundle-card>.button{align-self:flex-start;margin-top:auto}
.training-lab-bundle-tariffs{margin:17px 0 23px}
.training-lab-bundle-tariffs>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px 15px;padding:10px 0;border-bottom:1px solid var(--training-border)}
.training-lab-bundle-tariffs>div[data-term-selected="true"]{color:#155d67;background:#edf7f3;border-radius:0;padding-inline:0;box-shadow:none;cursor:default}
.training-lab-bundle-tariffs dt{font-size:.85rem;font-weight:600}
.training-lab-bundle-tariffs dt small{display:block;font-size:.73rem;font-weight:400;margin-top:4px;color:#536a70}
.training-lab-bundle-tariffs dd{font-size:1.08rem;font-weight:750;margin:0;white-space:nowrap}
@media(max-width:700px){
  .training-lab-bundle-grid{grid-template-columns:minmax(0,1fr)}
  .training-card[data-featured-special-active="true"] .training-card-price{font-size:1.58rem}
  .training-card-price-row{gap:6px 10px}
  .training-lab-bundles{margin-top:32px}
  .training-lab-bundle-card h4{font-size:1.25rem}
}


/* Shared current catalogue controls and illustrated cards. */
.training-v2-switch{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:12px 0 27px;color:#42616b;font-size:.83rem}
.training-v2-switch[hidden],.training-v2-filters[hidden],[data-v2-price][hidden],[data-v2-sale-term][hidden],[data-v2-lab-term][hidden],.training-v2-list li[hidden]{display:none!important}
.training-v2-buttons{display:flex;gap:4px;padding:5px;border:1px solid #bdd3d1;border-radius:999px;background:#ecf3f1;max-width:100%}
.training-v2-buttons button,.training-v2-filters button{appearance:none;border:1px solid transparent;border-radius:999px;background:transparent;padding:10px 17px;min-height:44px;font:inherit;font-size:.85rem;color:#24515b;cursor:pointer;font-weight:650;white-space:nowrap}
.training-v2-buttons button[aria-pressed=true],.training-v2-filters button[aria-pressed=true]{background:#154f5c;color:#fff}
.training-v2-title{margin:28px 0 16px;font-size:1.32rem;color:#153d48}
.training-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}
.training-v2-card{padding:0;background:#fffdf8}
.training-v2-card h3{font-size:1.55rem;margin:18px 0 12px;line-height:1.25}
.training-v2-card .training-card-body>p{font-size:.88rem;line-height:1.65;color:#536a70;margin:0 0 16px}
.training-card-format a,.training-v2-list small a{color:inherit;text-decoration-color:#a4b9bc;text-underline-offset:3px}
.training-v2-card .training-card-body>.training-preparation-note{font-size:.77rem}
.training-v2-card-bottom{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.training-offer-pricing{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.training-v2-card-bottom>.training-offer-pricing{min-height:88px;justify-content:flex-end}
.training-offer-pricing>.training-v2-price{font-size:1.65rem;color:#153d48;font-weight:750}
.training-offer-pricing>[data-v2-sale-term="90"]~[data-v2-price="90"]{color:#ac342b}
.training-offer-pricing>small{font-size:.75rem;color:#536a70;line-height:1.5}
.training-v2-special{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:.8rem;color:#587077}
.training-v2-special del{color:#6c787a;font-size:.96rem}
.training-v2-card-bottom>.button{min-height:46px}
.training-programme-link{font-size:.8rem;color:#126579;text-underline-offset:3px}
.training-skill-footer{align-items:flex-end;margin-top:18px}
.training-skill-footer .training-offer-pricing{flex:1 1 150px}
.training-pathway .training-offer-pricing{margin:12px 0}
.training-qimera-variants .training-offer-pricing{margin:20px 0}
.training-v2-filters{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.training-v2-filters button{border-color:#c0d2d1;background:#fffdf8}
.training-v2-counter{font-size:.78rem;color:#567078;margin:0 0 10px}
.training-v2-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--training-border)}
.training-v2-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 22px;align-items:center;border-bottom:1px solid var(--training-border);padding:17px 7px;scroll-margin-top:110px}
.training-v2-list>li strong{display:block;font-size:.93rem}
.training-v2-list>li small{display:block;font-size:.75rem;line-height:1.55;margin-top:6px;color:#536a70}
.training-v2-list-price{text-align:right;white-space:nowrap}
.training-v2-list-price strong{font-size:1.04rem;color:#163d48}
.training-v2-list li>.button{font-size:.78rem;min-height:44px;padding:10px 14px;justify-self:start}
@media(max-width:700px){
 .training-v2-grid{grid-template-columns:minmax(0,1fr);gap:15px}
 .training-v2-card .training-card-body{padding:22px}
 .training-v2-card h3{font-size:1.5rem}
 .training-v2-switch{justify-content:flex-start;gap:10px}
 .training-v2-buttons{width:100%;gap:2px;padding:4px}
 .training-v2-buttons button{flex:1 1 0;min-width:0;padding:10px 5px;font-size:.78rem}
 .training-v2-list>li{grid-template-columns:minmax(0,1fr);gap:9px;padding:17px 0}
 .training-v2-list-price{text-align:left}
 .training-skill-footer .training-offer-pricing{flex-basis:auto}
}
