.mg-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;margin:2rem 0}.mg-hero h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.02;margin:1rem 0}.mg-hero p{max-width:56ch}.mg-hero figure{margin:0}.mg-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:1.7rem}.mg-hero figcaption{font-size:.8rem;line-height:1.4;margin-top:.5rem}.mg-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:2rem 0}.mg-months a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem;border:1px solid var(--line,#d7cdbd);border-radius:1rem;text-decoration:none;color:var(--ink,#241c22);background:#fffaf2}.mg-months a[aria-current=page]{background:#241c22;color:#fffaf2}.mg-months small{display:block;margin-left:.4rem}.mg-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;margin:2rem 0}.mg-panel{background:var(--paper,#f7f3ec);border:1px solid var(--line,#d7cdbd);padding:1.5rem;border-radius:1.5rem;min-width:0}.mg-panel h2{margin-top:0}.mg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mg-stats div{padding:.7rem;background:#fffaf2;border-radius:1rem}.mg-stats strong{display:block;font-size:clamp(1.5rem,3vw,2.2rem)}.mg-stats span{font-size:.85rem}.mg-panel p{font-size:1rem;line-height:1.6}.mg-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin:1rem 0}.mg-weekday{text-align:center;font-size:.8rem}.mg-day{min-height:74px;border:1px solid #d7cdbd;border-radius:.65rem;text-align:center;padding:.5rem .1rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;text-decoration:none;color:#241c22;background:#fffaf2;min-width:0}.mg-day strong{font-size:1.2rem}.mg-day small{font-size:.68rem;line-height:1.15}.mg-day[aria-current=date]{background:#7046a0;color:white}.mg-day.is-past{background:transparent;color:#766a70;border-color:transparent}.mg-day.is-today{outline:2px solid #b5452a;outline-offset:0}.mg-programmes{scroll-margin-top:7rem}.mg-programme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1.5rem 0 2rem}.mg-event{border:1px solid #d7cdbd;background:#fffaf2;border-radius:1.4rem;overflow:hidden;min-width:0}.mg-event figure{margin:0}.mg-event img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}.mg-event>div{padding:1.1rem}.mg-event h3{font-size:1.5rem;line-height:1.15}.mg-event p{font-size:1rem;line-height:1.5}.mg-event a{color:#8e2c48;overflow-wrap:anywhere}.mg-festival-list{padding:0;list-style:none}.mg-festival-list li{padding:1rem 0;border-bottom:1px solid #d7cdbd}.mg-festival-list h3{margin:.2rem 0}.mg-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;padding:0;list-style:none}.mg-forecast li{display:grid;gap:.25rem;background:#fffaf2;border-radius:.7rem;padding:.8rem}.mg-forecast span{font-size:.9rem}.mg-guide-copy{max-width:78ch;margin:3rem auto}.mg-guide-copy section{margin:2rem 0;scroll-margin-top:7rem}.mg-guide-copy p{line-height:1.7}.mg-guides{display:flex;flex-wrap:wrap;gap:.6rem}.mg-guides a,.mg-panel button,.mg-reset{display:inline-flex;align-items:center;min-height:44px;padding:.7rem 1rem;border:1px solid #241c22;border-radius:2rem;color:#241c22;background:#fffaf2;text-decoration:none;font:inherit}.mg-guides a:focus-visible,.mg-months a:focus-visible,.mg-day:focus-visible,.mg-panel button:focus-visible{outline:3px solid #7046a0;outline-offset:3px}.mg-scope{font-size:.9rem;line-height:1.6}.mg-month-home{margin:2rem 0;padding:1.5rem;border-radius:1.5rem;background:#efe9dd}@media(max-width:900px){.mg-hero,.mg-grid{grid-template-columns:1fr;gap:1.25rem}.mg-months{grid-template-columns:repeat(4,minmax(0,1fr))}.mg-programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-hero img{max-height:420px}}@media(max-width:600px){.mg-months{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-months small{font-size:.72rem}.mg-programme-grid{grid-template-columns:1fr}.mg-panel{padding:1rem}.mg-stats div{padding:.5rem}.mg-calendar{gap:.2rem}.mg-day{min-height:68px}.mg-day small{font-size:.6rem}.mg-hero h1{font-size:2.8rem}}
.mg-page [hidden]{display:none!important}
