/* ============================================================
   MentorXi — Design System (v1.0)
   Premium redesign · same layout, modern brand
   Fonts: Plus Jakarta Sans (display) + Inter (body)
   ============================================================ */

:root {
	/* Brand */
	--mx-navy-900:#08122B;
	--mx-navy-800:#0B1A3E;
	--mx-navy-700:#14265A;
	--mx-navy-600:#1B3570;
	--mx-gold:#C9A227;
	--mx-gold-2:#E8B93A;
	--mx-gold-lt:#F3D174;
	--mx-green:#16A34A;
	--mx-green-2:#0EA97A;
	--mx-blue:#3B7DE0;
	--mx-orange:#E8853A;

	/* Ink & surface */
	--mx-ink:#16233F;
	--mx-ink-soft:#334063;
	--mx-muted:#69769A;
	--mx-line:#E7ECF7;
	--mx-bg:#FFFFFF;
	--mx-bg-alt:#F6F8FD;
	--mx-bg-tint:#EFF3FC;

	/* Effects */
	--mx-shadow-sm:0 2px 8px rgba(11,26,62,.06);
	--mx-shadow:0 12px 32px -12px rgba(11,26,62,.18);
	--mx-shadow-lg:0 30px 60px -24px rgba(11,26,62,.35);
	--mx-gold-grad:linear-gradient(135deg,var(--mx-gold-2),var(--mx-gold));
	--mx-navy-grad:linear-gradient(150deg,var(--mx-navy-700),var(--mx-navy-900));

	--mx-r:16px;
	--mx-r-lg:24px;
	--mx-shell:1400px;
	--mx-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--mx-display:'Plus Jakarta Sans',var(--mx-font);
}

/* ---------------------------------- Base --------------------------------- */
.mx, body.mx {
	margin:0;
	font-family:var(--mx-font);
	font-size:16px;
	line-height:1.65;
	color:var(--mx-ink);
	background:var(--mx-bg);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.mx *,.mx *::before,.mx *::after{box-sizing:border-box;}
/* The HTML `hidden` attribute only sets display:none in the UA stylesheet, so
   ANY author rule that sets display (a flex overlay, a flex form row) silently
   beats it and the element stays on screen. This is what left the booking
   drawer covering every page. One rule, so no component has to remember. */
.mx [hidden]{display:none!important;}
.mx img{max-width:100%;height:auto;display:block;}
.mx a{text-decoration:none;color:inherit;}
.mx h1,.mx h2,.mx h3,.mx h4{font-family:var(--mx-display);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0;color:var(--mx-navy-800);}
.mx p{margin:0;}

.mx-shell{width:100%;max-width:var(--mx-shell);margin-inline:auto;padding-inline:32px;}
.mx-hl{background:var(--mx-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.mx-hide-sm{}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 16px;border-radius:8px;z-index:2000;}

/* --------------------------------- Buttons ------------------------------- */
.mx-btn{
	display:inline-flex;align-items:center;gap:8px;
	font-family:var(--mx-display);font-weight:700;font-size:14px;
	padding:12px 20px;border-radius:999px;border:1.5px solid transparent;
	cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
	white-space:nowrap;
}
.mx-btn i{font-size:1.1em;}
.mx-btn--sm{padding:9px 16px;font-size:13px;}
.mx-btn--lg{padding:15px 28px;font-size:15px;}
/* Button text colours use raised specificity (.mx .mx-btn--x) so they win over
   the generic ".mx a{color:inherit}" rule — otherwise text inherits the section
   colour and disappears against the button background. */
.mx .mx-btn--gold,
.mx .mx-btn--ghost,
.mx .mx-btn--light{color:var(--mx-navy-900);}
.mx .mx-btn--navy,
.mx .mx-btn--outline-light{color:#fff;}
.mx-btn--gold{background:var(--mx-gold-grad);color:var(--mx-navy-900);box-shadow:0 10px 22px -8px rgba(201,162,39,.7);}
.mx-btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(201,162,39,.8);}
.mx-btn--navy{background:var(--mx-navy-800);color:#fff;box-shadow:var(--mx-shadow-sm);}
.mx-btn--navy:hover{transform:translateY(-2px);background:var(--mx-navy-700);}
.mx-btn--ghost{background:transparent;color:var(--mx-navy-800);border-color:var(--mx-line);}
.mx-btn--ghost:hover{border-color:var(--mx-navy-600);color:var(--mx-navy-700);}
.mx-btn--light{background:#fff;color:var(--mx-navy-800);}
.mx-btn--light:hover{transform:translateY(-2px);box-shadow:var(--mx-shadow);}
.mx-btn--outline-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.35);}
.mx-btn--outline-light:hover{background:rgba(255,255,255,.14);}

/* ---------------------------------- Navbar ------------------------------- */
.mx-nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:box-shadow .25s ease,border-color .25s ease;}
.mx-nav.is-scrolled{box-shadow:0 6px 24px -12px rgba(11,26,62,.25);border-color:var(--mx-line);}
.mx-nav__inner{display:flex;align-items:center;gap:20px;height:74px;}
.mx-nav__links{display:flex;align-items:center;gap:4px;margin-inline:auto;}
.mx-nav__link{font-family:var(--mx-display);font-weight:600;font-size:14.5px;line-height:1.4;color:var(--mx-ink-soft);padding:8px 14px;border-radius:999px;transition:color .15s,background .15s;}
.mx-nav__link:hover{color:var(--mx-navy-800);background:var(--mx-bg-tint);}
.mx-nav__link.is-active{color:#fff;background:var(--mx-navy-800);}
.mx-nav__cta{display:flex;align-items:center;gap:10px;margin-left:auto;}

/* Brand — text logo (matches prototype) */
.mx-brand{display:inline-flex;align-items:center;gap:11px;max-height:56px;}
/* Constrain ANY logo image (SCF logo, WP custom-logo, etc.) in nav + footer. */
.mx-nav .mx-brand img,
.mx-nav .mx-brand .custom-logo{height:48px!important;width:auto!important;max-width:200px;object-fit:contain;border-radius:6px;}
.mx-brand--footer img,
.mx-brand--footer .custom-logo{height:52px!important;width:auto!important;max-width:220px;object-fit:contain;border-radius:6px;}
.mx-logo-img{height:48px;width:auto;object-fit:contain;}
.mx-logo-text{display:inline-flex;flex-direction:column;line-height:1;}
.mx-logo-text__name{font-family:var(--mx-display);font-weight:800;font-size:22px;letter-spacing:.01em;color:var(--mx-navy-800);}
.mx-logo-text__name span{color:var(--mx-gold);}
.mx-logo-text__sub{font-weight:600;font-size:9.5px;letter-spacing:.28em;color:var(--mx-muted);margin-top:5px;}
.mx-brand--footer .mx-logo-text__name{color:#fff;}
.mx-brand--footer .mx-logo-text__sub{color:rgba(255,255,255,.55);}

/* Menu button + dropdown -------------------------------------------------- */
.mx-nav__cta{position:relative;}

.mx-menubtn{
	display:inline-flex;align-items:center;gap:10px;
	font-family:var(--mx-display);font-weight:700;font-size:14px;
	color:var(--mx-navy-800);background:#fff;
	border:1.5px solid var(--mx-line);border-radius:999px;
	padding:10px 18px 10px 15px;cursor:pointer;
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.mx-menubtn:hover{border-color:var(--mx-navy-600);box-shadow:var(--mx-shadow-sm);}
.mx-menubtn[aria-expanded="true"]{border-color:var(--mx-navy-700);background:var(--mx-bg-alt);}
.mx-menubtn__bars{display:flex;flex-direction:column;gap:4px;width:18px;}
.mx-menubtn__bars span{
	display:block;height:2px;width:100%;border-radius:2px;
	background:var(--mx-navy-800);transition:transform .22s ease,opacity .18s ease;
}
.mx-menubtn[aria-expanded="true"] .mx-menubtn__bars span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mx-menubtn[aria-expanded="true"] .mx-menubtn__bars span:nth-child(2){opacity:0;}
.mx-menubtn[aria-expanded="true"] .mx-menubtn__bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.mx-menu{position:fixed;inset:0;z-index:1500;}
.mx-menu[hidden]{display:none;}
.mx-menu__backdrop{position:absolute;inset:0;background:transparent;}
.mx-menu__panel{
	position:absolute;
	/* Right-aligned with the shell's content edge, so the panel hangs directly
	   under the Menu button at every width. */
	top:88px;right:calc((100vw - min(100vw, var(--mx-shell))) / 2 + 32px);
	width:290px;max-height:calc(100vh - 110px);overflow-y:auto;
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:20px;box-shadow:var(--mx-shadow-lg);
	padding:16px;
	animation:mxMenuIn .18s ease;
}
@keyframes mxMenuIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.mx-menu__head{display:none;}
.mx-menu__close{display:none;}

.mx-menu__cta{display:flex;flex-direction:column;gap:9px;}
.mx-menu__cta .mx-btn{justify-content:center;width:100%;}

.mx-menu__group{display:flex;flex-direction:column;margin-top:14px;padding-top:14px;border-top:1px solid var(--mx-line);}
.mx-menu__title{
	font-family:var(--mx-display);font-size:10.5px;font-weight:700;
	letter-spacing:.14em;text-transform:uppercase;color:var(--mx-muted);
	padding:0 10px 8px;
}
.mx-menu__group a{
	font-family:var(--mx-display);font-weight:600;font-size:14.5px;
	color:var(--mx-ink-soft);padding:10px 12px;border-radius:10px;
	transition:color .15s,background .15s;
}
.mx-menu__group a:hover{color:var(--mx-navy-800);background:var(--mx-bg-tint);}
.mx-menu__group a.is-active{color:var(--mx-navy-800);background:var(--mx-bg-alt);}

/* Below 960px the bar links are hidden, so the panel carries everything and
   becomes a full slide-in sheet. */
.mx-menu__group--primary{display:none;}
@media(max-width:960px){
	.mx-menubtn__label{display:none;}
	.mx-menubtn{padding:11px 14px;}
	.mx-menu__backdrop{background:rgba(8,18,43,.5);backdrop-filter:blur(2px);}
	.mx-menu__panel{
		top:0;right:0;bottom:0;
		width:min(86vw,340px);max-height:none;height:100%;
		border-radius:0;border:0;padding:24px 20px 36px;
		animation:mxSlide .25s ease;
	}
	.mx-menu__head{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		margin-bottom:18px;padding-bottom:16px;
		border-bottom:1px solid var(--mx-line);
	}
	.mx-menu__brand{max-height:44px;}
	.mx-menu__brand .mx-logo-img{height:38px;}
	.mx-menu__brand .mx-logo-text__name{font-size:19px;}
	.mx-menu__brand .mx-logo-text__sub{font-size:8.5px;letter-spacing:.24em;margin-top:4px;}
	.mx-menu__close{
		display:grid;place-items:center;flex:none;
		width:40px;height:40px;border:none;background:var(--mx-bg-alt);
		border-radius:10px;font-size:19px;cursor:pointer;color:var(--mx-navy-800);
	}
	.mx-menu__group--primary{display:flex;}
}
@keyframes mxSlide{from{transform:translateX(100%);}to{transform:translateX(0);}}
@media(prefers-reduced-motion:reduce){
	.mx-menu__panel{animation:none;}
	.mx-menubtn__bars span{transition:none;}
}

/* ---------------------------------- Hero --------------------------------- */
.mx-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--mx-bg-alt) 100%);padding-block:72px 84px;}
.mx-hero__glow{position:absolute;inset:0;pointer-events:none;
	background:radial-gradient(60% 60% at 78% 18%,rgba(201,162,39,.16),transparent 60%),radial-gradient(55% 55% at 12% 8%,rgba(27,53,112,.12),transparent 60%);}
.mx-hero__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.mx-pill-live{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--mx-line);color:var(--mx-ink-soft);font-weight:600;font-size:13px;padding:7px 15px;border-radius:999px;box-shadow:var(--mx-shadow-sm);}
.mx-dot{width:9px;height:9px;border-radius:50%;background:var(--mx-green);box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:mxPulse 1.8s infinite;}
@keyframes mxPulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5);}70%{box-shadow:0 0 0 8px rgba(22,163,74,0);}100%{box-shadow:0 0 0 0 rgba(22,163,74,0);}}
.mx-hero__title{font-size:clamp(38px,5vw,60px);margin:20px 0 18px !important;letter-spacing:-.03em !important;}
.mx-hero__sub{font-size:17.5px;color:var(--mx-ink-soft);max-width:560px;line-height:1.7;}
.mx-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 34px;}
.mx-hero__stats{display:flex;gap:34px;flex-wrap:wrap;}
.mx-stat__num{font-family:var(--mx-display);font-weight:800;font-size:30px;color:var(--mx-navy-800);letter-spacing:-.02em;}
.mx-stat__suf{color:var(--mx-gold);}
.mx-stat__label{font-size:13px;color:var(--mx-muted);font-weight:500;margin-top:2px;}

