.gsc-training-page { --gsc-training-border: #e3e5e8; max-width: 1180px; }
.gsc-training-page .gsc-training-page__hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(24px, 4vw, 48px); padding: clamp(24px, 4vw, 48px); border: 1px solid var(--gsc-training-border); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(0, 0, 0, .04); }
.gsc-training-page__hero h2 { margin: .3em 0 .5em; font-size: clamp(28px, 3.2vw, 43px); line-height: 1.15; }
.gsc-training-page__lead { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.7; }
.gsc-training-page figure { margin: 0; }
.gsc-training-page__hero figure { align-self: stretch; display: flex; align-items: center; min-width: 0; overflow: hidden; border-radius: 12px; }
.gsc-training-page__hero-image { width: 100%; height: auto; max-height: 430px; object-fit: contain; }
.gsc-training-page__intro { max-width: 1000px; }
.gsc-training-page :is(p, li, td) { line-height: 1.75; }
.gsc-training-page h2 { scroll-margin-top: 125px; }
.gsc-training-page__pathways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gsc-training-page__pathways > article { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--gsc-training-border); border-top: 3px solid var(--gsc-accent); border-radius: 14px; background: #fff; }
.gsc-training-page__pathways h2 { font-size: clamp(23px, 2.3vw, 30px); line-height: 1.3; }
.gsc-training-page__pathways .button { margin-top: auto; }
.gsc-training-page .gsc-training-page__pathway-visual { width: 100%; max-width: 100%; margin: 0 0 24px; padding: 10px; border: 1px solid var(--gsc-training-border); border-radius: 10px; background: #fff; }
.gsc-training-page .gsc-training-page__pathway-image { display: block; width: 100%; height: clamp(160px, 30vw, 220px); max-width: 100%; object-fit: contain; object-position: center; background: #fff; }
.gsc-training-page .gsc-training-page__pathway-visual figcaption { margin-top: 12px; color: #4b4d52; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.gsc-training-page__outcomes > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0; list-style: none; }
.gsc-training-page__outcomes > ul > li { padding: 20px 22px; border: 1px solid var(--gsc-training-border); border-radius: 10px; background: #fafafa; }
.gsc-training-page__outcomes :is(strong, span) { display: block; }
.gsc-training-page__toc { padding: 24px; border: 1px solid var(--gsc-training-border); border-left: 3px solid var(--gsc-accent); border-radius: 10px; }
.gsc-training-page__toc > ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 32px; margin: 14px 0 0; padding-left: 23px; }
.gsc-training-page__toc a { text-decoration: underline; text-underline-offset: 3px; }
.gsc-training-page__modules > article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 22px; padding: 30px 0; border-bottom: 1px solid var(--gsc-training-border); scroll-margin-top: 125px; }
.gsc-training-page__module-index { margin: 0; color: var(--gsc-accent); font-size: 28px; font-weight: 700; line-height: 1.2; }
.gsc-training-page__modules h3 { margin-top: 0; font-size: clamp(21px, 2vw, 26px); line-height: 1.35; }
.gsc-training-page .gsc-training-page__module-visual { max-width: 100%; margin: 24px 0 0; padding: 16px; border: 1px solid var(--gsc-training-border); border-radius: 12px; background: #fff; }
.gsc-training-page .gsc-training-page__module-image { display: block; width: 100%; height: clamp(180px, 32vw, 360px); max-width: 100%; object-fit: contain; object-position: center; background: #fff; }
.gsc-training-page .gsc-training-page__module-visual figcaption { margin-top: 14px; color: #4b4d52; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.gsc-training-page__table-wrap { max-width: 100%; margin: 20px 0 32px; overflow-x: auto; border: 1px solid var(--gsc-training-border); border-radius: 10px; }
.gsc-training-page__table-wrap table { width: 100%; margin: 0; border-collapse: collapse; text-align: left; font-size: 15px; }
.gsc-training-page__table-wrap th, .gsc-training-page__table-wrap td { padding: 15px 18px; border: 0; border-bottom: 1px solid var(--gsc-training-border); vertical-align: top; }
.gsc-training-page__table-wrap thead { background: #f4f5f6; }
.gsc-training-page__table-wrap tbody tr:last-child > * { border-bottom: 0; }
.gsc-training-page__table-wrap th:first-child { width: 25%; }
.gsc-training-page__table-wrap td:last-child { width: 18%; }
.gsc-training-page__application-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gsc-training-page__application-grid > article { padding: 24px; border: 1px solid var(--gsc-training-border); border-radius: 12px; }
.gsc-training-page__organization > ol { padding-left: 25px; }
.gsc-training-page__organization > ol > li { padding: 8px 0 8px 8px; }
.gsc-training-page__organization li > p { margin-bottom: 0; }
.gsc-training-page__catalog-links, .gsc-training-page__crosslinks { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 0; list-style: none; }
.gsc-training-page__product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.gsc-training-page__product-grid > article { padding: 18px; border: 1px solid var(--gsc-training-border); border-radius: 12px; background: #fff; }
.gsc-training-page__product-grid article > a { display: flex; flex-direction: column; height: 100%; color: inherit; }
.gsc-training-page .gsc-training-page__product-grid figure { position: relative; display: block; flex: none; width: 100%; min-height: 0; aspect-ratio: 4 / 3; margin: 0 0 16px; overflow: hidden; background: #fff; }
.gsc-training-page .gsc-training-page__product-grid figure > img { position: absolute; inset: 0; display: block; box-sizing: border-box; width: 100%; height: 100%; max-width: 100%; max-height: 100%; padding: 10px; object-fit: contain; object-position: center; }
.gsc-training-page__product-grid h3 { font-size: 19px; line-height: 1.4; }
.gsc-training-page__product-grid a > span { margin-top: auto; color: var(--gsc-accent); text-decoration: underline; text-underline-offset: 3px; }
.gsc-training-page__crosslinks { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--gsc-training-border); }
.gsc-training-page__faq summary { font-size: 18px; }
.gsc-training-page a { overflow-wrap: anywhere; }
.gsc-training-page a:focus-visible { outline: 2px solid var(--gsc-accent); outline-offset: 4px; }
@media (max-width: 900px) {
	.gsc-training-page .gsc-training-page__hero { grid-template-columns: 1fr; }
	.gsc-training-page__hero-image { max-height: 370px; }
	.gsc-training-page__product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 689px) {
	.gsc-training-page__pathways, .gsc-training-page__outcomes > ul, .gsc-training-page__toc > ol, .gsc-training-page__application-grid, .gsc-training-page__product-grid { grid-template-columns: 1fr; }
	.gsc-training-page__modules > article { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
	.gsc-training-page__module-index { font-size: 24px; }
	.gsc-training-page .gsc-training-page__module-visual { padding: 10px; }
	.gsc-training-page__table-wrap table { min-width: 620px; }
	.gsc-training-page__toc { padding: 18px; }
}
