:root {
  --mg-blue: #0075ba;
  --mg-red: #e12522;
  --mg-ink: #172b3b;
  --mg-plum: #103f64;
  --mg-plum-2: var(--mg-blue);
  --mg-sage: #b9dcef;
  --mg-sage-dark: var(--mg-blue);
  --mg-cream: #f1f7fb;
  --mg-paper: #ffffff;
  --mg-gold: var(--mg-red);
  --mg-line: rgba(0, 74, 122, .15);
  --mg-soft-red: #fff0ef;
  --mg-shadow: 0 24px 70px rgba(7, 54, 88, .14);
  --mg-radius: 26px;
  --mg-serif: Georgia, 'Times New Roman', serif;
  --mg-sans: Arial, Helvetica, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--mg-ink); background: var(--mg-paper); font-family: var(--mg-sans); font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .16em; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4 { margin-top: 0; font-family: var(--mg-serif); font-weight: 400; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(3rem, 6.6vw, 6.9rem); }
h2 { font-size: clamp(2.25rem, 4.4vw, 4.7rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2.1rem); }
p { margin-top: 0; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 12px 18px; color: #fff; background: var(--mg-plum); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--mg-gold); outline-offset: 4px; }

.site-header { position: fixed; z-index: 1000; top: 0; width: 100%; padding: 14px 0; background: rgba(255,255,255,.96); box-shadow: 0 8px 32px rgba(7,54,88,.08); backdrop-filter: blur(14px); transition: background .25s, padding .25s, box-shadow .25s; }
.site-header.is-scrolled, body:not(.home) .site-header { padding: 11px 0; background: rgba(255,253,249,.94); box-shadow: 0 8px 35px rgba(35,28,37,.08); backdrop-filter: blur(14px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 13px; color: var(--mg-plum); text-decoration: none; }
.brand .custom-logo { width: auto; max-height: 60px; }
.brand-symbol { width: 62px; height: 38px; object-fit: contain; }
.brand-mark { position: relative; display: inline-flex; width: 47px; height: 47px; align-items: center; justify-content: center; border: 1.5px solid currentColor; border-radius: 50%; }
.brand-mark::before, .brand-mark::after, .brand-mark span { position: absolute; content: ''; width: 22px; height: 15px; border: 2px solid var(--mg-gold); border-top: 0; border-radius: 0 0 16px 16px; }
.brand-mark::before { transform: translate(-6px, -2px) rotate(18deg); }
.brand-mark::after { transform: translate(6px, -2px) rotate(-18deg); }
.brand-mark span { width: 9px; height: 20px; border-width: 0 2px; border-radius: 0; transform: translateY(8px); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-family: var(--mg-serif); font-size: 22px; font-weight: 400; }
.brand-copy small { margin-top: 5px; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 30px; }
.primary-nav ul { display: flex; margin: 0; padding: 0; align-items: center; gap: 28px; list-style: none; }
.primary-nav a { position: relative; font-size: 14px; font-weight: 600; text-decoration: none; }
.primary-nav .menu > li > a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1.5px; content: ''; background: var(--mg-gold); transform: scaleX(0); transform-origin: right; transition: transform .22s; }
.primary-nav .menu > li > a:hover::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; width: 48px; height: 48px; padding: 13px; border: 0; border-radius: 50%; background: var(--mg-cream); }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--mg-plum); }