/* Portal mockup card */
.mx-portal-card{position:relative;background:var(--mx-navy-grad);border-radius:var(--mx-r-lg);padding:24px;color:#fff;box-shadow:var(--mx-shadow-lg);border:1px solid rgba(255,255,255,.08);}
.mx-portal-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(70% 50% at 50% 0,rgba(201,162,39,.18),transparent 60%);pointer-events:none;}
.mx-portal-card__bar{display:flex;align-items:center;gap:7px;margin-bottom:18px;}
.mx-portal-card__bar span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.3);}
.mx-portal-card__bar span:first-child{background:#ff5f57;}.mx-portal-card__bar span:nth-child(2){background:#febc2e;}.mx-portal-card__bar span:nth-child(3){background:#28c840;}
.mx-portal-card__bar em{margin-left:auto;font-style:normal;font-size:12px;color:rgba(255,255,255,.6);font-weight:600;}
.mx-portal-card__eyebrow{text-align:center;font-size:12.5px;color:rgba(255,255,255,.65);letter-spacing:.04em;}
.mx-ring{--mx-score:87;width:150px;height:150px;border-radius:50%;margin:14px auto 20px;display:grid;place-items:center;
	background:conic-gradient(var(--mx-gold) calc(var(--mx-score)*1%),rgba(255,255,255,.12) 0);
	transition:background 1.2s ease;}
.mx-ring__inner{width:118px;height:118px;border-radius:50%;background:var(--mx-navy-900);display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);}
.mx-ring__inner strong{font-family:var(--mx-display);font-size:34px;font-weight:800;color:var(--mx-gold-lt);line-height:1;}
.mx-ring__inner strong span{font-size:18px;}
.mx-ring__inner small{display:block;font-size:10.5px;color:rgba(255,255,255,.6);margin-top:4px;}
.mx-portal-card__bars{display:flex;flex-direction:column;gap:11px;margin-bottom:16px;}
.mx-bar{display:grid;grid-template-columns:78px 1fr 38px;align-items:center;gap:10px;font-size:12.5px;}
.mx-bar__label{color:rgba(255,255,255,.75);}
.mx-bar__track{height:7px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;}
.mx-bar__fill{display:block;height:100%;width:0;border-radius:99px;transition:width 1.1s cubic-bezier(.4,0,.2,1);}
.mx-bar--gold .mx-bar__fill{background:var(--mx-gold-grad);}
.mx-bar--green .mx-bar__fill{background:linear-gradient(90deg,#22c55e,var(--mx-green));}
.mx-bar--blue .mx-bar__fill{background:linear-gradient(90deg,#5b9cf0,var(--mx-blue));}
.mx-bar--orange .mx-bar__fill{background:linear-gradient(90deg,#f0a35b,var(--mx-orange));}
.mx-bar__val{text-align:right;color:rgba(255,255,255,.9);font-weight:600;}
.mx-portal-card__note{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 13px;font-size:12.5px;color:rgba(255,255,255,.9);}
.mx-portal-card__note i{color:var(--mx-gold-lt);}
.mx-portal-card__cta{display:block;margin-top:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:11px 13px;font-size:12.5px;color:rgba(255,255,255,.8);transition:.2s;}
.mx-portal-card__cta strong{color:var(--mx-gold-lt);}
.mx-portal-card__cta:hover{background:rgba(255,255,255,.12);}

/* --------------------------------- Ticker -------------------------------- */
.mx-ticker{position:relative;overflow:hidden;background:var(--mx-navy-800);padding:15px 0;}
.mx-ticker::before,.mx-ticker::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;}
.mx-ticker::before{left:0;background:linear-gradient(90deg,var(--mx-navy-800),transparent);}
.mx-ticker::after{right:0;background:linear-gradient(270deg,var(--mx-navy-800),transparent);}
.mx-ticker__track{display:flex;gap:14px;width:max-content;animation:mxMarquee 40s linear infinite;}
.mx-ticker__item{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.9);font-size:13.5px;font-weight:600;font-family:var(--mx-display);padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);white-space:nowrap;}
.mx-ticker__item i{color:var(--mx-gold-lt);font-size:15px;}
@keyframes mxMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* -------------------------------- Sections ------------------------------- */
.mx-section{padding-block:80px;}
.mx-section--alt{background:var(--mx-bg-alt);}
.mx-head{max-width:720px;margin-bottom:44px;}
/* A section whose head carries a "view all" action.

   The action belongs beside the heading on desktop, but below the cards on a
   phone: stacked above them it becomes the first thing you can tap, offering to
   leave for the full list before you have seen a single item of the preview it
   introduces. Grid areas let one link sit in both places without duplicating it
   in the markup. */
.mx-sec{
	display:grid;gap:0 24px;align-items:end;
	grid-template-columns:minmax(0,1fr) auto;
	grid-template-areas:"head cta" "body body";
}
.mx-sec > .mx-head{grid-area:head;}
.mx-sec__cta{grid-area:cta;margin-bottom:44px;}
.mx-sec__body{grid-area:body;}
.mx-eyebrow{display:inline-block;font-family:var(--mx-display);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mx-gold);margin-bottom:14px;}
.mx-head h2{font-size:clamp(28px,3.4vw,42px);}
.mx-head__sub{margin-top:14px;color:var(--mx-ink-soft);font-size:16.5px;line-height:1.7;}

/* Feature grid */
.mx-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.mx-feature{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:26px 24px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;}
.mx-feature::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--mx-gold-grad);transition:width .3s;}
.mx-feature:hover{transform:translateY(-6px);box-shadow:var(--mx-shadow);border-color:transparent;}
.mx-feature:hover::after{width:100%;}
.mx-feature__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:24px;color:var(--mx-navy-800);background:linear-gradient(135deg,var(--mx-gold-lt),rgba(243,209,116,.35));margin-bottom:18px;}
.mx-feature h3{font-size:17px;line-height:1.3;margin-bottom:9px;}
.mx-feature p{color:var(--mx-muted);font-size:14px;line-height:1.6;flex-grow:1;}
.mx-feature__arrow{margin-top:16px;font-family:var(--mx-display);font-weight:700;font-size:13.5px;color:var(--mx-navy-700);display:inline-flex;align-items:center;gap:6px;}
.mx-feature:hover .mx-feature__arrow i{transform:translateX(4px);}
.mx-feature__arrow i{transition:transform .2s;}

