/* PT Minh Gia Consortium — site design system
   Content source: PT_Minh_Gia_Website_Questionnaire_EN_Revised8.docx */

@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

/* ---------- theme chrome reset (page is a full-bleed landing) ---------- */
body:has(.mg-site) .wp-site-blocks > header,
body:has(.mg-site) .wp-site-blocks > footer,
body:has(.mg-site) .wp-block-post-title { display: none !important; }
body:has(.mg-site) .wp-site-blocks,
body:has(.mg-site) .wp-site-blocks > main,
body:has(.mg-site) .wp-block-post-content {
	padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important;
}
body:has(.mg-site) .wp-block-group:has(.mg-site) { padding: 0 !important; margin: 0 !important; max-width: none !important; }
body:has(.mg-site) .wp-block-post-content > .mg-site {
	max-width: none !important; width: 100vw !important;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
}
html:has(.mg-site) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html:has(.mg-site) { scroll-behavior: auto; } }

/* ---------- tokens ---------- */
.mg-site {
	--mg-blue: #063a70;
	--mg-blue-deep: #042b55;
	--mg-blue-night: #02203f;
	--mg-orange: #ef7a2c;
	--mg-ink: #13283d;
	--mg-mute: #5b7186;
	--mg-paper: #f7f5f0;
	--mg-line: #d6dfe4;
	--mg-line-dark: rgba(255, 255, 255, .24);
	--mg-shell: 1200px;
	--mg-pad: 32px;
	font-family: Manrope, sans-serif;
	color: var(--mg-ink);
	background: #fff;
	overflow: clip;
	scroll-behavior: smooth;
}
.mg-site * { box-sizing: border-box; }
.mg-site a { text-decoration: none; }
.mg-site h1, .mg-site h2, .mg-site h3, .mg-site h4, .mg-site p, .mg-site ul, .mg-site dl { margin: 0; }
.mg-site ul { list-style: none; padding: 0; }
.mg-shell { max-width: var(--mg-shell); margin: 0 auto; padding: 0 var(--mg-pad); }

