/* Short-course introduction. All rules are scoped to this page. */
.training-page{--training-green:#176350;--training-dark:#132f32;--training-paper:#f3f4ef;color:#183136}
.training-page .training-wrap{width:88%;max-width:1320px;margin:0 auto}
.training-page figure{margin:0}.training-page img{display:block;max-width:100%}
.training-page h1,.training-page h2,.training-page h3{word-break:keep-all;letter-spacing:-.035em;color:inherit}
.training-page p{word-break:keep-all}.training-page a:focus-visible{outline:3px solid #2483c4;outline-offset:6px}
.training-page .training-label{font-size:13px;font-weight:650;color:var(--training-green);letter-spacing:.04em;margin:0 0 20px}
.training-hero{background:var(--training-paper);overflow:hidden;border-bottom:1px solid #dce2da}
.training-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:stretch;gap:6%;padding:58px 0 54px}
.training-hero-copy{padding:20px 0 12px;align-self:center}
.training-page .training-hero h1{font-size:clamp(40px,4.15vw,64px);line-height:1.2;margin:0 0 28px;max-width:510px;font-weight:750;letter-spacing:-.055em;text-wrap:balance}
.training-hero-description{font-size:18px;line-height:1.95;color:#465a57;max-width:490px;margin:0 0 32px}
.training-page .training-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 25px;background:var(--training-green);color:white;font-size:15px;font-weight:650;transition:background .2s,transform .2s;border:1px solid var(--training-green)}
.training-page .training-button:hover{background:#114b3d;transform:translateY(-2px)}
.training-page .training-hero-note{font-size:12px;line-height:1.6;color:#65756c;margin:42px 0 0}
.training-hero-photo{position:relative;min-height:500px;overflow:hidden;border-radius:2px 2px 72px 2px}
.training-hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% 55%}
.training-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:white;padding:55px 26px 24px;font-size:12px;background:linear-gradient(transparent,#071e1dda)}
.training-purpose{display:grid;grid-template-columns:230px minmax(0,1fr);gap:6%;padding:94px 0 96px}
.training-section-label{display:flex;gap:16px;align-items:baseline;padding-top:8px;font-size:14px;font-weight:650;color:#466157}
.training-section-label p{margin:0}.training-index{font-size:12px;color:#5c7f70;letter-spacing:.04em}
.training-page h2{font-size:clamp(28px,2.7vw,39px);line-height:1.4;margin:0 0 28px;font-weight:700;text-wrap:balance}
.training-purpose-copy>h2{max-width:730px}.training-purpose-copy>p{font-size:17px;line-height:1.95;color:#53645f;margin:0 0 18px;max-width:890px}
.training-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px;padding-top:26px;border-top:1px solid #cbd8cf}
.training-page .training-principles h3{font-size:18px;line-height:1.5;margin:0 0 12px}.training-principles p{font-size:14px;line-height:1.85;color:#5c6d64;margin:0}
.training-learning{background:var(--training-dark);color:#f7f9f7;padding:76px 0 80px;scroll-margin-top:115px}
.training-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:7%;margin-bottom:42px}
.training-section-top>div{flex:1;min-width:0}.training-section-top h2{margin:0}.training-section-top>p{width:370px;max-width:42%;font-size:15px;line-height:1.85;color:#596c62;margin:0}
.training-learning .training-label{color:#a4d5bf}.training-learning .training-section-top>p{color:#c0d0cc}
.training-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #657c7480}
.training-steps li{padding:28px 25px 0;border-right:1px solid #657c745e;display:flex;flex-direction:column}.training-steps li:first-child{padding-left:0}.training-steps li:last-child{border-right:0;padding-right:0}
.training-step-number{font-size:36px;letter-spacing:-.05em;font-weight:400;color:#b6d4bf;margin-bottom:27px}
.training-page .training-steps h3{font-size:21px;line-height:1.5;margin:0 0 16px}.training-steps p{font-size:15px;line-height:1.85;color:#c7d6d0;margin:0 0 28px}
.training-step-detail{display:block;font-size:12px;color:#a1c3b7;margin-top:auto;padding-top:18px;border-top:1px solid #657c745e;line-height:1.8}
.training-projects{padding:94px 0 80px}.training-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.training-project{min-width:0}.training-project figure{aspect-ratio:1.5;background:#182224;overflow:hidden}.training-project figure img{width:100%;height:100%;object-fit:contain;transition:transform .45s}.training-project:hover img{transform:scale(1.025)}
.training-project>div{padding:24px 0 0}.training-page .training-topic{font-size:12px;color:var(--training-green);font-weight:650;margin:0 0 12px;letter-spacing:.025em}.training-page .training-project h3{font-size:22px;line-height:1.45;margin:0 0 15px}.training-project>div>p:last-child{font-size:15px;line-height:1.85;color:#596b62;margin:0}
.training-page .training-source-note{font-size:12px;color:#68796f;margin:30px 0 0;text-align:right;line-height:1.7}
.training-practice{background:#f2f5f2;padding:80px 0}.training-practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.training-practice-photos{display:grid;grid-template-columns:1fr .82fr;gap:16px;align-items:start}.training-practice-photos figure:nth-child(2){padding-top:110px}.training-practice-photos img{width:100%;height:330px;object-fit:cover;object-position:center}.training-practice-photos figcaption{font-size:12px;color:#617466;line-height:1.7;padding:12px 0}.training-practice-copy>p:not(.training-label){font-size:16px;line-height:1.9;color:#54685b;margin:0 0 30px}
.training-audiences{margin:0 0 26px}.training-audiences>div{display:grid;grid-template-columns:100px 1fr;gap:22px;border-top:1px solid #d2ddd4;padding:19px 0}.training-audiences dt{font-size:14px;font-weight:650;padding-top:2px}.training-audiences dd{font-size:14px;line-height:1.85;color:#566b5d;margin:0;word-break:keep-all}.training-page .training-text-link{display:inline-block;color:var(--training-green);font-size:14px;font-weight:650;border-bottom:1px solid #9ab5a4;padding-bottom:7px}
.training-contact{display:flex;align-items:center;justify-content:space-between;gap:7%;padding:78px 0 85px}.training-contact>div:first-child{max-width:760px}.training-contact h2{font-size:32px;margin-bottom:18px}.training-contact p:not(.training-label){font-size:15px;line-height:1.9;color:#58695e;margin:0}.training-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:20px;flex-shrink:0}.training-email{font-size:13px;color:#476553;text-align:center}
@media(min-width:1600px){.training-hero-grid{padding-top:70px;padding-bottom:70px}.training-hero-photo{min-height:550px}}
@media(max-width:1050px){.training-hero-grid{gap:5%;grid-template-columns:1fr 1fr;padding-top:44px;padding-bottom:44px}.training-hero-photo{min-height:460px}.training-hero-description{font-size:16px}.training-purpose{grid-template-columns:180px 1fr;gap:4%;padding:66px 0}.training-principles{gap:18px}.training-section-top{gap:5%}.training-steps{grid-template-columns:1fr 1fr;gap:30px 0}.training-steps li:nth-child(2){border-right:0}.training-steps li:nth-child(3){padding-left:0}.training-steps li:nth-child(2n){padding-right:0}.training-project-grid{gap:20px}.training-page .training-project h3{font-size:20px}.training-practice-grid{grid-template-columns:1fr 1.15fr;gap:5%}.training-practice-photos{display:block}.training-practice-photos figure:nth-child(2){padding-top:20px}.training-practice-photos img{height:220px}.training-contact{align-items:flex-start}.training-contact h2{font-size:28px}}
@media(max-width:700px){.training-page .training-wrap{width:88%}.training-hero-grid{display:flex;flex-direction:column;padding:32px 0 30px;gap:30px}.training-hero-copy{padding:0}.training-page .training-label{font-size:12px;margin-bottom:16px}.training-page .training-hero h1{font-size:40px;max-width:360px;margin-bottom:22px}.training-hero-description{font-size:16px;line-height:1.9;margin-bottom:25px}.training-page .training-hero-note{margin-top:25px;font-size:11px}.training-hero-photo{min-height:0;height:300px;border-radius:2px 2px 48px 2px}.training-hero-photo figcaption{font-size:11px;padding:50px 18px 18px}.training-purpose{display:block;padding:48px 0}.training-section-label{margin-bottom:24px;font-size:13px}.training-page h2{font-size:28px;line-height:1.45;margin-bottom:23px;text-wrap:initial}.training-purpose-copy>p{font-size:15px;line-height:1.9}.training-principles{grid-template-columns:1fr;gap:22px;margin-top:30px;padding-top:25px}.training-page .training-principles h3{font-size:17px;margin-bottom:7px}.training-principles p{font-size:14px}.training-learning{padding:48px 0;scroll-margin-top:90px}.training-section-top{display:block;margin-bottom:28px}.training-section-top>p{width:auto;max-width:none;margin:18px 0 0;font-size:14px}.training-section-top h2{margin:0}.training-steps{grid-template-columns:1fr;gap:0}.training-steps li,.training-steps li:nth-child(n){padding:25px 0;border-right:0;border-bottom:1px solid #657c745e}.training-steps li:last-child{border-bottom:0;padding-bottom:0}.training-step-number{font-size:27px;margin-bottom:12px}.training-page .training-steps h3{font-size:21px;margin-bottom:10px}.training-steps p{font-size:14px;margin-bottom:17px}.training-step-detail{border:0;padding-top:0;font-size:12px}.training-projects{padding:48px 0}.training-project-grid{grid-template-columns:1fr;gap:36px}.training-project>div{padding-top:18px}.training-page .training-project h3{font-size:22px;margin-bottom:12px}.training-project>div>p:last-child{font-size:14px}.training-page .training-source-note{text-align:left;font-size:11px;margin-top:25px}.training-practice{padding:48px 0}.training-practice-grid{display:flex;flex-direction:column-reverse;gap:30px}.training-practice-copy>p:not(.training-label){font-size:15px}.training-audiences>div{grid-template-columns:90px 1fr;gap:14px}.training-audiences dd{font-size:14px}.training-practice-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.training-practice-photos figure:nth-child(2){padding-top:28px}.training-practice-photos img{height:195px}.training-practice-photos figcaption{font-size:11px}.training-contact{display:block;padding:48px 0}.training-contact h2{font-size:27px}.training-contact-actions{align-items:flex-start;margin-top:26px;gap:17px}.training-page .training-button{font-size:14px;min-height:50px}.training-email{font-size:12px}.training-page #cms-extra-blocks{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.training-page *, .training-page *::before,.training-page *::after{transition:none!important;scroll-behavior:auto!important}}

/* Additional course topics: two desktop rows with explicitly labelled diagrams. */
.training-page .training-project-grid{row-gap:48px}
.training-page .training-concept{position:relative}
.training-page .training-concept figcaption{position:absolute;right:12px;bottom:12px;padding:5px 9px;color:#d8e7e1;background:#112a30e6;font-size:11px;line-height:1.5;border:1px solid #76988c66}
@media(min-width:701px) and (max-width:1050px){.training-page .training-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.training-page .training-project-grid{row-gap:36px}}

.training-page #training-topics{scroll-margin-top:120px}