/* Student grid */
.mx-student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.mx-student{margin:0;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.mx-student:hover{transform:translateY(-5px);box-shadow:var(--mx-shadow);}
.mx-student__photo{aspect-ratio:16/11;background:var(--mx-navy-700);overflow:hidden;}
.mx-student__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mx-student--community figcaption strong{color:var(--mx-gold);}
.mx-student figcaption{padding:20px 22px 24px;}
.mx-student figcaption strong{font-family:var(--mx-display);font-size:16px;color:var(--mx-navy-800);}
.mx-student__meta{display:block;color:var(--mx-gold);font-weight:600;font-size:13px;margin:2px 0 12px;}
.mx-student figcaption p{color:var(--mx-ink-soft);font-size:14px;line-height:1.65;}

/* --------------------------------- Banners ------------------------------- */
.mx-banners{padding-block:14px 70px;}
.mx-banners .mx-shell{display:flex;flex-direction:column;gap:18px;}
.mx-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:var(--mx-r-lg);padding:34px 40px;color:#fff;box-shadow:var(--mx-shadow);position:relative;overflow:hidden;}
.mx-banner h3{color:#fff;font-size:clamp(20px,2.4vw,27px);margin-bottom:8px;}
.mx-banner p{color:rgba(255,255,255,.82);font-size:14.5px;max-width:680px;line-height:1.6;}
.mx-banner .mx-hl{color:var(--mx-gold-lt);-webkit-text-fill-color:var(--mx-gold-lt);background:none;}
.mx-banner--navy{background:linear-gradient(120deg,var(--mx-navy-700),var(--mx-navy-900));}
.mx-banner--green{background:linear-gradient(120deg,#12805a,#0b5b3f);}
.mx-banner--green .mx-hl{color:#a7f3d0;-webkit-text-fill-color:#a7f3d0;}
.mx-banner--gold{background:linear-gradient(120deg,var(--mx-gold-2),var(--mx-gold));color:var(--mx-navy-900);}
.mx-banner--gold h3{color:var(--mx-navy-900);}
.mx-banner--gold p{color:rgba(11,26,62,.78);}
.mx-banner--gold .mx-hl{color:#fff;-webkit-text-fill-color:#fff;}
.mx-banner .mx-btn{flex-shrink:0;}

/* Session grid */
.mx-session-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.mx-session{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:22px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative;}
.mx-session::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:0 3px 3px 0;background:var(--mx-navy-600);}
.mx-session--live::before{background:#dc2626;}
.mx-session--up::before{background:var(--mx-blue);}
.mx-session--past::before{background:var(--mx-green);}
.mx-session:hover{transform:translateY(-5px);box-shadow:var(--mx-shadow);}
.mx-session__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.mx-session__icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px;color:#fff;background:var(--mx-navy-grad);}
.mx-session__badge{font-size:10.5px;font-weight:800;letter-spacing:.05em;padding:5px 10px;border-radius:99px;font-family:var(--mx-display);}
.mx-session--live .mx-session__badge{background:#fee2e2;color:#dc2626;}
.mx-session--up .mx-session__badge{background:#e0edfd;color:var(--mx-blue);}
.mx-session--past .mx-session__badge{background:#dcfce7;color:var(--mx-green);}
.mx-session__type{font-size:11.5px;font-weight:700;color:var(--mx-gold);text-transform:uppercase;letter-spacing:.06em;}
.mx-session__title{font-size:15.5px;line-height:1.35;margin:6px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mx-session__host{margin-bottom:14px;}
.mx-session__host strong{display:block;font-size:13.5px;color:var(--mx-navy-800);font-family:var(--mx-display);}
.mx-session__host span{display:block;font-size:12.5px;color:var(--mx-ink-soft);}
.mx-session__host small{display:block;font-size:11.5px;color:var(--mx-muted);}
.mx-session__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.mx-session__meta span{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--mx-ink-soft);background:var(--mx-bg-alt);border:1px solid var(--mx-line);padding:4px 9px;border-radius:99px;}
.mx-session__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--mx-line);}
.mx-session__pts{font-size:12px;font-weight:700;color:var(--mx-gold);background:rgba(201,162,39,.1);padding:5px 10px;border-radius:99px;}

/* Testimonials */
.mx-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mx-testi{margin:0;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:28px 26px;box-shadow:var(--mx-shadow-sm);display:flex;flex-direction:column;}
.mx-testi__stars{color:var(--mx-gold);font-size:16px;display:flex;gap:2px;margin-bottom:14px;}
.mx-testi p{font-size:15.5px;line-height:1.65;color:var(--mx-ink);flex-grow:1;}
.mx-testi footer{margin-top:18px;padding-top:16px;border-top:1px solid var(--mx-line);}
.mx-testi footer strong{display:block;font-family:var(--mx-display);color:var(--mx-navy-800);font-size:15px;}
.mx-testi footer span{font-size:13px;color:var(--mx-gold);font-weight:600;}

/* Final CTA */
.mx-final{position:relative;overflow:hidden;background:var(--mx-navy-grad);color:#fff;}
.mx-final__glow{position:absolute;inset:0;background:radial-gradient(50% 80% at 78% 20%,rgba(201,162,39,.22),transparent 60%),radial-gradient(45% 70% at 10% 90%,rgba(59,125,224,.18),transparent 60%);}
.mx-final__inner{position:relative;text-align:center;padding-block:84px;max-width:760px;}
.mx-final h2{color:#fff;font-size:clamp(30px,4vw,46px);}
.mx-final p{margin:18px auto 0;color:rgba(255,255,255,.78);font-size:17px;max-width:560px;}
.mx-final__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px;}

/* --------------------------------- Footer -------------------------------- */
.mx-footer{background:var(--mx-navy-900);color:rgba(255,255,255,.72);padding-top:64px;}
.mx-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;}
.mx-footer__brand p{margin:18px 0 22px;font-size:14px;line-height:1.7;max-width:340px;}
.mx-brand--footer .mx-brand__text{color:#fff;}
.mx-brand--footer .mx-brand__text small{color:rgba(255,255,255,.5);}
.mx-footer__col h3{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-family:var(--mx-display);}
.mx-footer__col a,.mx-footer__col span{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.68);font-size:14px;padding:6px 0;transition:color .15s;}
.mx-footer__col a:hover{color:var(--mx-gold-lt);}
.mx-footer__col i{color:var(--mx-gold);}
.mx-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px;border-top:1px solid rgba(255,255,255,.09);font-size:13px;}
.mx-footer__legal{display:flex;gap:20px;}
.mx-footer__legal a:hover{color:#fff;}

/* ------------------------------- Responsive ------------------------------ */
@media(max-width:1080px){
	.mx-feature-grid,.mx-session-grid{grid-template-columns:repeat(2,1fr);}
	.mx-nav__link{padding:8px 10px;font-size:14px;}
}
@media(max-width:960px){
	.mx-nav__links,.mx-hide-sm{display:none;}
	.mx-hero__grid{grid-template-columns:1fr;gap:40px;}
	.mx-portal-card{max-width:440px;}
	.mx-student-grid,.mx-testi-grid{grid-template-columns:repeat(2,1fr);}
	.mx-footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
	.mx-banner{flex-direction:column;align-items:flex-start;}
}
@media(max-width:640px){
	.mx-shell{padding-inline:18px;}
	.mx-section{padding-block:52px;}
	.mx-feature-grid,.mx-session-grid,.mx-student-grid,.mx-testi-grid{grid-template-columns:1fr;}
	/* Hero */
	.mx-hero{padding-block:44px 52px;}
	.mx-hero__grid{gap:32px;}
	.mx-hero__sub{font-size:16px;}
	.mx-hero__actions{gap:12px;margin:22px 0 26px;}
	.mx-hero__actions .mx-btn,.mx-final__actions .mx-btn{flex:1 1 100%;justify-content:center;}
	.mx-hero__stats{gap:18px 26px;}
	.mx-stat__num{font-size:26px;}
	/* Section heads */
	.mx-head{margin-bottom:28px;}
	.mx-sec{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "body" "cta";}
	.mx-sec__cta{margin:26px 0 0;width:100%;justify-content:center;}
	/* Portal card */
	.mx-portal-card{padding:20px;max-width:none;}
	.mx-ring{width:130px;height:130px;}
	/* Banners */
	.mx-banners{padding-bottom:52px;}
	.mx-banner{padding:26px 22px;border-radius:var(--mx-r);gap:18px;}
	.mx-banner .mx-btn{width:100%;justify-content:center;}
	/* Ticker */
	.mx-ticker__item{font-size:12.5px;padding:6px 13px;}
	/* Footer */
	.mx-footer__grid{grid-template-columns:1fr;gap:26px;}
	.mx-footer{padding-top:48px;}
	.mx-footer__bottom{flex-direction:column;text-align:center;gap:12px;}
	.mx-footer__legal{justify-content:center;flex-wrap:wrap;}
	/* Nav */
	.mx-nav__inner{height:64px;}
	.mx-nav__cta .mx-btn--gold{padding:10px 14px;font-size:13px;}
}
@media(max-width:400px){
	.mx-hero__title{font-size:31px;}
	.mx-hero__stats{gap:16px 20px;}
	.mx-stat__num{font-size:24px;}
	.mx-logo-text__name{font-size:19px;}
	.mx-logo-text__sub{font-size:8.5px;letter-spacing:.2em;}
	.mx-nav__cta .mx-btn--gold span,.mx-nav__cta .mx-btn--gold{gap:6px;}
}
/* ============================== MENTORS PAGE ============================== */
.mx-mentors-hero{position:relative;overflow:hidden;background:var(--mx-navy-grad);color:#fff;text-align:center;padding-block:72px 60px;}
.mx-mentors-hero__glow{position:absolute;inset:0;background:radial-gradient(50% 55% at 22% 8%,rgba(201,162,39,.2),transparent 60%),radial-gradient(48% 60% at 85% 92%,rgba(59,125,224,.2),transparent 60%);pointer-events:none;}
.mx-mentors-hero__inner{position:relative;max-width:760px;}
.mx-mentors-hero h1{color:#fff;font-size:clamp(34px,4.6vw,52px);margin-bottom:14px;}
.mx-mentors-hero p{color:rgba(255,255,255,.8);font-size:17px;line-height:1.7;max-width:660px;margin:0 auto;}
.mx-mentors-hero__stats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:34px;}
.mx-mentors-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 26px;min-width:132px;}
.mx-mentors-stat strong{display:block;font-family:var(--mx-display);font-size:26px;font-weight:800;color:#fff;line-height:1.1;}
.mx-mentors-stat strong span{color:var(--mx-gold-lt);}
.mx-mentors-stat>span{font-size:12.5px;color:rgba(255,255,255,.65);}

/* Filter tabs */
.mx-mentors-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:36px;}
.mx-mentors-tab{border:1px solid var(--mx-line);background:#fff;color:var(--mx-ink-soft);font-family:var(--mx-display);font-weight:600;font-size:14px;padding:10px 20px;border-radius:999px;cursor:pointer;transition:.18s;}
.mx-mentors-tab:hover{border-color:var(--mx-navy-600);color:var(--mx-navy-800);}
.mx-mentors-tab.is-active{background:var(--mx-navy-grad);color:#fff;border-color:transparent;box-shadow:0 8px 20px -8px rgba(11,26,62,.5);}

/* Grid + card */
.mx-mentors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(358px,100%),1fr));gap:22px;}
.mx-mentors-grid [hidden]{display:none;}
.mx-mentor{position:relative;overflow:hidden;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r-lg);padding:26px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;}
.mx-mentor::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--mx-gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.mx-mentor:hover{transform:translateY(-5px);box-shadow:var(--mx-shadow);border-color:transparent;}
.mx-mentor:hover::before{transform:scaleX(1);}
.mx-mentor__top{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start;margin-bottom:16px;}
.mx-mentor__avatar{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#fff;flex-shrink:0;overflow:hidden;background:var(--mx-navy-grad);box-shadow:var(--mx-shadow-sm);}
.mx-mentor__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mx-mentor--gold .mx-mentor__avatar{background:var(--mx-gold-grad);color:var(--mx-navy-900);}
.mx-mentor--green .mx-mentor__avatar{background:linear-gradient(135deg,#22c55e,var(--mx-green));}
.mx-mentor--blue .mx-mentor__avatar{background:linear-gradient(135deg,#5b9cf0,var(--mx-blue));}
.mx-mentor--purple .mx-mentor__avatar{background:linear-gradient(135deg,#a78bfa,#7c3aed);}
.mx-mentor__id{flex:1 1 150px;min-width:0;}
.mx-mentor__id strong{display:block;font-family:var(--mx-display);font-size:16.5px;color:var(--mx-navy-800);line-height:1.25;}
.mx-mentor__id span{display:block;font-size:13.5px;color:var(--mx-ink-soft);margin-top:2px;}
.mx-mentor__id small{display:block;font-size:12.5px;color:var(--mx-muted);margin-top:1px;}
.mx-mentor__badge{flex:none;align-self:center;font-size:11px;font-weight:700;font-family:var(--mx-display);padding:5px 11px;border-radius:999px;background:var(--mx-bg-tint);color:var(--mx-navy-700);white-space:nowrap;}
.mx-mentor__bio{color:var(--mx-muted);font-size:13.5px;line-height:1.65;margin-bottom:16px !important;flex-grow:1;}
.mx-mentor__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.mx-chip{font-size:11.5px;font-weight:600;color:var(--mx-gold);background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.22);padding:4px 10px;border-radius:999px;}
.mx-mentor__stats{display:flex;gap:18px;padding:13px 0;border-top:1px solid var(--mx-line);border-bottom:1px solid var(--mx-line);margin:16px 0;font-size:13px;color:var(--mx-ink-soft);font-weight:600;}
.mx-mentor__stats i{color:var(--mx-gold);}
.mx-mentor__foot{display:flex;gap:10px;}
.mx-mentor__foot .mx-btn{flex:1;justify-content:center;font-size:13px;padding:11px 12px;}
.mx-mentors-empty{text-align:center;color:var(--mx-muted);padding:44px;font-size:15px;}

@media(max-width:600px){
	.mx-mentors-hero{padding-block:52px 44px;}
	.mx-mentors-hero__stats{gap:10px;}
	.mx-mentors-stat{padding:12px 16px;min-width:0;flex:1 1 42%;}
	.mx-mentors-grid{grid-template-columns:1fr;}
	.mx-mentor__foot{flex-direction:column;}
}

/* ============================== OUR STORY PAGE ============================== */
.mx-os [data-mx-panel][hidden]{display:none;}
/* Hero (navy → green) */
.mx-os-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--mx-navy-900),var(--mx-navy-700) 46%,#0f5c3f);color:#fff;text-align:center;padding-block:78px 82px;}
.mx-os-hero__glow{position:absolute;inset:0;background:radial-gradient(50% 60% at 20% 10%,rgba(201,162,39,.2),transparent 60%),radial-gradient(50% 60% at 85% 90%,rgba(14,169,122,.28),transparent 60%);pointer-events:none;}
.mx-os-hero__inner{position:relative;max-width:760px;}
.mx-os-hero h1{color:#fff;font-size:clamp(34px,5vw,54px);margin-bottom:16px;}
.mx-os-hero p{color:rgba(255,255,255,.82);font-size:17.5px;line-height:1.7;max-width:600px;margin:0 auto;}

/* Tab bar */
.mx-os-tabs{display:inline-flex;gap:6px;background:#fff;border:1px solid var(--mx-line);border-radius:999px;padding:6px;box-shadow:var(--mx-shadow);margin:-30px auto 0;position:relative;z-index:5;left:50%;transform:translateX(-50%);}
.mx-os-tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;font-family:var(--mx-display);font-weight:700;font-size:14.5px;color:var(--mx-ink-soft);padding:12px 26px;border-radius:999px;cursor:pointer;transition:.18s;}
.mx-os-tab i{font-size:17px;}
.mx-os-tab:hover{color:var(--mx-navy-800);}
.mx-os-tab.is-active{background:var(--mx-navy-grad);color:#fff;box-shadow:0 8px 20px -8px rgba(11,26,62,.5);}

/* Mission / intro split */
.mx-os-mission{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;}
.mx-os-mission__copy h2{font-size:clamp(26px,3.4vw,38px);margin:12px 0 16px;}
.mx .mx-os-mission__copy p{color:var(--mx-ink-soft);font-size:16px;line-height:1.75;margin-bottom:14px;}
.mx-os-statgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mx-os-stat{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:22px;text-align:center;box-shadow:var(--mx-shadow-sm);}
.mx-os-stat strong{display:block;font-family:var(--mx-display);font-size:32px;font-weight:800;color:var(--mx-navy-800);letter-spacing:-.02em;}
.mx-os-stat strong span{color:var(--mx-gold);}
.mx-os-stat>span{font-size:13px;color:var(--mx-muted);font-weight:500;}

/* Process steps */
.mx-os-steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.mx-os-step{display:flex;gap:18px;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:24px;transition:transform .2s,box-shadow .2s;}
.mx-os-step:hover{transform:translateY(-4px);box-shadow:var(--mx-shadow);}
.mx-os-step__num{flex-shrink:0;font-family:var(--mx-display);font-weight:800;font-size:20px;color:var(--mx-navy-900);width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mx-gold-lt),rgba(243,209,116,.4));}
.mx-os-step h3{font-size:16px;margin-bottom:7px;}
.mx-os-step p{color:var(--mx-muted);font-size:13.5px;line-height:1.6;}

/* University points */
.mx-os-unigrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:44px;}
.mx-os-unipt{display:flex;gap:13px;background:var(--mx-bg-alt);border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:20px 22px;}
.mx-os-unipt>i{color:var(--mx-green);font-size:22px;flex-shrink:0;}
.mx-os-unipt strong{display:block;font-family:var(--mx-display);font-size:15px;color:var(--mx-navy-800);margin-bottom:5px;}
.mx-os-unipt p{color:var(--mx-muted);font-size:13.5px;line-height:1.6;}

/* Country cards */
.mx-os-countries__head{text-align:center;margin-bottom:26px;}
.mx-os-countries__head h3{font-size:clamp(22px,2.6vw,30px);}
.mx-os-country-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mx-os-country{position:relative;overflow:hidden;background:var(--mx-navy-grad);border-radius:var(--mx-r);padding:24px 22px;color:#fff;border:1px solid rgba(255,255,255,.06);}
.mx-os-country::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mx-gold-grad);}
.mx-os-country__name{display:block;font-family:var(--mx-display);font-weight:800;font-size:17px;letter-spacing:.02em;}
.mx-os-country__unis{display:block;color:var(--mx-gold-lt);font-size:13.5px;font-weight:600;margin-top:5px;}

/* Outcomes (reuse testi look) */
.mx-os-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mx-os-outcome{margin:0;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:28px 26px;box-shadow:var(--mx-shadow-sm);display:flex;flex-direction:column;}
.mx-os-outcome__stars{color:var(--mx-gold);font-size:15px;display:flex;gap:2px;margin-bottom:14px;}
.mx-os-outcome p{font-size:15px;line-height:1.65;color:var(--mx-ink);flex-grow:1;}
.mx-os-outcome footer{margin-top:18px;padding-top:16px;border-top:1px solid var(--mx-line);}
.mx-os-outcome footer strong{display:block;font-family:var(--mx-display);color:var(--mx-navy-800);font-size:15px;}
.mx-os-outcome footer span{font-size:13px;color:var(--mx-gold);font-weight:600;}

/* Trust cards */
.mx-os-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.mx-os-trustcard{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:26px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.mx-os-trustcard:hover{transform:translateY(-5px);box-shadow:var(--mx-shadow);border-color:transparent;}
.mx-os-trustcard__icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:23px;color:var(--mx-navy-800);background:linear-gradient(135deg,var(--mx-gold-lt),rgba(243,209,116,.35));margin-bottom:16px;}
.mx-os-trustcard h3{font-size:16.5px;margin-bottom:9px;}
.mx-os-trustcard p{color:var(--mx-muted);font-size:13.5px;line-height:1.6;}

/* Monitor list */
.mx-os-monitor{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.mx-os-monitem{display:flex;gap:15px;align-items:flex-start;background:var(--mx-bg-alt);border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:22px;}
.mx-os-monitem__ico{flex-shrink:0;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:21px;color:#fff;background:var(--mx-navy-grad);}
.mx-os-monitem strong{display:block;font-family:var(--mx-display);font-size:15px;color:var(--mx-navy-800);margin-bottom:5px;}
.mx-os-monitem p{color:var(--mx-muted);font-size:13.5px;line-height:1.6;}

/* FAQ accordion */
.mx-os-faqwrap{max-width:820px;}
.mx-os-faq{display:flex;flex-direction:column;gap:12px;}
.mx-os-faq__item{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);overflow:hidden;transition:border-color .18s,box-shadow .18s;}
.mx-os-faq__item.is-open{border-color:var(--mx-gold);box-shadow:var(--mx-shadow-sm);}
.mx-os-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:0;cursor:pointer;padding:20px 22px;font-family:var(--mx-display);font-weight:700;font-size:15.5px;color:var(--mx-navy-800);text-align:left;}
.mx-os-faq__q i{flex-shrink:0;font-size:20px;color:var(--mx-gold);transition:transform .25s;}
.mx-os-faq__item.is-open .mx-os-faq__q i{transform:rotate(45deg);}
.mx-os-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
.mx-os-faq__a>div{overflow:hidden;}
.mx-os-faq__item.is-open .mx-os-faq__a{grid-template-rows:1fr;}
.mx-os-faq__a p{color:var(--mx-ink-soft);font-size:14.5px;line-height:1.7;padding:0 22px 20px;}

/* Founder */
.mx-os-founder{background:var(--mx-navy-grad);color:#fff;position:relative;overflow:hidden;}
.mx-os-founder__inner{position:relative;text-align:center;max-width:760px;padding-block:66px;}
.mx-os-founder__mark{font-size:44px;color:var(--mx-gold-lt);opacity:.9;}
.mx-os-founder blockquote{margin:14px 0 20px;font-family:var(--mx-display);font-weight:700;font-size:clamp(21px,2.8vw,30px);line-height:1.4;color:#fff;}
.mx-os-founder__by{color:var(--mx-gold-lt);font-weight:600;font-size:14.5px;letter-spacing:.02em;margin-bottom:24px;}
.mx-os-founder .mx-btn--whatsapp{width:auto;}

/* Our Story — photos */
.mx-os-photo{aspect-ratio:4/3;border-radius:var(--mx-r-lg);overflow:hidden;box-shadow:var(--mx-shadow);border:1px solid var(--mx-line);}
.mx-os-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mx-os-mission--rev{grid-template-columns:.9fr 1.1fr;}
.mx-os-statgrid--row{grid-template-columns:repeat(4,1fr);margin-top:30px;}
.mx-os-country{min-height:160px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;}
.mx-os-country__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.mx-os-country::before{z-index:2;}
.mx-os-country::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,43,.1) 30%,rgba(8,18,43,.88));z-index:1;}
.mx-os-country__name,.mx-os-country__unis{position:relative;z-index:2;}
.mx-os-outcome footer{display:flex;align-items:center;gap:12px;}
.mx-os-outcome__avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--mx-navy-700);}
.mx-os-outcome__avatar img{width:100%;height:100%;object-fit:cover;}
.mx-os-outcome__by{display:flex;flex-direction:column;}
.mx-os-monwrap{display:grid;grid-template-columns:.74fr 1.26fr;gap:26px;align-items:stretch;}
.mx-os-monwrap .mx-os-monitor{display:flex;flex-direction:column;justify-content:space-between;gap:14px;}
.mx-os-monwrap .mx-os-photo{aspect-ratio:1/1;height:auto;min-height:0;}
.mx-os-monwrap .mx-os-photo img{object-position:center 20%;}

/* ---- Our Story: premium polish ---- */
.mx-os .mx-section{padding-block:62px;}
.mx-os .mx-head{margin-bottom:30px;}
.mx-os-photo{border-radius:var(--mx-r-lg);box-shadow:var(--mx-shadow-lg);}

/* Unified stat bar */
.mx-os-statgrid--row{display:flex;flex-wrap:wrap;margin-top:34px;background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r-lg);box-shadow:var(--mx-shadow);overflow:hidden;gap:0;}
.mx-os-statgrid--row .mx-os-stat{flex:1 1 0;min-width:140px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:26px 16px;}
.mx-os-statgrid--row .mx-os-stat + .mx-os-stat{border-left:1px solid var(--mx-line);}
.mx-os-statgrid--row .mx-os-stat strong{font-size:36px;}

/* Process steps — numbered, hover accent */
.mx-os-steps{gap:20px;}
.mx-os-step{position:relative;overflow:hidden;padding:26px;border-radius:var(--mx-r-lg);}
.mx-os-step::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mx-gold-grad);transform:scaleY(0);transform-origin:top;transition:transform .25s;}
.mx-os-step:hover::before{transform:scaleY(1);}
.mx-os-step__num{width:56px;height:56px;border-radius:16px;font-size:21px;color:#fff;background:var(--mx-navy-grad);box-shadow:0 10px 20px -8px rgba(11,26,62,.55);}

/* University points — green check chips, cards */
.mx-os-unigrid{gap:16px;}
.mx-os-unipt{background:#fff;border-radius:var(--mx-r-lg);padding:24px;box-shadow:var(--mx-shadow-sm);transition:transform .2s,box-shadow .2s;}
.mx-os-unipt:hover{transform:translateY(-3px);box-shadow:var(--mx-shadow);}
.mx-os-unipt>i{width:42px;height:42px;border-radius:50%;background:rgba(22,163,74,.12);display:grid;place-items:center;font-size:21px;}

/* Country cards — taller, hover lift */
.mx-os-country{min-height:360px;transition:transform .25s,box-shadow .25s;box-shadow:var(--mx-shadow-sm);}
.mx-os-country:hover{transform:translateY(-4px);box-shadow:var(--mx-shadow);}
.mx-os-country__name{font-size:18px;}

/* Trust cards — gradient icon tiles + hover bar */
.mx-os-trust{gap:22px;}
.mx-os-trustcard{position:relative;overflow:hidden;padding:30px 26px;border-radius:var(--mx-r-lg);}
.mx-os-trustcard::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--mx-gold-grad);transition:width .3s;}
.mx-os-trustcard:hover::after{width:100%;}
.mx-os-trustcard__icon{width:56px;height:56px;border-radius:16px;font-size:25px;color:#fff;background:var(--mx-navy-grad);box-shadow:0 10px 20px -8px rgba(11,26,62,.5);margin-bottom:18px;}

/* Monitor items — white cards, gold icon chips */
.mx-os-monitor{gap:14px;}
.mx-os-monitem{background:#fff;border-radius:var(--mx-r-lg);padding:22px;box-shadow:var(--mx-shadow-sm);transition:transform .2s,box-shadow .2s;}
.mx-os-monitem:hover{transform:translateX(4px);box-shadow:var(--mx-shadow);}
.mx-os-monitem__ico{border-radius:14px;font-size:22px;color:var(--mx-navy-800);background:linear-gradient(135deg,var(--mx-gold-lt),rgba(243,209,116,.4));}

/* FAQ — richer rows + circular toggle */
.mx-os-faq{gap:14px;}
.mx-os-faq__item{border-radius:var(--mx-r-lg);}
.mx-os-faq__q{padding:22px 24px;font-size:16px;}
.mx-os-faq__q i{width:36px;height:36px;border-radius:50%;background:var(--mx-bg-alt);display:grid;place-items:center;font-size:19px;color:var(--mx-navy-700);}
.mx-os-faq__item.is-open .mx-os-faq__q i{background:var(--mx-gold-grad);color:var(--mx-navy-900);}

/* Outcomes — lift on hover */
.mx-os-outcome{transition:transform .2s,box-shadow .2s;}
.mx-os-outcome:hover{transform:translateY(-4px);box-shadow:var(--mx-shadow);}

/* Light Final CTA — used on Our Story so it doesn't blend with the dark founder band */
.mx-final--light{background:radial-gradient(120% 80% at 50% -10%,var(--mx-bg-tint),#fff 55%,var(--mx-bg-alt));color:var(--mx-ink);border-top:1px solid var(--mx-line);}
.mx-final--light .mx-final__glow{background:radial-gradient(45% 60% at 82% 18%,rgba(201,162,39,.14),transparent 60%),radial-gradient(40% 60% at 12% 92%,rgba(59,125,224,.1),transparent 60%);}
.mx .mx-final--light h2{color:var(--mx-navy-800);}
.mx .mx-final--light p{color:var(--mx-ink-soft);}
.mx .mx-btn--ghost-dark{background:#fff;color:var(--mx-navy-800);border-color:var(--mx-line);}
.mx .mx-btn--ghost-dark:hover{background:var(--mx-bg-tint);transform:translateY(-2px);}

@media(max-width:900px){
	.mx-os-mission,.mx-os-mission--rev,.mx-os-monwrap{grid-template-columns:1fr;gap:26px;}
	.mx-os-mission--rev .mx-os-photo{order:2;}
	.mx-os-statgrid--row{grid-template-columns:repeat(4,1fr);}
	.mx-os-steps,.mx-os-unigrid,.mx-os-monitor,.mx-os-outcomes,.mx-os-trust{grid-template-columns:1fr 1fr;}
	.mx-os-monwrap .mx-os-monitor{grid-template-columns:1fr;}
	.mx-os-country-grid{grid-template-columns:1fr 1fr;}
	.mx-os-monwrap .mx-os-photo{position:static;aspect-ratio:16/10;}
}
@media(max-width:600px){
	.mx-os-tab{padding:11px 18px;font-size:13.5px;}
	.mx-os-statgrid,.mx-os-statgrid--row,.mx-os-steps,.mx-os-unigrid,.mx-os-monitor,.mx-os-outcomes,.mx-os-trust,.mx-os-country-grid{grid-template-columns:1fr;}
	.mx-os-statgrid--row{grid-template-columns:1fr 1fr;}
	.mx-os-founder .mx-btn--whatsapp{width:100%;justify-content:center;}
}

/* ============================== PORTFOLIO PAGE ============================== */
.mx-eyebrow--onnavy{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--mx-gold-lt);padding:7px 15px;border-radius:999px;margin-bottom:18px;}
.mx-eyebrow--onnavy i{font-size:15px;}

/* Hero */
.mx-pf-hero{position:relative;overflow:hidden;background:var(--mx-navy-grad);color:#fff;padding-block:76px 84px;}
.mx-pf-hero__glow{position:absolute;inset:0;background:radial-gradient(50% 55% at 20% 10%,rgba(201,162,39,.2),transparent 60%),radial-gradient(50% 60% at 88% 90%,rgba(59,125,224,.2),transparent 60%);pointer-events:none;}
.mx-pf-hero__inner{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;}
.mx-pf-hero h1{color:#fff;font-size:clamp(34px,4.6vw,54px);margin-bottom:18px;}
.mx-pf-hero__copy p{color:rgba(255,255,255,.78);font-size:17px;line-height:1.7;max-width:540px;margin:0;}
.mx-pf-hero__actions{display:flex;gap:14px;justify-content:flex-start;flex-wrap:wrap;margin-top:30px;}

/* Hero visual — floating achievement composition */
.mx-pf-hero__visual{position:relative;min-height:400px;}
@keyframes mxBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-11px);}}
.mx-pf-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);border-radius:26px;padding:26px 34px;box-shadow:var(--mx-shadow-lg);z-index:2;}
.mx-pf-hub .mx-ring{width:134px;height:134px;margin:0 auto 12px;}
.mx-pf-hub__label{color:rgba(255,255,255,.72);font-size:12.5px;font-weight:600;letter-spacing:.03em;}
.mx-pf-tile{position:absolute;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);border-radius:15px;padding:11px 15px 11px 11px;box-shadow:var(--mx-shadow);z-index:3;}
.mx-pf-tile i{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:20px;color:var(--mx-navy-900);background:var(--mx-gold-grad);flex-shrink:0;}
.mx-pf-tile__t{display:flex;flex-direction:column;}
.mx-pf-tile strong{color:#fff;font-size:13.5px;font-family:var(--mx-display);line-height:1.2;}
.mx-pf-tile small{color:rgba(255,255,255,.62);font-size:11.5px;}
.mx-pf-tile--1{top:4%;left:-2%;animation:mxBob 3.6s ease-in-out infinite;}
.mx-pf-tile--2{top:38%;right:-4%;animation:mxBob 4.3s ease-in-out infinite .5s;}
.mx-pf-tile--3{bottom:5%;left:4%;animation:mxBob 3.9s ease-in-out infinite .9s;}

/* What goes in */
.mx-pf-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:start;}
.mx-pf-items .mx-head{margin-bottom:28px;}
.mx-pf-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px;}
.mx-pf-item{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-r);padding:24px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.mx-pf-item:hover{transform:translateY(-5px);box-shadow:var(--mx-shadow);border-color:transparent;}
.mx-pf-item__icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:23px;color:var(--mx-navy-800);background:linear-gradient(135deg,var(--mx-gold-lt),rgba(243,209,116,.35));margin-bottom:16px;}
.mx-pf-item h3{font-size:16.5px;margin-bottom:8px;}
.mx-pf-item p{color:var(--mx-muted);font-size:13.5px;line-height:1.6;}

