/*
Theme Name: Mulberry Centre
Author: Jraft Creative
Description: Custom block theme for a Mulberry Learning centre site. Conversion-first: two-step tour booking, WhatsApp, fast pages.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: mulberry-centre
*/

/* ---------- Base ---------- */
:root {
	--c-paper: var(--wp--preset--color--paper);
	--c-oat: var(--wp--preset--color--oat);
	--c-ink: var(--wp--preset--color--ink);
	--c-plum: var(--wp--preset--color--plum);
	--c-mul: var(--wp--preset--color--mulberry);
	--c-blush: var(--wp--preset--color--blush);
	--c-leaf: var(--wp--preset--color--leaf);
	--c-sage: var(--wp--preset--color--sage);
	--c-sun: var(--wp--preset--color--sun);
	--c-muted: var(--wp--preset--color--muted);
	--line: rgba(61, 61, 63, .13);
	--r: 22px;
	--shadow: 0 1px 2px rgba(61, 61, 63, .06), 0 24px 48px -28px rgba(61, 61, 63, .38);
	--sec: clamp(36px, 7svh, 112px);
	--display: var(--wp--preset--font-family--display);
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-variant-numeric: lining-nums; font-optical-sizing: auto; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 84px; }
img { height: auto; max-width: 100%; }
:where(h1, h2) em { font-style: italic; font-weight: 700; color: var(--c-mul);  }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--c-mul); outline-offset: 3px; border-radius: 6px; }
main > .alignfull:first-child { margin-top: 0; }
main { margin-block: 0 !important; }
main > * + * { margin-block-start: 0 !important; }

.mc-kicker {
	font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--c-mul); margin-bottom: .9rem !important; display: flex; align-items: center; gap: .7em;
}
.mc-kicker::before { content: ""; width: 12px; height: 2px; background: currentColor; border-radius: 2px; flex: none; }
.mc-lead { font-size: clamp(1.0625rem, 1.4vw, 1.2rem); color: var(--c-muted); max-width: 33em; }

