/* ============================================================
   GAMSME — Sector Missions section.
   Enqueued only on the missions archive, single mission pages and
   the homepage. Reuses the theme's tokens (colours, radius, spacing,
   type scale) so the section reads as native to the site. Each
   mission carries one accent from the theme palette; the accent is
   used only for badges, rules and soft backgrounds, never for small
   body text, so contrast stays comfortable.
   ============================================================ */

/* --- Accent palette (stay inside the brand palette) --- */
.mission--navy       { --m-accent:#103A78; --m-accent-soft:#E7EDF6; }
.mission--teal       { --m-accent:#0E7C86; --m-accent-soft:#E1EFF1; }
.mission--green      { --m-accent:#128A5E; --m-accent-soft:#E3F1EA; }
.mission--terracotta { --m-accent:#B5502B; --m-accent-soft:#F6E8E1; }
.mission-card, .mission-single { --m-accent:#103A78; --m-accent-soft:#E7EDF6; }

/* =========================================================== Mission cards */
.mission-grid{
	display:grid;
	gap:22px;
}
.mission-grid--home,
.mission-grid--archive{ grid-template-columns:repeat(2,1fr); }
.mission-grid--others{ grid-template-columns:repeat(3,1fr); }

.mission-card{
	position:relative;
	display:block;
	text-decoration:none;
	background:var(--c-card-bg,#fff);
	border:1px solid var(--c-border,#e1e8f0);
	border-left:4px solid var(--m-accent);
	border-radius:var(--card-radius,18px);
	padding:26px 26px 24px;
	color:var(--c-body,#1a2233);
	box-shadow:0 4px 16px rgba(16,58,120,.08);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	overflow:hidden;
}
.mission-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 40px -22px rgba(13,40,60,.45);
}
.mission-card:focus-visible{
	outline:3px solid var(--m-accent);
	outline-offset:2px;
}
.mission-card-badge{
	position:absolute;
	top:18px;
	right:20px;
	font-family:var(--font-display,Georgia,serif);
	font-size:15px;
	font-weight:700;
	line-height:1;
	color:#fff;
	background:var(--m-accent);
	border-radius:8px;
	padding:6px 9px;
	letter-spacing:.02em;
}
.mission-card-body{ display:block; }
.mission-card-title{
	display:block;
	font-family:var(--font-display,Georgia,serif);
	font-size:22px;
	line-height:1.2;
	font-weight:600;
	color:var(--c-heading,#103a78);
	margin:0 40px 4px 0;
}
.mission-card-meta{
	display:block;
	font-size:13px;
	font-weight:600;
	letter-spacing:.02em;
	text-transform:uppercase;
	color:var(--m-accent);
	margin-bottom:10px;
}
.mission-card-summary{
	display:block;
	font-size:15.5px;
	line-height:1.55;
	color:var(--c-muted,#5c6b78);
	margin-bottom:14px;
}
.mission-card-more{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-weight:600;
	font-size:14.5px;
	color:var(--m-accent);
}
.mission-card-more .icon{ transition:transform .2s ease; }
.mission-card:hover .mission-card-more .icon{ transform:translateX(4px); }

.mission-card--mini{ padding:22px; }
.mission-card--mini .mission-card-title{ font-size:19px; margin-right:34px; }

/* Mission icon / logo lock-up on a card (replaces the text title). */
.mission-card-logo{ display:block; }
.mission-card-logo img{
	display:block;
	width:auto;
	max-width:100%;
	max-height:158px;
	object-fit:contain;
	margin:2px 0 16px;
}
.mission-card--logo .mission-card-badge{ background:transparent; color:var(--m-accent); padding:0; top:16px; right:18px; font-size:16px; }
.mission-card--mini .mission-card-logo img{ max-height:120px; margin-bottom:12px; }

/* =========================================================== Method band */
.method-band-title{ text-align:center; margin-bottom:34px; }
.method-steps{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
	counter-reset:none;
}
.method-step{
	display:flex;
	gap:16px;
	background:var(--c-card-bg,#fff);
	border:1px solid var(--c-border,#e1e8f0);
	border-radius:var(--card-radius,18px);
	padding:24px 22px;
}
.method-step-num{
	flex:none;
	width:38px;
	height:38px;
	display:grid;
	place-items:center;
	border-radius:10px;
	font-family:var(--font-display,Georgia,serif);
	font-weight:700;
	font-size:18px;
	color:#fff;
	background:var(--c-primary,#103a78);
}
.method-step-title{
	display:block;
	font-weight:700;
	font-size:16.5px;
	color:var(--c-heading,#103a78);
	margin-bottom:5px;
	line-height:1.3;
}
.method-step-text{
	display:block;
	font-size:15px;
	line-height:1.55;
	color:var(--c-muted,#5c6b78);
}

/* =========================================================== Why method */
.why-method-inner{ max-width:760px; }
.why-method-inner .section-title{ margin-bottom:14px; }
.why-method-inner p{ font-size:18px; line-height:1.7; color:var(--c-body,#1a2233); margin:0; }

/* =========================================================== Missions hero */
.missions-hero .lt-breadcrumb{ margin-bottom:14px; }
.missions-hero-lead{
	font-size:18px;
	line-height:1.6;
	color:var(--c-muted,#5c6b78);
	max-width:640px;
	margin:6px 0 22px;
}

/* =========================================================== Related links */
.mission-related{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 22px;
	padding-top:6px;
}
.mission-related-label{
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--c-muted,#5c6b78);
}
.mission-related a{
	font-weight:600;
	color:var(--c-primary,#103a78);
	text-decoration:none;
}
.mission-related a:hover{ color:var(--c-accent-dark,#c57a08); }

/* =========================================================== Single mission */
.mission-head-grid{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:40px;
	align-items:center;
	margin-top:10px;
}
.mission-head-copy .eyebrow{ color:var(--m-accent); }
.mission-title{
	font-family:var(--font-display,Georgia,serif);
	font-size:clamp(30px,4.4vw,46px);
	line-height:1.08;
	letter-spacing:-.02em;
	color:var(--c-heading,#103a78);
	margin:0 0 8px;
}
.mission-tagline{
	font-size:19px;
	font-weight:600;
	color:var(--m-accent);
	margin:0;
}
.mission-logos{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:16px;
	margin-top:18px;
}
.mission-logos .mission-logo{
	height:56px;
	width:auto;
	max-width:150px;
	object-fit:contain;
}
.mission-head-media img{
	width:100%;
	height:auto;
	border-radius:var(--card-radius,18px);
	display:block;
	box-shadow:0 18px 50px -28px rgba(13,40,60,.5);
}
/* Logo lock-up in the header: plain contained image, no photo framing. */
.mission-head-media--logo{ display:flex; justify-content:center; }
.mission-head-logo{
	width:100%;
	max-width:300px;
	height:auto;
	object-fit:contain;
	border-radius:0;
	box-shadow:none;
}

.mission-body-inner{ max-width:820px; }
.mission-intro{
	font-size:20px;
	line-height:1.65;
	color:var(--c-heading,#103a78);
	margin:0 0 26px;
}

.mission-callout{
	background:var(--m-accent-soft);
	border-left:4px solid var(--m-accent);
	border-radius:12px;
	padding:22px 24px;
	margin:0 0 30px;
}
.mission-callout-title{
	display:block;
	font-size:12.5px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--m-accent);
	margin-bottom:8px;
}
.mission-callout-text{
	margin:0;
	font-size:17.5px;
	line-height:1.6;
	color:var(--c-heading,#103a78);
}

.mission-pillars{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
	margin:0 0 30px;
}
.mission-pillar{
	background:var(--c-card-bg,#fff);
	border:1px solid var(--c-border,#e1e8f0);
	border-top:3px solid var(--m-accent);
	border-radius:14px;
	padding:22px 22px;
}
.mission-pillar-title{
	font-size:17px;
	line-height:1.3;
	color:var(--c-heading,#103a78);
	margin:0 0 6px;
}
.mission-pillar p{
	margin:0;
	font-size:15px;
	line-height:1.55;
	color:var(--c-muted,#5c6b78);
}

.mission-geo,
.mission-partners{
	font-size:16px;
	line-height:1.6;
	color:var(--c-body,#1a2233);
	margin:0 0 14px;
}
.mission-geo{
	background:var(--m-accent-soft);
	border-radius:10px;
	padding:14px 18px;
}
.mission-geo-label,
.mission-partners-label{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--m-accent);
	margin-right:8px;
}
.mission-convergence{
	font-style:italic;
	font-size:14px;
	line-height:1.6;
	color:var(--c-muted,#5c6b78);
	margin:0 0 14px;
}

.mission-cta{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:26px;
}
.mission-others-title{ text-align:center; margin-bottom:28px; }

/* =========================================================== Responsive */
@media(max-width:900px){
	.mission-head-grid{ grid-template-columns:1fr; gap:24px; }
	.method-steps{ grid-template-columns:1fr; }
	.mission-grid--others{ grid-template-columns:1fr; }
}
@media(max-width:640px){
	.mission-grid--home,
	.mission-grid--archive{ grid-template-columns:1fr; }
	.mission-pillars{ grid-template-columns:1fr; }
	.mission-card{ padding:22px 20px; }
	.mission-card-title{ font-size:20px; }
	.mission-intro{ font-size:18px; }
	.missions-hero-lead{ font-size:16px; }
	.why-method-inner p{ font-size:16.5px; }
}
