/* ==========================================================================
   Mpower U Wellness: reusable page sections for Elementor pages
   Elementor containers carry these classes (Advanced > CSS Classes), so the
   content stays editable in Elementor while layout comes from the brand system.
   ========================================================================== */

/* ---- Elementor container resets (specificity beats .e-con defaults) ---- */
.e-con.elementor-element.mu-section   { padding: var(--mu-section-y) 0; width: 100%; max-width: none; position: relative; overflow: hidden; overflow: clip; gap: 0; --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.elementor-element.mu-container { padding: 0 var(--mu-gutter); width: 100%; max-width: var(--mu-container); margin-inline: auto; position: relative; z-index: 1; --padding-left: 0px; --padding-right: 0px; --padding-top: 0px; --padding-bottom: 0px; }
.e-con.elementor-element.mu-bare      { padding: 0; gap: 0; --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.mu-section--ivory.e-con { background: var(--mu-ivory); }
.mu-section--sand.e-con  { background: var(--mu-sand); }
.mu-section--stone.e-con { background: var(--mu-stone); }
.mu-section--teal.e-con  { background: var(--mu-deep-teal); color: #fff; }

/* Elementor widgets inherit the brand text styles */
.elementor-widget.mu-eyebrow { display: block; }
.mu-eyebrow .elementor-heading-title, .mu-eyebrow p { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; margin: 0; line-height: 1.4; }
.mu-lead .elementor-widget-container, .mu-lead p { font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem); font-weight: var(--mu-weight-light); line-height: 1.6; }
.mu-section--teal .elementor-heading-title, .mu-section--teal h1, .mu-section--teal h2 { color: #fff; }
.mu-section--teal .mu-lead, .mu-section--teal p { color: rgba(255,255,255,.94); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-heading .elementor-heading-title { font-family: var(--mu-font-heading); font-weight: var(--mu-weight-heading); line-height: var(--mu-lh-head); letter-spacing: -0.01em; }
h1.elementor-heading-title { font-size: var(--mu-fs-h1); }
h2.elementor-heading-title { font-size: var(--mu-fs-h2); }
h3.elementor-heading-title { font-size: var(--mu-fs-h3); }

/* Highlight: gold underline sweep behind key words in headlines */
.mu-hl { color: var(--mu-deep-teal); background: linear-gradient(transparent 80%, var(--mu-gold) 80%, var(--mu-gold) 90%, transparent 90%); padding-inline: .05em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* Section heading block */
.e-con.mu-section-head { max-width: 46rem; margin-bottom: clamp(1.5rem, 1.1rem + 1.4vw, 2.5rem); gap: .5rem; padding: 0; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.mu-section-head--center { margin-inline: auto; text-align: center; align-items: center; }

/* ---- Buttons built from Elementor's Button widget ---- */
.mu-bw .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: var(--mu-tap-min); padding: .75rem 1.75rem;
	font-family: var(--mu-font-body); font-size: 1rem; font-weight: var(--mu-weight-medium); line-height: 1.2;
	border: 1px solid transparent; border-radius: var(--mu-radius-pill); text-decoration: none; fill: currentColor;
	transition: background-color 300ms var(--mu-ease), color 300ms var(--mu-ease), border-color 300ms var(--mu-ease), transform 300ms var(--mu-ease), box-shadow 300ms var(--mu-ease);
}
.mu-bw .elementor-button:hover { transform: translateY(-1px); }
.mu-bw--primary .elementor-button { background: var(--mu-deep-teal); color: #fff; box-shadow: var(--mu-shadow-s); }
.mu-bw--primary .elementor-button:hover, .mu-bw--primary .elementor-button:focus { background: var(--mu-gold); color: var(--mu-slate); box-shadow: var(--mu-shadow-m); }
.mu-bw--outline .elementor-button { background: transparent; color: var(--mu-deep-teal); border-color: var(--mu-gold); }
.mu-bw--outline .elementor-button:hover, .mu-bw--outline .elementor-button:focus { background: var(--mu-gold); color: var(--mu-slate); }
.mu-bw--gold .elementor-button { background: var(--mu-gold); color: var(--mu-slate); }
.mu-bw--gold .elementor-button:hover, .mu-bw--gold .elementor-button:focus { background: #fff; color: var(--mu-deep-teal); }
.mu-bw--light .elementor-button { background: #fff; color: var(--mu-deep-teal); }
.mu-bw--light .elementor-button:hover, .mu-bw--light .elementor-button:focus { background: var(--mu-gold); color: var(--mu-slate); }
.mu-bw--arrow .elementor-button { background: none; border: 0; padding: 0; min-height: 44px; color: var(--mu-deep-teal); box-shadow: none; border-radius: 0; }
.mu-bw--arrow .elementor-button:hover, .mu-bw--arrow .elementor-button:focus { background: none; color: var(--mu-deep-teal-dark); transform: none; }
.mu-bw--arrow .elementor-button-text::after { content: "\2192"; display: inline-block; margin-left: .45em; transition: transform var(--mu-dur) var(--mu-ease); }
.mu-bw--arrow .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.mu-btn-row.e-con { flex-direction: row; flex-wrap: wrap; gap: var(--mu-space-3); margin-top: var(--mu-space-4); }
.mu-btn-row .elementor-widget { width: auto; }

/* ---- Hero ---- */
.e-con.mu-hero { padding: clamp(2.5rem, 2rem + 3vw, 5.5rem) 0 clamp(4rem, 3rem + 5vw, 8rem); background: linear-gradient(180deg, var(--mu-ivory) 0%, #FBF8F1 100%); }
.e-con.mu-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.e-con.mu-hero__text { gap: var(--mu-space-4); }
.mu-hero__text .mu-lead { max-width: 34rem; }
.e-con.mu-hero__media { position: relative; }
.e-con.mu-hero__media::before { content: ""; position: absolute; inset: 14px -14px -14px 14px; border: 1.5px solid var(--mu-aqua); border-radius: var(--mu-radius-l); z-index: 0; pointer-events: none; }
.mu-hero__media .elementor-widget-image { width: 100%; position: relative; z-index: 1; aspect-ratio: 4 / 5; border-radius: var(--mu-radius-l); overflow: hidden; box-shadow: var(--mu-shadow-m); background: var(--mu-stone); }
.mu-hero__media .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.e-con.mu-m-hero-rings { top: -220px; right: -200px; width: min(760px, 80vw); opacity: .22; z-index: 0; }
.e-con.mu-m-hero-wave  { left: -3%; bottom: 14px; width: min(620px, 80%); opacity: .6; z-index: 0; }
@media (max-width: 900px) {
	.e-con.mu-hero__grid { grid-template-columns: 1fr; }
	.e-con.mu-hero__media { max-width: 460px; width: 100%; margin-inline: auto; }
	.e-con.mu-hero__media::before { inset: 10px -8px -10px 8px; }
}

/* ---- Path cards (Find your path) ---- */
.e-con.mu-grid--paths { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--mu-space-5); }
.mu-grid--paths > .mu-card { grid-column: span 2; }
.mu-grid--paths > .mu-card:nth-child(n+4) { grid-column: span 3; }
@media (max-width: 960px) { .e-con.mu-grid--paths { grid-template-columns: repeat(2, 1fr); } .mu-grid--paths > .mu-card, .mu-grid--paths > .mu-card:nth-child(n+4) { grid-column: span 1; } .mu-grid--paths > .mu-card:last-child { grid-column: 1 / -1; } }
@media (max-width: 600px)  { .e-con.mu-grid--paths { grid-template-columns: 1fr; } .mu-grid--paths > .mu-card:last-child { grid-column: auto; } }

.e-con.mu-card { background: #fff; border: var(--mu-line-gold); border-radius: var(--mu-radius-l); box-shadow: var(--mu-shadow-s); overflow: hidden; display: flex; flex-direction: column; gap: 0; padding: 0; position: relative; transition: transform var(--mu-dur) var(--mu-ease), box-shadow var(--mu-dur) var(--mu-ease); --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.mu-card:hover { transform: translateY(-2px); box-shadow: var(--mu-shadow-m); }
.mu-card .mu-card__media.elementor-widget { aspect-ratio: 4 / 3; overflow: hidden; width: 100%; margin: 0; background: var(--mu-stone); }
.mu-card .mu-card__media .elementor-widget-container { height: 100%; }
.mu-card .mu-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms var(--mu-ease); }
.mu-card:hover .mu-card__media img { transform: scale(1.03); }
.e-con.mu-card__body { padding: var(--mu-space-5); gap: var(--mu-space-3); flex: 1; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 24px; --padding-right: 24px; }
.mu-card__body .elementor-heading-title { margin: 0; }
.mu-card__body p { margin: 0; }
.mu-card__body .mu-bw { margin-top: auto; }
/* whole card is one link: the button's ::before stretches over the card */
.mu-card .mu-bw.elementor-widget { position: static; }
.mu-card .elementor-button::before { content: ""; position: absolute; inset: 0; z-index: 2; }

/* ---- ALIGN stages ---- */
.e-con.mu-stages { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--mu-space-4); }
.e-con.mu-stage { background: #fff; border: var(--mu-line-gold); border-radius: var(--mu-radius-l); overflow: hidden; display: flex; flex-direction: column; gap: 0; padding: 0; position: relative; box-shadow: var(--mu-shadow-s); transition: transform var(--mu-dur) var(--mu-ease), box-shadow var(--mu-dur) var(--mu-ease); --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.mu-stage:hover { transform: translateY(-2px); box-shadow: var(--mu-shadow-m); }
.mu-stage .mu-stage__media.elementor-widget { aspect-ratio: 1 / 1; overflow: hidden; margin: 0; width: 100%; background: var(--mu-stone); }
.mu-stage .mu-stage__media .elementor-widget-container { height: 100%; }
.mu-stage .mu-stage__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mu-stage .mu-stage__badge.elementor-widget { position: absolute; top: 12px; left: 12px; z-index: 3; width: 46px; height: 46px; margin: 0; background: #fff; border: 2px solid var(--mu-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--mu-shadow-s); }
.mu-stage__badge .elementor-widget-container { line-height: 1; }
.mu-stage__badge .elementor-heading-title { font-size: 1.25rem; line-height: 1; margin: 0; color: var(--mu-deep-teal); }
.e-con.mu-stage__body { padding: var(--mu-space-4) var(--mu-space-4) var(--mu-space-5); gap: .35rem; flex: 1; --padding-top: 16px; --padding-bottom: 20px; --padding-left: 16px; --padding-right: 16px; }
.mu-stage__body .elementor-heading-title { font-size: 1.25rem; margin: 0; }
.mu-stage__body p { margin: 0; font-size: var(--mu-fs-small); line-height: 1.5; }
.mu-stage__body .mu-bw { margin-top: auto; padding-top: .35rem; }
.mu-stage .mu-bw.elementor-widget { position: static; }
.mu-stage .elementor-button::before { content: ""; position: absolute; inset: 0; z-index: 2; }
@media (max-width: 1100px) {
	.e-con.mu-stages { grid-template-columns: repeat(6, 1fr); }
	.mu-stages > .mu-stage { grid-column: span 2; }
	.mu-stages > .mu-stage:nth-child(4) { grid-column: 2 / span 2; }   /* last two cards centred under the first three */
	.mu-stages > .mu-stage:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 680px) {
	.e-con.mu-stages { grid-template-columns: 1fr; gap: var(--mu-space-3); }
	.mu-stages > .mu-stage, .mu-stages > .mu-stage:nth-child(4), .mu-stages > .mu-stage:nth-child(5) { grid-column: auto; }
	.e-con.mu-stage { display: grid; grid-template-columns: 112px 1fr; }
	.mu-stage .mu-stage__media.elementor-widget { grid-row: 1; height: 100%; aspect-ratio: auto; }
	.mu-stage .mu-stage__badge.elementor-widget { width: 36px; height: 36px; top: 8px; left: 8px; }
	.mu-stage__badge .elementor-heading-title { font-size: 1rem; }
	.e-con.mu-stage__body { grid-row: 1; justify-content: center; }
}

/* ---- Split section (Meet Harsiddhi) ---- */
.e-con.mu-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: center; }
.e-con.mu-split__media { position: relative; }
.mu-split__media .elementor-widget-image { width: 100%; position: relative; z-index: 1; aspect-ratio: 4 / 5; border-radius: var(--mu-radius-l); overflow: hidden; box-shadow: var(--mu-shadow-m); background: var(--mu-stone); }
.mu-split__media .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.e-con.mu-split__text { gap: var(--mu-space-4); }
.mu-split__text .mu-chips { margin: var(--mu-space-2) 0; }
.e-con.mu-m-meet-print { right: -40px; top: 50%; transform: translateY(-50%); width: min(330px, 40%); opacity: .12; z-index: 0; }
@media (max-width: 900px) {
	.e-con.mu-split { grid-template-columns: 1fr; }
	.e-con.mu-split__media { max-width: 420px; margin-inline: auto; width: 100%; }
}

/* ---- Closing call-to-action band ---- */
.e-con.mu-cta { padding: clamp(4.5rem, 3rem + 6vw, 8rem) 0; text-align: center; }
.e-con.mu-cta .mu-cta__inner { align-items: center; gap: var(--mu-space-4); max-width: 44rem; margin-inline: auto; }
.mu-cta .mu-lead { max-width: 34rem; margin-inline: auto; }
.e-con.mu-m-cta-rings { left: 50%; top: 50%; width: min(880px, 120vw); transform: translate(-50%, -50%); opacity: .12; z-index: 0; }
.e-con.mu-m-cta-wave  { left: -4%; bottom: 20px; width: min(520px, 70%); opacity: .45; z-index: 0; }
.e-con.mu-m-cta-print { right: -3%; bottom: -50px; width: min(300px, 34%); opacity: .14; z-index: 0; }
.mu-cta .mu-btn-row.e-con { justify-content: center; }

/* Motif containers: keep Elementor's empty-container defaults out of the way */
.e-con.mu-motif { padding: 0; min-height: 0; height: auto; gap: 0; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; position: absolute; flex: none; }
.e-con.mu-motif.mu-motif--rings { aspect-ratio: 1 / 1; }

/* ==========================================================================
   Service / pathway pages and the ALIGN Method page
   ========================================================================== */

/* ---- Hero variants ---- */
.mu-hero--split .e-con.mu-hero__grid { grid-template-columns: 1.05fr .95fr; }
.mu-hero__media--wide .elementor-widget-image { aspect-ratio: 4 / 3; }
.mu-hero--center .e-con.mu-hero__text--center { align-items: center; text-align: center; max-width: 52rem; margin-inline: auto; }
.mu-hero--center .mu-hero__text--center .elementor-heading-title { text-align: center; }
.mu-hero--center .mu-lead { margin-inline: auto; }
.mu-hero--center .mu-btn-row.e-con { justify-content: center; }
.e-con.mu-letters { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: var(--mu-space-5); }
.mu-letters .elementor-widget { width: auto; }
.mu-bw--chip .elementor-button { min-height: 44px; padding: .5rem 1.1rem; font-size: var(--mu-fs-small); background: #fff; }
.mu-bw--chip .elementor-button:hover { background: var(--mu-teal-tint); }
@media (max-width: 900px) { .mu-hero--split .e-con.mu-hero__grid { grid-template-columns: 1fr; } .e-con.mu-hero__media--wide { max-width: 560px; } }

/* ---- Text cards (pathway options) ---- */
.e-con.mu-grid--cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--mu-space-5); align-items: stretch; }
.e-con.mu-card--text { border-top: var(--mu-line-gold); }
.e-con.mu-card--text .mu-card__body { padding: var(--mu-space-6) var(--mu-space-5); gap: var(--mu-space-3); --padding-top: 32px; --padding-bottom: 32px; --padding-left: 24px; --padding-right: 24px; }
.mu-card--text .mu-eyebrow { margin: 0; }
.e-con.mu-card--static:hover { transform: none; box-shadow: var(--mu-shadow-s); }
.mu-note.elementor-widget { margin-top: var(--mu-space-6); max-width: 46rem; padding: var(--mu-space-4) var(--mu-space-5); background: rgba(255,255,255,.7); border-left: 4px solid var(--mu-turquoise); border-radius: 0 var(--mu-radius-m) var(--mu-radius-m) 0; font-size: var(--mu-fs-small); }
.mu-note p { margin: 0; }

/* ---- How it works (3 steps) ---- */
.e-con.mu-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mu-space-6); position: relative; }
.e-con.mu-step { background: transparent; gap: var(--mu-space-3); padding: 0; --gap: 12px; position: relative; }
.mu-step .mu-step__num.elementor-widget { width: 56px; height: 56px; border-radius: 50%; background: var(--mu-deep-teal); display: flex; align-items: center; justify-content: center; margin: 0 0 var(--mu-space-2); box-shadow: 0 0 0 6px var(--mu-teal-tint); }
.mu-step__num .elementor-heading-title { color: #fff; font-size: 1.375rem; line-height: 1; margin: 0; }
.mu-step h3 { margin: 0; }
.mu-step p { margin: 0; max-width: 32ch; }
@media (min-width: 901px) {
	.mu-step:not(:last-child)::after { content: ""; position: absolute; top: 28px; left: 72px; right: calc(-1 * var(--mu-space-6) + 8px); border-top: var(--mu-line-gold); }
}
@media (max-width: 900px) { .e-con.mu-steps { grid-template-columns: 1fr; gap: var(--mu-space-5); } .mu-step p { max-width: none; } }

/* ---- FAQ (Elementor accordion styled to the brand) ---- */
.e-con.mu-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.mu-faq-layout__head { position: sticky; top: calc(var(--mu-header-h) + 24px); }
@media (max-width: 900px) { .e-con.mu-faq-layout { grid-template-columns: 1fr; } .mu-faq-layout__head { position: static; } }
.mu-faq-acc.elementor-widget .elementor-accordion { border-top: 1px solid var(--mu-border); }
.mu-faq-acc.elementor-widget .elementor-accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid var(--mu-border); }
.mu-faq-acc.elementor-widget .elementor-accordion .elementor-tab-title { display: flex; align-items: center; justify-content: space-between; gap: var(--mu-space-4); padding: var(--mu-space-5) 0; margin: 0; border: 0; min-height: var(--mu-tap-min); line-height: 1.35; cursor: pointer; }
.mu-faq-acc.elementor-widget .elementor-accordion .elementor-tab-title a, .mu-faq-acc.elementor-widget .elementor-accordion-title { color: var(--mu-deep-teal); font-family: var(--mu-font-body); font-weight: var(--mu-weight-medium); font-size: 1.125rem; text-decoration: none; flex: 1; cursor: pointer; }
.mu-faq-acc.elementor-widget .elementor-accordion .elementor-accordion-icon { color: var(--mu-deep-teal); width: auto; order: 2; margin: 0; }
.mu-faq-acc.elementor-widget .elementor-accordion-icon svg { width: 16px; height: 16px; fill: currentColor; }
.mu-faq-acc.elementor-widget .elementor-accordion .elementor-tab-content { padding: 0 0 var(--mu-space-5); border: 0; color: var(--mu-text); font-size: var(--mu-fs-body); max-width: 62ch; }
.mu-faq-acc .elementor-tab-content p { margin: 0; }
.mu-faq-acc .elementor-accordion-title:focus-visible { outline: 3px solid var(--mu-focus); outline-offset: 2px; border-radius: 4px; }

/* ---- ALIGN Method: five stage rows ---- */
.e-con.mu-stage-rows { gap: clamp(2.5rem, 2rem + 3vw, 5rem); }
.e-con.mu-stage-row { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(1.5rem, 1rem + 4vw, 5rem); align-items: center; }
.e-con.mu-stage-row--flip { grid-template-columns: 1.1fr 1fr; }
.mu-stage-row--flip > .mu-stage-row__media { order: 2; }
.e-con.mu-stage-row__media { position: relative; }
.mu-stage-row__media .mu-stage-row__img.elementor-widget { aspect-ratio: 1 / 1; border-radius: var(--mu-radius-l); overflow: hidden; box-shadow: var(--mu-shadow-m); background: var(--mu-stone); max-width: 440px; }
.mu-stage-row--flip .mu-stage-row__img.elementor-widget { margin-left: auto; }
.mu-stage-row__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mu-stage-row__media .mu-stage__badge--lg.elementor-widget { position: absolute; top: 16px; left: 16px; z-index: 3; width: 60px; height: 60px; margin: 0; background: #fff; border: 2px solid var(--mu-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--mu-shadow-s); }
.mu-stage-row--flip .mu-stage__badge--lg.elementor-widget { left: auto; right: calc(100% - 440px + 16px); }
.mu-stage__badge--lg .elementor-heading-title { font-size: 1.625rem; line-height: 1; margin: 0; color: var(--mu-deep-teal); }
.e-con.mu-stage-row__text { gap: var(--mu-space-3); max-width: 34rem; }
.mu-stage-row__text h3 { margin: 0; font-size: var(--mu-fs-h2); }
.mu-stage-row__text p { margin: 0; font-size: 1.125rem; }
.mu-stage-row:target .mu-stage-row__img { box-shadow: 0 0 0 4px var(--mu-gold), var(--mu-shadow-m); }
@media (max-width: 900px) {
	.e-con.mu-stage-row, .e-con.mu-stage-row--flip { grid-template-columns: 1fr; }
	.mu-stage-row--flip > .mu-stage-row__media { order: 0; }
	.mu-stage-row__media .mu-stage-row__img.elementor-widget, .mu-stage-row--flip .mu-stage-row__img.elementor-widget { max-width: 360px; margin-inline: 0; }
	.mu-stage-row--flip .mu-stage__badge--lg.elementor-widget { right: auto; left: 16px; }
}

/* Soft movement: sections fade up as they scroll into view (added by script, off for reduced motion); card images zoom slightly on hover */
.mu-reveal-on .mu-reveal { opacity: 0; transform: translateY(18px); transition: opacity 700ms var(--mu-ease), transform 700ms var(--mu-ease); }
.mu-reveal-on .mu-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .mu-reveal-on .mu-reveal { opacity: 1; transform: none; transition: none; } }
.mu-card .mu-card__media img, .mu-stage .mu-stage__media img { transition: transform 700ms var(--mu-ease); }
.mu-card:hover .mu-card__media img, .mu-stage:hover .mu-stage__media img { transform: scale(1.06); }

/* Card link shown as a small arrow only (the whole card is the link; the label stays for screen readers) */
.mu-card .mu-bw--arrowonly .elementor-button, .mu-stage .mu-bw--arrowonly .elementor-button { justify-content: flex-start; min-height: 32px; }
.mu-bw--arrowonly .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mu-bw--arrowonly .elementor-button::after { content: "\2192"; display: inline-block; font-size: 1.35rem; line-height: 1; color: var(--mu-deep-teal); transition: transform 300ms var(--mu-ease), color 300ms var(--mu-ease); }
.mu-card:hover .mu-bw--arrowonly .elementor-button::after, .mu-stage:hover .mu-bw--arrowonly .elementor-button::after, .mu-bw--arrowonly .elementor-button:focus::after { transform: translateX(6px); color: var(--mu-gold); }
.mu-card:focus-within, .mu-stage:focus-within { outline: 3px solid var(--mu-deep-teal); outline-offset: 3px; }
.mu-card .mu-bw--arrowonly .elementor-button:focus, .mu-stage .mu-bw--arrowonly .elementor-button:focus { outline: none; }

/* ---- Motion (all off for visitors who ask for reduced motion) ---- */
@keyframes mu-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes mu-draw { from { background-size: 0% 100%; } to { background-size: 100% 100%; } }
@keyframes mu-drift { 0%, 100% { translate: 0 0; } 50% { translate: 18px -6px; } }
@keyframes mu-breathe { 0%, 100% { scale: 1; } 50% { scale: 1.06; } }
@media all {
	/* 1. hero text arrives in sequence */
	.mu-hero__text > * { animation: mu-rise 700ms var(--mu-ease) backwards; }
	.mu-hero__text > *:nth-child(2) { animation-delay: 120ms; }
	.mu-hero__text > *:nth-child(3) { animation-delay: 260ms; }
	.mu-hero__text > *:nth-child(4) { animation-delay: 400ms; }
	/* 2. the gold underline draws itself after the headline */
	.mu-hero .mu-hl { background-repeat: no-repeat; background-position: left; animation: mu-draw 900ms var(--mu-ease) 650ms backwards; }
	/* 3. motifs move very slowly */
	.e-con.mu-m-hero-wave, .mu-footer__waveband .mu-motif { animation: mu-drift 16s ease-in-out infinite; }
	.e-con.mu-m-cta-rings { animation: mu-breathe 10s ease-in-out infinite; }
	/* 4. cards in a row arrive one after another once their section scrolls in */
	.mu-reveal-on .mu-reveal:not(.is-in) :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > * { opacity: 0; }
	.mu-reveal-on .mu-reveal.is-in :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > * { animation: mu-rise 650ms var(--mu-ease) backwards; }
	.mu-reveal-on .mu-reveal.is-in :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > *:nth-child(2) { animation-delay: 100ms; }
	.mu-reveal-on .mu-reveal.is-in :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > *:nth-child(3) { animation-delay: 200ms; }
	.mu-reveal-on .mu-reveal.is-in :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > *:nth-child(4) { animation-delay: 300ms; }
	.mu-reveal-on .mu-reveal.is-in :is(.mu-grid--paths, .mu-stages, .mu-grid--cards) > *:nth-child(5) { animation-delay: 400ms; }
}

/* 9. ALIGN letter badges fill gold when their card is hovered or focused */
.mu-stage__badge.elementor-widget, .mu-stage-row__media .mu-stage__badge--lg.elementor-widget { transition: background-color 300ms var(--mu-ease), transform 300ms var(--mu-ease); }
.mu-stage__badge .elementor-heading-title { transition: color 300ms var(--mu-ease); }
.mu-stage:hover .mu-stage__badge.elementor-widget, .mu-stage:focus-within .mu-stage__badge.elementor-widget,
.mu-stage-row:hover .mu-stage__badge--lg.elementor-widget { background: var(--mu-gold); transform: translateY(-3px); }
.mu-stage:hover .mu-stage__badge .elementor-heading-title, .mu-stage:focus-within .mu-stage__badge .elementor-heading-title,
.mu-stage-row:hover .mu-stage__badge--lg .elementor-heading-title { color: var(--mu-slate); }
.mu-bw--arrowonly .elementor-button { padding-left: 0; padding-right: 0; background: transparent; }

/* ---- Layout defects fixed (design audit) ---- */
/* hero wave sits lower so it never crosses the credentials line or buttons */
.e-con.mu-m-hero-wave { bottom: -48px; opacity: .5; }
/* card grids: empty tracks collapse, so two cards share the full width instead of sitting left */
.e-con.mu-grid--cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.e-con.mu-grid--cards.mu-grid--top { align-items: start; }
/* the five pathway cards: three above, two below, all the same width and centred */
.mu-grid--paths > .mu-card:nth-child(n+4) { grid-column: span 2; }
.mu-grid--paths > .mu-card:nth-child(4) { grid-column: 2 / span 2; }
.mu-grid--paths > .mu-card:nth-child(5) { grid-column: 4 / span 2; }
@media (max-width: 960px) { .mu-grid--paths > .mu-card:nth-child(4), .mu-grid--paths > .mu-card:nth-child(5) { grid-column: span 1; } }
/* ALIGN stage rows: a fixed image column and a reading column, centred, so there are no wide empty margins */
.e-con.mu-stage-rows { gap: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.e-con.mu-stage-row { grid-template-columns: 440px minmax(0, 34rem); justify-content: center; gap: clamp(2rem, 1rem + 4vw, 5rem); }
.e-con.mu-stage-row--flip { grid-template-columns: minmax(0, 34rem) 440px; }
.mu-stage-row--flip .mu-stage-row__img.elementor-widget { margin-left: 0; }
@media (max-width: 900px) { .e-con.mu-stage-row, .e-con.mu-stage-row--flip { grid-template-columns: 1fr; } }
/* closing band: less empty space, and a darker footer so the two blues read as separate blocks */
.e-con.mu-cta { padding: clamp(3.5rem, 2.5rem + 4vw, 6rem) 0; }
.mu-footer { background: #1d4a63; }

.mu-bw--arrowonly .elementor-button { min-width: 44px; min-height: 44px; }
.mu-bw--arrowonly .elementor-button::after { padding-right: 0; }