/* Buttons */
.wp-block-button__link { transition: background-color .2s, color .2s, transform .2s, box-shadow .2s; }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--c-plum); border: 1.5px solid var(--c-plum); padding: 14px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--c-plum); color: #fff; }
.mc-btn-small > .wp-block-button__link { padding: 11px 20px; font-size: .9375rem; }
.mc-btn-light > .wp-block-button__link { background: #fff; color: var(--c-plum); }
.mc-btn-light > .wp-block-button__link:hover { background: var(--c-sun); color: var(--c-plum); }
.mc-btn {
	display: inline-block; background: var(--c-plum); color: #fff; font-weight: 700; text-decoration: none;
	border-radius: 999px; padding: 15px 28px; transition: background-color .2s;
}
.mc-btn:hover { background: var(--c-leaf); color: #fff; }

/* Image styles */
.is-style-window img { border-radius: 999px 999px var(--r) var(--r); aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.is-style-round img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }

/* ---------- Offer bar + header ---------- */
.mc-offer { background: var(--c-plum); color: #fff; text-align: center; font-size: .875rem; padding-block: 9px; }
.mc-offer p { margin: 0; }
.mc-offer strong { color: var(--c-sun); }
.mc-offer a { color: #fff; font-weight: 700; margin-left: .35em; }
.mc-header {
	position: relative; padding-block: 10px;
	background: color-mix(in srgb, var(--c-paper) 90%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid var(--line);
}
.mc-header__row { gap: 18px; }
.mc-header .wp-block-site-logo img { width: 52px; }
.mc-nav { font-weight: 600; font-size: .9375rem; flex: 1; justify-content: flex-end; margin-right: clamp(8px, 1.6vw, 20px); }
.mc-nav .wp-block-navigation__container { gap: clamp(18px, 2.6vw, 36px); }
.mc-nav a:hover { color: var(--c-mul); }
.mc-nav .wp-block-navigation__responsive-container-open { margin-left: auto; }
.mc-header__help { margin: 0; font-size: .9375rem; color: var(--c-muted); }
.mc-header__help a { font-weight: 700; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--c-paper) !important; padding: 28px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--display); font-size: 2rem; }
@media (max-width: 599px) {
	.mc-header__cta { display: none !important; }
	.mc-offer { font-size: .8125rem; }
}

/* ---------- Hero ---------- */
.mc-hero { padding-block: clamp(28px, 5vw, 72px) clamp(56px, 7vw, 104px); position: relative; overflow: hidden; }
.mc-hero::after {
	/* soft cloud shape, a nod to the Mulberry logo */
	content: ""; position: absolute; z-index: -1; right: -8vw; top: -6vw; width: 46vw; max-width: 640px; aspect-ratio: 400 / 380;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 380' fill='none' stroke='%23F9D6EB' stroke-width='12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M118 250c-46 4-74-40-50-78-22-40 12-86 56-74 14-50 82-64 112-22 44-22 96 12 86 60 40 18 34 82-10 90-6 34-46 48-74 30-24 22-64 20-82-6z'/%3E%3Cpath d='M186 268c-2 40-14 74-34 104M226 268c4 40 16 74 36 104'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mc-hero__cols { gap: clamp(36px, 6vw, 88px) !important; }
.mc-hero h1 { margin-block: 0 1.2rem; max-width: 12.5em; }
.mc-hero h1 em { position: relative; white-space: nowrap; }
.mc-hero h1 em::after {
	content: ""; position: absolute; left: -2%; right: -4%; bottom: -.12em; height: .32em; z-index: -1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14C40 6 85 4 120 7s58 6 77-1' fill='none' stroke='%23CA0088' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.mc-starter {
	margin-top: 2rem !important; background: #fff; border-radius: var(--r); padding: 20px 20px 16px;
	box-shadow: var(--shadow); max-width: 34rem; border: 1px solid var(--line);
}
.mc-starter__q { margin: 0 0 .85rem; font-size: 1.0625rem; }
.mc-starter__q strong { color: var(--c-plum); }
.mc-ages { gap: 8px !important; display: grid !important; grid-template-columns: repeat(3, 1fr); }
.mc-age { width: auto !important; }
.mc-age > .wp-block-button__link {
	width: 100%; background: var(--c-paper); color: var(--c-plum); border: 1.5px solid var(--line);
	border-radius: 14px; padding: 13px 8px; font-size: .9375rem; text-align: center;
}
.mc-age > .wp-block-button__link:hover { background: var(--c-plum); color: #fff; border-color: var(--c-plum); }
.mc-starter__alt { margin: .9rem 0 0; font-size: .875rem; color: var(--c-muted); }
.mc-starter__alt strong { color: var(--c-mul); }
.mc-starter__alt a { font-weight: 700; }
@media (min-width: 600px) { .mc-ages { grid-template-columns: repeat(6, auto); } }

.mc-hero__media { position: relative; }
.mc-hero__main { margin: 0 0 0 auto !important; max-width: 470px; }
.mc-hero__main img { aspect-ratio: 5 / 6; }
.mc-hero__inset { position: absolute !important; left: 0; bottom: 8%; width: 36%; max-width: 190px; margin: 0 !important; }
.mc-hero__inset img { border: 6px solid var(--c-paper); box-shadow: var(--shadow); }
.mc-sticker {
	position: absolute; right: -4px; top: 9%; margin: 0; background: var(--c-mul); color: #fff;
	width: 118px; height: 118px; border-radius: 50%; display: grid; place-content: center; text-align: center;
	font-size: .75rem; line-height: 1.2; font-weight: 600; padding: 12px; transform: rotate(8deg); box-shadow: var(--shadow);
}
.mc-sticker strong { display: block; font-family: var(--display); font-size: 1.85rem; font-weight: 700; line-height: 1; margin-bottom: 4px; }
@media (max-width: 781px) {
	.mc-hero { padding-top: 22px; }
	.mc-hero__main { max-width: none; margin: 0 !important; }
	.mc-hero__main img { aspect-ratio: 16 / 11; border-radius: 140px 140px var(--r) var(--r); }
	.mc-hero__inset { width: 28%; bottom: -14px; left: 12px; }
	.mc-sticker { width: 88px; height: 88px; top: auto; bottom: -16px; right: 10px; font-size: .625rem; padding: 8px; }
	.mc-sticker strong { font-size: 1.35rem; }
	.mc-hero h1 { margin-bottom: .9rem; }
	.mc-lead { font-size: 1rem; }
	.mc-starter { margin-top: 1.4rem !important; padding: 16px 14px 12px; }
	.mc-age > .wp-block-button__link { padding: 12px 4px; font-size: .875rem; }
}

/* ---------- Proof band ---------- */
.mc-award { margin: 0; font-size: .875rem; color: var(--c-muted); line-height: 1.35; padding-left: 40px; position: relative; max-width: 19rem; }
.mc-award strong { display: block; font-family: var(--display); font-weight: 700; font-size: 1.125rem; color: var(--c-plum); }
.mc-award::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 28px; height: 28px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3l3.6 7.4 8.1 1.2-5.9 5.7 1.4 8.1L16 21.6l-7.2 3.8 1.4-8.1-5.9-5.7 8.1-1.2z' fill='%23CA0088'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Section heads ---------- */
.mc-head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px) !important; }
.mc-head h2 { margin: 0 0 1rem; }
.mc-head__text { color: var(--c-muted); font-size: 1.125rem; margin: 0; max-width: 36em; }

/* ---------- Campus rail ---------- */
.mc-campus { padding-block: var(--sec); overflow: hidden; }
.mc-rail {
	display: grid; grid-auto-flow: column; grid-auto-columns: 80%; gap: 18px;
	overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 16px; overscroll-behavior-x: contain;
	scrollbar-width: thin; scrollbar-color: var(--c-mul) transparent;
}
.mc-card { scroll-snap-align: start; margin: 0 !important; display: flex; flex-direction: column; }
.mc-card figure { margin: 0 0 1.1rem !important; }
.mc-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); }
.mc-card h3 { margin: 0 0 .4rem; }
.mc-card p { margin: 0; color: var(--c-muted); font-size: .9875rem; }
.mc-card--pool {
	background: var(--c-plum); color: #fff; border-radius: var(--r); padding: 26px; justify-content: flex-end;
	background-image: repeating-linear-gradient(170deg, rgba(255,255,255,.08) 0 2px, transparent 2px 22px);
	min-height: 320px;
}
.mc-card--pool h3 { color: #fff; }
.mc-card--pool p { color: rgba(255,255,255,.8); }
.mc-card__big { font-family: var(--display); font-style: italic; font-size: 2.6rem !important; line-height: 1; color: var(--c-sun) !important; margin-bottom: auto !important; }
@media (min-width: 782px) {
	.mc-rail { grid-auto-columns: calc((100% - 54px) / 3.35); gap: 18px; }
	.mc-card--tall img { aspect-ratio: 3 / 4; }
	.mc-card:not(.mc-card--tall):not(.mc-card--pool) { padding-top: 64px; }
}

/* ---------- A day at Bishan ---------- */
.mc-day { background: var(--c-plum); color: #FFFFFF; padding-block: var(--sec); }
.mc-day h2, .mc-day h3 { color: #fff; }
.mc-day .mc-kicker { color: var(--c-sun); }
.mc-day h2 em { color: var(--c-sun); }
.mc-day__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-day__intro p { color: rgba(255, 255, 255, .9); }
.mc-day__photo { margin-top: 2rem !important; max-width: 340px; }
.mc-day__list { position: relative; padding-left: 4px; }
.mc-day__list::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 1.5px; background: rgba(255,255,255,.18); }
.mc-slot { position: relative; padding: 0 0 26px 40px; margin: 0 !important; display: grid; grid-template-columns: 1fr; }
.mc-slot::before {
	content: ""; position: absolute; left: 0; top: 7px; width: 17px; height: 17px; border-radius: 50%;
	background: var(--c-plum); border: 2px solid var(--c-sun);
}
.mc-slot:last-child { padding-bottom: 0; }
.mc-slot__time { margin: 0 0 .15rem !important; font-family: var(--display); font-size: 1.5rem; color: var(--c-sun); line-height: 1.2; }
.mc-slot h3 { margin: 0 0 .25rem; font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: 1.0625rem; letter-spacing: 0; }
.mc-slot p:last-child { margin: 0; color: rgba(255, 255, 255, .88); font-size: .9375rem; }
@media (min-width: 782px) {
	.mc-day__intro { position: sticky; top: 110px; align-self: flex-start; }
	.mc-slot { grid-template-columns: 130px 1fr; column-gap: 20px; }
	.mc-slot__time { grid-row: span 2; }
}

/* ---------- Programmes / levels ---------- */
.mc-classes { padding-block: var(--sec); }
.mc-classes__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-ticks { list-style: none; padding: 0; margin: 1.5rem 0 2rem; display: grid; gap: .6rem; }
.mc-ticks li { padding-left: 32px; position: relative; }
.mc-ticks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 50%;
	background: var(--c-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2380539D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.mc-levels { border-top: 1px solid var(--line); }
.mc-level {
	display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 16px;
	padding: 20px 4px; border-bottom: 1px solid var(--line); margin: 0 !important; transition: background-color .2s;
}
.mc-level:hover { background: #fff; }
.mc-level p { margin: 0; }
.mc-level__name { font-family: var(--display); font-size: clamp(1.4rem, 2.2vw, 1.85rem); color: var(--c-plum); line-height: 1.15; }
.mc-level__age { color: var(--c-muted); font-size: .9375rem; grid-column: 1; }
.mc-level__ratio { grid-column: 2; grid-row: 1 / span 2; align-self: center; text-align: right; font-size: .8125rem; color: var(--c-muted); line-height: 1.2; }
.mc-level__ratio strong { display: block; font-size: 1.25rem; color: var(--c-leaf); }

/* ---------- Parent stories ---------- */
.mc-stories { padding-block: var(--sec); background: var(--c-oat); }
.mc-stories .wp-block-columns { gap: clamp(36px, 6vw, 96px) !important; }
.mc-stories .is-style-window { max-width: 420px; }
.mc-bigquote {
	font-family: var(--display); font-size: clamp(1.35rem, 2.3vw, 1.9rem); line-height: 1.35; font-weight: 600; color: var(--c-plum);
	letter-spacing: -.01em; margin: 0 0 1rem;
}
.mc-quote-by { font-size: .875rem; color: var(--c-muted); margin: 0 0 2rem; }
.mc-quote-by::before { content: "— "; }
.mc-smallquote { font-size: 1.0625rem; margin: 0 0 .6rem; padding-top: 2rem; border-top: 1px solid var(--line); }

/* ---------- Tour booking ---------- */
.mc-tour {
	padding-block: var(--sec); background: var(--c-blush);
	background-image: radial-gradient(60% 80% at 100% 0%, rgba(128, 83, 157, .14), transparent 70%);
}
.mc-tour__cols { gap: clamp(32px, 5vw, 80px) !important; }
.mc-tour__copy h2 { margin-top: 0; }
.mc-offer-card {
	background: var(--c-plum); color: rgba(255,255,255,.85); border-radius: 18px; padding: 18px 22px;
	font-size: .9375rem; margin: 1.6rem 0 !important; max-width: 26rem;
}
.mc-offer-card strong { display: block; font-family: var(--display); font-weight: 700; font-size: 1.6rem; color: var(--c-sun); line-height: 1.15; }
.mc-howto { list-style: none; counter-reset: s; padding: 0; margin: 0; display: grid; gap: 14px; }
.mc-howto li { counter-increment: s; padding-left: 46px; position: relative; min-height: 32px; display: flex; align-items: center; }
.mc-howto li::before {
	content: counter(s); position: absolute; left: 0; width: 32px; height: 32px; border-radius: 50%;
	background: #fff; color: var(--c-mul); font-weight: 700; display: grid; place-content: center; border: 1.5px solid rgba(202, 0, 136, .25);
}

/* ---------- Form ---------- */
.mc-form {
	background: #fff; border-radius: 26px; padding: clamp(22px, 3vw, 34px); box-shadow: var(--shadow);
	border: 1px solid var(--line); position: relative;
}
.mc-form__title { font-family: var(--display); font-size: 1.75rem; color: var(--c-plum); margin: 0 0 .25rem; line-height: 1.15; }
.mc-form__alert { background: #FFF1F1; color: #9B1C1C; border-radius: 12px; padding: 10px 14px; font-size: .9375rem; }
.mc-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.mc-form legend, .mc-q { font-weight: 700; color: var(--c-plum); font-size: 1rem; margin: 1.3rem 0 .6rem; padding: 0; }
.mc-steps { list-style: none; display: flex; gap: 8px; padding: 0; margin: .9rem 0 0; font-size: .75rem; font-weight: 600; color: var(--c-muted); }
.mc-steps li { flex: 1; padding-top: 9px; position: relative; }
.mc-steps li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; border-radius: 4px; background: var(--c-oat); }
.mc-steps li.is-on { color: var(--c-mul); }
.mc-steps li.is-on::before { background: var(--c-mul); }
.mc-form:not(.is-js) .mc-steps { display: none; }

.mc-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-radius: 14px; }
.mc-days .mc-chips { grid-template-columns: repeat(3, 1fr); }
.mc-chips--time { grid-template-columns: 1fr 1fr; margin-top: 8px; }
.mc-chip { position: relative; cursor: pointer; }
.mc-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mc-chip span {
	display: flex; overflow-wrap: anywhere; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 52px;
	border: 1.5px solid var(--line); border-radius: 14px; padding: 8px 6px; font-weight: 600; font-size: .9375rem;
	color: var(--c-plum); background: var(--c-paper); line-height: 1.2; transition: border-color .15s, background-color .15s, color .15s;
}
.mc-chip small, .mc-chip b { display: block; font-size: .6875rem; font-weight: 600; color: var(--c-muted); margin-top: 2px; letter-spacing: .02em; }
.mc-chip b { order: -1; margin: 0 0 2px; text-transform: uppercase; letter-spacing: .08em; }
.mc-chip:hover span { border-color: var(--c-mul); }
.mc-chip input:checked + span { background: var(--c-mul); border-color: var(--c-mul); color: #fff; }
.mc-chip input:checked + span small, .mc-chip input:checked + span b { color: rgba(255,255,255,.85); }
.mc-chip input:focus-visible + span { outline: 3px solid var(--c-mul); outline-offset: 2px; }
.is-error.mc-chips { box-shadow: 0 0 0 2px #E0405E; }
.is-error.mc-chips::after { content: "Please choose one"; grid-column: 1 / -1; color: #C0263F; font-size: .8125rem; }

.mc-other { display: none; font-size: .875rem; font-weight: 600; color: var(--c-plum); margin-top: 10px; }
.mc-form.show-other .mc-other, .mc-form:not(.is-js) .mc-other { display: block; }

.mc-field { margin-top: 14px; }
.mc-field label { display: block; font-size: .875rem; font-weight: 600; color: var(--c-plum); margin-bottom: 6px; }
.mc-field label span { font-weight: 400; color: var(--c-muted); }
.mc-form input[type=text], .mc-form input[type=tel], .mc-form input[type=email], .mc-form input[type=date], .mc-form select, .mc-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--c-ink);
	background: var(--c-paper); border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 16px; min-height: 52px;
	transition: border-color .15s, box-shadow .15s;
}
.mc-other input { margin-top: 6px; }
.mc-form input:focus, .mc-form select:focus, .mc-form textarea:focus { outline: none; border-color: var(--c-mul); box-shadow: 0 0 0 4px rgba(202, 0, 136, .12); background: #fff; }
.mc-field.is-error input, .mc-field.is-error select, .mc-field.is-error textarea { border-color: #E0405E; }
.mc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.mc-hp { position: absolute !important; left: -9999px !important; }
.mc-summary { background: var(--c-paper); border-radius: 12px; padding: 10px 14px; font-size: .875rem; color: var(--c-plum); font-weight: 600; margin: 0; }
.mc-summary:empty { display: none; }

.mc-next, .mc-submit {
	width: 100%; margin-top: 20px; border: 0; border-radius: 999px; background: var(--c-plum); color: #fff;
	font: inherit; font-weight: 700; font-size: 1.0625rem; padding: 17px 24px; cursor: pointer; transition: background-color .2s;
}
.mc-next:hover, .mc-submit:hover { background: var(--c-leaf); }
.mc-next::after { content: " →"; }
.mc-back { background: none; border: 0; font: inherit; font-size: .875rem; color: var(--c-muted); text-decoration: underline; text-underline-offset: 3px; margin: 12px auto 0; display: block; cursor: pointer; }
.mc-form:not(.is-js) .mc-next, .mc-form:not(.is-js) .mc-back { display: none; }
.mc-form.is-sending .mc-submit { opacity: .7; }
.mc-note { font-size: .8125rem; color: var(--c-muted); text-align: center; margin: 14px 0 0; }
.mc-note__wa { display: inline-block; font-weight: 700; margin-left: .25em; }

/* ---------- FAQ + visit ---------- */
.mc-faq { padding-block: var(--sec); }
.mc-faq .wp-block-columns { gap: clamp(36px, 6vw, 96px) !important; }
.mc-faq h2 { margin-top: 0; }
.wp-block-details { border-bottom: 1px solid var(--line); padding: 0; margin: 0 !important; }
.wp-block-details summary {
	list-style: none; cursor: pointer; padding: 20px 40px 20px 0; position: relative;
	font-family: var(--display); font-size: 1.25rem; color: var(--c-plum); line-height: 1.3;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 4px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
	background: var(--c-blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CA0088' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 12px no-repeat;
	transition: transform .25s;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > p { margin: 0 0 20px; color: var(--c-muted); max-width: 40em; }
.mc-visit__card { background: var(--c-sage); border-radius: var(--r); padding: clamp(24px, 3vw, 36px); position: sticky; top: 110px; }
.mc-visit__card .mc-kicker { color: var(--c-leaf); }
.mc-visit__card h3 { font-size: 1.6rem; margin: 0 0 .6rem; font-family: var(--display); font-weight: 700; }
.mc-visit__card .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--c-leaf); color: var(--c-leaf); }
.mc-visit__card .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--c-leaf); color: #fff; }

/* ---------- Footer ---------- */
.mc-footer { background: var(--c-ink); color: rgba(255,255,255,.72); padding-block: clamp(56px, 7vw, 96px) 28px; font-size: .9375rem; margin-top: 0 !important; }
.mc-footer a { color: #fff; text-decoration: none; }
.mc-footer a:hover { color: var(--c-sun); }
.mc-footer__cols { padding-top: 40px; gap: 28px !important; }
.mc-footer__name { font-family: var(--display); font-size: 1.4rem; color: #fff; margin: 0 0 .5rem; }
.mc-footer__label { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-sun); margin: 0 0 .6rem; font-weight: 700; }
.mc-footer__cols p { margin-top: 0; line-height: 1.75; }
.mc-footer__small { font-size: .8125rem; color: rgba(255,255,255,.62); padding-top: 28px; margin-top: 12px !important; border-top: 1px solid rgba(255,255,255,.12); }
.mc-footer--slim { padding-block: 24px; text-align: center; }
@media (max-width: 781px) {
	.mc-footer__cols { display: grid !important; grid-template-columns: 1fr 1fr; }
	.mc-footer__cols > .wp-block-column:first-child { grid-column: 1 / -1; }
	.mc-footer { padding-bottom: 96px; }
}

/* ---------- Open House block ---------- */
.mc-event { display: grid; gap: 28px; background: #fff; border-radius: 28px; padding: clamp(22px, 4vw, 44px); box-shadow: var(--shadow); align-items: center; }
.mc-event__img { width: 100%; border-radius: var(--r); aspect-ratio: 1; object-fit: cover; }
.mc-event__title { margin: 0 0 .5rem; }
.mc-event__when { font-size: 1.125rem; color: var(--c-plum); }
.mc-event__offer { display: inline-block; background: var(--c-sun); color: var(--c-plum); font-weight: 700; border-radius: 999px; padding: 6px 14px; }
.mc-event__list { padding-left: 1.2em; color: var(--c-muted); }
@media (min-width: 782px) { .mc-event.is-live { grid-template-columns: 40% 1fr; } }

/* ---------- WhatsApp + mobile action bar ---------- */
.mc-wa {
	position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 58px; height: 58px; border-radius: 50%;
	background: #25D366; display: grid; place-content: center; box-shadow: 0 10px 28px -8px rgba(0,0,0,.35);
	transition: transform .2s;
}
.mc-wa:hover { transform: scale(1.06); }
.mc-wa svg { width: 30px; height: 30px; fill: #fff; }
.mc-bar { display: none; }
@media (max-width: 781px) {
	.mc-wa { display: none; }
	.mc-bar {
		display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: color-mix(in srgb, var(--c-paper) 92%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
		border-top: 1px solid var(--line);
	}
	.mc-bar a { display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: 999px; font-weight: 700; text-decoration: none; min-height: 50px; }
	.mc-bar__tour { flex: 1; background: var(--c-plum); color: #fff; }
	.mc-bar__wa { background: #0B7A3E; color: #fff; padding: 0 18px; }
	.mc-bar__wa svg { width: 20px; height: 20px; fill: #fff; }
}

/* ---------- Gentle reveal ---------- */
.mc-reveal.is-pending > * { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.mc-reveal.is-in > * { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
@media (max-width: 420px) { .mc-chip span { font-size: .875rem; padding: 8px 4px; } }
@media (max-width: 781px) {
	.mc-day__photo { max-width: none; }
	.mc-day__photo img { aspect-ratio: 4 / 3; border-radius: 120px 120px var(--r) var(--r); }
}

/* ---------- Tour page + thank you ---------- */
.mc-tour--page { padding-block: clamp(28px, 5vw, 72px) clamp(56px, 7vw, 96px); }
.mc-tour--page h1 { font-size: clamp(2rem, 4vw, 3.1rem); margin: 0 0 1rem; }
.mc-bigquote--small { font-size: 1.35rem !important; margin-top: 2rem !important; }
.mc-thanks { padding-block: clamp(56px, 9vw, 128px); min-height: 60vh; }
.mc-thanks h1 { max-width: 14em; }
.mc-thanks .mc-howto { margin: 2rem 0 2.5rem; max-width: 34rem; }
@media (max-width: 781px) {
	.mc-tour--page .mc-tour__copy .mc-ticks, .mc-tour--page .mc-bigquote--small, .mc-tour--page .mc-tour__copy .mc-quote-by { display: none; }
	.mc-tour--page .mc-offer-card { margin-bottom: 0 !important; }
}
@media (max-width: 781px) {
	.mc-tour--page .mc-lead { display: none; }
	.mc-tour--page h1 { margin-bottom: .4rem; }
	body.mc-form-in-view .mc-bar { transform: translateY(110%); }
	.mc-bar { transition: transform .25s; }
}

/* ---------- Inner page hero ---------- */
.mc-pagehero { padding-block: clamp(28px, 5vw, 72px) clamp(48px, 6vw, 88px); position: relative; overflow: hidden; }
.mc-pagehero::after {
	content: ""; position: absolute; z-index: -1; right: -6vw; top: -4vw; width: 40vw; max-width: 560px; aspect-ratio: 400 / 380;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 380' fill='none' stroke='%23F9D6EB' stroke-width='12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M118 250c-46 4-74-40-50-78-22-40 12-86 56-74 14-50 82-64 112-22 44-22 96 12 86 60 40 18 34 82-10 90-6 34-46 48-74 30-24 22-64 20-82-6z'/%3E%3Cpath d='M186 268c-2 40-14 74-34 104M226 268c4 40 16 74 36 104'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mc-pagehero__cols { gap: clamp(32px, 6vw, 88px) !important; }
.mc-pagehero h1 { margin: 0 0 1.1rem; font-size: clamp(2.1rem, 4.2vw, 3.3rem); max-width: 14em; }
.mc-pagehero .wp-block-buttons { margin-top: 1.8rem; }
.mc-pagehero__img { max-width: 440px; margin: 0 0 0 auto !important; }
.mc-pagehero--simple { padding-bottom: clamp(24px, 3vw, 40px); }
.mc-pagehero--simple .mc-lead { max-width: 40em; }
@media (max-width: 781px) {
	.mc-pagehero__img { max-width: none; margin: 0 !important; }
	.mc-pagehero__img img { aspect-ratio: 16 / 11; border-radius: 140px 140px var(--r) var(--r); }
}

/* ---------- Stats band ---------- */
.mc-stats { background: var(--c-plum); padding-block: clamp(28px, 4vw, 44px); }
.mc-stats__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 20px; }
@media (min-width: 782px) { .mc-stats__row { grid-template-columns: repeat(4, 1fr); } }
.mc-stat { margin: 0; color: rgba(255, 255, 255, .9); font-size: .9375rem; line-height: 1.35; }
.mc-stat strong { display: block; font-family: var(--display); font-weight: 700; font-size: clamp(2rem, 3.6vw, 2.8rem); color: var(--c-sun); line-height: 1.05; margin-bottom: 4px; }

/* ---------- Beliefs ---------- */
.mc-beliefs { padding-block: var(--sec); }
.mc-grid4 { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 600px) { .mc-grid4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .mc-grid4 { grid-template-columns: repeat(4, 1fr); } }
.mc-belief { margin: 0 !important; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 26px 24px; position: relative; }
.mc-belief::before { content: ""; display: block; width: 36px; height: 36px; border-radius: 50%; background: var(--c-blush); margin-bottom: 1.2rem; box-shadow: 14px 0 0 -4px var(--c-sun); }
.mc-belief:nth-child(2)::before { background: var(--c-sage); }
.mc-belief:nth-child(3)::before { background: var(--c-sage); box-shadow: 14px 0 0 -4px var(--c-mul); }
.mc-belief:nth-child(4)::before { background: var(--c-oat); box-shadow: 14px 0 0 -4px var(--c-leaf); }
.mc-belief h3 { margin: 0 0 .5rem; }
.mc-belief p { margin: 0; color: var(--c-muted); font-size: .9875rem; }

/* ---------- Dark feature (Habits of Mind) ---------- */
.mc-feature { background: var(--c-plum); color: #FFFFFF; padding-block: var(--sec); }
.mc-feature h2 { color: #fff; margin-top: 0; }
.mc-feature h2 em { color: var(--c-sun); }
.mc-feature .mc-kicker { color: var(--c-sun); }
.mc-feature p { color: rgba(255, 255, 255, .9); max-width: 34em; }
.mc-feature__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-feature .is-style-window { max-width: 420px; }
.mc-feature .wp-block-buttons { margin-top: 1.6rem; }

/* ---------- Care cards ---------- */
.mc-care { padding-block: var(--sec); background: var(--c-oat); }
.mc-care__cols { gap: 18px !important; }
.mc-care__card { background: #fff; border-radius: var(--r); padding: clamp(24px, 3vw, 36px); }
.mc-care__card h3 { margin: 0; font-size: 1.45rem; }
.mc-care__card .mc-ticks { margin-bottom: 0; }

/* ---------- Awards list ---------- */
.mc-awards { padding-block: var(--sec); }
.mc-awards__cols { gap: clamp(32px, 6vw, 96px) !important; }
.mc-awards h2 { margin-top: 0; }
.mc-awardlist { border-top: 1px solid var(--line); }
.mc-awardrow { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 24px; margin: 0 !important; padding: 18px 0 18px 40px; border-bottom: 1px solid var(--line); position: relative; }
.mc-awardrow::before {
	content: ""; position: absolute; left: 0; top: 21px; width: 24px; height: 24px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3l3.6 7.4 8.1 1.2-5.9 5.7 1.4 8.1L16 21.6l-7.2 3.8 1.4-8.1-5.9-5.7 8.1-1.2z' fill='%23CA0088'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mc-awardrow strong { font-family: var(--display); font-weight: 700; font-size: 1.25rem; color: var(--c-plum); }
.mc-awardrow span { color: var(--c-muted); font-size: .875rem; }

/* ---------- CTA band ---------- */
.mc-ctaband { padding-block: var(--sec); background: var(--c-blush); background-image: radial-gradient(60% 80% at 100% 0%, rgba(128, 83, 157, .14), transparent 70%); }
.mc-ctaband__inner { max-width: 820px; margin-inline: auto !important; text-align: center; }
.mc-ctaband__inner .wp-block-buttons { justify-content: center; }
.mc-ctaband .mc-bigquote { margin-bottom: .6rem; }
.mc-ctaband h2 { margin: 0 0 .8rem; }
.mc-ctaband--ages .mc-ages { max-width: 640px; margin: 1.6rem auto 0; }
.mc-ctaband--ages .mc-age > .wp-block-button__link { background: #fff; }

/* ---------- Programmes page ---------- */
.mc-levels-page { padding-block: var(--sec); background: var(--c-oat); }
.mc-levelcards { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 600px) { .mc-levelcards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .mc-levelcards { grid-template-columns: repeat(5, 1fr); } }
.mc-levelcard { margin: 0 !important; background: #fff; border-radius: var(--r); padding: 24px 22px; display: flex; flex-direction: column; border: 1px solid transparent; transition: border-color .2s, transform .2s; }
.mc-levelcard:hover { border-color: var(--c-mul); transform: translateY(-3px); }
.mc-levelcard__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 1.4rem !important; font-size: .8125rem; color: var(--c-muted); font-weight: 600; }
.mc-levelcard__top strong { background: var(--c-sage); color: var(--c-leaf); border-radius: 999px; padding: 3px 10px; font-size: .875rem; white-space: nowrap; }
.mc-levelcard h3 { margin: 0 0 .5rem; font-family: var(--display); font-weight: 700; font-size: 1.6rem; }
.mc-levelcard p { margin: 0; color: var(--c-muted); font-size: .9375rem; }
.mc-levelcard__link { margin-top: auto !important; padding-top: 1.2rem; }
.mc-levelcard__link a { font-weight: 700; font-size: .9375rem; text-decoration: none; }
.mc-levelcard__link a::after { content: " →"; }

.mc-curric { padding-block: var(--sec); }
.mc-curric__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-curric__intro h2 { margin-top: 0; }
@media (min-width: 782px) { .mc-curric__intro { position: sticky; top: 110px; align-self: flex-start; } }
.mc-curric__list { border-top: 1px solid var(--line); }
.mc-curric__item { margin: 0 !important; padding: 24px 0 24px 56px; border-bottom: 1px solid var(--line); position: relative; counter-increment: cur; }
.mc-curric__list { counter-reset: cur; }
.mc-curric__item::before { content: counter(cur, decimal-leading-zero); position: absolute; left: 0; top: 26px; font-family: var(--display); font-style: italic; font-size: 1.25rem; color: var(--c-mul); }
.mc-curric__item h3 { margin: 0 0 .35rem; }
.mc-curric__item p { margin: 0; color: var(--c-muted); }

.mc-enrich { padding-block: var(--sec); background: var(--c-sage); }
.mc-enrich__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-enrich h2 { margin-top: 0; }
.mc-enrich .mc-kicker { color: var(--c-leaf); }
.mc-enrich h2 em { color: var(--c-leaf); }
.mc-enrich .is-style-window { max-width: 420px; margin-left: auto; }
.mc-tags { list-style: none; padding: 0; margin: 1.6rem 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mc-tags li { background: #fff; color: var(--c-plum); border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: .9375rem; }

.mc-daytypes { padding-block: var(--sec); }
.mc-daytypes__cols { gap: 18px !important; }
.mc-daytype { border: 1.5px solid var(--line); border-radius: var(--r); padding: clamp(24px, 3vw, 36px); }
.mc-daytype--full { background: var(--c-plum); border-color: var(--c-plum); color: rgba(255, 255, 255, .9); }
.mc-daytype__label { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-mul); }
.mc-daytype--full .mc-daytype__label { color: var(--c-sun); }
.mc-daytype__time { font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--c-plum); margin: .2rem 0 .8rem; line-height: 1.1; }
.mc-daytype--full .mc-daytype__time { color: #fff; }
.mc-daytype p:last-child { margin: 0; }
.mc-faq .wp-block-group > h2 { margin-top: 0; }

/* ---------- Events page ---------- */
.mc-events { padding-block: 0 var(--sec); }
.mc-event.is-tour { background: var(--c-plum); color: rgba(255, 255, 255, .9); text-align: left; }
.mc-event.is-tour .mc-kicker { color: var(--c-sun); }
.mc-event.is-tour .mc-event__title { color: #fff; }
.mc-event.is-tour p { max-width: 36em; }
.mc-event.is-tour .mc-btn { background: var(--c-sun); color: var(--c-plum); }
.mc-event.is-tour .mc-btn:hover { background: #fff; }
.mc-visitsteps { padding-block: var(--sec); background: var(--c-oat); }
.mc-visitsteps__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-visitsteps h2 { margin-top: 0; }
.mc-visitsteps .is-style-window { max-width: 420px; }
.mc-visitsteps .mc-howto { margin: 1.6rem 0 1rem; }
.mc-small { font-size: .9375rem; color: var(--c-muted); }
.mc-follow { padding-block: clamp(48px, 6vw, 80px); }
.mc-follow__inner { max-width: 640px; margin-inline: auto !important; text-align: center; }
.mc-follow__inner h3 { font-size: 1.6rem; font-family: var(--display); font-weight: 700; margin: 0 0 .5rem; }
.mc-follow__inner p { color: var(--c-muted); }
.mc-follow .wp-block-buttons { justify-content: center; }

/* ---------- Contact page ---------- */
.mc-contact { padding-block: clamp(28px, 5vw, 72px) var(--sec); position: relative; overflow: hidden; }
.mc-contact::after {
	content: ""; position: absolute; z-index: -1; left: -12vw; bottom: -10vw; width: 50vw; aspect-ratio: 1.2;
	background: radial-gradient(closest-side, var(--c-sage), transparent 70%);
}
.mc-contact__cols { gap: clamp(32px, 5vw, 80px) !important; }
.mc-contact h1 { font-size: clamp(2rem, 4vw, 3.1rem); margin: 0 0 1rem; }
.mc-contactlist { margin: 2rem 0 !important; border-top: 1px solid var(--line); }
.mc-contactrow { margin: 0 !important; padding: 16px 0 16px 52px; border-bottom: 1px solid var(--line); position: relative; color: var(--c-muted); font-size: .9375rem; }
.mc-contactrow span { display: block; font-weight: 700; color: var(--c-plum); font-size: 1rem; margin-bottom: 2px; }
.mc-contactrow a { font-weight: 700; }
.mc-contactrow::before {
	content: ""; position: absolute; left: 0; top: 16px; width: 36px; height: 36px; border-radius: 50%;
	background: var(--c-blush) center / 18px no-repeat;
}
.mc-contactrow--wa::before { background-color: #DDF3E5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B7A3E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.4 7.4L3 21l2.1-5.4A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E"); }
.mc-contactrow--tel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CA0088' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.mc-contactrow--map::before { background-color: var(--c-sage); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2380539D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.mc-contactrow--time::before { background-color: var(--c-sage); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2380539D' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.mc-contact__tour { background: var(--c-plum); color: rgba(255,255,255,.85); border-radius: 18px; padding: 18px 22px; font-size: .9375rem; margin: 0 !important; }
.mc-contact__tour strong { color: var(--c-sun); }
.mc-contact__tour a { color: #fff; font-weight: 700; display: inline-block; margin-left: .2em; }
@media (max-width: 781px) { .mc-contact .mc-contactlist { margin: 1.4rem 0 !important; } }

/* ---------- Brand guide alignment (Raleway, Smart Purple, Vibrant Pink, Dark Grey) ---------- */
.mc-day .mc-kicker, .mc-feature .mc-kicker, .mc-event.is-tour .mc-kicker, .mc-daytype--full .mc-daytype__label, .mc-offer strong { color: #fff; }
.mc-kicker { font-weight: 700; letter-spacing: .18em; }
:where(h1, h2) em { font-weight: 700; }
.mc-enrich .mc-kicker, .mc-visit__card .mc-kicker { color: var(--c-plum); }
.mc-enrich h2 em { color: var(--c-mul); }
.mc-level__ratio strong, .mc-levelcard__top strong { color: var(--c-plum); }
.mc-visit__card .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--c-plum); color: var(--c-plum); }
.mc-visit__card .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--c-plum); color: #fff; }
.mc-hero h1 em::after { opacity: .55; }
.wp-block-details summary { font-weight: 600; font-size: 1.125rem; }
.mc-slot__time, .mc-stat strong, .mc-daytype__time { font-weight: 700; }
.mc-header { background: color-mix(in srgb, #fff 92%, transparent); }
@media (min-width: 600px) { .mc-ctaband--ages .mc-ages { grid-template-columns: repeat(6, 1fr); } .mc-ctaband--ages .mc-age > .wp-block-button__link { padding: 14px 8px; } }

.mc-nav .wp-block-navigation__container { justify-content: flex-end; }

/* ---------- Award badges ---------- */
.mc-badges { margin: 0 !important; }
.mc-badges img { width: 100%; height: auto; mix-blend-mode: multiply; }
.mc-badges--stack { max-width: 400px; margin-top: 1.4rem !important; }
.mc-badges--tour { max-width: 380px; margin-top: 1.8rem !important; }
@media (max-width: 781px) {
	.mc-tour--page .mc-badges--tour { display: none; }
}

/* Locked header: the whole header area sticks, pulled up by the offer bar's height so only the white bar stays. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky; z-index: 50;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--mc-offer-h, 0px));
}

/* ---------- Proof band: awards row + press row ---------- */
.mc-proof { background: #fff; border-bottom: 1px solid var(--line); padding-block: clamp(28px, 4vw, 44px) 0; }
.mc-proof__label { margin: 0 0 1.1rem !important; text-align: center; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--c-muted); }
.mc-badgerow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px 16px; align-items: center; justify-items: center; }
@media (min-width: 782px) { .mc-badgerow { grid-template-columns: 1.6fr repeat(5, 1fr); gap: 24px; } }
.mc-badgerow figure { margin: 0 !important; }
.mc-badgerow img { height: clamp(54px, 6vw, 86px); width: auto !important; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.mc-press { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 56px; margin-top: clamp(24px, 3vw, 36px) !important; padding-block: 20px; border-top: 1px solid var(--line); }
.mc-press .mc-proof__label { margin: 0 0 4px !important; width: 100%; }
.mc-press figure { margin: 0 !important; }
.mc-press img { height: 25px; width: auto !important; }
.mc-press figure:last-child img { height: 40px; }

.mc-badgerow--grid { grid-template-columns: repeat(3, 1fr) !important; max-width: 440px; margin-top: 1.8rem !important; gap: 24px 18px !important; }
.mc-badgerow--grid img { height: 64px; }
@media (max-width: 599px) {
	.mc-press { gap: 18px 28px; }
	.mc-press img { height: 19px; }
	.mc-press figure:last-child img { height: 32px; }
}

/* Campus rail autoplay: hide the scrollbar while it moves on its own. */
.mc-rail.is-auto { scrollbar-width: none; }
.mc-rail.is-auto::-webkit-scrollbar { display: none; }

/* ---------- Google reviews ---------- */
.mc-reviews { padding-block: var(--sec); background: var(--c-oat); overflow: hidden; }
.mc-reviews__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: clamp(28px, 4vw, 48px) !important; }
.mc-reviews__head h2 { margin: 0; }
.mc-rating { margin: 0 !important; background: #fff; border-radius: var(--r); padding: 16px 22px; display: grid; grid-template-columns: auto auto; column-gap: 14px; align-items: center; box-shadow: var(--shadow); font-size: .875rem; color: var(--c-muted); line-height: 1.35; }
.mc-rating strong { grid-row: span 2; font-size: 2.6rem; line-height: 1; color: var(--c-ink); font-weight: 800; }
.mc-rating .mc-stars { font-size: 1rem; }
.mc-rating a { font-weight: 700; }
.mc-stars { color: #F5A623; letter-spacing: 2px; font-size: .95rem; }
.mc-reviewgrid { columns: 3 300px; column-gap: 18px; }
.mc-review { break-inside: avoid; margin: 0 0 18px !important; background: #fff; border-radius: var(--r); padding: 24px 24px 20px; border: 1px solid var(--line); }
.mc-review p { margin: 0; }
.mc-review .mc-stars { margin-bottom: .7rem !important; }
.mc-review__text { color: var(--c-ink); font-size: 1rem; line-height: 1.6; }
.mc-review__by { display: flex; align-items: center; gap: 10px; margin-top: 1.1rem !important; padding-top: 1rem !important; border-top: 1px solid var(--line); font-size: .875rem; color: var(--c-muted); }
.mc-review__by strong { color: var(--c-ink); display: block; font-size: .9375rem; }
.mc-review__by::before {
	content: ""; flex: none; width: 26px; height: 26px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 13 4 4 13 4 24s9 20 20 20 20-9 20-20c0-1.3-.1-2.6-.4-3.9z'/%3E%3Cpath fill='%23FF3D00' d='M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-7.9l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 781px) {
	.mc-reviewgrid { columns: auto; display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; align-items: start; }
	.mc-review { scroll-snap-align: start; margin: 0 !important; }
}

/* Reviews conveyor: cards glide right to left in a loop (JS doubles the set). Pauses on hover or touch. */
.mc-reviewgrid.is-marquee {
	display: flex; align-items: stretch; gap: 18px; width: max-content; columns: auto; overflow: visible; padding: 0;
	animation: mc-marquee var(--mc-marquee-dur, 50s) linear infinite; will-change: transform;
}
.mc-reviewgrid.is-marquee .mc-review { width: 380px; flex: none; margin: 0 !important; display: flex; flex-direction: column; }
.mc-reviewgrid.is-marquee .mc-review__by { margin-top: auto !important; }
.mc-reviewgrid.is-marquee .mc-review__text { margin-bottom: 1.1rem !important; }
.mc-reviewgrid.is-marquee.is-held { animation-play-state: paused; }
@media (hover: hover) { .mc-reviewgrid.is-marquee:hover { animation-play-state: paused; } }
@keyframes mc-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-1 * var(--mc-shift, 50%)), 0, 0); } }
@media (max-width: 781px) { .mc-reviewgrid.is-marquee .mc-review { width: 290px; } .mc-reviewgrid.is-marquee { gap: 14px; } }

/* Step inside: the whole section fits one screen under the locked header. Photos take whatever height is left. */
.mc-campus { padding-block: clamp(32px, 6svh, 72px); min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.mc-campus .mc-head { margin-bottom: clamp(18px, 3svh, 32px) !important; }
.mc-campus .mc-head h2 { margin-bottom: .5rem; }
.mc-campus .mc-head__text { font-size: 1rem; }
.mc-campus .mc-card img, .mc-campus .mc-card--tall img { aspect-ratio: auto; height: clamp(170px, calc(100svh - 505px), 440px); }
.mc-campus .mc-card:not(.mc-card--tall):not(.mc-card--pool) { padding-top: 0; }
.mc-campus .mc-card figure { margin-bottom: .8rem !important; }
.mc-campus .mc-card p { font-size: .9375rem; line-height: 1.5; }
.mc-campus .mc-card--pool { min-height: 0; }
.mc-campus .mc-rail { padding-bottom: 4px; }
@media (min-width: 1000px) {
	.mc-campus .mc-head { display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 48px; align-items: end; }
	.mc-campus .mc-head .mc-kicker { grid-column: 1 / -1; }
	.mc-campus .mc-head h2 { margin: 0; }
}
@media (max-width: 781px) {
	.mc-campus { min-height: calc(100svh - 73px - 72px); }
	.mc-campus .mc-head__text { display: none; }
	.mc-campus .mc-card img { height: clamp(150px, calc(100svh - 600px), 380px); }
}

/* Flex column + auto side margins would shrink the rows to their content; keep them full width. */
.mc-campus > * { width: 100%; box-sizing: border-box; }

/* A day at Bishan: fits one screen under the locked header. */
.mc-day { padding-block: clamp(32px, 6svh, 72px); min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.mc-day > * { width: 100%; box-sizing: border-box; }
.mc-day h2 { margin-block: 0 .8rem; }
.mc-day__intro p { margin-block: 0 1rem; }
.mc-day__photo { margin-top: 1.2rem !important; max-width: 420px; }
.mc-day__photo img { aspect-ratio: auto; height: clamp(140px, calc(100svh - 560px), 330px); border-radius: 160px 160px var(--r) var(--r); }
.mc-slot { padding-bottom: clamp(8px, 2.2svh, 24px); }
.mc-slot p:last-child { line-height: 1.45; }
@media (min-width: 782px) { .mc-day__intro { position: static; } .mc-slot__time { font-size: 1.3rem; } }
@media (max-width: 781px) {
	.mc-day { min-height: calc(100svh - 73px - 72px); }
	.mc-day__intro p:not(.mc-kicker), .mc-day__photo { display: none; }
	.mc-day__cols { gap: 18px !important; }
	.mc-slot { display: grid; grid-template-columns: 96px 1fr; align-items: baseline; padding: 0 0 12px 30px; }
	.mc-slot::before { width: 13px; height: 13px; top: 6px; }
	.mc-day__list::before { left: 6px; }
	.mc-slot__time { font-size: 1.05rem; margin: 0 !important; }
	.mc-slot h3 { font-size: .9875rem; margin: 0; }
	.mc-slot p:last-child { display: none; }
}

/* ---------- Every homepage section fits one screen ---------- */
/* Hero: first screen = offer bar + header + hero. */
.mc-hero { min-height: calc(100svh - 114px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(20px, 4svh, 56px); }
.mc-hero > * { width: 100%; box-sizing: border-box; }
.mc-hero__main img { aspect-ratio: auto; height: clamp(300px, calc(100svh - 230px), 560px); }
.mc-hero h1 { font-size: clamp(2.1rem, min(4.4vw, 7svh), 3.6rem); }
.mc-starter { margin-top: clamp(14px, 2.5svh, 32px) !important; }
/* Tour form: denser chip grids on wider screens. */
@media (min-width: 782px) {
	.mc-tour .mc-chips { grid-template-columns: repeat(6, 1fr); }
	.mc-tour .mc-days .mc-chips { grid-template-columns: repeat(5, 1fr); }
	.mc-tour .mc-chips--time { grid-template-columns: 1fr 1fr; }
	.mc-form legend, .mc-q { margin: .9rem 0 .45rem; }
	.mc-chip span { min-height: 46px; }
	.mc-tour__copy .mc-howto { gap: 10px; }
}
@media (max-width: 781px) {
	.mc-hero { min-height: 0; padding-block: 16px 24px; }
	.mc-hero .mc-lead { display: none; }
	.mc-hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.3rem); margin-bottom: .2rem; }
	.mc-hero__cols { gap: 18px !important; }
	.mc-hero__main img { height: clamp(140px, calc(100svh - 640px), 260px); }
	.mc-hero__inset { display: none; }
	.mc-sticker { width: 74px; height: 74px; bottom: -10px; }
	.mc-sticker strong { font-size: 1.1rem; }
	.mc-starter { padding: 14px 12px 10px; }
	.mc-starter__q { margin-bottom: .6rem; font-size: 1rem; }
	.mc-age > .wp-block-button__link { padding: 10px 4px; }
	.mc-classes .mc-classes__cols > .wp-block-column:first-child p:not(.mc-kicker), .mc-classes .mc-ticks { display: none; }
	.mc-classes__cols { gap: 16px !important; }
	.mc-level { padding: 12px 4px; }
	.mc-level__name { font-size: 1.25rem; }
	.mc-reviews__head { margin-bottom: 18px !important; gap: 14px; }
	.mc-rating { padding: 10px 16px; }
	.mc-rating strong { font-size: 2rem; }
	.mc-review { padding: 18px 18px 14px; }
	.mc-review__text { font-size: .9375rem; line-height: 1.5; }
	.mc-tour__copy > p:not(.mc-kicker):not(.mc-offer-card), .mc-tour__copy .mc-howto { display: none; }
	.mc-tour__copy .mc-offer-card { margin: .6rem 0 0 !important; padding: 12px 16px; }
	.mc-tour__cols { gap: 16px !important; }
	.mc-form { padding: 18px 14px; }
	.mc-form legend, .mc-q { margin: .8rem 0 .4rem; font-size: .9375rem; }
	.mc-chip span { min-height: 44px; padding: 6px 4px; }
	.mc-days .mc-chips { grid-template-columns: repeat(4, 1fr); }
	.mc-faq .mc-visit { display: none; }
	.wp-block-details summary { padding: 14px 36px 14px 0; font-size: 1.0625rem; }
}
/* Tour form, compact pass */
@media (min-width: 782px) {
	.mc-tour .mc-form { padding: 22px 26px; }
	.mc-tour .mc-days .mc-chips { grid-template-columns: repeat(6, 1fr); }
	.mc-tour .mc-chip span { min-height: 42px; padding: 6px 4px; }
	.mc-tour .mc-next, .mc-tour .mc-submit { padding: 14px 24px; margin-top: 14px; }
	.mc-tour .mc-form__title { font-size: 1.5rem; }
	.mc-tour .mc-steps { margin-top: .5rem; }
	.mc-tour .mc-note { margin-top: 10px; }
}
@media (max-width: 781px) {
	.mc-hero__main img { height: clamp(130px, calc(100svh - 700px), 260px); }
	.mc-days .mc-chips { grid-template-columns: repeat(3, 1fr); }
	.mc-tour__copy .mc-offer-card { display: none; }
	.mc-tour .mc-form__title { display: none; }
	.mc-tour .mc-steps { margin-top: 0; }
	.mc-tour .mc-next { margin-top: 14px; padding: 14px 20px; }
	.mc-tour .mc-note { margin-top: 10px; }
	.mc-reviews .mc-kicker { display: none; }
	.mc-review__text { font-size: .875rem; }
	.mc-campus .mc-card img { min-height: 120px; }
}
@media (max-width: 781px) {
	.mc-tour { padding-block: 22px; }
	.mc-tour__copy .mc-kicker { display: none; }
	.mc-tour__copy h2 { font-size: 1.75rem; margin: 0; }
	.mc-tour .mc-form { padding: 14px 12px; }
	.mc-tour .mc-chip span { min-height: 42px; }
	.mc-tour .mc-chip small { display: none; }
	.mc-tour .mc-form legend, .mc-tour .mc-q { margin: .55rem 0 .35rem; }
	.mc-tour .mc-chips { gap: 6px; }
	.mc-tour .mc-note { font-size: 0; margin-top: 8px; }
	.mc-tour .mc-note .mc-note__wa { font-size: .875rem; margin: 0; }
}

/* Full-screen sections: each fills the window under the locked header, content centred and scaled to the height. */
.mc-classes, .mc-reviews, .mc-tour:not(.mc-tour--page), .mc-faq {
	min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center;
	padding-block: clamp(32px, 7svh, 96px);
}
.mc-classes > *, .mc-reviews > *, .mc-tour > *, .mc-faq > * { width: 100%; box-sizing: border-box; }
@media (min-width: 782px) {
	/* Programmes: taller level rows */
	.mc-level { padding-block: clamp(14px, 2.6svh, 30px); }
	.mc-level__name { font-size: clamp(1.4rem, 3.4svh, 2.1rem); }
	.mc-level__ratio strong { font-size: 1.5rem; }
	.mc-classes h2 { font-size: clamp(2rem, 5svh, 3rem); }
	/* Reviews: bigger cards */
	.mc-reviewgrid.is-marquee .mc-review { width: clamp(380px, 30vw, 460px); padding: clamp(24px, 3.4svh, 36px); }
	.mc-review__text { font-size: clamp(1rem, 2svh, 1.125rem); }
	.mc-reviews h2 { font-size: clamp(2rem, 5svh, 3rem); }
	/* School tours: roomier form */
	.mc-tour .mc-chip span { min-height: clamp(42px, 6svh, 56px); }
	.mc-tour__copy h2 { font-size: clamp(2rem, 5svh, 3rem); }
	.mc-tour .mc-form legend, .mc-tour .mc-q { margin: clamp(.8rem, 2svh, 1.4rem) 0 .5rem; }
	/* FAQs: roomier rows */
	.mc-faq .wp-block-details summary { padding-block: clamp(16px, 2.8svh, 28px); font-size: clamp(1.125rem, 2.4svh, 1.35rem); }
	.mc-faq h2 { font-size: clamp(2rem, 5svh, 3rem); margin-bottom: clamp(12px, 3svh, 32px); }
	.mc-visit__card { position: static; }
}
@media (max-width: 781px) {
	.mc-classes, .mc-reviews, .mc-faq { min-height: calc(100svh - 73px - 72px); }
	.mc-tour:not(.mc-tour--page) { min-height: calc(100svh - 73px); padding-block: 22px; }
	.mc-level { padding-block: clamp(10px, 1.8svh, 18px); }
}
@media (min-width: 782px) {
	.mc-tour .mc-form legend, .mc-tour .mc-q { margin: clamp(.5rem, 1.5svh, 1.4rem) 0 .45rem; }
	.mc-tour .mc-chip span { min-height: clamp(40px, 5.4svh, 56px); }
}
@media (max-width: 781px) {
	.mc-classes, .mc-reviews { padding-block: 24px; }
	.mc-level { padding-block: 9px; }
	.mc-classes h2, .mc-reviews h2 { font-size: 1.75rem; }
}

/* ---------- Footer (brand guide: Smart Purple, white logo, pink tree motif, Raleway) ---------- */
.mc-footer {
	background: var(--c-plum); color: rgba(255,255,255,.88); padding-block: clamp(48px, 7vw, 88px) 0; font-size: .9375rem;
	position: relative; overflow: hidden;
}
.mc-footer::after {
	content: ""; position: absolute; right: -60px; bottom: -40px; width: 380px; aspect-ratio: 400 / 380; pointer-events: none; opacity: .14;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 380' fill='none' stroke='%23FFFFFF' stroke-width='12' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M118 250c-46 4-74-40-50-78-22-40 12-86 56-74 14-50 82-64 112-22 44-22 96 12 86 60 40 18 34 82-10 90-6 34-46 48-74 30-24 22-64 20-82-6z'/%3E%3Cpath d='M186 268c-2 40-14 74-34 104M226 268c4 40 16 74 36 104'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mc-footer > * { position: relative; z-index: 1; }
.mc-footer a { color: #fff; text-decoration: none; }
.mc-footer a:hover { color: var(--c-sun); text-decoration: underline; }
.mc-footer__cols { padding-top: 0; gap: 32px !important; padding-bottom: clamp(32px, 4vw, 48px); }
.mc-footer__logo { margin: 0 0 1rem !important; }
.mc-footer__logo img { width: 96px; height: auto; }
.mc-footer__tag { font-weight: 700; color: #fff; font-size: 1.125rem; margin: 0 0 .4rem; }
.mc-footer__brand p { max-width: 22rem; }
.mc-footer__btn { margin-top: 1.2rem; }
.mc-footer__label { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-sun); margin: 0 0 .7rem; font-weight: 700; }
.mc-footer__cols p { margin-top: 0; line-height: 1.8; }
.mc-footer__bottom {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px;
	border-top: 1px solid rgba(255,255,255,.2); padding-block: 18px 22px; font-size: .8125rem; color: rgba(255,255,255,.78);
}
.mc-footer__bottom p { margin: 0; }
.mc-footer__credit a { font-weight: 700; }
.mc-footer--slim { padding-block: 22px; text-align: center; font-size: .8125rem; }
.mc-footer--slim::after { display: none; }
@media (max-width: 781px) {
	.mc-footer__cols { display: grid !important; grid-template-columns: 1fr 1fr; }
	.mc-footer__cols > .wp-block-column:first-child { grid-column: 1 / -1; }
	.mc-footer__bottom { padding-bottom: 96px; }
	.mc-footer { padding-bottom: 0; }
}
.mc-footer__bottom .mc-footer__small { border: 0; padding: 0; margin: 0 !important; color: inherit; font-size: inherit; }

/* Slimmer footer */
.mc-footer { padding-top: clamp(28px, 3.5vw, 44px); font-size: .875rem; }
.mc-footer__cols { gap: 24px !important; padding-bottom: clamp(18px, 2.4vw, 28px); }
.mc-footer__cols p { line-height: 1.6; margin-bottom: 0; }
.mc-footer__label { margin-bottom: .4rem; }
.mc-footer__logo { margin: 0 0 .6rem !important; }
.mc-footer__logo img { width: 64px; }
.mc-footer__tag { font-size: 1rem; }
.mc-footer__bottom { padding-block: 12px 14px; font-size: .75rem; }
.mc-footer::after { width: 240px; bottom: -50px; }
@media (max-width: 781px) {
	.mc-footer__cols { gap: 18px 16px !important; }
	.mc-footer__bottom { padding-bottom: 86px; }
}

/* ---------- Sleek footer: one brand row + one fine-print row ---------- */
.mc-footer--sleek { padding-block: 26px 0; }
.mc-footer--sleek::after { width: 170px; right: -30px; bottom: -40px; opacity: .1; }
.mc-footer__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding-bottom: 20px; }
.mc-footer__brand { display: flex; align-items: center; gap: 14px; }
.mc-footer--sleek .mc-footer__logo { margin: 0 !important; }
.mc-footer--sleek .mc-footer__logo img { width: 52px; }
.mc-footer--sleek .mc-footer__tag { margin: 0; font-size: .9375rem; line-height: 1.25; font-weight: 700; color: #fff; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.3); }
.mc-footer__nav { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 28px; font-weight: 600; font-size: .9375rem; }
.mc-footer__social { margin: 0; display: flex; gap: 10px; }
.mc-soc {
	width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.14) center / 18px no-repeat; display: block; transition: background-color .2s;
}
.mc-soc:hover { background-color: rgba(255,255,255,.28); }
.mc-soc--wa { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M17.5 14.4c-.3-.1-1.8-.9-2-1s-.5-.1-.7.1-.8 1-.9 1.2-.3.2-.6.1a8 8 0 0 1-2.4-1.5 9 9 0 0 1-1.6-2c-.2-.3 0-.5.1-.6l.5-.5.3-.5v-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6a1.1 1.1 0 0 0-.8.4 3.4 3.4 0 0 0-1.1 2.5 5.9 5.9 0 0 0 1.2 3.1 13.4 13.4 0 0 0 5.2 4.6c.7.3 1.3.5 1.7.6a4.2 4.2 0 0 0 1.9.1 3.2 3.2 0 0 0 2.1-1.5 2.6 2.6 0 0 0 .2-1.5c-.1-.1-.3-.2-.6-.3zM12 21.8a9.8 9.8 0 0 1-5-1.4l-.4-.2-3.7 1 1-3.6-.2-.4A9.8 9.8 0 1 1 12 21.8zm8.4-18.2A11.8 11.8 0 0 0 1.8 17.9L.1 24l6.3-1.7A11.8 11.8 0 0 0 23.8 12a11.7 11.7 0 0 0-3.4-8.4z'/%3E%3C/svg%3E"); }
.mc-soc--ig { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.6' fill='%23fff'/%3E%3C/svg%3E"); }
.mc-soc--fb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M14 8h3V4h-3a4 4 0 0 0-4 4v2H8v4h2v8h4v-8h3l1-4h-4V8z'/%3E%3C/svg%3E"); }
.mc-footer--sleek .mc-footer__bottom { padding-block: 12px 14px; font-size: .75rem; }
.mc-footer--sleek .mc-footer__bottom a { font-weight: 600; }
@media (max-width: 781px) {
	.mc-footer__row { flex-direction: column; align-items: flex-start; gap: 16px; }
	.mc-footer__nav { gap: 6px 18px; }
	.mc-footer--sleek .mc-footer__bottom { flex-direction: column; align-items: flex-start; gap: 6px; padding-bottom: 86px; }
}
.mc-footer__small a { white-space: nowrap; }

.mc-kicker { gap: .45em; }
/* Footer top row: compact, sitting low against the fine print */
.mc-footer--sleek { padding-top: 14px; }
.mc-footer--sleek .mc-footer__row { padding: 8px 0 10px; align-items: flex-end; }
.mc-footer--sleek .mc-footer__logo img { width: 42px; }
.mc-footer--sleek .mc-footer__tag { font-size: .8125rem; padding-left: 12px; }
.mc-footer--sleek .mc-soc { width: 30px; height: 30px; background-size: 15px; }
.mc-footer--sleek .mc-footer__bottom { padding-block: 10px 12px; }
@media (max-width: 781px) {
	.mc-footer--sleek .mc-footer__row { flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 12px; }
	.mc-footer--sleek .mc-footer__social { gap: 8px; }
}
@media (max-width: 781px) { .mc-footer--sleek .mc-footer__bottom { padding-bottom: calc(86px + env(safe-area-inset-bottom)); } }

/* No dash before section labels. */
.mc-kicker::before { content: none; display: none; }
/* Steps without number badges: small pink dots on a thin line. */
.mc-howto { position: relative; }
.mc-howto::before { content: ""; position: absolute; left: 5px; top: 14px; bottom: 14px; width: 1.5px; background: rgba(202, 0, 136, .25); }
.mc-howto li { padding-left: 28px; min-height: 0; }
.mc-howto li::before { content: ""; width: 11px; height: 11px; border: 0; background: var(--c-mul); top: 50%; margin-top: -5.5px; box-shadow: 0 0 0 4px var(--c-blush); }
/* Curriculum list without 01/02 numbers. */
.mc-curric__item { padding-left: 0; }
.mc-curric__item::before { content: none; display: none; }
/* Belief cards: plain brand top edge instead of decorative circles. */
.mc-belief::before { content: none; display: none; }
.mc-belief { border-top: 3px solid var(--c-mul); border-radius: 4px 4px var(--r) var(--r); }
.mc-belief:nth-child(even) { border-top-color: var(--c-plum); }
.mc-hero__main img { object-position: 50% 30%; }
.mc-hero__rating { margin: 0 0 .8rem !important; font-size: .9375rem; color: var(--c-ink); }
.mc-hero__rating .mc-stars { margin-right: 4px; }

/* Programmes USPs: plain statements, no icons or ticks. */
.mc-usps { display: grid; gap: 0; margin: 1.4rem 0 1.8rem !important; border-top: 1px solid var(--line); }
.mc-usp { margin: 0 !important; padding: clamp(10px, 1.8svh, 16px) 0; border-bottom: 1px solid var(--line); }
.mc-usp h3 { margin: 0 0 .15rem; font-size: 1.0625rem; color: var(--c-plum); }
.mc-usp p { margin: 0; color: var(--c-muted); font-size: .9375rem; line-height: 1.5; }
@media (max-width: 781px) { .mc-usps { display: none; } }
@media (min-width: 782px) and (max-height: 820px) {
	.mc-usps { margin: .9rem 0 1.1rem !important; }
	.mc-usp { padding: 7px 0; }
	.mc-usp p { font-size: .875rem; line-height: 1.4; }
	.mc-classes h2 { margin-bottom: .6rem; }
}

/* Step inside conveyor: photos and captions glide right to left in a loop (same belt as the reviews). */
.mc-rail.is-marquee {
	display: flex; gap: 18px; width: max-content; overflow: visible; scroll-snap-type: none; padding-bottom: 0;
	animation: mc-marquee var(--mc-marquee-dur, 60s) linear infinite; will-change: transform;
}
.mc-rail.is-marquee .mc-card { width: clamp(280px, 26vw, 380px); flex: none; }
.mc-rail.is-marquee.is-held { animation-play-state: paused; }
@media (hover: hover) { .mc-rail.is-marquee:hover { animation-play-state: paused; } }
@media (max-width: 781px) { .mc-rail.is-marquee .mc-card { width: 78vw; } .mc-rail.is-marquee { gap: 14px; } }
/* Five age choices (18 to 24 months, then 3 to 6 years). */
@media (min-width: 600px) { .mc-ages { grid-template-columns: repeat(5, auto); } .mc-ctaband--ages .mc-ages { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 782px) { .mc-tour .mc-chips:not(.mc-chips--time) { grid-template-columns: repeat(5, 1fr); } .mc-tour .mc-days .mc-chips { grid-template-columns: repeat(6, 1fr); } }

/* ---------- About us (deck-based sections) ---------- */
.mc-philo, .mc-vm, .mc-layers, .mc-framework, .mc-reggio { padding-block: var(--sec); }
.mc-philo__cols, .mc-layers__cols, .mc-framework__cols, .mc-reggio__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-philo h2, .mc-layers h2, .mc-framework h2, .mc-reggio h2 { margin-top: 0; }
.mc-philo p:not(.mc-kicker) { max-width: 36em; }
.mc-philo .is-style-window, .mc-reggio .is-style-window { max-width: 440px; }

.mc-vm { background: var(--c-oat); }
.mc-vm__cols { gap: 18px !important; }
.mc-vm__card { background: #fff; border-radius: var(--r); padding: clamp(26px, 3.4vw, 44px); border-top: 4px solid var(--c-plum); }
.mc-vm__card--alt { border-top-color: var(--c-mul); }
.mc-vm__card h3 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); margin: 0 0 .7rem; }
.mc-vm__card p:last-child { margin: 0; font-size: 1.0625rem; line-height: 1.65; }

.mc-layerstack { display: grid; gap: 10px; }
.mc-layer { margin: 0 !important; border-radius: 16px; padding: 16px 22px; background: var(--c-oat); display: grid; grid-template-columns: 140px 1fr; gap: 4px 18px; align-items: baseline; }
.mc-layer:nth-child(1) { background: var(--c-plum); color: #fff; margin-inline: 0 !important; }
.mc-layer:nth-child(2) { background: #9A74B3; color: #fff; margin-left: 4% !important; }
.mc-layer:nth-child(3) { background: var(--c-sage); margin-left: 8% !important; }
.mc-layer:nth-child(4) { background: var(--c-oat); margin-left: 12% !important; }
.mc-layer h3 { margin: 0; font-size: 1.15rem; color: inherit; }
.mc-layer p { margin: 0; font-size: .9375rem; line-height: 1.5; }
.mc-layer:nth-child(-n+2) p { color: rgba(255,255,255,.9); }
@media (max-width: 781px) { .mc-layer { grid-template-columns: 1fr; margin-left: 0 !important; } }

.mc-framework { background: #fff; }
.mc-framework__wheel figure { margin: 0 !important; }
.mc-framework__wheel img { width: 100%; border-radius: var(--r); }
.mc-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.4rem 0 1.6rem !important; }
.mc-pillar { margin: 0 !important; background: var(--c-oat); border-radius: 18px; padding: 18px 20px; }
.mc-pillar__tag { display: inline-block; margin: 0 0 .45rem !important; font-weight: 800; color: #fff; background: var(--c-plum); border-radius: 999px; padding: 3px 12px; font-size: .8125rem; }
.mc-pillar:nth-child(even) .mc-pillar__tag { background: var(--c-mul); }
.mc-pillar h3 { margin: 0 0 .3rem; font-size: 1.0625rem; }
.mc-pillar p:last-child { margin: 0; color: var(--c-muted); font-size: .9375rem; line-height: 1.5; }
@media (max-width: 781px) { .mc-pillars { grid-template-columns: 1fr; } }

.mc-hom__label { font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .8rem !important; color: inherit; opacity: .85; }
.mc-feature .mc-hom__label { color: #fff; }
.mc-habits { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mc-habits li { background: rgba(255,255,255,.14); color: #fff; border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: .9375rem; }

.mc-reggio { background: var(--c-oat); }
.mc-reggio .mc-bigquote--small { margin: 0 0 1.6rem !important; color: var(--c-plum); }
.mc-reggio .mc-hom__label { color: var(--c-mul); }
.mc-benefits { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mc-benefits li { background: #fff; color: var(--c-plum); border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: .9375rem; border: 1px solid var(--line); }

.mc-comms { display: grid; gap: 0; margin-top: 1rem !important; border-top: 1px solid var(--line); }
.mc-comm { margin: 0 !important; display: grid; grid-template-columns: 140px 1fr; gap: 4px 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.mc-comm p { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--c-muted); }
.mc-comm__when { font-weight: 700; color: var(--c-plum) !important; }
@media (max-width: 599px) { .mc-comm { grid-template-columns: 1fr; } }
/* Lists without tick icons (site-wide): plain lines with thin separators. */
.mc-ticks { gap: 0; }
.mc-ticks li { padding: 9px 0 9px 0; border-bottom: 1px solid var(--line); }
.mc-ticks li:first-child { border-top: 1px solid var(--line); }
.mc-ticks li::before { content: none !important; display: none !important; }

/* ---------- About us: every section fills one screen ---------- */
.mc-page-about-us main > section { min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(28px, 6svh, 88px); }
.mc-page-about-us main > section > * { width: 100%; box-sizing: border-box; }
.mc-page-about-us main > .mc-pagehero { min-height: calc(100svh - 114px - var(--mc-stats-h, 140px)); }
.mc-page-about-us main > .mc-stats { min-height: 0; padding-block: clamp(18px, 3svh, 36px); }
.mc-page-about-us h2 { font-size: clamp(1.9rem, 4.6svh, 2.9rem); }
.mc-page-about-us .is-style-window img { aspect-ratio: auto; height: clamp(240px, calc(100svh - 260px), 560px); }
.mc-page-about-us .mc-pagehero__img img { height: clamp(220px, calc(100svh - 114px - 140px - 120px), 520px); }
.mc-page-about-us .mc-framework__wheel img { max-height: calc(100svh - 200px); object-fit: contain; }
.mc-page-about-us .mc-pillars { gap: 10px; margin: 1rem 0 1.2rem !important; }
.mc-page-about-us .mc-pillar { padding: clamp(12px, 1.8svh, 18px) 18px; }
.mc-page-about-us .mc-layer { padding: clamp(12px, 2svh, 20px) 22px; }
.mc-page-about-us .mc-vm__card { padding: clamp(28px, 6svh, 64px) clamp(26px, 3.4vw, 48px); }
.mc-page-about-us .mc-vm__card h3 { font-size: clamp(1.5rem, 3.6svh, 2.2rem); }
.mc-page-about-us .mc-vm__card p:last-child { font-size: clamp(1.0625rem, 2.3svh, 1.3rem); }
.mc-page-about-us .mc-comm { padding: clamp(7px, 1.2svh, 12px) 0; }
.mc-page-about-us .mc-care .mc-head { margin-bottom: clamp(14px, 2.4svh, 32px) !important; }
.mc-page-about-us .mc-care__card { padding: clamp(18px, 2.6svh, 32px); }
.mc-page-about-us .mc-awardrow { padding-block: clamp(10px, 1.7svh, 18px); }
@media (max-width: 781px) {
	.mc-page-about-us main > section { min-height: calc(100svh - 73px - 72px); padding-block: 24px; }
	.mc-page-about-us main > .mc-pagehero { min-height: 0; }
	.mc-page-about-us .is-style-window img, .mc-page-about-us .mc-pagehero__img img { height: clamp(150px, 24svh, 240px); border-radius: 120px 120px var(--r) var(--r); }
	.mc-page-about-us .mc-philo .is-style-window, .mc-page-about-us .mc-reggio .is-style-window, .mc-page-about-us .mc-framework__wheel { display: none; }
	.mc-page-about-us .mc-pillar p:last-child, .mc-page-about-us .mc-layer p { display: none; }
	.mc-page-about-us .mc-layer { padding: 12px 16px; }
	.mc-page-about-us .mc-feature__cols > .wp-block-column:first-child p:not(.mc-kicker):first-of-type { display: none; }
	.mc-page-about-us .mc-habits li, .mc-page-about-us .mc-benefits li { padding: 6px 12px; font-size: .8125rem; }
	.mc-page-about-us .mc-care__cols > .wp-block-column:last-child { display: none; }
	.mc-page-about-us .mc-comm { grid-template-columns: 100px 1fr; }
	.mc-page-about-us .mc-comm p { font-size: .8125rem; }
	.mc-page-about-us .mc-awards .mc-badgerow--grid { display: none; }
	.mc-page-about-us .mc-awardrow span { display: none; }
}
@media (min-width: 782px) and (max-height: 820px) {
	.mc-page-about-us .mc-framework .wp-block-buttons { display: none; }
	.mc-page-about-us .mc-pillar p:last-child { font-size: .875rem; line-height: 1.4; }
	.mc-page-about-us .mc-framework h2 + p { margin-bottom: 0; }
}
@media (max-width: 781px) {
	.mc-page-about-us .mc-pagehero__img { display: none; }
	.mc-page-about-us .mc-stats__row { gap: 14px 16px; }
	.mc-page-about-us .mc-stat { font-size: .8125rem; }
	.mc-page-about-us .mc-stat strong { font-size: 1.6rem; }
	.mc-page-about-us .mc-vm__cols { gap: 12px !important; }
	.mc-page-about-us .mc-vm__card { padding: 20px 18px; }
	.mc-page-about-us .mc-vm__card h3 { font-size: 1.3rem; margin-bottom: .4rem; }
	.mc-page-about-us .mc-vm__card p:last-child { font-size: .9375rem; line-height: 1.55; }
	.mc-page-about-us .mc-framework h2 + p, .mc-page-about-us .mc-framework .wp-block-buttons { display: none; }
	.mc-page-about-us .mc-pillars { margin: .8rem 0 0 !important; gap: 8px; }
	.mc-page-about-us .mc-feature__cols > .wp-block-column:first-child p:nth-of-type(2) { display: none; }
	.mc-page-about-us .mc-feature__cols { gap: 14px !important; }
	.mc-page-about-us .mc-habits { gap: 6px; }
	.mc-page-about-us .mc-care .mc-head__text { display: none; }
	.mc-page-about-us .mc-care__card { padding: 16px; }
	.mc-page-about-us .mc-comm { padding: 6px 0; grid-template-columns: 92px 1fr; gap: 2px 10px; }
	.mc-page-about-us .mc-comm p { line-height: 1.4; }
	.mc-page-about-us .mc-awards .wp-block-column:first-child p:not(.mc-kicker) { display: none; }
	.mc-page-about-us .mc-awards__cols { gap: 12px !important; }
	.mc-page-about-us .mc-awardrow { padding: 8px 0 8px 32px; }
	.mc-page-about-us .mc-awardrow::before { top: 10px; width: 18px; height: 18px; }
	.mc-page-about-us .mc-awardrow strong { font-size: 1rem; }
	.mc-page-about-us h2 { font-size: 1.7rem; }
}
/* The closing quote band stays a band (a full screen of one quote reads as empty). */
.mc-page-about-us main > .mc-ctaband { min-height: 0; padding-block: clamp(48px, 9svh, 96px); }
.mc-page-about-us .mc-vm__cols { align-items: stretch !important; }
.mc-page-about-us .mc-pagehero__img img { object-position: 45% 50%; }
/* About us hero: a wide group photo, so a wide frame (the arch cut the children off). */
.mc-page-about-us .mc-pagehero__img { max-width: none; }
.mc-page-about-us .mc-pagehero__img img { aspect-ratio: 4 / 3; height: auto; max-height: calc(100svh - 114px - var(--mc-stats-h, 140px) - 60px); border-radius: 180px 180px var(--r) var(--r); object-position: 50% 60%; }
.mc-page-about-us .mc-reggio .is-style-window img { object-position: 50% 32%; }

/* ---------- Programmes: ECDA comparison on level cards, full-screen sections ---------- */
.mc-levelcard__top strong small { display: block; font-size: .6875rem; font-weight: 600; color: var(--c-muted); text-align: center; margin-top: 2px; }
.mc-levelcard__top strong { text-align: center; line-height: 1.1; padding: 5px 10px; border-radius: 12px; }
.mc-page-programmes main > section { min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(28px, 6svh, 88px); }
.mc-page-programmes main > section > * { width: 100%; box-sizing: border-box; }
.mc-page-programmes main > .mc-pagehero { min-height: calc(100svh - 114px); }
.mc-page-programmes main > .mc-ctaband { min-height: 0; padding-block: clamp(48px, 9svh, 96px); }
.mc-page-programmes h2 { font-size: clamp(1.9rem, 4.6svh, 2.9rem); }
.mc-page-programmes .is-style-window img { aspect-ratio: auto; height: clamp(240px, calc(100svh - 260px), 560px); }
.mc-page-programmes .mc-curric__item { padding-block: clamp(10px, 2svh, 22px); }
.mc-page-programmes .mc-curric__item p { font-size: clamp(.875rem, 1.9svh, 1rem); line-height: 1.5; }
.mc-page-programmes .mc-curric__intro { position: static; }
.mc-page-programmes .mc-levelcard { padding: clamp(16px, 2.6svh, 26px) 20px; }
.mc-page-programmes .mc-daytype { padding: clamp(28px, 6svh, 60px) clamp(24px, 3vw, 44px); }
.mc-page-programmes .mc-daytypes__cols { align-items: stretch !important; }
@media (max-width: 781px) {
	.mc-page-programmes main > section { min-height: calc(100svh - 73px - 72px); padding-block: 24px; }
	.mc-page-programmes main > .mc-pagehero { min-height: 0; }
	.mc-page-programmes h2 { font-size: 1.7rem; }
	.mc-page-programmes .mc-pagehero__img, .mc-page-programmes .mc-enrich .is-style-window { display: none; }
	.mc-page-programmes .mc-levels-page .mc-head__text { display: none; }
	.mc-page-programmes .mc-levelcards { grid-template-columns: 1fr 1fr; gap: 8px; }
	.mc-page-programmes .mc-levelcard { padding: 12px; }
	.mc-page-programmes .mc-levelcard h3 { font-size: 1.15rem; }
	.mc-page-programmes .mc-levelcard > p:not(.mc-levelcard__top), .mc-page-programmes .mc-levelcard__link { display: none; }
	.mc-page-programmes .mc-levelcard__top { margin-bottom: .5rem !important; }
	.mc-page-programmes .mc-curric__intro p:not(.mc-kicker) { display: none; }
	.mc-page-programmes .mc-curric__cols { gap: 10px !important; }
	.mc-page-programmes .mc-curric__item { padding-block: 8px; }
	.mc-page-programmes .mc-curric__item h3 { font-size: 1rem; margin-bottom: .15rem; }
	.mc-page-programmes .mc-curric__item p { font-size: .8125rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.mc-page-programmes .mc-enrich p:not(.mc-kicker) { font-size: .9375rem; }
	.mc-page-programmes .mc-daytypes__cols { gap: 12px !important; }
	.mc-page-programmes .mc-daytype { padding: 20px 18px; }
}
.mc-faqprog__cols { gap: clamp(32px, 5vw, 80px) !important; }
.mc-daytypes-side h3 { font-size: clamp(1.4rem, 3svh, 1.8rem); margin: 0 0 1rem; }
.mc-daytypes-side .mc-daytype { margin: 0 0 12px !important; border: 1.5px solid var(--line); border-radius: var(--r); padding: clamp(18px, 3svh, 30px) 24px !important; }
.mc-daytypes-side .mc-daytype--full { border-color: var(--c-plum); }
.mc-daytypes-side .mc-daytype__time { font-size: clamp(1.5rem, 3.4svh, 2rem); }
@media (max-width: 781px) { .mc-daytypes-side { display: none; } }
/* No white gap between the last section and the footer. */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-top: 0 !important; }

/* Fading photo slideshow (Programmes: Beyond the classroom). Photos stack; one is shown at a time. */
.mc-fade { position: relative; margin: 0 !important; max-width: 440px; width: 100%; aspect-ratio: 4 / 5; border-radius: 999px 999px var(--r) var(--r); overflow: hidden; }
.mc-page-programmes .mc-fade { height: clamp(240px, calc(100svh - 260px), 560px); aspect-ratio: auto; margin-left: auto !important; }
.mc-fade figure { position: absolute !important; inset: 0; margin: 0 !important; opacity: 0; transition: opacity 1.2s ease; }
.mc-fade figure:first-child, .mc-fade figure.is-on { opacity: 1; }
.mc-fade.is-js figure:first-child:not(.is-on) { opacity: 0; }
.mc-fade img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; aspect-ratio: auto !important; }
@media (prefers-reduced-motion: reduce) { .mc-fade figure { transition: none; } }
.mc-page-programmes .mc-pagehero__img img { object-position: 50% 40%; }

/* ---------- Events: Discovery Day ---------- */
.mc-ddfacts { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 1.4rem 0 1.8rem !important; }
.mc-ddfact { margin: 0 !important; font-size: .875rem; color: var(--c-muted); line-height: 1.35; padding-left: 14px; border-left: 3px solid var(--c-mul); }
.mc-ddfact strong { display: block; font-size: 1rem; color: var(--c-ink); }
.mc-ddfacts--stack { flex-direction: column; }
.mc-ddprog { background: var(--c-oat); }
.mc-ddgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mc-ddcard { margin: 0 !important; background: #fff; border-radius: var(--r); padding: clamp(18px, 3svh, 30px) 24px; border-top: 4px solid var(--c-mul); }
.mc-ddcard:nth-child(even) { border-top-color: var(--c-plum); }
.mc-ddcard h3 { margin: 0 0 .4rem; font-size: 1.2rem; }
.mc-ddcard p { margin: 0; color: var(--c-muted); font-size: .9375rem; line-height: 1.5; }
.mc-ddwhy__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-ddwhy h2 { margin-top: 0; }
.mc-ddref { margin: 1.4rem 0 0 !important; background: #fff; border-radius: 16px; padding: 14px 18px; font-size: .9375rem; }
.mc-ddref strong { color: var(--c-plum); }
.mc-page-events main > section { min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(28px, 6svh, 88px); }
.mc-page-events main > section > * { width: 100%; box-sizing: border-box; }
.mc-page-events main > .mc-pagehero { min-height: calc(100svh - 114px); }
.mc-page-events main > .mc-follow { min-height: 0; padding-block: clamp(48px, 9svh, 96px); }
.mc-page-events h2 { font-size: clamp(1.9rem, 4.6svh, 2.9rem); }
.mc-page-events .is-style-window img { aspect-ratio: auto; height: clamp(240px, calc(100svh - 260px), 560px); }
@media (max-width: 781px) {
	.mc-ddgrid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.mc-ddcard { padding: 14px; }
	.mc-ddcard h3 { font-size: 1rem; margin: 0; }
	.mc-ddcard p, .mc-ddprog .mc-head__text { display: none; }
	.mc-page-events main > section { min-height: calc(100svh - 73px - 72px); padding-block: 24px; }
	.mc-page-events main > .mc-pagehero { min-height: 0; }
	.mc-page-events h2 { font-size: 1.7rem; }
	.mc-page-events .mc-pagehero__img, .mc-page-events .mc-ddwhy .is-style-window, .mc-page-events .mc-visitsteps .is-style-window { display: none; }
	.mc-page-events .mc-ddhero .mc-lead { display: none; }
	.mc-ddfacts { gap: 10px 18px; margin: 1rem 0 1.2rem !important; }
	.mc-page-events .mc-ddrsvp .mc-tour__copy > p:not(.mc-kicker), .mc-page-events .mc-ddrsvp .mc-ddfacts { display: none; }
}
.mc-ddrsvp .mc-form { padding: clamp(16px, 2.6svh, 28px) 24px; }
.mc-ddrsvp .mc-chips:not(.mc-chips--time) { grid-template-columns: repeat(5, 1fr); }
.mc-ddrsvp fieldset > div[role=radiogroup] .mc-chips { grid-template-columns: repeat(3, 1fr); }
.mc-ddrsvp .mc-chip span { min-height: 40px; padding: 5px 4px; }
.mc-ddrsvp .mc-form legend, .mc-ddrsvp .mc-q { margin: .6rem 0 .35rem; }
.mc-ddrsvp .mc-field { margin-top: 8px; }
.mc-ddrsvp .mc-form input[type=text], .mc-ddrsvp .mc-form input[type=tel], .mc-ddrsvp .mc-form input[type=email] { min-height: 44px; padding: 10px 14px; }
.mc-ddrsvp .mc-submit { margin-top: 12px; padding: 14px; }
.mc-ddrsvp .mc-field-row, .mc-ddrsvp .mc-email-row { display: grid; }
@media (max-width: 781px) {
	.mc-ddrsvp .mc-chips:not(.mc-chips--time) { grid-template-columns: repeat(3, 1fr); }
	.mc-ddrsvp .mc-chip small { display: none; }
	.mc-ddrsvp .mc-form__title { display: none; }
	.mc-ddrsvp .mc-tour__copy h2 { margin: 0; }
}
.mc-ddrsvp .mc-email-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
@media (min-width: 782px) and (max-height: 820px) { .mc-ddrsvp .mc-form__title { font-size: 1.3rem; margin-bottom: 0; } .mc-ddrsvp .mc-note { display: none; } .mc-ddrsvp { padding-block: 20px !important; } }
@media (max-width: 781px) { .mc-ddrsvp .mc-note { font-size: 0; margin-top: 6px; } .mc-ddrsvp .mc-note .mc-note__wa { font-size: .8125rem; } .mc-ddrsvp .mc-field label { margin-bottom: 3px; font-size: .8125rem; } .mc-ddrsvp { padding-block: 16px !important; } }

/* ---------- Book a tour (ad landing page) ---------- */
.mc-page-book-a-tour main > section { min-height: calc(100svh - 73px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(24px, 5svh, 72px); }
.mc-page-book-a-tour main > section > * { width: 100%; box-sizing: border-box; }
.mc-page-book-a-tour .mc-tour--page h1 { font-size: clamp(2rem, min(3.6vw, 6svh), 3rem); }
.mc-page-book-a-tour .mc-tour--page .mc-lead { margin-bottom: 0; }
.mc-page-book-a-tour .mc-badges--tour { max-width: 340px; margin-top: 1.2rem !important; }
.mc-page-book-a-tour .mc-offer-card { margin: 1.2rem 0 0 !important; }
.mc-center { display: flex; justify-content: center; margin-top: clamp(18px, 3.4svh, 40px) !important; }
.mc-center .wp-block-buttons { justify-content: center; }
.mc-tsee { background: #fff; }
.mc-tsee__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mc-tsee__card { margin: 0 !important; }
.mc-tsee__card figure { margin: 0 0 .8rem !important; }
.mc-tsee__card img { width: 100%; height: clamp(180px, calc(100svh - 420px), 420px); object-fit: cover; border-radius: var(--r); }
.mc-tsee__card h3 { margin: 0 0 .25rem; font-size: 1.1rem; }
.mc-tsee__card p { margin: 0; color: var(--c-muted); font-size: .9375rem; line-height: 1.5; }
.mc-tsay { background: var(--c-oat); }
.mc-tsay__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mc-tsay .mc-review { margin: 0 !important; display: flex; flex-direction: column; }
.mc-tsay .mc-review__by { margin-top: auto !important; }
.mc-tsay .mc-review__text { margin-bottom: 1rem !important; font-size: 1.0625rem; }
@media (max-width: 781px) {
	.mc-page-book-a-tour main > section { min-height: calc(100svh - 73px - 72px); padding-block: 22px; }
	.mc-page-book-a-tour main > .mc-tour--page { min-height: 0; }
	.mc-page-book-a-tour .mc-hero__rating { margin-bottom: .2rem !important; }
	.mc-tsee__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.mc-tsee__card img { height: clamp(110px, 18svh, 170px); }
	.mc-tsee__card p { display: none; }
	.mc-tsee__card h3 { font-size: .9375rem; }
	.mc-tsay__grid { grid-template-columns: 1fr; gap: 10px; }
	.mc-tsay .mc-review { padding: 14px 16px; }
	.mc-tsay .mc-review__text { font-size: .875rem; margin-bottom: .5rem !important; }
	.mc-tsay .mc-review .mc-stars { display: none; }
	.mc-page-book-a-tour h2 { font-size: 1.7rem; }
}
.mc-tsee__card img { height: clamp(170px, calc(100svh - 500px), 420px); }
.mc-tsee .mc-head { margin-bottom: clamp(16px, 3svh, 40px) !important; }
@media (max-width: 781px) { .mc-tsay .mc-review:nth-child(3) { display: none; } .mc-tsay .mc-head { margin-bottom: 14px !important; } }
@media (max-width: 781px) { .mc-tsee__card img { height: clamp(110px, 18svh, 170px); } }
.mc-tsay { overflow: hidden; }
.mc-tsay .mc-reviewgrid.is-marquee .mc-review { width: clamp(300px, 30vw, 440px); }
@media (max-width: 781px) { .mc-tsay .mc-reviewgrid.is-marquee .mc-review { width: 280px; } .mc-tsay .mc-review:nth-child(3) { display: flex; } }
@media (min-width: 782px) and (max-height: 820px) { .mc-tsay .mc-review__text { font-size: .9375rem; } .mc-tsay .mc-head { margin-bottom: 18px !important; } }

/* ---------- Thank you ---------- */
.mc-thanks { min-height: calc(100svh - 73px - 70px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(28px, 6svh, 80px); }
.mc-thanks > * { width: 100%; box-sizing: border-box; }
.mc-thanks__cols { gap: clamp(36px, 6vw, 96px) !important; }
.mc-thanks h1 { font-size: clamp(2.1rem, min(4vw, 6.4svh), 3.4rem); margin: 0 0 1rem; max-width: 12em; }
.mc-thanks .mc-lead { margin: 0; max-width: 32em; }
.mc-thanks .mc-howto { margin: 1.8rem 0 2rem !important; max-width: 34rem; }
.mc-thanks__img { max-width: 460px; margin-left: auto !important; }
.mc-thanks__img img { aspect-ratio: 4 / 3; height: auto; max-height: calc(100svh - 240px); border-radius: 180px 180px var(--r) var(--r); }
@media (max-width: 781px) { .mc-thanks__img { display: none; } .mc-thanks { min-height: 0; padding-block: 32px 40px; } }

/* ---------- Contact us: one screen ---------- */
.mc-page-contact-us .mc-contact { min-height: calc(100svh - 114px); box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(20px, 4svh, 56px); }
.mc-page-contact-us .mc-contact > * { width: 100%; box-sizing: border-box; }
.mc-page-contact-us .mc-contact h1 { font-size: clamp(2rem, min(3.6vw, 6svh), 3.1rem); margin-bottom: .7rem; }
.mc-page-contact-us .mc-contactlist { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 1.4rem 0 !important; border-top: 0; }
.mc-page-contact-us .mc-contactrow { padding: 12px 0 12px 46px; border-bottom: 1px solid var(--line); }
.mc-page-contact-us .mc-contactrow::before { width: 32px; height: 32px; top: 13px; background-size: 16px; }
.mc-page-contact-us .mc-contactrow--map { grid-column: 1 / -1; }
.mc-page-contact-us .mc-form { padding: clamp(18px, 3svh, 30px) 28px; }
.mc-page-contact-us .mc-form__title { font-size: 1.5rem; }
.mc-page-contact-us .mc-form .mc-field { margin-top: clamp(6px, 1.2svh, 12px); }
.mc-page-contact-us .mc-form input[type=text], .mc-page-contact-us .mc-form input[type=tel], .mc-page-contact-us .mc-form input[type=email], .mc-page-contact-us .mc-form select { min-height: 46px; padding: 10px 14px; }
.mc-page-contact-us .mc-form textarea { min-height: 0; height: clamp(70px, 11svh, 120px); }
.mc-page-contact-us .mc-submit { margin-top: 14px; padding: 14px; }
.mc-page-contact-us .mc-namepair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
@media (max-width: 781px) {
	.mc-page-contact-us .mc-contact { min-height: 0; padding-block: 20px 28px; }
	.mc-page-contact-us .mc-contactlist { grid-template-columns: 1fr; }
	.mc-page-contact-us .mc-form { padding: 16px 14px; }
}
@media (min-width: 782px) and (max-height: 820px) {
	.mc-page-contact-us .mc-contact .mc-lead { font-size: 1rem; }
	.mc-page-contact-us .mc-contactrow { padding-block: 8px; font-size: .875rem; }
	.mc-page-contact-us .mc-contactrow::before { top: 9px; }
	.mc-page-contact-us .mc-contactlist { margin: 1rem 0 !important; }
	.mc-page-contact-us .mc-contact__tour { padding: 12px 18px; }
	.mc-page-contact-us .mc-form__title { font-size: 1.3rem; }
	.mc-page-contact-us .mc-form .mc-field label { margin-bottom: 3px; }
	.mc-page-contact-us .mc-note { margin-top: 8px; }
}
.mc-page-contact-us .mc-contactrow--time { grid-column: 1 / -1; }
.mc-req { color: #C0263F; font-weight: 700; }
.mc-form__req { margin: .2rem 0 .4rem !important; font-size: .8125rem; color: var(--c-muted); }
/* Contact icons: brand WhatsApp mark and a solid phone. */
.mc-page-contact-us .mc-contactrow--wa::before, .mc-contactrow--wa::before { background-color: #25D366; background-size: 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M17.5 14.4c-.3-.1-1.8-.9-2-1s-.5-.1-.7.1-.8 1-.9 1.2-.3.2-.6.1a8 8 0 0 1-2.4-1.5 9 9 0 0 1-1.6-2c-.2-.3 0-.5.1-.6l.5-.5.3-.5v-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6a1.1 1.1 0 0 0-.8.4 3.4 3.4 0 0 0-1.1 2.5 5.9 5.9 0 0 0 1.2 3.1 13.4 13.4 0 0 0 5.2 4.6c.7.3 1.3.5 1.7.6a4.2 4.2 0 0 0 1.9.1 3.2 3.2 0 0 0 2.1-1.5 2.6 2.6 0 0 0 .2-1.5c-.1-.1-.3-.2-.6-.3zM12 21.8a9.8 9.8 0 0 1-5-1.4l-.4-.2-3.7 1 1-3.6-.2-.4A9.8 9.8 0 1 1 12 21.8zm8.4-18.2A11.8 11.8 0 0 0 1.8 17.9L.1 24l6.3-1.7A11.8 11.8 0 0 0 23.8 12a11.7 11.7 0 0 0-3.4-8.4z'/%3E%3C/svg%3E"); }
.mc-page-contact-us .mc-contactrow--tel::before, .mc-contactrow--tel::before { background-color: var(--c-plum); background-size: 16px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }

/* ---------- Phone pass: natural-height sections (no empty bands), tour-page offer visible ---------- */
@media (max-width: 781px) {
	main > section, .mc-page-about-us main > section, .mc-page-programmes main > section, .mc-page-events main > section,
	.mc-page-book-a-tour main > section, .mc-campus, .mc-day, .mc-classes, .mc-reviews, .mc-tour:not(.mc-tour--page), .mc-faq,
	.s6-outdoors, .s6-videos, .s6-curric, .s6-programmes, .s6-reviews {
		min-height: 0 !important; padding-block: 40px !important;
	}
	main > .mc-hero, main > .mc-pagehero, main > .mc-contact, main > .mc-thanks { padding-block: 20px 32px !important; }
	main > .mc-proof { padding-block: 24px 0 !important; }
	.mc-page-book-a-tour .mc-tour--page .mc-offer-card { display: block; margin: .8rem 0 0 !important; padding: 12px 16px; }
	.mc-page-book-a-tour .mc-tour--page .mc-offer-card strong { font-size: 1.3rem; }
	.mc-page-book-a-tour .mc-tour--page { padding-top: 20px !important; }
}

/* ---------- Phone menu (hamburger) ---------- */
@media (max-width: 781px) {
	/* backdrop-filter would trap the full-screen menu inside the header bar */
	.mc-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff; }
	.mc-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important; inset: 0 !important; height: 100dvh; width: 100vw; z-index: 100000;
		background: #fff !important; padding: 20px 24px calc(28px + env(safe-area-inset-bottom)) !important; display: flex; flex-direction: column;
	}
	.mc-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; display: flex; flex-direction: column; height: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; height: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 22px; right: 22px; width: 44px; height: 44px; display: grid; place-content: center; border-radius: 50%; background: var(--c-oat); color: var(--c-plum); }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px !important; align-items: stretch !important; width: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; width: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 1.6rem !important; font-weight: 700; }
	.mc-nav .is-menu-open .wp-block-navigation-item__content { display: block; padding: 18px 4px !important; color: var(--c-ink); width: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation-item__content:active { color: var(--c-mul); }
	.mc-nav .is-menu-open .wp-block-navigation__container::after {
		content: "Book a school tour"; display: none;
	}
	.mc-menu-cta { display: none; }
	.mc-nav .is-menu-open ~ .mc-menu-cta, .has-modal-open .mc-menu-cta { display: flex; }
	.mc-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; display: grid; place-content: center; }
	.mc-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
	html.has-modal-open .mc-bar, html.has-modal-open .mc-wa { display: none !important; }
}
@media (min-width: 782px) { .mc-nav .mc-nav-cta { display: none !important; } }
@media (max-width: 781px) {
	.mc-nav .is-menu-open .mc-nav-cta { border: 0; margin-top: 28px; }
	.mc-nav .is-menu-open .mc-nav-cta .wp-block-navigation-item__content { background: var(--c-plum); color: #fff !important; text-align: center; border-radius: 999px; font-family: var(--wp--preset--font-family--body); font-size: 1.125rem; padding: 16px !important; }
	.mc-nav:not(:has(.is-menu-open)) .mc-nav-cta { display: none; }
}
/* Phone: keep the pink tree outline clear of headings */
@media (max-width: 781px) {
	.mc-hero::after, .mc-pagehero::after { width: 150px; right: -50px; top: -30px; opacity: .55; }
}
@media (max-width: 781px) {
	.mc-nav .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box; width: 100% !important; right: 0 !important; left: 0 !important; overflow-y: auto; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-container-content, .mc-nav .is-menu-open .wp-block-navigation__container, .mc-nav .is-menu-open .wp-block-navigation-item { box-sizing: border-box; max-width: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-close, .mc-nav .is-menu-open .wp-block-navigation__responsive-dialog { width: 100%; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-container-close { right: 0; top: 0; position: absolute; }
	.mc-nav .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; margin-top: 0 !important; }
	.mc-nav .is-menu-open .mc-nav-cta { margin-top: 28px !important; }

	/* Photos back on phones (sections now flow at natural height) */
	.mc-page-about-us .mc-pagehero__img, .mc-page-programmes .mc-pagehero__img, .mc-page-events .mc-pagehero__img,
	.mc-page-about-us .mc-philo .is-style-window, .mc-page-about-us .mc-reggio .is-style-window,
	.mc-page-programmes .mc-enrich .is-style-window, .mc-page-programmes .mc-fade, .mc-page-events .mc-ddwhy .is-style-window,
	.mc-page-events .mc-visitsteps .is-style-window, .mc-day__photo, .mc-hero__inset { display: block !important; }
	.mc-pagehero__img, .mc-page-about-us .is-style-window, .mc-page-programmes .is-style-window, .mc-page-events .is-style-window, .mc-day__photo { max-width: none !important; margin: 0 !important; }
	.mc-page-about-us .is-style-window img, .mc-page-programmes .is-style-window img, .mc-page-events .is-style-window img,
	.mc-pagehero__img img, .mc-day__photo img { height: 240px !important; aspect-ratio: auto !important; width: 100%; object-fit: cover; border-radius: 120px 120px var(--r) var(--r) !important; }
	.mc-page-programmes .mc-fade { height: 260px !important; aspect-ratio: auto; max-width: none; border-radius: 120px 120px var(--r) var(--r); }
	.mc-page-programmes .mc-fade img { height: 100% !important; border-radius: 0 !important; }
	.mc-hero__inset { width: 26%; left: 10px; bottom: -12px; }
	.mc-day__photo { margin-top: 1rem !important; }
	.mc-page-about-us .mc-framework__wheel { display: block !important; max-width: 300px; margin: 0 auto !important; }
	.mc-page-about-us .mc-pillar p:last-child, .mc-page-about-us .mc-layer p { display: block !important; }
	.mc-page-about-us .mc-care__cols > .wp-block-column:last-child { display: block !important; }
	.mc-page-about-us .mc-awards .mc-badgerow--grid { display: grid !important; }
	.mc-day__intro p:not(.mc-kicker) { display: block !important; }
	.mc-slot p:last-child { display: block !important; grid-column: 2; font-size: .875rem; }
	.mc-campus .mc-head__text, .mc-classes .mc-classes__cols > .wp-block-column:first-child p:not(.mc-kicker) { display: block !important; }
	.mc-usps { display: grid !important; }
	.mc-faq .mc-visit { display: block !important; }
}
@media (max-width: 781px) {
	.mc-head { margin-bottom: 18px !important; }
	.mc-ddprog .mc-head__text, .mc-levels-page .mc-head__text { display: block !important; font-size: .9375rem; }
	.mc-page-programmes .mc-curric__item p { display: block !important; -webkit-line-clamp: unset; overflow: visible; font-size: .875rem; }
	.mc-page-programmes .mc-curric__intro p:not(.mc-kicker) { display: block !important; }
	.mc-page-programmes .mc-levelcard > p:not(.mc-levelcard__top) { display: block !important; font-size: .8125rem; line-height: 1.45; }
	.mc-page-programmes .mc-levelcard__link { display: block !important; }
	.mc-ddcard p { display: block !important; font-size: .8125rem; margin-top: .25rem; }
	.mc-daytypes-side { display: block !important; margin-top: 24px; }
}
@media (max-width: 781px) { .mc-nav .is-menu-open .mc-nav-cta { margin: 28px 0 0 !important; padding: 0 !important; } .mc-nav .is-menu-open .mc-nav-cta .wp-block-navigation-item__content { margin: 0 !important; box-sizing: border-box; } .mc-nav .is-menu-open .wp-block-navigation__container { padding: 0 2px !important; } }

/* ---------- Phone heroes ---------- */
.mc-show-m { display: none; }
@media (max-width: 781px) {
	.mc-hide-m { display: none; }
	.mc-show-m { display: inline; }
	.mc-offer { padding-block: 8px; }
	/* no decorative tree behind phone headings */
	.mc-hero::after, .mc-pagehero::after, .mc-contact::after { display: none !important; }

	/* Homepage: headline, rating, photo, then the booking card */
	.mc-hero__cols { display: flex !important; flex-direction: column; gap: 0 !important; }
	.mc-hero__copy { display: contents !important; }
	.mc-hero .mc-kicker { order: 1; margin-bottom: .6rem !important; }
	.mc-hero h1 { order: 2; margin-bottom: .5rem !important; }
	.mc-hero .mc-hero__rating { order: 3; margin-bottom: 14px !important; }
	.mc-hero__media { order: 4; margin: 0 0 16px !important; }
	.mc-hero .mc-lead { order: 5; }
	.mc-hero .mc-starter { order: 6; margin-top: 0 !important; }
	.mc-hero__main img { height: 210px !important; border-radius: 120px 120px var(--r) var(--r) !important; object-position: 50% 30%; }
	.mc-hero__inset { display: none !important; }

	/* Inner pages: photo first, then the words */
	.mc-pagehero__cols { display: flex !important; flex-direction: column; gap: 18px !important; }
	.mc-pagehero__cols > .wp-block-column:has(.mc-pagehero__img) { order: -1; }
	.mc-pagehero__img img { height: 200px !important; }
	.mc-pagehero h1 { margin-bottom: .6rem !important; }
	/* Hero buttons: equal, full width */
	.mc-pagehero .wp-block-buttons, .mc-thanks .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 1.2rem !important; }
	.mc-pagehero .wp-block-button, .mc-thanks .wp-block-button { width: 100%; }
	.mc-pagehero .wp-block-button__link, .mc-thanks .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
	.mc-ddfacts { margin: .9rem 0 0 !important; }
}
/* Phone bottom bar: booking button only (no WhatsApp button). */
@media (max-width: 781px) { .mc-bar__wa { display: none !important; } .mc-bar__tour { flex: 1 1 100%; } }
/* Phones: every button row is centred, buttons full width with centred text. */
@media (max-width: 781px) {
	main .wp-block-buttons:not(.mc-ages) { flex-direction: column; align-items: stretch; justify-content: center; gap: 10px; }
	main .wp-block-buttons:not(.mc-ages) > .wp-block-button { width: 100%; margin: 0; }
	main .wp-block-buttons:not(.mc-ages) .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; justify-content: center; }
	/* Smaller menu text */
	.mc-nav .is-menu-open .wp-block-navigation-item { font-size: 1.125rem !important; }
	.mc-nav .is-menu-open .wp-block-navigation-item__content { padding: 14px 4px !important; }
	.mc-nav .is-menu-open .mc-nav-cta .wp-block-navigation-item__content { font-size: 1rem; padding: 14px !important; }
	.mc-nav .is-menu-open .mc-nav-cta { margin-top: 20px !important; }
}
.mc-levelcard__top strong { font-weight: 800; }
/* About us on phones: everything on one left edge */
@media (max-width: 781px) {
	.mc-layer, .mc-layer:nth-child(n) { margin-left: 0 !important; margin-right: 0 !important; }
	.mc-badgerow--grid { max-width: none !important; justify-items: center; align-items: center; }
	.mc-badgerow--grid figure { display: flex; justify-content: center; width: 100%; }
	.mc-badgerow--grid img { height: 56px; }
	.mc-page-about-us .mc-framework__wheel { max-width: none !important; }
	.mc-page-about-us .mc-framework__wheel img { max-width: 320px; margin: 0 auto; display: block; }
	.mc-awardrow { padding-left: 30px; }
	.mc-awardrow::before { left: 0; }
}
.mc-page-programmes .mc-pagehero__img img { object-position: 40% 35%; }
@media (max-width: 781px) { .mc-page-programmes .mc-pagehero__img img { object-position: 30% 22%; } }

/* About us: matching text styles across the two parent cards and the award rows */
.mc-care__card h3 { font-size: 1.35rem !important; margin: 0 0 .9rem !important; }
.mc-care__card .mc-ticks { margin: 0 !important; border-top: 1px solid var(--line); }
.mc-care__card .mc-ticks li, .mc-comm p { font-size: .9375rem !important; line-height: 1.55 !important; color: var(--c-muted) !important; }
.mc-care__card .mc-ticks li { padding: 12px 0 !important; border-top: 0 !important; }
.mc-comm { padding: 12px 0 !important; }
.mc-comm__when { color: var(--c-plum) !important; font-weight: 700; }
.mc-awardrow { display: block !important; }
.mc-awardrow strong { display: block; font-size: 1.125rem; line-height: 1.35; }
.mc-awardrow span { display: block; margin-top: 2px; font-size: .875rem; }
.mc-awardrow::before { top: 20px; }
@media (min-width: 782px) {
	.mc-faq .wp-block-details summary { padding-block: clamp(12px, 2.1svh, 24px); font-size: clamp(1.05rem, 2.2svh, 1.3rem); }
	.mc-faq h2 { margin-bottom: clamp(8px, 2svh, 24px); }
}
@media (min-width: 782px) and (max-height: 820px) {
	.mc-page-about-us .mc-comm, .mc-page-about-us .mc-care__card .mc-ticks li { padding: 8px 0 !important; }
	.mc-page-about-us .mc-care__card .mc-ticks li, .mc-page-about-us .mc-comm p { font-size: .875rem !important; line-height: 1.45 !important; }
	.mc-page-about-us .mc-care .mc-head__text { display: none; }
}
.wp-block-details > p + .mc-ratiolist { margin-top: -10px !important; }
@media (min-width: 782px) { .mc-ratiolist { columns: 2; column-gap: 32px; } }
@media (min-width: 782px) and (max-height: 820px) { .mc-faq .wp-block-details summary { padding-block: 11px; } .mc-faq .wp-block-details > p { margin-bottom: 12px; font-size: .9375rem; } }
.mc-day__photo img { object-position: 50% 45%; }
.mc-day__photo img { aspect-ratio: 16 / 9 !important; height: auto !important; max-height: none; object-position: 50% 50% !important; border-radius: 140px 140px var(--r) var(--r) !important; }
.mc-day__photo { max-width: 460px; }
@media (min-width: 782px) and (max-height: 820px) { .mc-page-about-us .mc-pagehero .mc-lead { font-size: .9375rem; line-height: 1.55; } .mc-page-about-us .mc-pagehero h1 { font-size: clamp(1.8rem, 5svh, 2.5rem); margin-bottom: .5rem; } .mc-page-about-us .mc-pagehero .wp-block-buttons { margin-top: 1rem; } .mc-page-about-us main > .mc-pagehero { padding-block: 16px !important; } }
@media (min-width: 782px) and (max-height: 820px) { .mc-slot { padding-bottom: 6px; } .mc-slot p:last-child { font-size: .875rem; line-height: 1.35; } .mc-slot h3 { font-size: 1rem; } .mc-slot__time { font-size: 1.1rem !important; } .mc-day__photo img { max-height: 200px; } }
/* Events with no upcoming event: intro + private-tour card share one screen instead of two sparse ones */
.mc-page-events main > .mc-pagehero--simple { min-height: 0 !important; padding-block: clamp(48px, 9svh, 110px) 24px !important; }
.mc-page-events main > .mc-events { min-height: 0 !important; padding-block: 0 clamp(48px, 9svh, 110px) !important; }
/* Day photo: wide group shot, so gentle corners (a tall arch cut off the teachers' heads) */
.mc-day__photo img { aspect-ratio: 1106 / 670 !important; border-radius: var(--r) !important; object-position: 50% 50% !important; }
/* Average rating stars filled to the real score (4.8 = 96%) */
.mc-stars--48 { background: linear-gradient(90deg, #F5A623 96%, #D9D4DD 96%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.mc-star-part { display: inline-block; letter-spacing: 0; background: linear-gradient(90deg, #F5A623 80%, #D9D4DD 80%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Phones: keep the hero body text (it was hidden to save space), set compact so the booking card stays close. */
@media (max-width: 781px) {
	.mc-hero .mc-lead, .s6-hero2 .mc-lead { display: block !important; font-size: .9375rem; line-height: 1.5; margin: 0 0 14px !important; }
}
/* About hero intro (Bishan): key phrases in a lighter tint of Smart Purple, as on Sixth Avenue. */
.mc-v-bishan .mc-pagehero .mc-lead strong { color: #9975B1; font-weight: 600; }
