.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.course-hero{background:linear-gradient(125deg,#001d44,#002b66 72%,#043e74);color:#fff;overflow:hidden}.course-hero-layout{display:grid;grid-template-columns:1.1fr .9fr;min-height:630px;align-items:center;gap:45px}.course-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--lime)}.course-hero h1{font-size:clamp(53px,5.6vw,86px);letter-spacing:-.075em;line-height:1.08;margin:26px 0}.course-hero h1 em,.course-catalog h2 em,.course-benefits h2 em,.course-journey h2 em{color:var(--lime);font-style:normal}.course-hero p{font-size:16px;line-height:1.85;color:#c4d3e6;max-width:540px}.course-hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.course-outline-link{font-size:12px;font-weight:700;border-bottom:1px solid #fff;padding:10px 0}.course-hero-visual{min-height:430px;display:grid;place-items:center;position:relative}.course-hero-visual img{width:min(79%,390px);z-index:2;filter:drop-shadow(0 25px 40px #001535)}.course-hero-ring{position:absolute;width:420px;height:420px;border:1px solid rgba(160,236,0,.3);border-radius:50%;box-shadow:0 0 0 50px rgba(160,236,0,.035),0 0 0 100px rgba(160,236,0,.025)}.course-hero-visual span{position:absolute;bottom:20px;font-size:10px;letter-spacing:.18em;color:#a9c7e0}.course-benefits,.course-catalog{padding:100px 0}.course-benefits h2,.course-catalog h2,.course-journey h2{font-size:clamp(40px,4.5vw,68px);line-height:1.1;letter-spacing:-.065em}.course-benefits h2 em{color:#3076a3}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}.benefit-grid>div{padding:33px 25px;border:1px solid #dce4eb;background:#fafcfd}.benefit-num{font:800 13px var(--font-head);color:#5490aa}.benefit-grid h3{font-size:20px;margin-top:55px}.benefit-grid p{color:var(--muted);line-height:1.8;font-size:13px;margin-bottom:0}.course-catalog{background:#f1f5f7}.catalog-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:38px}.catalog-head h2{margin-bottom:0}.catalog-head h2 em{color:#256b94}.catalog-head>p{max-width:380px;color:#617388;line-height:1.8;font-size:13px}.course-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.course-toolbar label:first-child{flex:1;min-width:230px}.course-toolbar input,.course-toolbar select{border:1px solid #d5e0e7;background:#fff;border-radius:5px;padding:16px;font:500 13px var(--font-body);width:100%;color:#193456}.course-toolbar #course-count{font-size:11px;color:#667b8b;min-width:140px;text-align:right}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{background:white;display:flex;flex-direction:column;border:1px solid #dbe5eb;min-width:0}.course-card-art{height:207px;background:linear-gradient(135deg,#003779,#001e49);position:relative;overflow:hidden;padding:18px}.course-card-art img{position:absolute;width:170px;right:-8px;bottom:-48px;transform:rotate(-20deg);opacity:.8}.course-index{color:#b7d6f1;letter-spacing:.13em;font-size:10px;font-weight:700}.course-art-label{position:absolute;left:20px;bottom:22px;font:700 16px var(--font-head);color:white}.course-card-info{padding:25px;display:flex;flex:1;flex-direction:column}.course-status{color:#194b73;background:#e9f5f7;align-self:flex-start;padding:7px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.course-card h3{font-size:21px;letter-spacing:-.045em;line-height:1.25;margin:20px 0 12px}.course-card p{font-size:13px;color:#617285;line-height:1.75;flex:1}.course-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 24px}.course-tags span{font-size:10px;padding:7px 9px;background:#f1f5f7;color:#486780}.course-bottom{border-top:1px solid #dde5eb;padding-top:20px}.course-action{background:var(--lime);display:inline-block;padding:14px 17px;font-size:12px;font-weight:800;color:var(--navy)}.course-unavailable{font-size:12px;font-weight:700;color:#657b8e}.course-empty{grid-column:1/-1;padding:45px;color:#526b81;background:white}.course-journey{background:var(--navy);color:white;padding:110px 0}.course-journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px}.course-journey .section-kicker{color:var(--lime)}.course-journey p{color:#b9cbe1;line-height:1.8;font-size:14px;max-width:480px}.course-journey .btn{margin-top:20px}.journey-steps>div{display:grid;grid-template-columns:54px 1fr;border-bottom:1px solid #54708d;padding:26px 0;gap:15px}.journey-steps>div:first-child{border-top:1px solid #54708d}.journey-steps span{color:var(--lime);font-weight:800}.journey-steps h3{font-size:20px}.journey-steps p{margin:0}.course-cta{background:var(--lime);padding:65px 0}.course-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.course-cta span{font-size:11px;font-weight:800;letter-spacing:.14em;color:#38501c}.course-cta h2{font-size:clamp(30px,3.4vw,49px);letter-spacing:-.06em;margin:13px 0 0}@media(max-width:800px){.course-hero-layout,.course-journey-layout{grid-template-columns:1fr;gap:12px}.course-hero-layout{padding-top:70px}.course-hero-visual{min-height:320px}.course-hero-ring{width:260px;height:260px}.course-hero-visual img{width:260px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-grid{grid-template-columns:1fr 1fr}.catalog-head{display:block}.course-cta-inner{align-items:start;flex-direction:column}}@media(max-width:540px){.course-grid,.benefit-grid{grid-template-columns:1fr}.course-hero h1{font-size:49px}.course-hero-actions{align-items:flex-start;flex-direction:column}.course-benefits,.course-catalog,.course-journey{padding:72px 0}.course-toolbar #course-count{text-align:left}.course-hero-visual{min-height:290px}}

/* Course artwork: keep the full Lime leaf visible in both themes. */
.course-card-art{isolation:isolate}
.course-card-art img{
  width:clamp(112px,45%,158px);
  height:calc(100% - 30px);
  max-height:175px;
  right:12px;
  bottom:12px;
  object-fit:contain;
  object-position:center;
  transform:none;
  opacity:.92;
}


/* Refined course card spacing and clean section background. */
.course-catalog{background:#ffffff}
.course-grid{gap:24px}
.benefit-grid{gap:24px}
.benefit-grid>div{background:#ffffff}

/* Animated Lime leaf artwork on every course card (light + dark mode). */
.course-card-art img{
  transform-origin: 55% 75%;
  will-change: transform, filter;
  animation: limeLeafFloat 5.2s ease-in-out infinite;
  transition: filter .45s ease, opacity .45s ease;
}
.course-card:nth-child(2n) .course-card-art img{animation-delay:-1.3s}
.course-card:nth-child(3n) .course-card-art img{animation-delay:-2.6s}
.course-card:hover .course-card-art img,
.course-card:focus-within .course-card-art img{
  animation: limeLeafLift 1.15s ease-in-out infinite alternate;
  filter: drop-shadow(0 10px 18px rgba(160,236,0,.24));
}
@keyframes limeLeafFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg) scale(1)}
  25%{transform:translate3d(-3px,-7px,0) rotate(1deg) scale(1.015)}
  50%{transform:translate3d(1px,-11px,0) rotate(2.2deg) scale(1.025)}
  75%{transform:translate3d(4px,-5px,0) rotate(.2deg) scale(1.01)}
}
@keyframes limeLeafLift{
  from{transform:translate3d(0,-3px,0) rotate(-2deg) scale(1.015)}
  to{transform:translate3d(-5px,-15px,0) rotate(3deg) scale(1.07)}
}
@media(prefers-reduced-motion:reduce){
  .course-card-art img,.course-card:hover .course-card-art img,.course-card:focus-within .course-card-art img{animation:none;transition:none;transform:none}
}


/* Courses hero animated emblem */
.course-hero-visual{isolation:isolate}
.course-hero-visual img{
  transform-origin:50% 58%;
  animation: courseHeroLeafFlow 7.4s ease-in-out infinite;
  will-change: transform, filter;
}
.course-hero-ring{
  animation: courseHeroRingHeartbeat 3.3s ease-in-out infinite;
  transform-origin:center;
  will-change: transform, opacity, box-shadow;
}
@keyframes courseHeroLeafFlow {
  0%,100% {
    transform: translateY(0) rotate(-7deg) scale(1);
    filter: drop-shadow(0 25px 40px #001535) drop-shadow(0 0 10px rgba(160,236,0,.08));
  }
  25% {
    transform: translateY(-10px) rotate(-4deg) scale(1.015);
    filter: drop-shadow(0 28px 43px rgba(0,21,53,.95)) drop-shadow(0 0 16px rgba(160,236,0,.12));
  }
  50% {
    transform: translateY(-18px) rotate(-2deg) scale(1.03);
    filter: drop-shadow(0 32px 48px rgba(0,21,53,.92)) drop-shadow(0 0 20px rgba(160,236,0,.18));
  }
  75% {
    transform: translateY(-8px) rotate(-5deg) scale(1.012);
    filter: drop-shadow(0 28px 43px rgba(0,21,53,.95)) drop-shadow(0 0 14px rgba(160,236,0,.10));
  }
}
@keyframes courseHeroRingHeartbeat {
  0%, 22%, 100% {
    transform: scale(1);
    opacity: .95;
    box-shadow: 0 0 0 50px rgba(160,236,0,.035), 0 0 0 100px rgba(160,236,0,.025);
  }
  28% {
    transform: scale(1.018);
    opacity: 1;
    box-shadow: 0 0 0 56px rgba(160,236,0,.045), 0 0 0 112px rgba(160,236,0,.03);
  }
  34% {
    transform: scale(1.045);
    opacity: 1;
    box-shadow: 0 0 0 64px rgba(160,236,0,.06), 0 0 0 130px rgba(160,236,0,.035);
  }
  40% {
    transform: scale(1.012);
    opacity: .98;
    box-shadow: 0 0 0 54px rgba(160,236,0,.042), 0 0 0 108px rgba(160,236,0,.028);
  }
  48% {
    transform: scale(1.03);
    opacity: 1;
    box-shadow: 0 0 0 60px rgba(160,236,0,.05), 0 0 0 120px rgba(160,236,0,.032);
  }
  60% {
    transform: scale(1);
    opacity: .95;
    box-shadow: 0 0 0 50px rgba(160,236,0,.035), 0 0 0 100px rgba(160,236,0,.025);
  }
}
@media (prefers-reduced-motion: reduce){
  .course-hero-visual img,
  .course-hero-ring{animation:none !important}
}

/* Entire Languages program card is a clear, keyboard-accessible link. */
.course-card-link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.course-card-link:hover,.course-card-link:focus-visible{transform:translateY(-7px);box-shadow:0 18px 42px rgba(160,236,0,.16);border-color:var(--lime);outline:none}
.course-card-link:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.course-card-link .course-bottom{display:flex;justify-content:space-between;align-items:center}
.course-card-link .course-unavailable::after{content:'  ↗';color:var(--lime);font-size:16px;margin-left:6px}
