.ibw-site .ibw-courses {
    position: relative;
    overflow: clip;
    padding-block: clamp(4.5rem, 8vw, 7rem);
}

.ibw-site .ibw-courses::before {
    position: absolute;
    inset: 4rem 0 auto;
    height: 34rem;
    content: '';
    pointer-events: none;
    background: radial-gradient(ellipse at 50% 20%, rgba(22, 131, 255, .16), transparent 68%);
}

.ibw-site .ibw-courses__heading {
    position: relative;
    max-width: 54rem;
    margin: 0 auto clamp(2.5rem, 5vw, 4rem);
    text-align: center;
}

.ibw-site .ibw-courses__heading .ibw-section-title { max-width: 17ch; margin-inline: auto; }
.ibw-site .ibw-courses__heading > p:last-child { margin: 1rem 0 0; font-size: 1.05rem; }

.ibw-site .ibw-courses__catalogue {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.ibw-site .ibw-courses__card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(105, 179, 255, .2);
    border-radius: 1rem;
    background: linear-gradient(155deg, rgba(9, 31, 55, .86), rgba(2, 11, 22, .94));
    box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, .28);
}

.ibw-site .ibw-courses__card--featured { border-color: rgba(63, 209, 118, .35); }

.ibw-site .ibw-courses__card figure { position: relative; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; background: #030a13; }
.ibw-site .ibw-courses__card figure::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 50%, rgba(2, 9, 17, .7)); pointer-events: none; }
.ibw-site .ibw-courses__card figure img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.87) contrast(1.06); }
.ibw-site .ibw-courses__card figure > span { position: absolute; z-index: 2; top: .75rem; right: .75rem; padding: .36rem .6rem; border: 1px solid rgba(119, 199, 255, .5); border-radius: .45rem; color: #fff; background: #087cf0; font-size: .58rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }

.ibw-site .ibw-courses__card-body { display: flex; min-height: 23rem; flex-direction: column; padding: 1.25rem; }
.ibw-site .ibw-courses__mode { margin: 0 0 .75rem; color: var(--ibw-blue-bright); font-size: .62rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.ibw-site .ibw-courses__card h3 { margin: 0 0 .9rem; color: #f3f8ff; font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.18; letter-spacing: -.025em; }
.ibw-site .ibw-courses__card-body > p:not(.ibw-courses__mode) { margin: 0 0 1.25rem; color: var(--ibw-muted); font-size: .78rem; line-height: 1.58; }

.ibw-site .ibw-courses__course-cta {
    display: inline-flex;
    min-height: 2.9rem;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: .7rem 1rem;
    border: 1px solid rgba(88, 184, 255, .52);
    border-radius: .65rem;
    color: #fff;
    background: #087cf0;
    font-size: .68rem;
    font-weight: 770;
    text-align: center;
    text-decoration: none;
    transition: border-color var(--ibw-transition-fast), background var(--ibw-transition-fast), transform var(--ibw-transition-fast);
}

.ibw-site .ibw-courses__course-cta--featured { border-color: rgba(54, 220, 115, .65); background: #16984b; }
.ibw-site .ibw-courses__course-cta:hover { border-color: #8bd4ff; background: #1593ff; transform: translateY(-2px); }
.ibw-site .ibw-courses__course-cta--featured:hover { border-color: #7ff3a9; background: #1db45b; }
.ibw-site .ibw-courses__course-cta:focus-visible { outline: 2px solid #fff; outline-offset: .2rem; }

.ibw-site .ibw-courses__practice {
    display: grid;
    grid-template-columns: minmax(19rem, .92fr) minmax(0, 1.08fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
    margin-top: clamp(5rem, 9vw, 8rem);
    padding-block: clamp(2.5rem, 5vw, 4rem);
    border-block: 1px solid rgba(84, 181, 255, .18);
}

.ibw-site .ibw-courses__practice-copy h2,
.ibw-site .ibw-courses__instructor h2,
.ibw-site .ibw-courses__hands-on h2,
.ibw-site .ibw-courses__waitlist h2 { margin: 0 0 1rem; color: var(--ibw-text); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; letter-spacing: -.045em; }
.ibw-site .ibw-courses__practice-copy p { max-width: 44rem; margin: .75rem 0 0; line-height: 1.7; }

.ibw-site .ibw-courses__evidence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.ibw-site .ibw-courses__evidence figure { min-width: 0; margin: 0; }
.ibw-site .ibw-courses__evidence img { display: block; width: 100%; height: clamp(10rem, 13vw, 12rem); object-fit: cover; border: 1px solid rgba(84, 181, 255, .24); border-radius: .75rem; filter: saturate(.82) contrast(1.05); }
.ibw-site .ibw-courses__evidence figcaption { margin-top: .55rem; color: #dcecff; font-size: .66rem; text-align: center; }

.ibw-site .ibw-courses__instructor {
    display: grid;
    grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
    margin-top: clamp(5rem, 9vw, 8rem);
}

.ibw-site .ibw-courses__instructor > figure { position: relative; min-height: 31rem; margin: 0; overflow: hidden; border: 1px solid rgba(84, 181, 255, .25); border-radius: 1.2rem; background: #04101e; box-shadow: 0 2.2rem 5rem rgba(0, 0, 0, .34); }
.ibw-site .ibw-courses__instructor > figure::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 62%, rgba(2, 8, 16, .7)); pointer-events: none; }
.ibw-site .ibw-courses__instructor > figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; }
.ibw-site .ibw-courses__instructor > div > p { max-width: 46rem; line-height: 1.7; }
.ibw-site .ibw-courses__instructor ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 1.7rem 0; padding: 0; list-style: none; }
.ibw-site .ibw-courses__instructor li { display: grid; gap: .2rem; padding: 1rem; border: 1px solid rgba(84, 181, 255, .2); border-radius: .75rem; background: rgba(9, 31, 55, .58); }
.ibw-site .ibw-courses__instructor li strong { color: #eef6ff; font-size: .72rem; line-height: 1.35; }
.ibw-site .ibw-courses__instructor li span { color: var(--ibw-blue-bright); font-size: .65rem; line-height: 1.35; }

.ibw-site .ibw-courses__hands-on {
    display: grid;
    grid-template-columns: minmax(17rem, .75fr) minmax(0, 1.25fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
    margin-top: clamp(5rem, 9vw, 8rem);
    padding-block: clamp(2.5rem, 5vw, 4rem);
    border-block: 1px solid rgba(84, 181, 255, .16);
}

.ibw-site .ibw-courses__hands-on > div:first-child p { max-width: 38rem; margin: 0; line-height: 1.7; }
.ibw-site .ibw-courses__hands-on-media { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: .75rem; }
.ibw-site .ibw-courses__hands-on-media img { display: block; width: 100%; height: clamp(12rem, 18vw, 17rem); object-fit: cover; border: 1px solid rgba(84, 181, 255, .24); border-radius: .8rem; filter: saturate(.86) contrast(1.04); }

.ibw-site .ibw-courses__waitlist {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    margin-top: clamp(4rem, 7vw, 6rem);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid rgba(84, 181, 255, .3);
    border-radius: 1.15rem;
    background: linear-gradient(115deg, rgba(10, 39, 70, .82), rgba(3, 15, 28, .82));
    box-shadow: 0 1.7rem 4rem rgba(0, 0, 0, .24), inset 0 0 2rem rgba(22, 131, 255, .05);
}

.ibw-site .ibw-courses__waitlist-icon { display: grid; width: 4.5rem; aspect-ratio: 1; place-items: center; color: var(--ibw-blue-bright); }
.ibw-site .ibw-courses__waitlist-icon svg { width: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.ibw-site .ibw-courses__waitlist h2 { margin-bottom: .45rem; font-size: clamp(1.45rem, 2.6vw, 2.2rem); }
.ibw-site .ibw-courses__waitlist p { max-width: 50rem; margin: 0; line-height: 1.6; }
.ibw-site .ibw-courses__waitlist .ibw-button { white-space: nowrap; }

.ibw-site .ibw-courses[data-ibw-courses-ready='true'] [data-ibw-course-card] { opacity: .3; transform: translateY(1rem); }
.ibw-site .ibw-courses[data-ibw-courses-ready='true'][data-ibw-courses-visible='true'] [data-ibw-course-card] { opacity: 1; transform: none; transition: opacity 620ms var(--ibw-ease-out), transform 620ms var(--ibw-ease-out); }
.ibw-site .ibw-courses[data-ibw-courses-ready='true'][data-ibw-courses-visible='true'] [data-ibw-course-card]:nth-child(2) { transition-delay: 80ms; }
.ibw-site .ibw-courses[data-ibw-courses-ready='true'][data-ibw-courses-visible='true'] [data-ibw-course-card]:nth-child(3) { transition-delay: 160ms; }
.ibw-site .ibw-courses[data-ibw-courses-ready='true'][data-ibw-courses-visible='true'] [data-ibw-course-card]:nth-child(4) { transition-delay: 240ms; }

@media (max-width: 1100px) {
    .ibw-site .ibw-courses__catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ibw-site .ibw-courses__card-body { min-height: 20rem; }
    .ibw-site .ibw-courses__practice { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .ibw-site .ibw-courses__instructor,
    .ibw-site .ibw-courses__hands-on { grid-template-columns: 1fr; }
    .ibw-site .ibw-courses__instructor > figure { min-height: min(34rem, 95vw); }
    .ibw-site .ibw-courses__waitlist { grid-template-columns: auto 1fr; }
    .ibw-site .ibw-courses__waitlist .ibw-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 620px) {
    .ibw-site .ibw-courses { padding-block: 4.25rem; }
    .ibw-site .ibw-courses__catalogue { width: 100vw; margin-inline: calc(50% - 50vw); padding-inline: var(--ibw-gutter); grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(84vw, 22rem); overflow-x: auto; scroll-snap-type: x mandatory; }
    .ibw-site .ibw-courses__card { scroll-snap-align: center; }
    .ibw-site .ibw-courses__evidence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ibw-site .ibw-courses__instructor ul { grid-template-columns: 1fr; }
    .ibw-site .ibw-courses__hands-on-media { width: 100vw; margin-inline: calc(50% - 50vw); padding-inline: var(--ibw-gutter); grid-template-columns: repeat(3, min(78vw, 19rem)); overflow-x: auto; scroll-snap-type: x mandatory; }
    .ibw-site .ibw-courses__hands-on-media img { height: 15rem; scroll-snap-align: center; }
    .ibw-site .ibw-courses__waitlist { grid-template-columns: 1fr; text-align: left; }
    .ibw-site .ibw-courses__waitlist-icon { width: 3.8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ibw-site .ibw-courses__course-cta,
    .ibw-site .ibw-courses[data-ibw-courses-ready='true'] [data-ibw-course-card] { opacity: 1; transform: none; transition: none; }
}
