.lb-home-hero {
    position: relative;
    min-height: min(78vh, 52rem);
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
    isolation: isolate;
    display: grid;
    align-items: center;
    color: #fff;
    background: #0b3447;
}
.lb-home-hero__image, .lb-home-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.lb-home-hero__image { z-index: -2; object-fit: cover; object-position: center; }
.lb-home-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(6,35,50,.96) 0%, rgba(7,54,64,.82) 42%, rgba(7,54,64,.28) 72%, rgba(7,54,64,.12)); }
.lb-home-hero__content { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; padding: clamp(4.5rem, 10vw, 8rem) 0; }
.lb-home-hero .eyebrow { color: #7ce0cf; }
.lb-home-hero h1 { max-width: 10ch; font-size: clamp(3.1rem, 7vw, 6.6rem); text-wrap: balance; }
.lb-home-hero__content > p:not(.eyebrow) { max-width: 42rem; margin: 1.5rem 0 0; font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.65; }
.button--light { color: #093b42; background: #fff; }
.button--outline-light { border: 1px solid rgba(255,255,255,.72); color: #fff; background: rgba(255,255,255,.08); }
.lb-home-stats { display: flex; flex-wrap: wrap; gap: 1rem 2.4rem; margin: 3.5rem 0 0; }
.lb-home-stats div { min-width: 8rem; border-left: 2px solid #56cab5; padding-left: .9rem; }
.lb-home-stats dt { font-size: 1.8rem; font-weight: 850; }
.lb-home-stats dd { margin: .15rem 0 0; color: rgba(255,255,255,.78); font-size: .86rem; }

.lb-home-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.lb-home-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.8fr); gap: clamp(2rem,7vw,7rem); align-items: end; }
.lb-home-intro h2, .section-heading h2, .lb-about h2, .lb-resource-callout h2 { margin: 0; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.02; letter-spacing: -.045em; }
.lb-home-intro > p, .lb-section-copy { color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2 { max-width: 14ch; }
.section-heading > a { font-weight: 800; text-decoration: none; }

.lb-story { position: relative; margin-inline: calc(50% - 50vw); background: #082f3d; }
.lb-story__viewport { position: relative; min-height: min(68vw, 46rem); overflow: hidden; }
.lb-story__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .55s ease; }
.lb-story__slide.is-active { opacity: 1; }
.lb-story__slide img { width: 100%; height: 100%; object-fit: cover; }
.lb-story__slide::after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(transparent, rgba(4,29,37,.9)); }
.lb-story__slide figcaption { position: absolute; z-index: 1; right: max(1rem, calc((100vw - 1120px)/2)); bottom: clamp(2.5rem, 7vw, 6rem); left: max(1rem, calc((100vw - 1120px)/2)); max-width: 42rem; color: #fff; }
.lb-story__slide figcaption span { display: block; margin-bottom: .7rem; color: #81e1d0; font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.lb-story__slide figcaption strong { display: block; font-size: clamp(2rem,5vw,4.3rem); line-height: 1.04; letter-spacing: -.04em; }
.lb-story__controls { position: absolute; z-index: 2; right: max(1rem, calc((100vw - 1120px)/2)); bottom: 1.2rem; display: flex; align-items: center; gap: .65rem; color: #fff; }
.lb-story__controls button, .lb-carousel-actions button { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; border: 1px solid currentColor; border-radius: 50%; color: inherit; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.lb-story__controls button:hover { background: rgba(255,255,255,.16); }

.home-year-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-top: 1.5rem; }
.home-year-card { display: flex; flex-direction: column; gap: .65rem; min-width: 0; min-height: 11rem; padding: 1.5rem; border: 1px solid #c9dfd7; border-top: 4px solid var(--brand-deep); border-radius: 1.1rem; background: #fff; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; transition: transform .18s ease, box-shadow .18s ease; }
.home-year-card h3 { margin: 0; font-size: 1.45rem; }
.home-year-card p { margin: 0; color: var(--muted); line-height: 1.55; font-size: .92rem; }
.home-year-card > span { margin-top: auto; padding-top: .7rem; color: var(--brand-deep); font-weight: 780; }
a.home-year-card:hover { transform: translateY(-3px); box-shadow: 0 1rem 2rem rgba(10,77,71,.1); }
.home-year-card--unavailable { border-top-color: #b8c8c1; background: #f4f6f4; }
.home-years__review { margin-top: 1.5rem; padding: 1.4rem; border-left: 4px solid var(--brand-deep); border-radius: .5rem; background: #edf6f2; }
.home-years__review p { margin: .5rem 0; }

.lb-course-showcase { margin-inline: calc(50% - 50vw); padding-inline: max(1rem, calc((100vw - 1120px)/2)); background: linear-gradient(145deg,#eef8f5,#f7faf9); }
.lb-carousel-actions { display: flex; gap: .55rem; color: var(--brand-deep); }
.lb-course-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(18rem, 31%); gap: 1.15rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .4rem .2rem 1.8rem; scrollbar-width: thin; }
.lb-course-card { position: relative; overflow: hidden; min-height: 20rem; border: 1px solid var(--line); border-radius: 1.2rem; background: #fff; box-shadow: 0 1rem 2.5rem rgba(23,32,51,.06); scroll-snap-align: start; }
.lb-course-card__accent { height: .55rem; background: linear-gradient(90deg,#116c63,#65ccb8,#efb84f); }
.lb-course-card__body { display: flex; flex-direction: column; height: calc(100% - .55rem); padding: 1.6rem; }
.lb-course-card h3 { margin: .85rem 0; font-size: 1.55rem; line-height: 1.15; }
.lb-course-card h3 a { color: var(--ink); text-decoration: none; }
.lb-course-card p { margin: 0 0 1rem; color: var(--muted); line-height: 1.6; }
.lb-course-card__meta { margin-top: auto; color: var(--brand-deep); font-weight: 800; }
.lb-centred-link { margin: 1.5rem 0 0; text-align: center; }

.lb-about { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(18rem,.95fr); gap: clamp(2rem,7vw,6rem); align-items: center; padding: clamp(5rem,10vw,9rem) 0; }
.lb-about__image { overflow: hidden; min-height: 33rem; border-radius: 1.5rem 1.5rem 6rem 1.5rem; box-shadow: 0 2rem 4rem rgba(12,58,64,.16); }
.lb-about__image img { width: 100%; height: 100%; min-height: 33rem; object-fit: cover; }
.lb-about__copy > p:not(.eyebrow), .lb-about li { color: var(--muted); line-height: 1.72; }
.lb-about ul { display: grid; gap: .8rem; margin: 1.7rem 0; padding: 0; list-style: none; }
.lb-about li { position: relative; padding-left: 1.75rem; }
.lb-about li::before { position: absolute; left: 0; content: "\2713"; color: var(--brand); font-weight: 900; }

.lb-resource-callout { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 6rem; border-radius: 1.5rem; padding: clamp(2rem,6vw,4rem); color: #fff; background: linear-gradient(130deg,#084840,#0f7065); }
.lb-resource-callout .eyebrow { color: #84e0d0; }
.lb-resource-callout h2 { max-width: 13ch; }
.lb-resource-callout p:not(.eyebrow) { max-width: 42rem; color: rgba(255,255,255,.78); line-height: 1.7; }

@media (max-width: 65rem) {
  .home-year-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .lb-course-carousel { grid-auto-columns: minmax(18rem,47%); }
}
@media (max-width: 48rem) {
  .lb-home-hero__shade { background: linear-gradient(90deg,rgba(6,35,50,.94),rgba(7,54,64,.55)); }
  .lb-home-intro, .lb-about { grid-template-columns: 1fr; }
  .lb-about__image, .lb-about__image img { min-height: 23rem; }
  .section-heading, .lb-resource-callout { align-items: flex-start; flex-direction: column; }
  .home-year-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lb-course-carousel { grid-auto-columns: minmax(17rem,82%); }
}
@media (max-width: 30rem) {
  .lb-home-hero h1 { font-size: 3rem; }
  .home-year-grid { grid-template-columns: 1fr; }
  .lb-story__viewport { min-height: 32rem; }
}
@media (prefers-reduced-motion: reduce) { .lb-story__slide, .home-year-card { transition: none; } }
