.public-schedule-page{background:#f7fafc}.schedule-page-hero{padding:78px 0;background:linear-gradient(135deg,#123f47,#0c7177);color:#fff}.schedule-page-hero span{color:#8de5e7;font-size:12px;font-weight:850;letter-spacing:.1em}.schedule-page-hero h1{margin:10px 0 14px;font-size:clamp(38px,5vw,66px)}.schedule-page-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.8}.schedule-page-content{padding:62px 0 82px}.schedule-filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}.schedule-filter-bar button{padding:9px 15px;border:1px solid #d4e0e6;border-radius:999px;background:#fff;color:#526674;font-weight:750;cursor:pointer}.schedule-filter-bar button.is-active{background:#0a909a;color:#fff;border-color:#0a909a}.public-schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.public-schedule-card{overflow:hidden;border:1px solid #e0e7eb;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(20,52,73,.07)}.public-schedule-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.public-schedule-card-body{padding:20px}.schedule-card-top{display:flex;justify-content:space-between;gap:10px}.schedule-kind,.schedule-featured{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}.schedule-kind.class{background:#e8f6ff;color:#1774a6}.schedule-kind.exam{background:#fff2df;color:#b66c00}.schedule-kind.event{background:#eeeaff;color:#5b43d9}.schedule-featured{background:#e8f8ee;color:#2f8b53}.public-schedule-card h2{margin:12px 0;color:#17365f;font-size:22px}.schedule-card-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.schedule-card-meta p{margin:0;color:#6d7d89;font-size:12px}.schedule-notes{color:#596c78;line-height:1.75}.schedule-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.schedule-card-actions a{padding:9px 12px;border-radius:10px;background:#0a909a;color:#fff;text-decoration:none;font-size:12px;font-weight:800}@media(max-width:1000px){.public-schedule-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.public-schedule-grid{grid-template-columns:1fr}.schedule-card-meta{grid-template-columns:1fr}}