.clean-home { color: #20243a; font-family: Poppins, Arial, sans-serif; }
.clean-home h1, .clean-home h2, .clean-home h3 { color: #1B1464; font-weight: 700; }
.clean-home h1 { font-size: 3.6rem; line-height: 1.08; margin: 12px 0 16px; }
.clean-home h2 { font-size: 2.3rem; margin-bottom: 36px; }
.clean-home p { color: #50566d; font-size: 1.05rem; line-height: 1.75; }
.clean-hero { background: #f5f5f2; padding: 40px 0; }
.clean-hero__copy { padding-right: 55px; }
.clean-hero__image, .clean-about img { display: block; height: 470px; object-fit: cover; width: 100%; }
.clean-kicker { color: #ff9a12 !important; font-size: .78rem !important; font-weight: 700; letter-spacing: .13em; margin: 0; text-align:center; text-transform: uppercase; }
.clean-hero__copy .clean-kicker, .clean-about__copy .clean-kicker { text-align:left; }
.clean-lead { color: #1B1464 !important; font-size: 1.35rem !important; font-weight: 500; }
.clean-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.clean-button { border: 1px solid #1B1464; color: #1B1464; display: inline-block; font-weight: 600; padding: 12px 22px; text-decoration: none; }
.clean-button:hover { background: #ececf1; color: #1B1464; text-decoration: none; }
.clean-button--primary { background: #1B1464; color: #fff; }
.clean-button--primary:hover { background: #151d5f; color: #fff; }
.clean-section { padding: 3px 0; }
.clean-programmes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.clean-programmes article { border-left: 1px solid #d8d9df; padding: 4px 36px; }
.clean-programmes article:first-child { border-left: 0; padding-left: 0; }
.clean-programmes article span { color: #ff9a12; font-size: .8rem; font-weight: 700; }
.clean-programmes h3 { font-size: 1.3rem; margin: 16px 0 8px; }
.clean-programmes strong { color: #1B1464; display: block; margin-bottom: 14px; }
.clean-programmes a, .clean-about a { color: #1B1464; font-weight: 700; text-decoration: underline; }
.clean-about { background: #f5f5f2; }
.clean-about__copy { padding-left: 60px; }
.clean-about img { height: 390px; }
.clean-values { display: grid; grid-template-columns: repeat(2, 1fr); gap: 42px 30px; }
.clean-values h3 { font-size: 1.2rem; margin-bottom: 8px;  }
.clean-approach { background: #f5f5f2; text-align: center; }
.clean-centered-copy { margin: 0 auto; max-width: 850px; }
.clean-pathways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.clean-pathways div { border-top: 1px solid #d8d9df; padding-top: 22px; }
.clean-pathways strong { color: #1B1464; font-size: 1.15rem; }
.clean-cta { background: #1B1464; padding: 68px 0; text-align: center; margin-bottom: -50px; }
.clean-cta h2, .clean-cta p { color: #fff; }
.clean-cta h2 { font-size: 2.3rem; }
.clean-actions--center { justify-content: center; }
.clean-button--light { background: #fff; border-color: #fff; color: #1B1464; }
.clean-button--outline-light { border-color: #fff; color: #fff; }
.brand-title { position: relative; text-align: center; padding-bottom: 18px; }
.brand-title::after { background: #FF9A12; bottom: 0; content: ''; height: 3px; left: 50%; position: absolute; transform: translateX(-50%); width: 54px; }
.brand-title--left { text-align: left; }
.brand-title--left::after { left: 0; transform: none; }
.brand-title--light { color: #fff !important; }
.home-schedule { background: #f5f5f2; padding-bottom: 30px; padding-top: 10px; }
.home-schedule__title { font-size: 2.3rem !important; margin: 0 0 14px !important; }
.home-schedule__intro { margin: 0 auto 7px; max-width: 720px; text-align: center; }
.home-schedule__grid { background: #dcdde5; border: 1px solid #dcdde5; display: grid; gap: 1px; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; }
.home-schedule-card { background: #fff; display: flex; flex-direction: column; min-width: 0; }
.home-schedule-card__date { background: #1B1464; color: #fff; min-height: 86px; padding: 14px 12px 12px; text-align: center; }
.home-schedule-card__date--today { background: #28a745; }
.home-schedule-card__relative-day { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .06em; margin-bottom: 3px; text-transform: uppercase; }
.home-schedule-card__date-line { align-items: baseline; display: flex; justify-content: center; line-height: 1.2; }
.home-schedule-card__weekday { font-size: .9rem; font-weight: 700; }
.home-schedule-card__day { color: #ff9a12; font-size: 1.35rem; font-weight: 700; margin-left: 6px; }
.home-schedule-card__month { display: block; font-size: .76rem; font-weight: 500; letter-spacing: .04em; margin-top: 4px; text-transform: capitalize; }
.home-schedule-card__events { flex: 1; padding: 10px; }
.home-schedule-event { background: #f5f6fb; border-left: 3px solid #1B1464; margin-bottom: 9px; padding: 11px 10px; transition: border-color .15s ease, box-shadow .15s ease; }
.home-schedule-event:last-child { margin-bottom: 0; }
.home-schedule-event:hover { border-left-color: #ff9a12; box-shadow: 0 3px 10px rgba(27, 20, 100, .09); }
.home-schedule-event--past { background: #eeeeee; border-left-color: #a4a7b0; color: #858894; opacity: .72; }
.home-schedule-event--past:hover { border-left-color: #858894; box-shadow: none; }
.home-schedule-event--past .home-schedule-event__time, .home-schedule-event--past h3, .home-schedule-event--past .home-schedule-event__description, .home-schedule-event--past .home-schedule-event__location, .home-schedule-event--past .home-schedule-event__meeting { color: #858894 !important; }
.home-schedule-event--ongoing { background: #f0fbf4; border-left-color: #1f9d55; box-shadow: 0 3px 10px rgba(31, 157, 85, .12); }
.home-schedule-event__status { align-items: center; border-radius: 999px; display: inline-flex; font-size: .66rem; font-weight: 700; gap: 5px; letter-spacing: .04em; margin-bottom: 7px; padding: 3px 8px; text-transform: uppercase; }
.home-schedule-event__status--past { background: #dadce1; color: #686b74; }
.home-schedule-event__status--ongoing { background: #d8f3e2; color: #13733d; }
.clean-home .home-schedule-event__time { color: #1B1464; display: flex; flex-wrap: wrap; font-size: .82rem; font-weight: 600; line-height: 1.35; margin: 0 0 7px; }
.home-schedule-event__icon { flex: 0 0 auto; margin-right: 6px; }
.home-schedule-event__time-separator { color: #ff9a12; margin: 0 5px; }
.clean-home .home-schedule-event h3 { font-size: .9rem; font-weight: 600; line-height: 1.4; margin: 0; overflow-wrap: break-word; }
.clean-home .home-schedule-event__description { color: #686d7e; font-size: .78rem; line-height: 1.45; margin: 7px 0 0; overflow-wrap: break-word; white-space: pre-line; }
.clean-home .home-schedule-event__location { align-items: flex-start; color: #686d7e; display: flex; font-size: .78rem; line-height: 1.35; margin: 7px 0 0; }
.home-schedule-event__meeting { align-items: center; color: #1B1464; display: inline-flex; font-size: .78rem; font-weight: 600; gap: 6px; margin-top: 8px; text-decoration: underline; }
.home-schedule-event__meeting-logo { display: block; flex: 0 0 auto; height: 18px; width: 18px; }
.home-schedule-event__meeting:hover, .home-schedule-event__meeting:focus { color: #ff8200; }
.home-schedule__empty { background: #fff; border-left: 3px solid #ff9a12; margin: 0 auto; max-width: 720px; padding: 16px 22px; text-align: center; }
.clean-hero__copy--after-image { padding-left: 55px; padding-right: 15px; }
.clean-carousel-control { align-items: center; color: #1B1464; display: flex; font-size: 3.5rem; height: 70px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); width: 48px; z-index: 2; }
.clean-carousel-control:hover { color: #ff9a12; text-decoration: none; }
.clean-carousel-control--prev { left: 8px; }
.clean-carousel-control--next { right: 8px; }
@media (max-width: 1199px) { .home-schedule__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991px) { .clean-home h1 { font-size: 2.7rem; } .clean-hero__copy { padding-right: 15px; } .clean-hero__copy--after-image { padding-left: 15px; } .clean-hero__image { height: 400px; margin-top: 35px; } .clean-about__copy { padding: 35px 15px 0; } .home-schedule__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .clean-hero, .clean-section { padding: 52px 0; } .home-schedule { padding-bottom: 46px; padding-top: 46px; } .clean-programmes, .clean-values, .clean-pathways, .home-schedule__grid { grid-template-columns: 1fr; } .home-schedule__grid { background: transparent; border: 0; gap: 14px; overflow: visible; } .home-schedule-card { border: 1px solid #dcdde5; } .home-schedule-card__date { min-height: 0; padding: 12px; } .home-schedule-card__events { padding: 10px; } .home-schedule-event { padding: 12px; } .clean-programmes article { border-left: 0; border-top: 1px solid #d8d9df; padding: 28px 0; } .clean-programmes article:first-child { border-top: 0; } .clean-home h1 { font-size: 2.25rem; } .clean-home h2, .home-schedule__title { font-size: 1.85rem !important; } }
