/* Rich text is scoped to CMS content, leaving navigation and schedule layout intact. */
.mgcs-rich>p+p,.mgcs-rich>:is(ul,ol)+p,.mgcs-rich>p+:is(ul,ol){margin-top:.65em}
.mgcs-page .mgcs-rich ul{list-style-type:disc;padding-left:1.25em}
.mgcs-page .mgcs-rich ol{list-style-type:decimal;padding-left:1.25em}
.mgcs-rich a{text-decoration:underline;text-underline-offset:.15em}
.mgcs-page .mgcs-mobile-activity .mgcs-rich p{display:block}
.mgcs-mobile-activity>div>.mgcs-rich:has(>p:only-child){display:inline}
.mgcs-page .mgcs-mobile-activity .mgcs-rich>p:only-child{display:inline}
.mgcs-mobile-activity strong+.mgcs-rich:has(>p:only-child):before{content:' – '}
.mgcs-page .mgcs-program-card-copy .mgcs-rich ul{padding-left:13px;margin:0}
.mgcs-page .mgcs-faq-no-promo .mgcs-faq-layout{grid-template-columns:1fr}
.mgcs-day-photo img{max-width:100%;max-height:140px;object-fit:contain;margin-inline:auto}
.mgcs-tag-image img{width:100%;height:100%;object-fit:contain}
.mgcs-partner-logos picture{display:block}
.mgcs-page .mgcs-hero h1,.mgcs-hero-tiles strong,.mgcs-curious h3,.mgcs-partners h2{white-space:normal}
.mgcs-hero-tiles strong,.mgcs-activity,.mgcs-mobile-activity,.mgcs-rich{overflow-wrap:anywhere;min-width:0}
.mgcs-program-card-long .mgcs-program-card-copy{max-width:100%}
.mgcs-program-card-long .mgcs-program-card-photo{position:static;width:100%;margin-top:20px}
.mgcs-program-card-long .mgcs-program-card-photo img{max-height:260px;object-fit:contain}
.mgcs-tags .mgcs-tag-detailed,.mgcs-tags .mgcs-tag-detailed>a{flex-wrap:wrap}
.mgcs-tag-detailed .mgcs-rich{flex-basis:100%}
.mgcs-facts-items>div,.mgcs-footer-columns>*{min-width:0;overflow-wrap:anywhere}
.mgcs-page .mgcs-picture-mobile-only{display:none!important}
@media(max-width:600px){.mgcs-page .mgcs-picture-mobile-only{display:block!important}}
@media(max-width:600px){.mgcs-page .mgcs-program-card-copy .mgcs-rich ul{padding-left:9px}}

@media(min-width:768px) and (max-width:1100px){.mgce-city .mgce-terms-table td:last-child{padding-inline:5px}.mgce-city .mgce-terms-table td:last-child .mgcs-button{font-size:13px;padding:8px 6px;gap:5px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.mgce-city .mgce-term-book .mgcs-button span{flex-shrink:0}}

/* Editable HERO copy stays in its own artwork column, regardless of content length.
   Paragraphs and BRs are rendered by mgcs_rich; only their alignment changes here. */
.mgcs-page :is(.mgcs-hero-copy,.mgce-hero-copy){min-width:0;overflow-wrap:anywhere}
.mgcs-page :is(.mgcs-hero-copy,.mgce-hero-copy) :is(h1,.mgcs-tagline,.mgcs-hero-intro,.mgce-hero-subtitle){text-align:center;overflow-wrap:anywhere;white-space:normal;margin-inline:auto}
.mgcs-page :is(.mgcs-hero-intro,.mgce-hero-subtitle) .mgcs-rich{max-width:100%;margin-inline:auto}
.mgcs-page :is(.mgcs-hero-intro,.mgce-hero-subtitle) .mgcs-rich :is(p,div,h1,h2,h3,h4,h5,h6,blockquote,ul,ol,li){text-align:center!important;max-width:100%;overflow-wrap:anywhere}
.mgcs-page .mgcs-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(min-width:768px){
 .mgcs-page .mgcs-hero-background{inset:auto 0 0;height:calc(clamp(430px,34.89583vw,670px) + clamp(94px,6.77083vw,130px))}
 .mgce-city .mgce-hero-copy{width:calc(58vw - max(9.89585vw,50vw - 770px) - 32px);max-width:100%}
 .mgce-city .mgce-hero h1{max-width:100%}
 .mgce-city .mgce-hero-subtitle{margin-inline:auto}
 .mgce-city .mgce-hero-background{inset:auto 0 0;height:calc(clamp(450px,34.115vw,655px) + clamp(94px,6.77vw,130px))}
}
@media(min-width:768px) and (max-width:1100px){
 .mgcs-page .mgcs-hero-background{height:calc(clamp(430px,50.9vw,560px) + clamp(94px,6.77083vw,130px))}
 .mgce-city .mgce-hero-copy{width:calc(58vw - 64px)}
 .mgce-city .mgce-hero .mgce-facts{flex-wrap:wrap}
 .mgce-city .mgce-hero-background{height:calc(560px + clamp(94px,6.77vw,130px))}
}
@media(max-width:767px){
 .mgcs-page .mgcs-hero-inner{padding-bottom:246px}
 .mgcs-page .mgcs-hero-background{inset:auto 0 0;height:646px}
 .mgce-city .mgce-hero,.mgce-city .mgce-hero-inner{height:auto;min-height:700px}
 .mgce-city .mgce-hero-inner{padding-bottom:max(350px,87.5vw)}
 .mgce-city .mgce-hero-background{inset:auto 0 0;height:max(700px,180.66667vw)}
}
@media(min-width:400px) and (max-width:767px){
 .mgcs-page .mgcs-hero-inner{padding-bottom:calc(246px + (100vw - 400px)*.7)}
 .mgcs-page .mgcs-hero-background{height:calc(646px + (100vw - 400px)*.7)}
}