/* Score card */
.mx-pf-score{position:sticky;top:92px;}
.mx-pf-score__card{background:var(--mx-navy-grad);border-radius:var(--mx-r-lg);padding:28px 26px;color:#fff;box-shadow:var(--mx-shadow-lg);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;}
.mx-pf-score__card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 45% at 50% 0,rgba(201,162,39,.18),transparent 60%);pointer-events:none;}
.mx .mx-pf-score__label{text-align:center;font-size:12.5px;color:rgba(255,255,255,.6);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;position:relative;}
.mx-pf-score__card .mx-ring{margin:6px auto 14px;}
.mx .mx-pf-score__status{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:13px;font-weight:600;color:var(--mx-gold-lt);background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.25);border-radius:999px;padding:8px 14px;margin:0 auto 20px;position:relative;}
.mx-pf-score__bars{display:flex;flex-direction:column;gap:11px;margin-bottom:18px;position:relative;}
.mx-pf-hints{display:flex;flex-direction:column;gap:10px;position:relative;}
.mx .mx-pf-hint{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.85);background:rgba(240,200,74,.1);border:1px solid rgba(240,200,74,.2);border-radius:12px;padding:11px 13px;margin:0;}
.mx-pf-hint i{color:var(--mx-gold-lt);font-size:16px;flex-shrink:0;margin-top:1px;}