.button { display: inline-flex; min-height: 52px; padding: 14px 25px; align-items: center; justify-content: center; border: 1.5px solid var(--mg-red); border-radius: 100px; color: #fff; background: var(--mg-red); font-size: 14px; font-weight: 700; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { color: #fff; border-color: #bd1715; background: #bd1715; box-shadow: 0 12px 25px rgba(225,37,34,.22); transform: translateY(-2px); }
.button--small { min-height: 42px; padding: 9px 19px; }
.button--ghost { border-color: var(--mg-blue); color: var(--mg-blue); background: transparent; }
.button--ghost:hover { color: #fff; background: var(--mg-plum); }
.button--light { border-color: #fff; color: var(--mg-plum); background: #fff; }
.button--light:hover { color: var(--mg-plum); background: var(--mg-cream); }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--mg-plum); font-size: 14px; font-weight: 700; text-decoration: none; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(5px); }
.text-link--light { color: #fff; }
.eyebrow { margin-bottom: 19px; color: var(--mg-gold); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }

.hero { position: relative; min-height: 860px; padding: 185px 0 115px; overflow: hidden; background: var(--mg-plum); }
.hero--photo { display: flex; align-items: center; background-image: linear-gradient(90deg, rgb(7 37 61 / calc(var(--mg-hero-opacity, .82) + .13)) 0%, rgb(7 37 61 / var(--mg-hero-opacity, .82)) 45%, rgb(0 82 136 / calc(var(--mg-hero-opacity, .82) * .52)) 76%, rgb(0 117 186 / .12) 100%), var(--mg-hero-image); background-position: var(--mg-hero-position, center); background-size: cover; }
.hero::after { position: absolute; right: 0; bottom: 0; left: 0; height: 110px; content: ''; background: var(--mg-soft-red); clip-path: polygon(0 72%, 100% 0, 100% 100%, 0 100%); filter: drop-shadow(0 -5px 8px rgba(7,54,88,.13)); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,760px) 1fr; align-items: center; gap: 80px; }
.hero-grid--quote { grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 58px; }
.hero-grid--quote .hero-copy h1 { font-size: clamp(3rem,5.3vw,5.9rem); }
.hero-copy h1 { max-width: 760px; margin-bottom: 30px; color: #fff; text-shadow: 0 4px 24px rgba(0,0,0,.28); }
.hero-intro { max-width: 680px; margin-bottom: 34px; color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.hero .eyebrow { color: #ff6e68; }
.hero .text-link { color: #fff; }
.hero .button { border-color: var(--mg-red); background: var(--mg-red); }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.trust-row { display: flex; margin: 58px 0 0; padding: 0; gap: 0; list-style: none; }
.trust-row li { display: flex; min-width: 150px; padding: 0 27px; flex-direction: column; border-left: 1px solid rgba(255,255,255,.25); }
.trust-row li:first-child { padding-left: 0; border-left: 0; }
.trust-row strong { color: #fff; font-family: var(--mg-serif); font-size: 21px; font-weight: 400; }
.trust-row span { margin-top: 4px; color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.35; }
.hero-credit { position: absolute; z-index: 2; right: 25px; bottom: 25px; margin: 0; color: rgba(255,255,255,.68); font-size: 10px; }
.hero-quote-card { align-self: start; margin-top: 20px; padding: 25px; border: 1px solid rgba(255,255,255,.28); border-radius: 25px; color: #fff; background: rgba(5,42,69,.7); box-shadow: 0 22px 70px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.hero-quote-person { display: flex; align-items: center; gap: 13px; }
.hero-quote-person > img, .hero-quote-person > span { display: flex; width: 68px; height: 68px; padding: 5px; align-items: center; justify-content: center; flex: 0 0 68px; overflow: hidden; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; background: #fff; }
.hero-quote-person > img { padding: 0; object-fit: cover; }
.hero-quote-person span img { width: 48px; height: auto; }
.hero-quote-person div { display: flex; flex-direction: column; }
.hero-quote-person small { color: #ff8d88; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-quote-person strong { font-family: var(--mg-serif); font-size: 17px; font-weight: 400; }
.hero-quote-card blockquote { margin: 22px 0 0; color: rgba(255,255,255,.88); font-family: var(--mg-serif); font-size: 19px; line-height: 1.45; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.hero-orb--one { top: -190px; right: -160px; width: 650px; height: 650px; border: 130px solid rgba(169,182,161,.26); }
.hero-orb--two { bottom: 70px; left: -270px; width: 520px; height: 520px; border: 95px solid rgba(191,139,69,.08); }
.hero-visual { position: relative; width: 420px; max-width: 100%; aspect-ratio: .84; border-radius: 220px 220px 35px 35px; background: linear-gradient(155deg, var(--mg-sage), #74816e); box-shadow: var(--mg-shadow); }
.hero-visual::before { position: absolute; inset: 28px; content: ''; border: 1px solid rgba(255,255,255,.42); border-radius: inherit; }
.hero-visual > p { position: absolute; right: 52px; bottom: 45px; left: 52px; margin: 0; color: #fff; font-family: var(--mg-serif); font-size: 27px; line-height: 1.15; }
.bridge-mark { position: absolute; top: 37%; left: 50%; display: flex; width: 180px; height: 85px; justify-content: center; gap: 7px; transform: translate(-50%,-50%); }
.bridge-mark::after { position: absolute; bottom: 0; width: 100%; height: 65px; content: ''; border: 3px solid rgba(255,255,255,.8); border-bottom: 0; border-radius: 100px 100px 0 0; }
.bridge-mark i { width: 2px; height: 100%; background: rgba(255,255,255,.55); }
.conversation-card { position: absolute; z-index: 3; width: 155px; padding: 20px; border-radius: 18px; background: rgba(255,253,249,.94); box-shadow: 0 16px 35px rgba(41,31,42,.16); }
.conversation-card span { display: block; height: 6px; margin: 7px 0; border-radius: 10px; background: rgba(60,38,62,.2); }
.conversation-card span:first-child { width: 46%; background: var(--mg-gold); }
.conversation-card--a { top: 16%; left: -52px; }
.conversation-card--b { top: 45%; right: -42px; width: 135px; }

.section { padding: 115px 0; }
.section-heading { max-width: 720px; margin-bottom: 60px; }
.section-heading h2 { margin-bottom: 26px; color: var(--mg-plum); }
.section-heading > p:last-child { max-width: 620px; color: #665e66; }
.section-heading--row { display: flex; max-width: none; align-items: flex-end; justify-content: space-between; gap: 60px; }
.section-heading--row > p { max-width: 440px !important; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.service-card { position: relative; display: flex; min-height: 385px; padding: 38px; overflow: hidden; flex-direction: column; border: 1px solid var(--mg-line); border-radius: var(--mg-radius); background: #fff; transition: transform .25s, box-shadow .25s; }
.service-card:hover { box-shadow: var(--mg-shadow); transform: translateY(-6px); }
.service-card h3 { margin: auto 0 18px; color: var(--mg-plum); font-size: 2.3rem; }
.service-card p { color: #675f67; font-size: 15px; }
.service-card a { margin-top: 15px; color: var(--mg-plum); font-size: 13px; font-weight: 700; text-decoration: none; }
.service-card a span { float: right; }
.service-number { color: var(--mg-gold); font-family: var(--mg-serif); font-size: 36px; }
.service-card--accent { color: #fff; border: 0; background: var(--mg-blue); }
.service-card--accent::before { position: absolute; top: -90px; right: -90px; width: 260px; height: 260px; content: ''; border: 55px solid rgba(255,255,255,.06); border-radius: 50%; }
.service-card--accent h3, .service-card--accent p, .service-card--accent a { color: #fff; }

.audience-section { position:relative; z-index:2; padding:90px 0 0; background:var(--mg-soft-red); }
.audience-section::after { position:absolute; right:0; bottom:-1px; left:0; height:54px; content:''; background:var(--mg-cream); clip-path:polygon(0 100%,100% 22%,100% 100%); }
.audience-section .section-heading { margin-bottom:42px; }
.audience-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 17px; }
.audience-card { position: relative; z-index:2; min-height: 265px; padding: 30px; overflow: hidden; border: 1px solid rgba(225,37,34,.12); border-radius: 22px; background: #fff; box-shadow:0 17px 44px rgba(7,54,88,.13); transform:translateY(48px); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.audience-card:hover { border-color:rgba(225,37,34,.28); box-shadow:0 27px 62px rgba(7,54,88,.2); transform:translateY(40px); }
.audience-card::after { position: absolute; right: -45px; bottom: -55px; width: 140px; height: 140px; content: ''; border: 25px solid rgba(0,117,186,.07); border-radius: 50%; }
.audience-card > span { color: var(--mg-red); font-family: var(--mg-serif); font-size: 28px; }
.audience-card h3 { margin: 55px 0 14px; color: var(--mg-plum); font-size: 29px; }
.audience-card p { margin: 0; color: #657786; font-size: 14px; line-height: 1.6; }

.pathway-section { padding-top: 165px; background: var(--mg-cream); }
.pathway-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.pathway-card { overflow: hidden; border: 1px solid rgba(0,84,142,.12); border-radius: 25px; background: #fff; box-shadow: 0 12px 38px rgba(7,54,88,.06); transition: transform .24s, box-shadow .24s; }
.pathway-card:hover { box-shadow: var(--mg-shadow); transform: translateY(-5px); }
.pathway-card__image { display: flex; aspect-ratio: 16/10; overflow: hidden; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg,var(--mg-blue),#0b3556); text-decoration: none; }
.pathway-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pathway-card:hover .pathway-card__image img { transform: scale(1.035); }
.pathway-card__image > span { font-family: var(--mg-serif); font-size: 72px; opacity: .28; }
.pathway-card__body { padding: 27px 30px 30px; }
.pathway-card__body .eyebrow { margin-bottom: 13px; }
.pathway-card h3 { min-height: 2.15em; margin-bottom: 14px; color: var(--mg-plum); font-size: 30px; }
.pathway-card h3 a { text-decoration: none; }
.pathway-card__body > p:not(.eyebrow) { min-height: 5.1em; color: #667988; font-size: 14px; line-height: 1.7; }

.manifesto { padding: 120px 0; color: #fff; background: #0b3556; }
.manifesto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.manifesto-quote { position: relative; padding: 60px 45px 45px; border: 1px solid rgba(255,255,255,.18); border-radius: 220px 220px 30px 30px; text-align: center; }
.manifesto-quote > span { color: var(--mg-gold); font-family: var(--mg-serif); font-size: 110px; line-height: .5; }
.manifesto-quote blockquote { margin: 30px 0; font-family: var(--mg-serif); font-size: clamp(2rem,3.2vw,3.6rem); line-height: 1.13; }
.manifesto-copy h2 { margin-bottom: 26px; }
.manifesto-copy > p:not(.eyebrow) { color: rgba(255,255,255,.73); }
.check-list { margin: 32px 0 35px; padding: 0; list-style: none; }
.check-list li { position: relative; margin: 14px 0; padding-left: 30px; }
.check-list li::before { position: absolute; left: 0; color: var(--mg-gold); content: '✦'; }

.courses-section { background: #eef7fc; }
.course-placeholder { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.course-placeholder article { min-height: 300px; padding: 35px; border-radius: var(--mg-radius); background: #fff; box-shadow: 0 14px 40px rgba(40,30,40,.06); }
.course-placeholder span { color: var(--mg-gold); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.course-placeholder h3 { margin: 55px 0 15px; color: var(--mg-plum); }
.course-placeholder p { color: #6b636b; font-size: 15px; }

.about-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 110px; }
.about-art { position: relative; display: flex; aspect-ratio: 1; align-items: center; justify-content: center; flex-direction: column; border-radius: 50%; color: #fff; background: var(--mg-sage-dark); }
.about-art::before { position: absolute; inset: 24px; content: ''; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; }
.about-art strong { font-family: var(--mg-serif); font-size: clamp(5rem,10vw,9rem); font-weight: 400; line-height: .8; }
.about-art span { margin-top: 20px; font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .15em; text-align: center; text-transform: uppercase; }
.about-ring { position: absolute; top: -18px; right: -18px; width: 120px; height: 120px; border: 25px solid var(--mg-gold); border-radius: 50%; opacity: .75; }
.about-copy h2 { color: var(--mg-plum); }
.about-copy > p:not(.eyebrow) { margin-bottom: 30px; color: #645d64; }

.contact-band { padding: 100px 0; color: #fff; background: var(--mg-red); }
.contact-band__inner { display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; gap: 90px; }
.contact-band .eyebrow { color: #fff; opacity: .75; }
.contact-band h2 { margin: 0; }
.contact-band__inner > div:last-child p { margin-bottom: 25px; }
.contact-form-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); align-items:start; gap:80px; }
.contact-form-copy { position:sticky; top:130px; }
.contact-form-copy h2 { margin-bottom:28px; }
.contact-form-copy>p:not(.eyebrow) { max-width:520px; color:rgba(255,255,255,.82); }
.contact-form-copy ul { margin:34px 0 0; padding:0; list-style:none; }
.contact-form-copy li { margin:8px 0; font-size:14px; font-weight:700; }

.site-footer { padding: 80px 0 25px; color: rgba(255,255,255,.74); background: #082b46; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .85fr .7fr; gap: 70px; }
.brand--footer { margin-bottom: 25px; color: #fff; }
.footer-grid h2 { color: #fff; font-family: var(--mg-sans); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.footer-grid p { max-width: 340px; }
.contact-list, .footer-grid ul { margin: 0; padding: 0; list-style: none; }
.contact-list li, .footer-grid li { margin: 9px 0; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; margin-top: 65px; padding-top: 22px; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }

.content-main { min-height: 65vh; padding-top: 82px; }
.page-template-default .content-main { padding-top:0; }
.page-hero { padding: 110px 0 80px; color: #fff; background: var(--mg-plum); }
.page-hero h1 { max-width: 850px; margin-bottom: 0; font-size: clamp(2.65rem,4.7vw,4.9rem); }
.page-hero--photo { position: relative; min-height: 440px; display: flex; padding: 92px 0 55px; align-items:flex-end; overflow:hidden; background-image: linear-gradient(90deg,rgb(7 37 61 / calc(var(--mg-page-opacity,.78) + .14)) 0%,rgb(7 37 61 / var(--mg-page-opacity,.78)) 52%,rgb(0 117 186 / .18) 100%),var(--mg-page-image); background-position:center; background-size:cover; box-shadow:inset 0 -1px 0 rgba(255,255,255,.18); }
.page-hero--photo::after { display:none; }
.page-hero--photo .container { position:relative; z-index:1; }
.page-hero--photo h1 { max-width:850px; text-shadow:0 4px 25px rgba(0,0,0,.25); }
.page-hero__intro { max-width:720px; margin:20px 0 10px; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.55; }
.page-breadcrumbs { border-bottom:1px solid var(--mg-line); background:#fff; }
.page-breadcrumbs .container { display:flex; min-height:50px; align-items:center; flex-wrap:wrap; gap:9px; color:#71828e; font-size:12px; }
.page-breadcrumbs a { color:var(--mg-plum); font-weight:700; text-decoration:none; }
.page-breadcrumbs a:hover { color:var(--mg-red); }
.page-breadcrumbs span[aria-current] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-content-layout { max-width:1180px; padding-top:68px; padding-bottom:105px; }
.mediationgilde-editorial-page { max-width:800px; margin-inline:auto; }
.prose--legacy { max-width:800px; margin-inline:auto; }
.prose img { border-radius:18px; }
.flexible-blocks { display:grid; max-width:800px; margin-inline:auto; gap:0; }
.content-block { display:block; margin:0 0 44px; }
.content-block--text,.content-block--no-image { max-width:none; margin-inline:0; }
.content-block figure { width:100%; margin:40px 0 28px; }
.content-block figure img { display:block; width:100%; max-height:560px; aspect-ratio:16/10; border-radius:18px; object-fit:cover; box-shadow:0 18px 48px rgba(7,54,88,.13); }
.content-block figcaption { margin-top:9px; color:#778792; font-family:var(--mg-sans); font-size:11px; line-height:1.5; }
.content-block h2 { margin:48px 0 17px; color:var(--mg-plum); font-family:var(--mg-sans); font-size:clamp(1.7rem,2.4vw,2.2rem); font-weight:700; letter-spacing:-.025em; line-height:1.18; }
.content-block .eyebrow { margin-bottom:10px; }
.content-block .prose,.prose--editorial { color:#263d4c; font-family:var(--mg-serif); font-size:18px; line-height:1.72; }
.content-block .prose p,.prose--editorial p { margin-bottom:1.45em; }
.content-block .prose h3,.prose--editorial h3 { margin:38px 0 12px; color:var(--mg-blue); font-family:var(--mg-sans); font-size:1.24rem; font-weight:700; letter-spacing:0; }
.content-block .prose ul,.content-block .prose ol,.prose--editorial ul,.prose--editorial ol { padding-left:1.35em; }
.content-block.is-first-block .prose>p:first-child,.prose--editorial>p:first-child { color:#244c63; font-size:1.14em; line-height:1.68; }
.content-block.is-first-block .prose>p:first-child::first-letter,.prose--editorial>p:first-child::first-letter { float:left; margin:.08em .1em 0 0; color:var(--mg-red); font:700 4.2em/.75 var(--mg-serif); }
.content-block--highlight { margin:48px -34px; padding:30px 36px 10px; border-left:5px solid var(--mg-red); border-radius:0 18px 18px 0; background:linear-gradient(90deg,var(--mg-soft-red),#f6fbfe); }
.content-block--highlight figure { margin-top:0; }
.content-quote { position:relative; max-width:none; margin:48px -34px; padding:31px 42px 31px 52px; border-left:5px solid var(--mg-red); border-radius:0 18px 18px 0; color:var(--mg-plum); background:linear-gradient(90deg,#eaf6fc,#fff7f6); text-align:left; }
.content-quote > span { position:absolute; top:26px; left:14px; color:rgba(225,37,34,.25); font:72px/.5 var(--mg-serif); }
.content-quote blockquote { margin:0; font:400 clamp(1.35rem,2.2vw,1.8rem)/1.52 var(--mg-serif); }
.content-quote cite { display:block; margin-top:17px; color:var(--mg-blue); font-family:var(--mg-sans); font-size:11px; font-style:normal; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.tile-page-navigation { display:grid; max-width:1040px; margin:80px auto 0; padding-top:34px; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid var(--mg-line); }
.tile-page-navigation__item { display:flex; min-height:175px; padding:26px 28px; flex-direction:column; border:1px solid var(--mg-line); border-radius:20px; background:#fff; box-shadow:0 12px 36px rgba(7,54,88,.07); text-decoration:none; transition:transform .22s,box-shadow .22s,border-color .22s; }
.tile-page-navigation__item:hover { border-color:rgba(225,37,34,.35); box-shadow:0 20px 48px rgba(7,54,88,.14); transform:translateY(-4px); }
.tile-page-navigation__item--next { text-align:right; }
.tile-page-navigation__item small { color:var(--mg-red); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.tile-page-navigation__item strong { margin:13px 0 8px; color:var(--mg-plum); font:400 25px/1.15 var(--mg-serif); }
.tile-page-navigation__item span { color:#6a7c88; font-size:12px; line-height:1.55; }
.prose-layout { max-width: 850px; padding-top: 80px; padding-bottom: 110px; }
.prose { font-size: 18px; }
.prose h2, .prose h3 { margin-top: 1.7em; color: var(--mg-plum); }
.prose h2 { font-size: 2.7rem; }
.prose a { color: var(--mg-plum); }
.featured-image { margin: 0 0 50px; }
.featured-image img { border-radius: var(--mg-radius); }
.content-layout { padding-top: 75px; padding-bottom: 100px; }
.page-heading { margin-bottom: 55px; }
.page-heading h1 { color: var(--mg-plum); font-size: 4.5rem; }
.post-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 30px; }
.post-card { overflow: hidden; border: 1px solid var(--mg-line); border-radius: var(--mg-radius); background: #fff; }
.post-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 30px; }
.post-card__body h2 { font-size: 2rem; }
.post-card__body h2 a { text-decoration: none; }
.post-meta { color: var(--mg-gold); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.empty-state { padding: 160px 0; text-align: center; }
.empty-state h1 { color: var(--mg-plum); font-size: 4rem; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal--delay { transition-delay: .15s; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .brand, .menu-toggle { position: relative; z-index: 2; }
  .menu-toggle { display: block; }
  .primary-nav { position: fixed; inset: 0; z-index: 1; display: flex; padding: 120px 35px 45px; align-items: flex-start; flex-direction: column; background: var(--mg-cream); opacity: 0; pointer-events: none; transition: opacity .2s; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; }
  .primary-nav ul { align-items: flex-start; flex-direction: column; gap: 18px; }
  .primary-nav a { font-family: var(--mg-serif); font-size: 31px; font-weight: 400; }
  .header-portal { margin-top: 15px; font-family: var(--mg-sans) !important; font-size: 14px !important; }
  .hero { padding-top: 145px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-quote-card { max-width:520px; margin-top:0; }
  .hero-visual { display: none; }
  .service-grid, .course-placeholder, .pathway-grid { grid-template-columns: 1fr 1fr; }
  .audience-grid { grid-template-columns:1fr 1fr; }
	.audience-card { transform:translateY(42px); }
	.audience-card:hover { transform:translateY(36px); }
  .manifesto-grid { gap: 55px; }
  .about-grid { gap: 55px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  .container { width: min(100% - 28px, 1180px); }
  .site-header { padding: 12px 0; }
  .brand-copy small { display: none; }
  .brand-mark { width: 41px; height: 41px; }
  .hero { min-height: 760px; padding: 145px 0 100px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .trust-row { margin-top: 42px; flex-wrap: wrap; gap: 18px 0; }
  .trust-row li { width: 50%; min-width: 0; padding: 0 15px; }
  .trust-row li:nth-child(3) { padding-left: 0; border-left: 0; }
	.section { padding: 80px 0; }
  .service-grid, .course-placeholder, .pathway-grid, .audience-grid, .manifesto-grid, .about-grid, .contact-band__inner, .contact-form-layout, .footer-grid, .post-grid, .content-block { grid-template-columns: 1fr; }
  .hero-quote-card { padding:20px; }
  .pathway-card h3,.pathway-card__body>p:not(.eyebrow) { min-height:0; }
	.audience-section { padding-top:66px; padding-bottom:0; }
	.audience-section .section-heading { margin-bottom:24px; }
	.audience-card { min-height:0; transform:translateY(32px); }
	.audience-card:hover { transform:translateY(27px); }
	.pathway-section { padding-top:128px; }
	.content-main { padding-top:72px; }
	.page-hero--photo { min-height:360px; padding:72px 0 42px; }
	.page-hero h1 { font-size:clamp(2.35rem,11vw,3.5rem); }
	.page-hero__intro { font-size:1rem; }
	.page-breadcrumbs .container { min-height:46px; gap:7px; }
	.page-content-layout { padding-top:48px; padding-bottom:78px; }
	.content-block { margin-bottom:34px; }
	.content-block h2 { margin-top:38px; }
	.content-block--highlight,.content-quote { margin:38px 0; padding-right:23px; }
	.content-block--highlight { padding-left:23px; }
	.content-quote { padding-left:39px; }
	.tile-page-navigation { margin-top:55px; grid-template-columns:1fr; }
	.tile-page-navigation>span:empty { display:none; }
	.tile-page-navigation__item--next { text-align:left; }
  .content-block--image-right figure { order:0; }
  .content-block--highlight { padding:32px 22px; }
  .content-quote { padding:55px 25px; border-radius:25px; }
  .content-quote>span { left:20px; }
  .service-card { min-height: 330px; }
  .section-heading--row { align-items: flex-start; flex-direction: column; gap: 0; }
  .manifesto { padding: 80px 0; }
  .manifesto-grid { gap: 50px; }
  .manifesto-quote { padding: 55px 28px 35px; }
  .about-grid { gap: 55px; }
  .about-art { width: min(90vw,420px); margin-inline: auto; }
  .contact-band { padding: 75px 0; }
  .contact-band__inner { gap: 30px; }
  .contact-form-layout { gap:35px; }
  .contact-form-copy { position:static; }
  .footer-grid { gap: 42px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
  .page-hero { padding: 85px 0 60px; }
  .prose-layout { padding-top: 55px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
/* v1.5 Article presentation, based on the supplied editorial HTML. */
.page-hero--photo{min-height:345px;padding:74px 0 45px;background-position:var(--mg-page-position,center)}
.page-hero--photo h1{font-family:var(--mg-sans);font-weight:700;font-size:clamp(2.1rem,4vw,3.65rem);letter-spacing:-.035em}
.page-hero__credit{position:absolute;bottom:9px;right:22px;margin:0;color:#e2eaf0;font:10px/1.4 var(--mg-sans)}
.page-content-layout{max-width:1060px;background:#fff;box-shadow:0 16px 65px rgba(7,54,88,.05);padding-inline:64px}
.content-block h2::after{content:"";display:block;width:52px;height:3px;margin-top:13px;background:var(--mg-red)}
.content-block--closing{background:var(--mg-plum);color:#fff;margin:42px -34px;padding:35px;border-radius:18px}
.content-block--closing h2,.content-block--closing .prose,.content-block--closing .eyebrow{color:#fff}
.content-block--closing a{color:#fff;text-decoration:underline}
.content-block--closing h2{margin-top:0}
.content-block .article-photo img{object-fit:var(--photo-fit,cover);object-position:var(--photo-position,center)}
.content-block .article-photo--square img{aspect-ratio:1}
.content-block .article-photo--portrait img{aspect-ratio:3/4;max-height:none}
.content-block .article-photo--original img{aspect-ratio:auto;height:auto;max-height:none}
.content-block--image-text:not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:30px;align-items:start}
.content-block--image-text:is(.content-block--image-left,.content-block--image-right) figure{margin-top:8px}
.content-block--image-text:is(.content-block--image-left,.content-block--image-right) h2{margin-top:0;font-size:1.65rem}
.content-block--image-text.content-block--image-right:not(.content-block--no-image){grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.content-block--image-text.content-block--image-right figure{order:2}
.content-block--image figure{margin-top:12px}
.content-quote blockquote p:last-child{margin-bottom:0}
.content-block .prose a{color:#00669f;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.page-hero--photo{min-height:280px;padding:55px 0 34px}.page-hero--photo h1{font-size:2.2rem}.page-content-layout{padding:38px 22px 65px;width:100%}.content-block--closing,.content-quote,.content-block--highlight{margin-inline:0;padding:25px}.content-block--image-text:not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right){grid-template-columns:1fr}.content-block--image-text.content-block--image-right figure{order:0}.content-block h2{font-size:1.6rem}.content-block .prose{font-size:17px}.content-quote>span{display:none}}
.page-template-default:not(.home) .site-header{position:sticky}
.page-hero--photo .eyebrow{color:#ffb1ad}
.content-block--closing .prose a{color:#fff}
/* v1.5.1 Inline article images keep their natural aspect ratio. */
.content-block .prose,.content-quote blockquote{display:flow-root}
.content-block .prose img,.content-quote blockquote img{display:block;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:16px}
.content-block .prose figure,.content-quote blockquote figure{width:auto;max-width:100%;margin:24px 0}
.content-block .prose figcaption,.content-quote blockquote figcaption{margin-top:9px;color:#627783;font:12px/1.6 var(--mg-sans)}
.content-block .prose .aligncenter,.content-quote blockquote .aligncenter{margin-left:auto;margin-right:auto}
.content-block .prose .alignleft,.content-quote blockquote .alignleft{float:left;max-width:48%;margin:8px 22px 16px 0}
.content-block .prose .alignright,.content-quote blockquote .alignright{float:right;max-width:48%;margin:8px 0 16px 22px}
.content-quote .article-photo{margin:0 0 24px}
.content-quote .article-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:var(--photo-fit,cover);object-position:var(--photo-position,center);border-radius:16px}
.content-quote .article-photo--square img{aspect-ratio:1}
.content-quote .article-photo--portrait img{aspect-ratio:3/4}
.content-quote .article-photo--original img{aspect-ratio:auto;height:auto}
.content-block--closing .prose figcaption{color:#d5e7f3}
@media(max-width:700px){.content-block .prose .alignleft,.content-block .prose .alignright,.content-quote blockquote .alignleft,.content-quote blockquote .alignright{float:none;max-width:100%;margin:18px auto}}
/* v1.5.3 Styled blocks: flexible photos, custom colours and image gradients. */
.content-block--highlight{border-left-color:var(--block-accent,var(--mg-red));background:var(--block-bg,linear-gradient(90deg,var(--mg-soft-red),#f6fbfe));color:var(--block-text,#263d4c)}
.content-block--closing{background:var(--block-bg,var(--mg-plum));color:var(--block-text,#fff)}
.content-quote{border-left-color:var(--block-accent,var(--mg-red));background:var(--block-bg,linear-gradient(90deg,#eaf6fc,#fff7f6));color:var(--block-text,var(--mg-plum))}
.content-block--highlight h2,.content-block--highlight .prose,.content-block--highlight .eyebrow,.content-block--closing h2,.content-block--closing .prose,.content-block--closing .eyebrow{color:var(--block-text,inherit)}
.content-block--highlight h2::after,.content-block--closing h2::after{background:var(--block-accent,var(--mg-red))}
.content-quote cite{color:var(--block-accent,var(--mg-blue))}
.content-quote>span{color:var(--block-accent,var(--mg-red));opacity:.25}
.content-block--closing a,.content-block--closing .prose a{color:var(--block-text,#fff)}
:is(.content-block--highlight,.content-block--closing):not(.has-background-photo):not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right),.content-quote:not(.has-background-photo):not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:30px;align-items:center}
:is(.content-block--highlight,.content-block--closing,.content-quote):not(.has-background-photo):is(.content-block--image-left,.content-block--image-right) .article-photo{margin:0}
:is(.content-block--highlight,.content-block--closing):not(.has-background-photo).content-block--image-right:not(.content-block--no-image),.content-quote:not(.has-background-photo).content-block--image-right:not(.content-block--no-image){grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
:is(.content-block--highlight,.content-block--closing):not(.has-background-photo).content-block--image-right .article-photo,.content-quote:not(.has-background-photo).content-block--image-right .article-photo{order:2}
:is(.content-block--highlight,.content-block--closing):not(.has-background-photo):is(.content-block--image-left,.content-block--image-right) h2{margin-top:0}
.content-quote__copy{min-width:0}
.has-background-photo{min-height:300px;overflow:hidden;display:flex;align-items:center;background-color:var(--block-bg,#103f64);background-image:var(--block-background);background-position:var(--block-bg-position,center);background-size:var(--block-bg-size,cover);background-repeat:no-repeat;color:var(--block-text,#fff)}
.has-background-photo .content-block__copy,.has-background-photo .content-quote__copy{position:relative;width:min(100%,560px);z-index:1}
.has-background-photo.content-block--gradient-right .content-block__copy,.has-background-photo.content-block--gradient-right .content-quote__copy{margin-left:auto}
.has-background-photo.content-block--gradient-top,.has-background-photo.content-block--gradient-bottom{align-items:center}
.has-background-photo.content-block--gradient-top .content-block__copy,.has-background-photo.content-block--gradient-top .content-quote__copy,.has-background-photo.content-block--gradient-bottom .content-block__copy,.has-background-photo.content-block--gradient-bottom .content-quote__copy{width:100%}
.has-background-photo h2,.has-background-photo .prose,.has-background-photo .eyebrow,.has-background-photo blockquote{color:var(--block-text,#fff);text-shadow:0 1px 16px rgba(0,0,0,.2)}
.has-background-photo .prose a{color:var(--block-text,#fff)}
@media(max-width:700px){:is(.content-block--highlight,.content-block--closing):not(.has-background-photo):not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right),.content-quote:not(.has-background-photo):not(.content-block--no-image):is(.content-block--image-left,.content-block--image-right){grid-template-columns:1fr}.content-quote:not(.has-background-photo).content-block--image-right .article-photo,:is(.content-block--highlight,.content-block--closing):not(.has-background-photo).content-block--image-right .article-photo{order:0}.has-background-photo{min-height:260px}.has-background-photo .content-block__copy,.has-background-photo .content-quote__copy{width:100%}}
/* v1.6.0 Managed landing page, contact dialog and accreditation footer. */
.landing-welcome{max-width:920px;margin:0 auto 72px;padding:0 0 56px;border-bottom:1px solid rgba(225,37,34,.18)}
.landing-welcome h2{max-width:780px;margin-bottom:25px;color:var(--mg-plum);font-size:clamp(2.25rem,4vw,4rem)}
.landing-welcome__text{display:grid;grid-template-columns:1fr 1fr;gap:36px;color:#3f5360;font:400 18px/1.78 var(--mg-serif)}
.landing-welcome__text p{margin:0}
.audience-card h3{margin:8px 0 14px}
.audience-section--intro-only{padding-bottom:70px}
.audience-section--intro-only::after{height:35px}
.audience-section--intro-only+.pathway-section{padding-top:105px}
.about-section--editorial{background:#fff}
.about-section--editorial .about-grid{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);align-items:start;gap:90px}
.about-section--editorial .about-art{position:sticky;top:125px;width:min(100%,390px)}
.about-lead{color:#34566b!important;font:400 22px/1.55 var(--mg-serif)}
.about-editorial-text{margin-bottom:34px;color:#465d6c;font:400 17px/1.75 var(--mg-serif)}
.about-editorial-text p{margin:0 0 1.35em}
.about-editorial-text a{color:var(--mg-blue);font-weight:700;text-underline-offset:3px}
.contact-dialog{width:min(760px,calc(100% - 28px));max-height:calc(100vh - 36px);padding:0;overflow:auto;border:0;border-radius:28px;color:#172b3b;background:#fff;box-shadow:0 35px 110px rgba(4,31,50,.38)}
.contact-dialog::backdrop{background:rgba(4,31,50,.76);backdrop-filter:blur(7px)}
.contact-dialog__window{padding:34px}
.contact-dialog__head{display:flex;margin-bottom:20px;align-items:flex-start;justify-content:space-between;gap:20px}
.contact-dialog__head h2{margin:0;color:var(--mg-plum);font-size:clamp(2rem,4vw,3.1rem)}
.contact-dialog__close{display:flex;width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--mg-plum);background:#eef7fc;font-size:30px;line-height:1;cursor:pointer}
.contact-dialog .mgp-contact-card{padding:0;box-shadow:none}
.contact-dialog-open{overflow:hidden}
.footer-grid{grid-template-columns:1.2fr .78fr .62fr .9fr;gap:45px}
.footer-accreditation{display:flex;align-items:flex-start;justify-content:flex-end}
.footer-accreditation img{display:block;width:min(100%,270px);height:auto;padding:14px;border-radius:14px;background:rgba(255,255,255,.96)}
.footer-document-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px 18px}
.footer-document-links a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.landing-welcome__text{grid-template-columns:1fr}.about-section--editorial .about-grid{grid-template-columns:.75fr 1.25fr;gap:50px}.footer-grid{grid-template-columns:1fr 1fr}.footer-accreditation{justify-content:flex-start}}
@media(max-width:700px){.landing-welcome{margin-bottom:48px;padding-bottom:38px}.landing-welcome__text{gap:20px;font-size:17px}.about-section--editorial .about-grid{grid-template-columns:1fr}.about-section--editorial .about-art{position:relative;top:auto;width:min(82vw,330px);margin-inline:auto}.contact-dialog__window{padding:25px 20px}.footer-grid{grid-template-columns:1fr}.footer-document-links{justify-content:flex-start;flex-direction:column}.footer-accreditation img{width:min(100%,300px)}}


/* v1.6.2 — responsive contact dialog: keep all form content inside the viewport
   while preserving touch/mousewheel scrolling without a visible inner scrollbar. */
.contact-dialog {
  max-width: calc(100vw - 28px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.contact-dialog::-webkit-scrollbar { width: 0; height: 0; display: none; }
.contact-dialog__window,
.contact-dialog .mgp-contact-card,
.contact-dialog .mgp-contact-form,
.contact-dialog .mgp-contact-form > * {
  min-width: 0;
  max-width: 100%;
}
.contact-dialog__window { width: 100%; overflow: hidden; }
.contact-dialog__head > div { min-width: 0; }
.contact-dialog__head h2 { overflow-wrap: anywhere; }

@media (max-width: 700px) {
  .contact-dialog {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 20px;
  }
  .contact-dialog__window { padding: 22px 16px 20px; }
  .contact-dialog__head { gap: 12px; }
  .contact-dialog__head h2 { font-size: clamp(1.8rem, 9vw, 2.5rem); }
}


/* v1.6.3 — compact contact dialog: avoid duplicate heading and reduce vertical space. */
.contact-dialog .mgp-contact-card > h3 { display: none; }
.contact-dialog .mgp-contact-intro { margin-top: 0; margin-bottom: 16px; }
.contact-dialog .mgp-contact-form textarea { min-height: 82px; }
@media (max-width: 700px) {
  .contact-dialog__head { margin-bottom: 14px; }
  .contact-dialog .mgp-contact-intro { margin-bottom: 12px; }
}