/* ---------- shared type ---------- */
.mg-kicker,
.mg-eyebrow {
	font-family: 'DM Mono', monospace;
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--mg-orange);
	text-transform: uppercase;
}
.mg-kicker { margin-bottom: 18px; }
.mg-section--about .mg-kicker,
#business .mg-kicker,
#strengths .mg-kicker,
.mg-section--focus .mg-kicker,
.mg-contact-details .mg-kicker,
#contact .mg-kicker { margin-bottom: 28px; }
.mg-title {
	font-family: Newsreader, serif;
	font-size: clamp(38px, 4.6vw, 64px);
	font-weight: 500;
	letter-spacing: -.042em;
	line-height: 1.02;
	max-width: 15ch;
}
.mg-title--wide { max-width: 22ch; }
.mg-lead { font-size: 17px; line-height: 1.8; color: var(--mg-ink); }
.mg-section { padding: 118px 0; }
.mg-section--paper { background: var(--mg-paper); }
.mg-section--navy { background: var(--mg-blue-deep); color: #fff; }
.mg-section--navy .mg-title { color: #fff; }
.mg-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: end; }
.mg-section-head p.mg-lead { border-left: 2px solid var(--mg-orange); padding-left: 24px; }

/* ---------- navigation ---------- */
.mg-nav {
	position: sticky; top: 0; z-index: 40;
	background: var(--mg-blue-deep);
	color: #fff;
	border-bottom: 1px solid var(--mg-line-dark);
}
.mg-nav .mg-shell { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.mg-logo { display: block; width: 68px; max-width: 24vw; height: auto; }
.mg-menu {
	display: flex; gap: 24px; align-items: center;
	font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .12em;
}
.mg-menu a { color: #fff; opacity: .82; transition: opacity .18s ease, color .18s ease; }
.mg-menu a:hover { opacity: 1; }
.mg-menu a.mg-menu-cta,
.mg-menu a.mg-language { color: var(--mg-orange); opacity: 1; }

/* ---------- hero ---------- */
.mg-hero { position: relative; isolation: isolate; background: var(--mg-blue-deep); color: #fff; padding: 104px 0 0; }
.mg-hero:after {
	content: ''; position: absolute; right: -4vw; top: 0; width: 44%; height: 100%; z-index: -1;
	background:
		linear-gradient(135deg, transparent 49.65%, rgba(239, 122, 44, .92) 49.8%, rgba(239, 122, 44, .92) 50.3%, transparent 50.45%),
		repeating-linear-gradient(0deg, transparent 0 61px, rgba(255, 255, 255, .13) 62px 63px),
		repeating-linear-gradient(90deg, transparent 0 61px, rgba(255, 255, 255, .13) 62px 63px);
}
.mg-hero .mg-eyebrow { margin-bottom: 24px; }
.mg-hero h1 {
	font-family: Newsreader, serif; font-weight: 500;
	font-size: clamp(46px, 6.2vw, 86px); letter-spacing: -.052em; line-height: .95;
	max-width: 15ch;
}
.mg-hero h1 em { font-style: normal; color: #c5d8ea; }
.mg-hero-copy { font-size: 17px; line-height: 1.75; max-width: 52ch; margin-top: 32px; color: #dce9f4; }
.mg-hero-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 38px; }
.mg-chip {
	font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .1em;
	border: 1px solid var(--mg-line-dark); padding: 10px 12px; color: #fff;
}
.mg-hero-facts {
	margin-top: 84px; border-top: 1px solid var(--mg-line-dark);
	display: grid; grid-template-columns: repeat(4, 1fr);
}
.mg-hero-facts > div { padding: 26px 24px 30px 0; border-right: 1px solid var(--mg-line-dark); }
.mg-hero-facts > div:not(:first-child) { padding-left: 24px; }
.mg-hero-facts > div:last-child { border-right: 0; }
.mg-hero-facts dt { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .13em; color: var(--mg-orange); text-transform: uppercase; }
.mg-hero-facts dd { margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: #dce9f4; font-weight: 500; }

/* ---------- about ---------- */
.mg-section--about {
	position: relative;
	background:
		linear-gradient(90deg, rgba(247, 245, 240, .97) 0%, rgba(247, 245, 240, .92) 46%, rgba(247, 245, 240, .74) 100%),
		var(--mg-about-image) center / cover no-repeat;
}
.mg-section--about .mg-shell { position: relative; }
.mg-pillars { margin-top: 76px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mg-line); border: 1px solid var(--mg-line); }
.mg-pillar { background: rgba(255, 255, 255, .82); padding: 34px 30px 38px; }
.mg-pillar-no { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .12em; color: var(--mg-orange); }
.mg-pillar h3 { margin-top: 16px; font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.mg-pillar p { margin-top: 12px; font-size: 15px; line-height: 1.7; color: var(--mg-mute); }

/* ---------- philosophy band ---------- */
.mg-band { background: var(--mg-blue); color: #fff; padding: 96px 0; }
.mg-band .mg-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 60px; align-items: end; }
.mg-band blockquote,
.mg-band h2 {
	font-family: Newsreader, serif; font-weight: 500;
	font-size: clamp(32px, 3.9vw, 54px); letter-spacing: -.04em; line-height: 1.12;
	max-width: 24ch; margin: 0;
}
.mg-band aside {
	font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .14em;
	color: #c5d8ea; max-width: 160px; line-height: 1.8;
}

/* ---------- business lines ---------- */
.mg-lines { margin-top: 72px; border-top: 1px solid var(--mg-line); }
.mg-line-block {
	display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: 64px;
	padding: 54px 0 58px; border-bottom: 1px solid var(--mg-line);
}
.mg-line-block--accent { background: linear-gradient(90deg, rgba(239, 122, 44, .06), transparent 62%); }
.mg-line-head { display: flex; gap: 22px; align-items: flex-start; }
.mg-line-no { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--mg-orange); padding-top: 8px; min-width: 26px; }
.mg-service-icon {
	display: block; width: 48px; height: 48px; margin: 0 0 18px;
}
.mg-line-head h3 { font-family: Newsreader, serif; font-weight: 500; font-size: clamp(26px, 2.5vw, 34px); letter-spacing: -.03em; line-height: 1.12; }
.mg-tag {
	display: inline-block; margin-top: 14px;
	font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .11em; text-transform: uppercase;
	border: 1px solid var(--mg-line); background: #fff; color: var(--mg-mute); padding: 7px 10px;
}
.mg-tag--capital { border-color: var(--mg-orange); color: var(--mg-orange); }
.mg-line-body p { font-size: 16px; line-height: 1.8; color: var(--mg-ink); }
.mg-line-body p + .mg-services-label { margin-top: 30px; }
.mg-services-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--mg-mute); }
.mg-line-body .mg-services-label { font-size: 10px; color: var(--mg-mute); }
.mg-service-list { margin-top: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; list-style: none; }
.mg-service-list li {
	position: relative; padding: 13px 0 13px 20px; font-size: 14.5px; line-height: 1.6;
	border-top: 1px solid var(--mg-line); color: var(--mg-ink); list-style: none;
}
.mg-service-list li:before { content: ''; position: absolute; left: 0; top: 21px; width: 8px; height: 1px; background: var(--mg-orange); }
.mg-service-list--single { grid-template-columns: minmax(0, 1fr); }

/* ---------- strengths ---------- */
.mg-section--paper#strengths {
	background:
		linear-gradient(90deg, rgba(247, 245, 240, .98) 0%, rgba(247, 245, 240, .94) 48%, rgba(247, 245, 240, .76) 100%),
		url('strengths-client-focus.png') center / cover no-repeat;
}
.mg-strength-copy { margin-top: 60px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; }
.mg-strength-copy p { font-size: 16px; line-height: 1.85; color: var(--mg-ink); }
.mg-strength-copy p.mg-strength-lead { font-family: Newsreader, serif; font-size: 22px; line-height: 1.5; letter-spacing: -.02em; grid-column: 1 / -1; max-width: 46ch; }
.mg-spectrum { margin-top: 66px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mg-line); border: 1px solid var(--mg-line); }
.mg-spectrum-step { background: #fff; padding: 30px 26px 34px; position: relative; }
.mg-spectrum-step .mg-pillar-no { color: var(--mg-orange); }
.mg-spectrum-step h4 { margin-top: 14px; font-size: 17px; font-weight: 700; }
.mg-spectrum-step p { margin-top: 10px; font-size: 14.5px; line-height: 1.7; color: var(--mg-mute); }
.mg-spectrum-step--end { background: var(--mg-blue-deep); color: #fff; }
.mg-spectrum-step--end p { color: #c5d8ea; }
.mg-langs { margin-top: 56px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.mg-langs .mg-services-label { width: 100%; margin-bottom: 4px; }
.mg-lang { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .1em; border: 1px solid var(--mg-ink); padding: 9px 13px; }

/* ---------- focus / service area ---------- */
.mg-section--focus .mg-lead { color: #dce9f4; }
.mg-countries { margin-top: 46px; display: flex; flex-wrap: wrap; gap: 10px; }
.mg-country { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .1em; border: 1px solid var(--mg-line-dark); padding: 11px 14px; color: #fff; }
.mg-country--soft { color: #9fb8cd; }
.mg-projects { margin-top: 74px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--mg-line-dark); border: 1px solid var(--mg-line-dark); }
.mg-project { background: var(--mg-blue-night); padding: 38px 34px 42px; }
.mg-project .mg-pillar-no { color: var(--mg-orange); }
.mg-project h3 { margin-top: 16px; font-family: Newsreader, serif; font-weight: 500; font-size: 27px; letter-spacing: -.028em; line-height: 1.16; color: #fff; }
.mg-project ul { margin-top: 26px; }
.mg-project li {
	position: relative; padding: 13px 0 13px 20px; font-size: 14.5px; line-height: 1.6;
	color: #dce9f4; border-top: 1px solid var(--mg-line-dark);
}
.mg-project li:before { content: ''; position: absolute; left: 0; top: 21px; width: 8px; height: 1px; background: var(--mg-orange); }

/* ---------- founder message ---------- */
.mg-message {
	background:
		linear-gradient(90deg, rgba(247, 245, 240, .98) 0%, rgba(247, 245, 240, .94) 48%, rgba(247, 245, 240, .76) 100%),
		url('founder-partnership.png') center / cover no-repeat;
}
.mg-message-grid { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr); gap: 76px; }
.mg-message-body p { font-family: Newsreader, serif; font-size: clamp(21px, 2.05vw, 27px); line-height: 1.52; letter-spacing: -.02em; }
.mg-message-body p + p { margin-top: 30px; }
.mg-message-body p:last-child { color: var(--mg-blue); }
.mg-signature { margin-top: 42px; font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .13em; color: var(--mg-mute); text-transform: uppercase; line-height: 1.9; }

/* ---------- contact ---------- */
.mg-contact-details { background: var(--mg-blue-deep); color: #fff; }
.mg-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.mg-contact-details .mg-title { color: #fff; }
.mg-contact-details dl { border-top: 1px solid var(--mg-line-dark); }
.mg-contact-details dl > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--mg-line-dark); }
.mg-contact-details dt { font: 11px 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--mg-orange); }
.mg-contact-details dd { margin: 0; font-size: 16px; line-height: 1.7; color: #e2edf5; }
.mg-contact-details dd small { display: block; margin-top: 6px; font-size: 12px; color: #9fb8cd; }
.mg-contact-details a { color: #fff; border-bottom: 1px solid var(--mg-orange); }

.mg-contact { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 86px; }
.mg-contact .mg-title { font-size: clamp(36px, 4vw, 54px); }
.mg-contact-info { font-size: 16px; line-height: 1.8; margin-top: 26px; max-width: 40ch; color: var(--mg-mute); }

/* ---------- contact form 7 ---------- */
.mg-site .wpcf7-form { display: grid; gap: 18px; }
.mg-site .wpcf7-form p { margin: 0; font-size: 13px; font-weight: 600; }
.mg-site .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
.mg-site input:not([type=submit]), .mg-site textarea, .mg-site select {
	width: 100%; border: 0; border-bottom: 1px solid #9aaab6; background: #fff;
	padding: 13px 2px; font: 15px Manrope, sans-serif; color: var(--mg-ink); border-radius: 0;
}
.mg-site textarea { min-height: 110px; resize: vertical; }
.mg-site input:focus, .mg-site textarea:focus, .mg-site select:focus { outline: none; border-color: var(--mg-orange); }
.mg-site input[type=checkbox] { accent-color: var(--mg-orange); margin-right: 7px; }
.mg-site input[type=submit] {
	cursor: pointer; background: var(--mg-orange); border: 1px solid var(--mg-orange); color: #fff;
	padding: 15px 20px; font: 600 12px 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase;
	transition: background .18s ease, color .18s ease;
}
.mg-site input[type=submit]:hover { background: transparent; color: var(--mg-orange); }
.mg-site .wpcf7-not-valid-tip { font-size: 12px; margin-top: 5px; }
.mg-site .wpcf7-form-control-wrap:has(.wpcf7-acceptance) { display: inline; margin-top: 0; }
.mg-site .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.mg-site .wpcf7-acceptance .wpcf7-list-item label { display: inline-flex; align-items: flex-start; gap: 7px; font-size: 13px; line-height: 1.45; font-weight: 500; }
.mg-site .wpcf7-acceptance input[type=checkbox] { width: auto; margin: 3px 0 0; flex: 0 0 auto; }
.mg-site .wpcf7-form-control-wrap:has(.wpcf7-acceptance) + br { display: block; content: ''; height: 18px; }

/* ---------- footer ---------- */
.mg-footer { background: var(--mg-ink); color: #fff; padding: 36px 0; }
.mg-footer .mg-shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.mg-footer small { font-family: 'DM Mono', monospace; letter-spacing: .08em; font-size: 10px; color: #a8bac7; }
.mg-footer-links { display: flex; gap: 24px; align-items: center; }
.mg-footer a { font-family: 'DM Mono', monospace; letter-spacing: .08em; font-size: 10px; color: var(--mg-orange); }
.mg-footer a.mg-language { color: #fff; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
	.mg-section-head { grid-template-columns: minmax(0, 1fr); gap: 30px; align-items: start; }
	.mg-line-block { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.mg-message-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
	.mg-contact-grid, .mg-contact { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.mg-hero-facts { grid-template-columns: repeat(2, 1fr); }
	.mg-hero-facts > div:nth-child(2n) { border-right: 0; }
	.mg-hero-facts > div:nth-child(odd) { padding-left: 0; }
	.mg-hero-facts > div:nth-child(n+3) { border-top: 1px solid var(--mg-line-dark); }
}
@media (max-width: 860px) {
	.mg-pillars, .mg-spectrum, .mg-projects { grid-template-columns: minmax(0, 1fr); }
	.mg-strength-copy { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.mg-band .mg-shell { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.mg-band aside { max-width: none; }
}
@media (max-width: 760px) {
	.mg-site { --mg-pad: 20px; }
	.mg-section { padding: 76px 0; }
	.mg-band { padding: 68px 0; }
	.mg-nav .mg-shell { min-height: 76px; }
	.mg-menu a:not(.mg-language):not(.mg-menu-cta) { display: none; }
	.mg-hero { padding: 68px 0 0; }
	.mg-hero:after { width: 70%; opacity: .5; }
	.mg-hero-facts { margin-top: 52px; }
	.mg-hero-facts > div { padding: 20px 16px 22px 0; }
	.mg-hero-facts > div:nth-child(2n) { padding-left: 16px; }
	.mg-service-list { grid-template-columns: minmax(0, 1fr); }
	.mg-lines { margin-top: 44px; }
	.mg-contact-details dl > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.mg-footer .mg-shell { align-items: flex-start; flex-direction: column; }
}

/* ---------- Sprint 3: Layout & Design Improvements
   Cards, animations, engagement flow ---------- */

/* Business cards — white card treatment */
.mg-service-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  padding: 28px 30px 32px;
  transition: transform 0.4s cubic-bezier(.22,1,.36,1), box-shadow 0.4s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  position: relative;
  overflow: hidden;
}
.mg-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(4, 43, 85, 0.12);
}
.mg-lines .mg-service-card + .mg-service-card { margin-top: 24px; }
.mg-service-card,
.mg-service-card .mg-line-head h3,
.mg-service-card .mg-line-head h3 small,
.mg-service-card .mg-line-body p,
.mg-service-card .mg-service-list li,
.mg-service-card .mg-services-label,
.mg-service-card .mg-tag {
	transition: background-color .7s ease, border-color .7s ease, color .7s ease, box-shadow .7s ease;
}
.mg-service-card.is-active,
.mg-service-card.is-active:hover {
	background: var(--mg-blue-deep);
	border-color: var(--mg-blue-deep);
	box-shadow: 0 14px 38px rgba(4, 43, 85, .2);
	transform: none;
}
.mg-service-card.is-active .mg-line-head h3,
.mg-service-card.is-active .mg-line-head h3 small { color: #fff; }
.mg-service-card.is-active .mg-line-body p,
.mg-service-card.is-active .mg-service-list li { color: #dce9f4; }
.mg-service-card.is-active .mg-services-label { color: #9fb8cd; }
.mg-service-card.is-active .mg-service-list li { border-color: var(--mg-line-dark); }
.mg-service-card.is-active .mg-tag {
	border-color: var(--mg-orange);
	background: transparent;
	color: #fff;
}

/* Combined engagement card — navy gradient highlight */
.mg-service-card--combined {
  background: linear-gradient(135deg, var(--mg-blue-deep) 0%, var(--mg-blue-night) 100%) !important;
  color: #fff;
  border: none;
  padding: 28px 32px 32px;
  border-bottom: none !important;
  border-radius: 16px;
  margin: 24px 0;
}
.mg-service-card--combined:hover {
  background: linear-gradient(135deg, var(--mg-blue) 0%, var(--mg-blue-deep) 100%) !important;
}
.mg-service-card--combined .mg-line-head {
  display: flex;
  flex-wrap: wrap;
}
.mg-service-card--combined:hover {
  background: linear-gradient(135deg, var(--mg-blue) 0%, var(--mg-blue-deep) 100%) !important;
}

/* Combined card heading and text colours */
.mg-service-card--combined .mg-line-head h3,
.mg-service-card--combined .mg-line-head h3 small {
  color: #fff !important;
}
.mg-service-card--combined .mg-line-body p {
  color: rgba(255, 255, 255, 0.92) !important;
}
.mg-service-card--combined .mg-line-body ul li {
  color: rgba(255, 255, 255, 0.85) !important;
}
.mg-service-card--combined .mg-services-label {
  color: rgba(255, 255, 255, 0.6) !important;
}
.mg-service-card--combined .mg-tag {
  border-color: var(--mg-orange) !important;
  background: transparent !important;
  color: #fff !important;
}

/* List arrows in service cards */
.mg-service-card ul,
.mg-service-card--combined ul,
.mg-line-block ul {
  list-style: none !important;
}
.mg-service-card ul li,
.mg-service-card--combined ul li {
  padding-left: 1.25rem !important;
  position: relative;
  list-style: none !important;
}
.mg-service-card ul li::before,
.mg-service-card--combined ul li::before {
  content: '→';
  position: absolute;
  top: 13px;
  left: 0;
  width: auto;
  height: auto;
  background: none;
  color: var(--mg-orange);
  font-weight: 600;
}

/* Combined card list arrow in white */
.mg-service-card--combined ul li::before {
  color: var(--mg-orange) !important;
}

/* Section entrance animation */
@keyframes mg-fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mg-section {
  animation: mg-fade-up 0.6s ease forwards;
}
.mg-section:nth-child(2) { animation-delay: .05s; }
.mg-section:nth-child(3) { animation-delay: .1s; }
.mg-section:nth-child(4) { animation-delay: .15s; }
.mg-section:nth-child(5) { animation-delay: .2s; }
.mg-section:nth-child(6) { animation-delay: .25s; }
.mg-section:nth-child(7) { animation-delay: .3s; }
.mg-section:nth-child(8) { animation-delay: .35s; }

/* Image hover */
.mg-site img { transition: transform 0.6s ease; }
.mg-site img:hover { transform: scale(1.03); }

/* Enquire nav button glow */
.mg-menu-cta {
  position: relative;
}
.mg-menu-cta::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 6px;
  background: var(--mg-orange);
  opacity: 0;
  z-index: -1;
  filter: blur(12px);
  transition: opacity 0.4s ease;
}
.mg-menu-cta:hover::after { opacity: .3; }

/* Mobile refinements */
@media (max-width: 760px) {
  .mg-service-card { padding: 20px 22px 24px; }
}
.mg-line-head h3 small {
	display: block; margin-top: 8px;
	font-family: Manrope, sans-serif; font-size: 13px; font-weight: 600;
	letter-spacing: .01em; color: var(--mg-mute);
}
.mg-tbc { color: #9fb8cd; font-style: italic; }
.mg-hero-facts dd em { font-style: normal; color: #9fb8cd; }

/* ---------- sprint 2: typographic balance ---------- */

/* Section heads run in a half-width column: the display size must come down
   or every heading breaks into four cramped lines. */
.mg-section-head { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; }
.mg-section-head .mg-title { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.06; max-width: 18ch; }
.mg-section-head .mg-title--wide { max-width: 20ch; }

/* Hero: keep the diagonal graphic clear of the facts strip, and close the
   section with breathing room instead of a flush edge. */
.mg-hero { padding-bottom: 30px; }
.mg-hero:after { height: calc(100% - 190px); }

/* Philosophy: a seven-line pull quote is a wall. Widen and settle the scale. */
.mg-band blockquote, .mg-band h2 { max-width: 30ch; font-size: clamp(30px, 3.3vw, 46px); line-height: 1.16; }

/* Founder message: the left column is narrow by design — size the heading for it. */
.mg-message-grid { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); }
.mg-message-grid .mg-title { font-size: clamp(30px, 3vw, 42px); line-height: 1.08; max-width: 16ch; }
.mg-message-grid .mg-kicker { margin-bottom: 22px; line-height: 1.7; }

/* Longer headline translations (ID) run to three lines — give the descenders
   room and keep the supporting copy from crowding them. */
.mg-hero h1 { line-height: .99; }
.mg-hero-copy { margin-top: 38px; }
