* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #10151c; color: #f5f7fa; font-family: DINPro, Arial, sans-serif; }
main { padding-top: 70px; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid #4ab6ff; outline-offset: 3px; }

.course-hero, .course-intro, .course-results, .course-program, .course-format, .course-location, .course-request { --course-background: #10151c; --iridi-title-color: #f5f7fa; --iridi-desc-color: #d1dae6; background: var(--course-background); }
.course-hero { --course-background: #000; }
.course-hero__inner { display: grid; grid-template-columns: 65% 35%; min-height: 700px; }
.course-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 90px 5vw 90px 10vw; }
.course-hero__eyebrow { margin: 0 0 22px; color: #79c7ff; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; }
.course-hero h1, .course-request h2 { margin: 0; font-size: var(--iridi-title-font-size); font-weight: var(--iridi-title-font-weight); line-height: 1.1; color: var(--iridi-title-color); }
.course-hero__tags { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.course-hero__tags span { padding: 10px 14px; border: 1px solid #445365; background: #1e2935; color: #e7eff8; font-size: 18px; line-height: 1.2; }
.course-button { display: inline-flex; align-items: center; justify-content: center; min-width: 230px; min-height: 60px; padding: 12px 24px; border: 0; background: #0079ff; color: #fff; text-align: center; text-decoration: none; font-size: 21px; cursor: pointer; }
.course-button:hover { background: #0057b7; }
.course-hero__button { margin-top: 40px; }
.course-hero__image { display: grid; place-items: center; min-width: 0; margin: 32px 5vw 32px 0; }
.course-hero__image img { display: block; width: 100%; max-width: 588px; height: auto; }
.course-image-slot { display: grid; place-items: center; min-width: 0; border: 1px dashed #51647a; background: linear-gradient(135deg, #1b2837, #17202c); color: #a8bacb; text-align: center; }
.course-image-slot span { padding: 16px; font-size: 18px; }

.course-intro, .course-format, .course-location { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: var(--iridi-block-min-height); }
.course-intro { --course-background: #18222e; }
.course-format { --course-background: #18222e; }
.course-intro__copy, .course-format__copy, .course-location__copy { min-width: 0; padding: 100px 5vw 100px 10vw; }
.course-location__copy { padding-inline: 5vw 10vw; }
.course-intro__copy h2, .course-format__copy h2, .course-location__copy h2 { margin: 0; line-height: 1.1; }
.course-intro__copy p, .course-format__copy p, .course-location__copy p { line-height: 1.45; }
.course-intro__copy p + p, .course-format__copy p + p, .course-location__copy p + p { margin-top: 1em; }
.course-intro__image, .course-format__image, .course-location__image { min-height: 430px; margin: 30px; }
.course-intro__image { overflow: hidden; background: #10151c; }
.course-intro__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }
.course-format__image { position: relative; overflow: hidden; background: #10151c; }
.course-format__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.course-format__image::after { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(4, 10, 18, .42), rgba(4, 10, 18, .22) 55%, rgba(4, 10, 18, .34)); content: ""; pointer-events: none; }
.course-location__image { overflow: hidden; background: #10151c; }
.course-location__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; filter: brightness(.86); }

.course-results { --course-background: #10151c; --block-columns-background: #10151c; --block-columns-color: #f5f7fa; }
.course-program { --course-background: #141d27; --block-columns-background: #141d27; --block-columns-color: #f5f7fa; }
.course-results .block_columns_grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.course-program .block_columns_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.course-results .block_columns_item, .course-program .block_columns_item { border-color: #5b6b7d; }
.course-results .block_columns_item_desc, .course-program .block_columns_item_desc { color: #d1dae6; }
.course-program ul { padding-left: 1.1em; }
.course-program li + li { margin-top: 12px; }
.course-results__photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--iridi-grid-column-gap); margin-top: 50px; }
.course-results__photos > div { min-width: 0; aspect-ratio: 3 / 2; overflow: hidden; background: #1b2837; }
.course-results__photos img { display: block; width: 100%; height: 100%; object-fit: cover; }

.course-request { --course-background: #1a2735; padding: 100px 0; scroll-margin-top: 70px; }
.course-request__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 64px; width: 80%; max-width: 1600px; margin-inline: auto; }
.course-request__copy { min-width: 0; }
.course-request h2 { font-size: clamp(32px, 3vw, 50px); line-height: 1.15; }
.course-request__lead { margin: 24px 0 0; color: #d1dae6; font-size: var(--iridi-desc-font-size); }
.course-request__form { display: grid; gap: 20px; min-width: 0; }
.course-request__form label { display: grid; gap: 8px; min-width: 0; font-size: 18px; }
.course-request__form input { width: 100%; min-width: 0; min-height: 60px; padding: 16px; border: 1px solid #929292; border-radius: 0; background: #fff; color: #000; font-size: 18px; }
.course-request__row { display: grid; grid-template-columns: 1fr; gap: 20px; }
.course-request__form .course-button { justify-self: start; background: #0057b7; }
.course-request__form .course-button:disabled { opacity: .55; cursor: not-allowed; }
.course-request__privacy, .course-request__status { margin: 0; color: #c5d0dc; font-size: 15px; line-height: 1.4; }
.course-request__privacy a { color: #79c7ff; }

@media (min-width: 2251px) { .course-hero__inner { min-height: 930px; } .course-hero__copy, .course-intro__copy, .course-format__copy, .course-location__copy { padding-block: 120px; } }
@media (max-width: 1600px) { .course-hero__inner { min-height: 670px; } .course-results .block_columns_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1300px) { .course-hero__inner { min-height: 560px; } .course-hero__tags span { font-size: 16px; } .course-intro__copy, .course-format__copy, .course-location__copy { padding-block: 60px; } }
@media (max-width: 1000px) { .course-hero__inner, .course-intro, .course-format, .course-location, .course-request__panel { grid-template-columns: 1fr; } .course-hero__copy { padding: 50px 10vw; } .course-hero__image { margin: 0 10vw 50px; } .course-intro__copy, .course-format__copy, .course-location__copy { padding: 50px 10vw 30px; } .course-intro__image, .course-format__image, .course-location__image { min-height: 320px; margin: 0 10vw 50px; } .course-location__image { order: 2; } .course-request__panel { gap: 36px; } }
@media (max-width: 700px) { .course-results .block_columns_grid, .course-program .block_columns_grid, .course-results__photos { grid-template-columns: 1fr; } .course-results__photos > div:first-child { display: none; } .course-request { padding-block: 56px; } .course-request__form { gap: 16px; } .course-button { width: 100%; } }
@media (max-width: 500px) { .course-hero__tags { width: 100%; } .course-hero__tags span { width: 100%; } .course-hero__eyebrow { font-size: 14px; } }