/* Portal CTA */
.mx-pf-cta{position:relative;overflow:hidden;background:var(--mx-navy-900);color:#fff;}
.mx-pf-cta__glow{position:absolute;inset:0;background:radial-gradient(50% 80% at 15% 20%,rgba(201,162,39,.2),transparent 60%),radial-gradient(45% 70% at 90% 90%,rgba(59,125,224,.18),transparent 60%);pointer-events:none;}
.mx-pf-cta__inner{position:relative;padding-block:72px;}
.mx-pf-cta__copy{max-width:720px;}
.mx-pf-cta h2{color:#fff;font-size:clamp(28px,3.6vw,42px);margin-bottom:14px;}
.mx-pf-cta p{color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.7;}
.mx-pf-cta__feats{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;}
.mx-pf-cta__feats li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:rgba(255,255,255,.88);}
.mx-pf-cta__feats i{color:var(--mx-green-2);font-size:19px;flex-shrink:0;}
.mx-pf-cta__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}

@media(max-width:920px){
	.mx-pf-grid{grid-template-columns:1fr;gap:30px;}
	.mx-pf-score{position:static;max-width:440px;}
	/* Hero → single column; visual reflows to static cards */
	.mx-pf-hero__inner{grid-template-columns:1fr;gap:36px;text-align:center;}
	.mx-pf-hero__copy p{margin-inline:auto;}
	.mx-pf-hero__actions{justify-content:center;}
	.mx-pf-hero__visual{min-height:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;}
	.mx-pf-hero__visual .mx-pf-tile,.mx-pf-hub{position:static;transform:none;animation:none;}
	.mx-pf-hub{order:-1;}
}
@media(max-width:600px){
	.mx-pf-hero{padding-block:52px 58px;}
	.mx-pf-hero__actions .mx-btn,.mx-pf-cta__actions .mx-btn{flex:1 1 100%;justify-content:center;}
	.mx-pf-hero__visual{flex-direction:column;}
	.mx-pf-hero__visual .mx-pf-tile{width:100%;max-width:300px;}
	.mx-pf-item-grid{grid-template-columns:1fr;}
	.mx-pf-cta__feats{grid-template-columns:1fr;}
	.mx-pf-cta__inner{padding-block:52px;}
}

/* ============================== CONTACT PAGE ============================== */
.mx-contact{position:relative;overflow:hidden;padding-block:72px 96px;background:radial-gradient(120% 80% at 50% -10%,var(--mx-bg-tint),#fff 55%,var(--mx-bg-alt));}
.mx-contact__orb{position:absolute;border-radius:50%;opacity:.55;pointer-events:none;}
.mx-contact__orb--gold{width:420px;height:420px;top:-150px;right:-120px;background:radial-gradient(circle,rgba(240,200,74,.35),transparent 70%);animation:mxFloatOrb 9s ease-in-out infinite;}
.mx-contact__orb--blue{width:360px;height:360px;bottom:-130px;left:-110px;background:radial-gradient(circle,rgba(59,125,224,.22),transparent 70%);animation:mxFloatOrb 11s ease-in-out infinite reverse;}
@keyframes mxFloatOrb{0%,100%{transform:translate(0,0);}50%{transform:translate(22px,26px);}}
.mx-contact .mx-shell{position:relative;}

.mx-contact__head{text-align:center;max-width:720px;margin:0 auto 40px;}
.mx-eyebrow--pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--mx-line);padding:7px 16px;border-radius:999px;box-shadow:var(--mx-shadow-sm);margin-bottom:18px;}
.mx-eyebrow--pill i{font-size:15px;}
.mx-contact__head h1{font-size:clamp(32px,4.4vw,50px);margin-bottom:14px;}
.mx .mx-contact__sub{color:var(--mx-ink-soft);font-size:17px;line-height:1.7;max-width:600px;margin:0 auto;}
.mx-contact__badges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 0;padding:0;}
.mx-contact__badges li{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--mx-ink-soft);background:#fff;border:1px solid var(--mx-line);padding:8px 14px;border-radius:999px;box-shadow:var(--mx-shadow-sm);}
.mx-contact__badges i{color:var(--mx-gold);font-size:15px;}

/* Split card */
.mx-contact__card{display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border:1px solid var(--mx-line);border-radius:26px;overflow:hidden;box-shadow:var(--mx-shadow-lg);}

