.events-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf6 0%,#f8eee7 58%,#ead9c7 100%)}
.events-hero:after{content:"";position:absolute;width:420px;height:420px;right:-160px;bottom:-230px;border-radius:50%;background:rgba(199,146,79,.2);pointer-events:none}
.events-hero .hero-grid{position:relative;z-index:1}
.events-hero .events-hero--text-only{grid-template-columns:minmax(0,820px);justify-content:center}
.events-hero .hero-media{aspect-ratio:4/3}
.events-hero .hero-media img{filter:sepia(.16) saturate(1.15);object-position:center}
.event-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.event-path{display:flex;flex-direction:column;min-height:100%;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.event-path h3{font-size:clamp(1.7rem,3vw,2.35rem)}
.event-path p{color:var(--muted)}
.event-path .event-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px;padding:0;list-style:none}
.event-path .event-meta li{padding:.42rem .72rem;border-radius:999px;background:var(--ivory);font-size:.82rem;font-weight:800;color:var(--plum)}
.event-path .button{align-self:flex-start;margin-top:auto}
.audience-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.audience-choice article{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.audience-choice p{margin:10px 0 0;color:var(--muted)}
.audience-choice .is-primary{border-color:var(--gold);box-shadow:var(--shadow)}
.teacher-card{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow)}
.teacher-card--text-only{grid-template-columns:minmax(0,1fr)}
.teacher-photo{min-height:430px;background:var(--sand)}
.teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.teacher-photo--symbolic img{filter:sepia(.18) saturate(1.15);object-position:center}
.teacher-copy{align-self:center;padding:clamp(34px,5vw,64px)}
.teacher-role{display:inline-block;margin:14px 0 20px;padding:.42rem .75rem;border-radius:999px;background:var(--ivory);color:var(--plum);font-size:.85rem;font-weight:850}
.teacher-copy p{max-width:650px}
.update-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:34px;align-items:center;padding:clamp(30px,5vw,54px);border-radius:30px;background:var(--plum);color:#fff;box-shadow:var(--shadow)}
.update-panel h2,.update-panel h3{color:#fff}
.update-panel p{color:rgba(255,255,255,.84)}
.update-list{margin:22px 0 0;padding-left:1.2rem}
.update-list li+li{margin-top:8px}
.update-actions{display:grid;gap:12px}
.update-actions .button{width:100%;background:#fff;color:var(--plum);border-color:#fff}
.update-actions .button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.72)}
.update-note{margin:10px 0 0;text-align:center;font-size:.8rem;color:rgba(255,255,255,.72)}
.schedule-caution{margin-top:20px;padding:18px 20px;border-left:4px solid var(--gold);border-radius:0 16px 16px 0;background:#fff}
.schedule-caution strong{color:var(--plum)}
.activity-note{padding:25px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f8eee7 100%)}
.activity-note p:last-child{margin-bottom:0}
.events-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.events-related a{display:flex;flex-direction:column;min-height:100%;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none}
.events-related a:hover,.events-related a:focus-visible{border-color:var(--gold);box-shadow:var(--shadow)}
.events-related strong{display:block;margin-bottom:8px;color:var(--plum);font-size:1.08rem}
.events-related span{color:var(--muted)}
@media(max-width:900px){.event-path-grid,.teacher-card,.update-panel{grid-template-columns:1fr}.audience-choice,.events-related{grid-template-columns:1fr}.teacher-photo{min-height:0;aspect-ratio:16/10}.update-actions{max-width:520px}}
@media(max-width:620px){.event-path{padding:24px}.update-panel{padding:28px 22px}.events-hero .hero-media{aspect-ratio:16/10}}