/* Aside (dark) */
.mx-contact__aside{position:relative;overflow:hidden;background:var(--mx-navy-grad);color:#fff;padding:40px 34px;}
.mx-contact__aside::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 45% at 85% 0,rgba(201,162,39,.22),transparent 60%),radial-gradient(60% 45% at 0 100%,rgba(59,125,224,.18),transparent 60%);pointer-events:none;}
.mx-contact__deco{position:absolute;width:220px;height:220px;right:-72px;bottom:-72px;border-radius:50%;border:2px dashed rgba(255,255,255,.12);}
.mx-contact__deco::after{content:"";position:absolute;inset:26px;border-radius:50%;border:2px dashed rgba(201,162,39,.28);}
.mx-contact__aside h2{color:#fff;font-size:22px;margin-bottom:6px;position:relative;}
.mx .mx-contact__asidesub{color:rgba(255,255,255,.62);font-size:14px;margin-bottom:26px;position:relative;}
.mx-contact__rows{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px;position:relative;}
.mx-contact__rows a,.mx-contact__static{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);transition:background .18s,transform .18s,border-color .18s;}
.mx-contact__rows a:hover{background:rgba(255,255,255,.11);transform:translateY(-2px);border-color:rgba(201,162,39,.35);}
.mx-contact__ico{flex-shrink:0;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:21px;color:var(--mx-gold-lt);background:linear-gradient(135deg,rgba(240,200,74,.22),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);}
.mx-contact__meta{display:flex;flex-direction:column;min-width:0;}
.mx-contact__meta small{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:2px;}
.mx-contact__meta strong{color:#fff;font-weight:600;font-size:15px;font-family:var(--mx-display);overflow-wrap:anywhere;}
.mx-contact__go{margin-left:auto;color:rgba(255,255,255,.4);font-size:18px;transition:color .18s,transform .18s;}
.mx-contact__rows a:hover .mx-contact__go{color:var(--mx-gold-lt);transform:translate(2px,-2px);}
.mx-btn--whatsapp{background:linear-gradient(135deg,#2BD66E,#1FBE5A);width:100%;justify-content:center;box-shadow:0 12px 26px -10px rgba(37,211,102,.7);}
.mx .mx-btn--whatsapp{color:#fff;}
.mx-btn--whatsapp:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(37,211,102,.85);}
.mx .mx-contact__note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;font-size:13px;color:rgba(255,255,255,.6);position:relative;}
.mx-contact__note i{color:var(--mx-gold-lt);}

/* Panel (form) */
.mx-contact__panel{padding:40px 36px;}
.mx-contact__panel>h2{font-size:22px;margin-bottom:6px;}
.mx .mx-contact__panelsub{color:var(--mx-muted);font-size:14.5px;margin-bottom:26px;}
.mx-contact__notice{background:var(--mx-bg-alt);border:1px dashed #cdd8ee;border-radius:var(--mx-r);padding:22px;color:var(--mx-ink-soft);font-size:14.5px;}
.mx-contact__notice p{margin-bottom:10px;}
.mx-contact__notice p:last-child{margin-bottom:0;}

/* Contact Form 7 */
.mx-contact__panel .wpcf7-form p{margin:0;}
.mx-contact__panel .mx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mx-contact__panel .mx-field{display:flex;flex-direction:column;gap:6px;}
.mx-contact__panel .mx-field--full{grid-column:1 / -1;}
.mx-contact__panel label{font-family:var(--mx-display);font-weight:600;font-size:13px;color:var(--mx-navy-800);}
.mx-contact__panel input,
.mx-contact__panel select,
.mx-contact__panel textarea{width:100%;padding:13px 15px;border:1.5px solid var(--mx-line);border-radius:12px;font:inherit;font-size:14.5px;color:var(--mx-ink);background:var(--mx-bg-alt);transition:border-color .15s,box-shadow .15s,background .15s;}
.mx-contact__panel input:focus,
.mx-contact__panel select:focus,
.mx-contact__panel textarea:focus{outline:none;background:#fff;border-color:var(--mx-gold);box-shadow:0 0 0 4px rgba(201,162,39,.14);}
.mx-contact__panel textarea{height:100px;min-height:100px;resize:vertical;}
.mx-contact__panel .wpcf7-spinner{margin:0 0 0 10px;}
.mx-contact__panel .wpcf7-submit{margin-top:6px;background:var(--mx-navy-grad);color:#fff;border:0;border-radius:999px;padding:15px 28px;font-family:var(--mx-display);font-weight:700;font-size:15px;cursor:pointer;transition:transform .18s,box-shadow .18s;width:100%;box-shadow:0 12px 26px -12px rgba(11,26,62,.6);}
.mx-contact__panel .wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(11,26,62,.7);}
.mx-contact__panel .wpcf7-not-valid-tip{color:var(--mx-danger,#dc2626);font-size:12.5px;margin-top:4px;}
.mx-contact__panel .wpcf7-not-valid{border-color:var(--mx-danger,#dc2626)!important;}
.mx-contact__panel .wpcf7-response-output{margin:18px 0 0!important;border-radius:12px!important;padding:12px 16px!important;font-size:14px;border-width:1.5px!important;}
.mx-contact__panel .wpcf7 form.sent .wpcf7-response-output{border-color:var(--mx-green)!important;background:#e9f9f0;color:#0f6b3d;}
.mx-contact__panel .wpcf7 form.invalid .wpcf7-response-output,
.mx-contact__panel .wpcf7 form.failed .wpcf7-response-output{border-color:var(--mx-danger,#dc2626)!important;background:#fdecec;color:#9a1212;}

@media(max-width:880px){
	.mx-contact__card{grid-template-columns:1fr;}
	.mx-contact__deco{display:none;}
}
@media(max-width:560px){
	.mx-contact{padding-block:48px 64px;}
	.mx-contact__aside,.mx-contact__panel{padding:28px 22px;}
	.mx-contact__panel .mx-form-grid{grid-template-columns:1fr;}
	.mx-contact__badges li{font-size:12px;padding:7px 12px;}
}

/* ============================== 404 PAGE ============================== */
.mx-404{position:relative;overflow:hidden;background:var(--mx-navy-grad);color:#fff;min-height:72vh;display:grid;place-items:center;text-align:center;padding-block:88px 120px;}
.mx-404__glow{position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 34%,rgba(201,162,39,.22),transparent 60%),radial-gradient(40% 60% at 82% 80%,rgba(59,125,224,.18),transparent 60%);}
.mx-404__stars{position:absolute;inset:0;pointer-events:none;}
.mx-star{position:absolute;border-radius:50%;background:#fff;opacity:.25;animation:mxTwinkle 3s ease-in-out infinite;}
@keyframes mxTwinkle{0%,100%{opacity:.15;transform:scale(.8);}50%{opacity:.95;transform:scale(1.25);}}
.mx-404__inner{position:relative;max-width:660px;}
.mx-404__art{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:14px;}
.mx-404__digit{font-family:var(--mx-display);font-weight:800;font-size:clamp(90px,18vw,180px);line-height:1;color:#fff;text-shadow:0 12px 40px rgba(0,0,0,.35);}
/* Portal "0" */
.mx-404__portal{position:relative;width:clamp(120px,22vw,210px);height:clamp(120px,22vw,210px);display:grid;place-items:center;}
.mx-404__ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--mx-gold) 0deg,var(--mx-gold-lt) 120deg,transparent 210deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 14px),#000 calc(100% - 13px));mask:radial-gradient(farthest-side,transparent calc(100% - 14px),#000 calc(100% - 13px));animation:mxSpin 3.4s linear infinite;filter:drop-shadow(0 0 10px rgba(201,162,39,.5));}
.mx-404__portal::before{content:"";position:absolute;inset:16px;border-radius:50%;border:2px dashed rgba(255,255,255,.14);}
.mx-404__orbit{position:absolute;inset:0;animation:mxSpin 6s linear infinite;}
.mx-404__moon{position:absolute;top:-6px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,var(--mx-blue));box-shadow:0 0 12px rgba(59,125,224,.8);}
.mx-404__rocket{font-size:clamp(38px,7vw,64px);color:var(--mx-gold-lt);animation:mxFloat 2.6s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));}
@keyframes mxSpin{to{transform:rotate(360deg);}}
@keyframes mxFloat{0%,100%{transform:translateY(6px) rotate(-6deg);}50%{transform:translateY(-8px) rotate(4deg);}}
.mx .mx-404__title{color:#fff;font-size:clamp(24px,3.4vw,38px);margin-bottom:12px;}
.mx-404__sub{color:rgba(255,255,255,.78);font-size:16.5px;max-width:460px;margin:0 auto 28px!important;}
.mx-404__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.mx-404__actions .mx-btn{min-width:236px;justify-content:center;}
.mx-404__search{display:flex;align-items:center;gap:8px;max-width:420px;margin:0 auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 6px 6px 16px;}
.mx-404__search i{color:rgba(255,255,255,.6);font-size:18px;}
.mx-404__search input{flex:1;background:transparent;border:0;color:#fff;font:inherit;font-size:14.5px;outline:none;}
.mx-404__search input::placeholder{color:rgba(255,255,255,.5);}
.mx-404__search button{background:var(--mx-gold-grad);color:var(--mx-navy-900);border:0;border-radius:999px;padding:10px 20px;font-family:var(--mx-display);font-weight:700;font-size:13.5px;cursor:pointer;transition:transform .18s;}
.mx-404__search button:hover{transform:translateY(-1px);}
@media(max-width:600px){
	.mx-404{padding-block:56px 76px;min-height:auto;}
	.mx-404__art{gap:6px;margin-bottom:8px;}
	.mx-404__digit{font-size:76px;}
	.mx-404__portal{width:112px;height:112px;}
	.mx-404__actions{flex-direction:column;align-items:stretch;gap:12px;}
	.mx-404__actions .mx-btn{min-width:0;width:100%;}
	.mx-404__sub{font-size:15px;margin-bottom:24px;}
	.mx-404__search{margin-inline:auto;width:100%;}
}
@media(max-width:360px){
	.mx-404__digit{font-size:60px;}
	.mx-404__portal{width:92px;height:92px;}
}

@media(prefers-reduced-motion:reduce){
	.mx-ticker__track{animation:none;}
	.mx-dot{animation:none;}
	.mx-star,.mx-404__ring,.mx-404__orbit,.mx-404__rocket{animation:none!important;}
	*{transition:none!important;}
}

/* ==========================================================================
   LIVE SESSIONS PAGE
   ========================================================================== */

/* ---------------------------------- Hero ---------------------------------- */
.mx-sess-hero{
	position:relative;isolation:isolate;overflow:hidden;
	background:var(--mx-navy-grad);color:#fff;
	padding:88px 0 72px;
}
.mx-sess-hero__glow{
	position:absolute;inset:auto -20% -55% 30%;height:110%;z-index:-1;
	background:radial-gradient(ellipse at center,rgba(201,162,39,.30),transparent 66%);
}
.mx-sess-hero__inner{max-width:900px;}
.mx-sess-hero h1{color:#fff;font-size:clamp(34px,5vw,52px);margin:14px 0 16px;}
.mx-sess-hero p{font-size:17px;line-height:1.7;color:#C6D0E8;max-width:62ch;}

.mx-sess-hero__stats{display:flex;flex-wrap:wrap;gap:36px;margin-top:34px;}
.mx-sess-stat strong{
	display:block;font-family:var(--mx-display);font-weight:800;
	font-size:30px;line-height:1.1;
	background:var(--mx-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.mx-sess-stat span{font-size:13px;color:#8FA0C8;}

.mx-sess-hero__auth{
	display:flex;align-items:center;flex-wrap:wrap;gap:12px;
	margin-top:32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);
}
.mx-sess-hero__auth > span{font-size:13px;color:#8FA0C8;}

/* --------------------------------- Tabs ----------------------------------- */
.mx-sess-board{padding-top:44px;}
.mx-sess-tabs{
	display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;
	padding-bottom:4px;margin-bottom:18px;
	scrollbar-width:none;
}
.mx-sess-tabs::-webkit-scrollbar{display:none;}
.mx-sess-tab{
	display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
	font-family:var(--mx-display);font-size:13.5px;font-weight:700;
	padding:10px 18px;border-radius:999px;cursor:pointer;
	border:1.5px solid var(--mx-line);background:var(--mx-bg);color:var(--mx-ink-soft);
	transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.mx-sess-tab:hover{border-color:var(--mx-navy-600);color:var(--mx-navy-700);}
.mx-sess-tab.is-active{background:var(--mx-navy-800);border-color:var(--mx-navy-800);color:#fff;}
.mx-sess-tab__dot{
	width:7px;height:7px;border-radius:50%;background:#dc2626;flex:none;
	box-shadow:0 0 0 0 rgba(220,38,38,.6);animation:mx-pulse 1.8s infinite;
}
@keyframes mx-pulse{
	70%{box-shadow:0 0 0 7px rgba(220,38,38,0);}
	100%{box-shadow:0 0 0 0 rgba(220,38,38,0);}
}
@media (prefers-reduced-motion:reduce){
	.mx-sess-tab__dot{animation:none;}
}

/* -------------------------------- Filters --------------------------------- */
.mx-sess-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;}
.mx-sess-search{position:relative;flex:1 1 280px;display:block;}
.mx-sess-search i{
	position:absolute;left:15px;top:50%;transform:translateY(-50%);
	color:var(--mx-muted);font-size:17px;pointer-events:none;
}
.mx-sess-search input{
	width:100%;font:inherit;font-size:14.5px;color:var(--mx-ink);
	padding:12px 16px 12px 42px;
	border:1.5px solid var(--mx-line);border-radius:999px;background:var(--mx-bg);
	transition:border-color .16s ease,box-shadow .16s ease;
}
.mx-sess-filters select{
	font:inherit;font-size:14px;color:var(--mx-ink);
	padding:12px 16px;border:1.5px solid var(--mx-line);border-radius:999px;
	background:var(--mx-bg);cursor:pointer;min-width:172px;
	transition:border-color .16s ease,box-shadow .16s ease;
}
.mx-sess-search input:focus,
.mx-sess-filters select:focus{
	outline:none;border-color:var(--mx-navy-600);
	box-shadow:0 0 0 4px rgba(27,53,112,.10);
}

/* --------------------------------- Cards ---------------------------------- */
.mx-sess-grid{
	display:grid;gap:20px;
	grid-template-columns:repeat(auto-fill,minmax(min(345px,100%),1fr));
}
.mx-sess-card{
	position:relative;display:flex;flex-direction:column;gap:13px;
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);padding:24px 24px 22px;
	box-shadow:var(--mx-shadow-sm);
	/* Clips the status accent to the rounded top — without this its square ends
	   poke past the corners and it reads as a stray line above the card. */
	overflow:hidden;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mx-sess-card::before{
	content:"";position:absolute;top:0;left:0;right:0;height:3px;
	background:var(--mx-line);
}
.mx-sess-card--live::before{background:linear-gradient(90deg,#dc2626,#f87171);}
.mx-sess-card--soon::before{background:var(--mx-gold-grad);}
.mx-sess-card--rec::before{background:linear-gradient(90deg,var(--mx-green),var(--mx-green-2));}
.mx-sess-card:hover{
	transform:translateY(-3px);
	box-shadow:var(--mx-shadow);
	border-color:#D8E1F5;
}

.mx-sess-card__top{display:flex;align-items:flex-start;gap:14px;}
.mx-sess-card__icon{
	width:48px;height:48px;flex:none;border-radius:50%;
	display:grid;place-items:center;
	background:linear-gradient(140deg,var(--mx-bg-tint),var(--mx-bg-alt));
	border:1px solid var(--mx-line);
}
.mx-sess-card__icon i{font-size:23px;color:var(--mx-gold);}
.mx-sess-card__badges{display:flex;flex-wrap:wrap;gap:6px;padding-top:3px;}

.mx-sess-badge{
	display:inline-flex;align-items:center;gap:5px;
	font-family:var(--mx-display);font-size:11px;font-weight:700;
	letter-spacing:.03em;padding:4px 10px;border-radius:999px;
	border:1px solid transparent;
}
.mx-sess-badge--live{background:#FEF2F2;color:#B91C1C;border-color:#F5B5B5;}
.mx-sess-badge--soon{background:#EFF4FE;color:#1D4ED8;border-color:#C3D6F8;}
.mx-sess-badge--rec{background:#ECFDF3;color:#12633B;border-color:#A7E7C4;}
.mx-sess-badge--gold{background:#FDF6E0;color:#8A6D12;border-color:#EFD9A0;}
.mx-sess-badge--free{background:#ECFDF3;color:#12633B;border-color:#A7E7C4;}
.mx-sess-badge__dot{
	width:6px;height:6px;border-radius:50%;background:#dc2626;
	box-shadow:0 0 0 0 rgba(220,38,38,.6);animation:mx-pulse 1.8s infinite;
}
.mx-sess-tag{
	display:inline-flex;align-items:center;
	font-family:var(--mx-display);font-size:11px;font-weight:700;
	padding:4px 10px;border-radius:999px;
	background:var(--mx-bg-alt);color:var(--mx-ink-soft);border:1px solid var(--mx-line);
}

.mx-sess-card__title{
	font-size:17px;line-height:1.35;color:var(--mx-navy-800);
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mx-sess-card__summary{
	font-size:13.5px;line-height:1.65;color:var(--mx-muted);
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mx-sess-card__host{display:flex;flex-direction:column;gap:1px;}
.mx-sess-card__host strong{font-size:14px;color:var(--mx-ink);}
.mx-sess-card__host span{font-size:13px;color:var(--mx-ink-soft);}
.mx-sess-card__host small{font-size:12px;color:var(--mx-muted);}

.mx-sess-card__meta{display:flex;flex-wrap:wrap;gap:8px;}
.mx-sess-card__meta span{
	display:inline-flex;align-items:center;gap:5px;
	font-size:12px;color:var(--mx-ink-soft);
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	padding:5px 10px;border-radius:8px;
}
.mx-sess-card__meta i{font-size:14px;color:var(--mx-muted);}

.mx-sess-card__chips{display:flex;flex-wrap:wrap;gap:6px;}

.mx-sess-card__foot{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	flex-wrap:wrap;margin-top:auto;padding-top:15px;
	border-top:1px solid var(--mx-line);
}
.mx-sess-card__points{
	display:inline-flex;align-items:center;gap:5px;
	font-size:12px;font-weight:600;color:var(--mx-gold);
}
.mx-sess-card__soon{font-size:12.5px;color:var(--mx-muted);}

.mx-sess-empty{
	text-align:center;padding:56px 20px;
	font-size:15px;color:var(--mx-muted);
}

/* ------------------------------- Bottom CTA ------------------------------- */
.mx-sess-cta{
	display:flex;align-items:center;justify-content:space-between;gap:26px;
	flex-wrap:wrap;margin-top:44px;padding:32px 36px;
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);
}
.mx-sess-cta h2{font-size:21px;margin-bottom:6px;}
.mx-sess-cta p{font-size:14.5px;color:var(--mx-muted);max-width:56ch;line-height:1.65;}

/* --------------------------- Booking drawer ------------------------------- */
.mx-sess-drawer{
	position:fixed;inset:0;z-index:1600;
	background:rgba(8,18,43,.55);backdrop-filter:blur(3px);
	display:flex;justify-content:flex-end;
}
.mx-sess-drawer[hidden]{display:none;}
/* Sit below the WP admin bar so the drawer's own header is never cut off. */
body.admin-bar .mx-sess-drawer{top:32px;}
@media screen and (max-width:782px){
	body.admin-bar .mx-sess-drawer{top:46px;}
}
.mx-sess-drawer__panel{
	width:min(480px,100%);height:100%;overflow-y:auto;
	background:var(--mx-bg);box-shadow:var(--mx-shadow-lg);
	padding:28px 28px 40px;
	animation:mx-drawer-in .26s ease;
}
@keyframes mx-drawer-in{from{transform:translateX(24px);opacity:.4;}to{transform:none;opacity:1;}}
@media (prefers-reduced-motion:reduce){
	.mx-sess-drawer__panel{animation:none;}
}
.mx-sess-drawer__head{
	display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
	padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--mx-line);
}
.mx-sess-drawer__eyebrow{
	display:block;font-family:var(--mx-display);font-size:11px;font-weight:700;
	letter-spacing:.14em;text-transform:uppercase;color:var(--mx-gold);margin-bottom:6px;
}
.mx-sess-drawer__head h2{font-size:18px;line-height:1.4;}
.mx-sess-drawer__close{
	background:none;border:1px solid var(--mx-line);border-radius:10px;
	width:36px;height:36px;flex:none;display:grid;place-items:center;
	cursor:pointer;color:var(--mx-muted);
	transition:color .16s,border-color .16s,background .16s;
}
.mx-sess-drawer__close:hover{color:var(--mx-navy-700);border-color:var(--mx-navy-600);background:var(--mx-bg-alt);}

.mx-slotlist{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.mx-slotlist__item{
	display:flex;align-items:center;justify-content:space-between;gap:14px;
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	border-radius:14px;padding:14px 16px;
}
.mx-slotlist__info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.mx-slotlist__info strong{font-family:var(--mx-display);font-size:14.5px;color:var(--mx-navy-800);}
.mx-slotlist__info > span{font-size:13px;color:var(--mx-muted);}
.mx-slotlist__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;}
.mx-slotlist__empty{font-size:14px;line-height:1.7;color:var(--mx-muted);}
.mx-slotlist__empty a{color:var(--mx-navy-600);font-weight:600;}
.mx-slotlist__empty a:hover{text-decoration:underline;}

/* -------------------------------- Responsive ------------------------------ */
@media (max-width:960px){
	.mx-sess-hero{padding:64px 0 56px;}
	.mx-sess-hero__stats{gap:26px;}
	.mx-sess-cta{padding:26px 24px;}
}
@media (max-width:640px){
	.mx-sess-grid{grid-template-columns:1fr;}
	.mx-sess-filters select{min-width:0;flex:1 1 100%;}
	.mx-sess-drawer{justify-content:stretch;}
	.mx-sess-drawer__panel{width:100%;padding:22px 20px 36px;}
	.mx-slotlist__item{flex-direction:column;align-items:flex-start;}
}

/* Portal pages (login, register, account, mentor dashboard) --------------- */
.mx-portal-page{background:var(--mx-bg-alt);}

/* Mentor card external links ---------------------------------------------- */
.mx-mentor__links{display:flex;gap:8px;}
.mx-mentor__links a{
	width:32px;height:32px;display:grid;place-items:center;
	border:1px solid var(--mx-line);border-radius:9px;
	color:var(--mx-muted);transition:color .16s,border-color .16s,background .16s;
}
.mx-mentor__links a:hover{color:var(--mx-navy-700);border-color:var(--mx-navy-600);background:var(--mx-bg-alt);}

/* Clamped text — Read more / Read less ------------------------------------ */
.mx-clamp__dots{color:var(--mx-muted);}
.mx-clamp__toggle{
	display:inline;margin-left:6px;padding:0;border:0;background:none;
	font:inherit;font-weight:700;font-family:var(--mx-display);font-size:13px;
	color:var(--mx-navy-600);cursor:pointer;
}
.mx-clamp__toggle:hover{text-decoration:underline;}
.mx-clamp__toggle:focus-visible{outline:2px solid var(--mx-navy-600);outline-offset:2px;border-radius:4px;}

/* Live session actions ----------------------------------------------------- */
.mx .mx-btn--live{background:#DC2626;color:#fff;box-shadow:0 10px 22px -10px rgba(220,38,38,.75);}
.mx .mx-btn--live:hover{transform:translateY(-2px);background:#B91C1C;}
.mx-sess-card__reserved{
	display:inline-flex;align-items:center;gap:6px;
	font-family:var(--mx-display);font-weight:700;font-size:12.5px;
	color:#12633B;background:#ECFDF3;border:1px solid #A7E7C4;
	padding:8px 14px;border-radius:999px;
}
.mx-sess-card__form{margin:0;}

/* Avatar placeholder ------------------------------------------------------- */
/* Inline SVG silhouette used wherever a person has no photo yet. It inherits
   the container's colour, so it reads correctly on the navy, gold and green
   mentor avatars as well as on the light session-card circle. */
.mx-avatar-ph{
	width:64%;height:64%;display:block;
	fill:currentColor;opacity:.55;
	transform:translateY(6%);
}

/* Person-fronted session card: show the mentor, not a topic icon. */
.mx-sess-card__icon--person{
	position:relative;
	overflow:hidden;
	background:var(--mx-navy-grad);
	color:#fff;
	border-color:transparent;
}
.mx-sess-card__icon--person img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mx-sess-card__icon--person .mx-avatar-ph{opacity:.7;}

/* Card header now carries the title beside the avatar ---------------------- */
.mx-sess-card__top{align-items:center;}
.mx-sess-card__top .mx-sess-card__title{margin:0;flex:1;min-width:0;}
.mx-sess-card__badges{padding-top:0;}

/* ==========================================================================
   SESSIONS CALENDAR
   ========================================================================== */
.mx-sess-toprow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.mx-sess-toprow .mx-sess-tabs{margin-bottom:0;flex:1 1 auto;}

.mx-sess-view{display:flex;gap:4px;flex:none;background:var(--mx-bg-alt);border:1px solid var(--mx-line);border-radius:999px;padding:4px;}
.mx-sess-view__btn{
	display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
	font-family:var(--mx-display);font-size:13px;font-weight:700;
	padding:8px 15px;border:0;border-radius:999px;cursor:pointer;
	background:transparent;color:var(--mx-ink-soft);
	transition:background .18s ease,color .18s ease;
}
.mx-sess-view__btn:hover{color:var(--mx-navy-800);}
.mx-sess-view__btn.is-active{background:var(--mx-navy-800);color:#fff;}

.mx-cal{
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);padding:22px;margin-bottom:28px;
	box-shadow:var(--mx-shadow-sm);
}
.mx-cal__bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.mx-cal__month{flex:1;font-size:19px;margin:0;}
.mx-cal__nav{
	width:36px;height:36px;flex:none;display:grid;place-items:center;
	border:1px solid var(--mx-line);border-radius:10px;background:var(--mx-bg);
	cursor:pointer;color:var(--mx-ink-soft);transition:border-color .16s,color .16s;
}
.mx-cal__nav:hover{border-color:var(--mx-navy-600);color:var(--mx-navy-800);}
.mx-cal__today{
	font-family:var(--mx-display);font-size:12.5px;font-weight:700;
	padding:8px 14px;border-radius:999px;cursor:pointer;
	border:1.5px solid var(--mx-line);background:var(--mx-bg);color:var(--mx-ink-soft);
}
.mx-cal__today:hover{border-color:var(--mx-navy-600);color:var(--mx-navy-800);}

.mx-cal__dow{
	display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;
	font-family:var(--mx-display);font-size:10.5px;font-weight:700;
	letter-spacing:.1em;text-transform:uppercase;color:var(--mx-muted);text-align:center;
}
.mx-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.mx-cal__cell{
	display:flex;flex-direction:column;gap:3px;align-items:stretch;
	min-height:92px;padding:7px 7px 8px;text-align:left;
	background:var(--mx-bg);border:1px solid var(--mx-line);border-radius:12px;
	cursor:pointer;font:inherit;overflow:hidden;
	transition:border-color .16s ease,background .16s ease;
}
.mx-cal__cell.is-pad{background:transparent;border-color:transparent;cursor:default;min-height:0;}
.mx-cal__cell:not(.is-pad):hover{border-color:var(--mx-navy-600);}
.mx-cal__cell.has-events{background:var(--mx-bg-alt);}
.mx-cal__cell.is-today .mx-cal__cell-num{background:var(--mx-gold-grad);color:var(--mx-navy-900);}
.mx-cal__cell.is-selected{border-color:var(--mx-navy-800);box-shadow:0 0 0 2px rgba(27,53,112,.12);}
.mx-cal__cell-num{
	align-self:flex-start;min-width:22px;height:22px;padding:0 5px;
	display:grid;place-items:center;border-radius:999px;
	font-family:var(--mx-display);font-size:12px;font-weight:700;color:var(--mx-ink-soft);
}
.mx-cal__chip{
	font-size:10.5px;line-height:1.3;padding:3px 6px;border-radius:6px;
	background:#EFF4FE;color:#1D4ED8;border:1px solid #C3D6F8;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mx-cal__chip.is-paid{background:#FDF6E0;color:#8A6D12;border-color:#EFD9A0;}
.mx-cal__more{font-size:10px;color:var(--mx-muted);padding-left:2px;}

.mx-cal__day{margin-top:20px;padding-top:18px;border-top:1px solid var(--mx-line);}
.mx-cal__day h4{font-size:15px;margin-bottom:12px;}
.mx-cal__none{font-size:14px;color:var(--mx-muted);}
.mx-cal__event{
	display:flex;align-items:center;gap:14px;width:100%;text-align:left;
	padding:12px 14px;margin-bottom:8px;cursor:pointer;font:inherit;
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);border-radius:12px;
	transition:border-color .16s ease,transform .16s ease;
}
.mx-cal__event:hover{border-color:var(--mx-navy-600);transform:translateX(2px);}
.mx-cal__event-time{
	font-family:var(--mx-display);font-weight:700;font-size:13px;
	color:var(--mx-navy-800);flex:none;min-width:74px;
}
.mx-cal__event-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;}
.mx-cal__event-body strong{font-size:14px;color:var(--mx-navy-800);}
.mx-cal__event-body span{font-size:12.5px;color:var(--mx-muted);}
.mx-cal__event-pill{
	flex:none;font-family:var(--mx-display);font-size:11px;font-weight:700;
	padding:4px 10px;border-radius:999px;
	background:#ECFDF3;color:#12633B;border:1px solid #A7E7C4;
}
.mx-cal__event-pill.is-paid{background:#FDF6E0;color:#8A6D12;border-color:#EFD9A0;}

/* Event modal */
.mx-cal__modal{
	position:fixed;inset:0;z-index:1600;
	background:rgba(8,18,43,.55);backdrop-filter:blur(3px);
	display:flex;align-items:center;justify-content:center;padding:20px;
}
.mx-cal__modal-panel{
	position:relative;width:min(520px,100%);max-height:88vh;overflow-y:auto;
	background:var(--mx-bg);border-radius:var(--mx-r-lg);
	padding:28px;box-shadow:var(--mx-shadow-lg);
}
.mx-cal__modal-close{
	position:absolute;top:16px;right:16px;
	width:36px;height:36px;display:grid;place-items:center;
	border:1px solid var(--mx-line);border-radius:10px;background:var(--mx-bg);
	cursor:pointer;color:var(--mx-muted);
}
.mx-cal__modal-close:hover{color:var(--mx-navy-700);border-color:var(--mx-navy-600);}
.mx-cal__detail-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;padding-right:40px;}
.mx-cal__detail-head h3{font-size:18px;line-height:1.35;}
.mx-cal__detail-host{display:flex;flex-direction:column;gap:1px;margin-top:6px;}
.mx-cal__detail-host strong{font-size:14px;color:var(--mx-ink);}
.mx-cal__detail-host span{font-size:13px;color:var(--mx-ink-soft);}
.mx-cal__detail-host small{font-size:12px;color:var(--mx-muted);}
.mx-cal__detail-note{font-size:14px;line-height:1.65;color:var(--mx-muted);margin-bottom:14px;}
.mx-cal__detail-foot{
	display:flex;align-items:center;gap:12px;flex-wrap:wrap;
	margin-top:18px;padding-top:16px;border-top:1px solid var(--mx-line);
}

@media (max-width:760px){
	.mx-sess-toprow{flex-direction:column;align-items:stretch;}
	.mx-sess-view{align-self:flex-start;}
	.mx-cal{padding:16px;}
	.mx-cal__cell{min-height:64px;padding:5px;}
	.mx-cal__chip,.mx-cal__more{display:none;}
	.mx-cal__cell.has-events::after{
		content:"";width:6px;height:6px;border-radius:50%;
		background:var(--mx-navy-600);margin:2px auto 0;
	}
	.mx-cal__event{flex-wrap:wrap;gap:8px;}
	.mx-cal__event-time{min-width:0;}
}

/* ==========================================================================
   NGO & EVENTS PAGE — hero, partner marquee, feature grids
   ========================================================================== */
.mx-ev-hero{
	position:relative;isolation:isolate;overflow:hidden;
	background:linear-gradient(150deg,#0F3D2E,var(--mx-navy-900));
	color:#fff;padding:92px 0 78px;
}
.mx-ev-hero__glow{
	position:absolute;inset:auto -20% -55% 25%;height:110%;z-index:-1;
	background:radial-gradient(ellipse at center,rgba(22,163,74,.38),transparent 66%);
}
.mx-ev-hero__inner{max-width:900px;}
.mx-ev-hero h1{color:#fff;font-size:clamp(34px,5vw,52px);margin:14px 0 16px;}
.mx-ev-hero p{font-size:17px;line-height:1.7;color:#C6D0E8;max-width:62ch;}

/* --------------------------------- Marquee -------------------------------- */
.mx-logos{padding:44px 0 40px;background:var(--mx-bg-alt);border-bottom:1px solid var(--mx-line);overflow:hidden;}
.mx-logos__lead{
	text-align:center;margin-bottom:26px !important;
	font-family:var(--mx-display);font-size:11px;font-weight:700;
	letter-spacing:.16em;text-transform:uppercase;color:var(--mx-muted);
}
.mx-logos__viewport{
	display:flex;width:max-content;
	animation:mx-logos-scroll 38s linear infinite;
	/* Fade the ends so logos enter and leave instead of popping. */
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.mx-logos:hover .mx-logos__viewport{animation-play-state:paused;}
.mx-logos__track{display:flex;align-items:center;gap:56px;padding-right:56px;flex:none;}
@keyframes mx-logos-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){
	.mx-logos__viewport{animation:none;overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
}

.mx-logos__item{
	display:grid;place-items:center;flex:none;height:52px;
	opacity:.62;transition:opacity .2s ease,transform .2s ease;
}
a.mx-logos__item:hover{opacity:1;transform:translateY(-2px);}
.mx-logos__item img{max-height:52px;width:auto;object-fit:contain;}
.mx-logos__text{
	white-space:nowrap;font-family:var(--mx-display);font-weight:700;
	font-size:17px;color:var(--mx-navy-800);letter-spacing:-.01em;
}

/* ------------------------------ Feature grids ----------------------------- */
.mx-evgrid__head{max-width:70ch;margin-bottom:30px;}
.mx-evgrid__head h2{font-size:clamp(24px,3.2vw,34px);margin-bottom:10px;}
.mx-evgrid__head p{font-size:15.5px;line-height:1.7;color:var(--mx-muted);}
.mx-evgrid__cards{
	display:grid;gap:20px;
	grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));
}

.mx-evcard{
	display:flex;flex-direction:column;gap:12px;
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);padding:26px;
	box-shadow:var(--mx-shadow-sm);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mx-evcard--link:hover{transform:translateY(-3px);box-shadow:var(--mx-shadow);border-color:#D8E1F5;}
.mx-evcard__logo{
	display:grid;place-items:center;height:56px;width:100%;
	margin-bottom:2px;
}
.mx-evcard__logo img{max-height:56px;width:auto;object-fit:contain;}
.mx-evcard h3{font-size:17.5px;line-height:1.35;}
.mx-evcard p{font-size:14px;line-height:1.7;color:var(--mx-muted);flex:1;}
.mx-evcard__cta{
	display:inline-flex;align-items:center;gap:6px;
	font-family:var(--mx-display);font-weight:700;font-size:13.5px;
	color:var(--mx-navy-700);margin-top:2px;
}
.mx-evcard--link:hover .mx-evcard__cta{color:var(--mx-gold);}
.mx-evcard__cta i{font-size:15px;}

@media (max-width:960px){
	.mx-ev-hero{padding:66px 0 58px;}
	.mx-logos__track{gap:40px;padding-right:40px;}
}

/* ==========================================================================
   EVENTS — cards, grid, single page
   ========================================================================== */
.mx-evt-grid{
	display:grid;gap:22px;
	grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));
}

.mx-evt{
	display:flex;flex-direction:column;
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);overflow:hidden;
	box-shadow:var(--mx-shadow-sm);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mx-evt:hover{transform:translateY(-3px);box-shadow:var(--mx-shadow);border-color:#D8E1F5;}

.mx-evt__media{position:relative;display:block;aspect-ratio:16/9;background:var(--mx-bg-alt);overflow:hidden;}
.mx-evt__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.mx-evt:hover .mx-evt__media img{transform:scale(1.04);}
.mx-evt__ph{
	position:absolute;inset:0;display:grid;place-items:center;
	background:var(--mx-navy-grad);color:rgba(255,255,255,.35);font-size:38px;
}
.mx-evt__badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;}
.mx-evt__badges .mx-sess-tag{background:rgba(255,255,255,.94);}

.mx-evt__body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1;}
.mx-evt__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--mx-muted);}
.mx-evt__meta span{display:inline-flex;align-items:center;gap:5px;}
.mx-evt__meta i{font-size:14px;}
.mx-evt__title{font-size:17.5px;line-height:1.35;}
.mx-evt__title a{color:var(--mx-navy-800);}
.mx-evt:hover .mx-evt__title a{color:var(--mx-navy-600);}
.mx-evt__excerpt{
	font-size:14px;line-height:1.65;color:var(--mx-muted);flex:1;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.mx-evt__foot{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	margin-top:6px;padding-top:14px;border-top:1px solid var(--mx-line);
}
.mx-evt__hours{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--mx-gold);}

/* Sidebar variant */
.mx-evt--compact{flex-direction:row;align-items:stretch;box-shadow:none;border-radius:14px;}
.mx-evt--compact:hover{transform:none;}
.mx-evt--compact .mx-evt__media{width:96px;flex:none;aspect-ratio:1;}
.mx-evt--compact .mx-evt__badges{display:none;}
.mx-evt--compact .mx-evt__body{padding:12px 14px;gap:5px;}
.mx-evt--compact .mx-evt__title{font-size:14.5px;}
.mx-evt--compact .mx-evt__meta{font-size:11.5px;gap:8px;}

/* -------------------------------- Single --------------------------------- */
.mx-evsingle__hero{
	position:relative;isolation:isolate;overflow:hidden;
	background:var(--mx-navy-grad);color:#fff;padding:76px 0 64px;
}
.mx-evsingle__hero--green{background:linear-gradient(150deg,#0F3D2E,var(--mx-navy-900));}
.mx-evsingle__hero--teal{background:linear-gradient(150deg,#0B3B45,var(--mx-navy-900));}
.mx-evsingle__hero--gold{background:linear-gradient(150deg,#4A3A0E,var(--mx-navy-900));}
.mx-evsingle__hero--purple{background:linear-gradient(150deg,#33235C,var(--mx-navy-900));}
.mx-evsingle__bg{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
}
.mx-evsingle__hero.has-image::after{
	content:"";position:absolute;inset:0;z-index:-1;
	background:linear-gradient(180deg,rgba(8,18,43,.62),rgba(8,18,43,.9));
}
/* Centred: the hero carries no navigation now, so a symmetrical stack reads
   better than a left rail with nothing to align to. */
.mx-evsingle__hero-inner{max-width:860px;margin-inline:auto;text-align:center;}
.mx-evsingle__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;justify-content:center;}
.mx-evsingle__hero h1{color:#fff;font-size:clamp(30px,4.4vw,46px);}
.mx-evsingle__lede{margin:14px auto 0;font-size:17px;line-height:1.7;color:#C6D0E8;max-width:62ch;}

.mx-evsingle__layout{
	display:grid;gap:36px;
	grid-template-columns:minmax(0,1fr) 340px;align-items:start;
}
.mx-evsingle__cover{
	margin:0 0 30px;border-radius:var(--mx-r-lg);overflow:hidden;
	border:1px solid var(--mx-line);box-shadow:var(--mx-shadow-sm);
}
.mx-evsingle__cover img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}

.mx-evsingle__prose{font-size:16px;line-height:1.8;color:var(--mx-ink-soft);}
.mx-evsingle__prose > * + *{margin-top:1.1em;}
.mx-evsingle__prose h2,.mx-evsingle__prose h3{margin-top:1.6em;}
.mx-evsingle__prose ul,.mx-evsingle__prose ol{padding-left:1.2em;}
.mx-evsingle__prose li + li{margin-top:.4em;}
.mx-evsingle__block{margin-top:40px;}
.mx-evsingle__block h2{font-size:22px;margin-bottom:18px;}

.mx-evhigh{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.mx-evhigh li{
	display:flex;gap:14px;align-items:flex-start;
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	border-radius:14px;padding:16px 18px;
}
.mx-evhigh__icon{
	width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;
	background:var(--mx-bg);border:1px solid var(--mx-line);color:var(--mx-gold);font-size:19px;
}
.mx-evhigh strong{display:block;font-family:var(--mx-display);font-size:15px;color:var(--mx-navy-800);}
.mx-evhigh p{font-size:13.5px;line-height:1.65;color:var(--mx-muted);margin-top:3px;}

.mx-evgal{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));}
.mx-evgal figure{margin:0;}
.mx-evgal a{
	display:block;position:relative;border-radius:14px;overflow:hidden;
	border:1px solid var(--mx-line);
}
.mx-evgal img{
	width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
	transition:transform .35s ease;
}
.mx-evgal a:hover img,.mx-evgal a:focus-visible img{transform:scale(1.04);}
.mx-evgal__zoom{
	position:absolute;inset:0;display:grid;place-items:center;
	background:rgba(8,18,43,.42);color:#fff;font-size:26px;
	opacity:0;transition:opacity .25s ease;
}
.mx-evgal a:hover .mx-evgal__zoom,.mx-evgal a:focus-visible .mx-evgal__zoom{opacity:1;}
.mx-evgal figcaption{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--mx-muted);}

/* ------------------------------- Lightbox -------------------------------- */
html.mx-lb-open{overflow:hidden;}
.mx-lb[hidden]{display:none !important;}
.mx-lb{
	position:fixed;inset:0;z-index:2000;
	display:grid;grid-template-columns:auto 1fr auto;align-items:center;
	gap:12px;padding:56px 16px 24px;
	/* Nearly opaque: at 90% the site header reads through the top of the frame
	   and competes with the photo. */
	background:rgba(6,13,32,.97);
	opacity:0;transition:opacity .2s ease;
}
.mx-lb.is-open{opacity:1;}

.mx-lb__stage{
	grid-column:2;margin:0;min-width:0;
	display:flex;flex-direction:column;align-items:center;gap:14px;
	max-height:100%;
}
.mx-lb__img{
	max-width:100%;max-height:calc(100vh - 150px);
	width:auto;height:auto;object-fit:contain;
	border-radius:12px;background:rgba(255,255,255,.04);
	transform:scale(.97);transition:transform .25s ease;
}
.mx-lb.is-open .mx-lb__img{transform:scale(1);}

.mx-lb__meta{
	display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;
	text-align:center;
}
.mx-lb__cap{font-size:13.5px;line-height:1.6;color:#C6D0E8;max-width:70ch;}
.mx-lb__cap[hidden]{display:none;}
.mx-lb__count{
	font-family:var(--mx-display);font-size:12.5px;font-weight:700;
	letter-spacing:.08em;color:rgba(255,255,255,.55);
}
.mx-lb__count[hidden]{display:none;}

.mx-lb__close,.mx-lb__nav{
	display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.08);color:#fff;border-radius:999px;cursor:pointer;
	transition:background .18s,border-color .18s;
}
.mx-lb__close:hover,.mx-lb__nav:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);}
.mx-lb__close:focus-visible,.mx-lb__nav:focus-visible{outline:2px solid var(--mx-gold);outline-offset:3px;}
.mx-lb__nav[hidden]{display:none;}

.mx-lb__close{position:absolute;top:14px;right:16px;width:42px;height:42px;font-size:21px;}
.mx-lb__nav{width:46px;height:46px;font-size:23px;}
.mx-lb__nav--prev{grid-column:1;}
.mx-lb__nav--next{grid-column:3;}

@media (max-width:640px){
	.mx-lb{
		grid-template-columns:1fr;grid-template-rows:1fr auto;
		padding:56px 12px 20px;justify-items:center;
	}
	.mx-lb__stage{grid-column:1;grid-row:1;}
	.mx-lb__img{max-height:calc(100vh - 210px);}
	/* Arrows sit under the photo where a thumb can reach them. */
	.mx-lb__nav{grid-column:1;grid-row:2;width:52px;height:52px;}
	.mx-lb__nav--prev{justify-self:start;}
	.mx-lb__nav--next{justify-self:end;}
}

@media (prefers-reduced-motion:reduce){
	.mx-lb,.mx-lb__img,.mx-evgal img,.mx-evgal__zoom{transition:none;}
	.mx-lb__img{transform:none;}
}

.mx-evsingle__side{display:grid;gap:20px;position:sticky;top:96px;}
.mx-evfacts,.mx-evside{
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);padding:22px;box-shadow:var(--mx-shadow-sm);
}
.mx-evfacts h2,.mx-evside h2{font-size:16px;margin-bottom:16px;}
.mx-evfacts__row{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--mx-line);}
.mx-evfacts__row > i{font-size:19px;color:var(--mx-gold);flex:none;margin-top:2px;}
.mx-evfacts__row strong{display:block;font-family:var(--mx-display);font-size:14.5px;color:var(--mx-navy-800);}
.mx-evfacts__row span{display:block;font-size:13.5px;color:var(--mx-ink-soft);margin-top:2px;}
.mx-evfacts__row small{display:block;font-size:12.5px;color:var(--mx-muted);margin-top:3px;}
.mx-evfacts__row a{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:13px;font-weight:600;color:var(--mx-navy-600);}
.mx-evfacts__row a:hover{text-decoration:underline;}
.mx-evfacts__pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.mx-evfacts__done{font-size:13.5px;color:var(--mx-muted);line-height:1.6;margin-bottom:12px;}
.mx-evfacts__got{
	display:flex;align-items:center;gap:8px;margin-bottom:12px;
	font-family:var(--mx-display);font-size:14px;font-weight:700;color:#0F7A4A;
}
.mx-evfacts__got i{font-size:18px;}
.mx-evfacts__hint{margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--mx-muted);text-align:center;}
.mx-evfacts__hint--warn{color:#A8641B;font-weight:600;}
.mx-evfacts__hint a{color:var(--mx-navy-800);font-weight:600;}
.mx-evside{display:flex;flex-direction:column;gap:10px;}
.mx-evside__all{
	display:inline-flex;align-items:center;gap:6px;margin-top:6px;
	font-family:var(--mx-display);font-weight:700;font-size:13.5px;color:var(--mx-navy-700);
}
.mx-evside__all:hover{color:var(--mx-gold);}

@media (max-width:1000px){
	.mx-evsingle__layout{grid-template-columns:1fr;}
	.mx-evsingle__side{position:static;}
}
@media (max-width:640px){
	.mx-evsingle__hero{padding:56px 0 48px;}
	.mx-evt--compact .mx-evt__media{width:78px;}
}
