/*
Theme Name: Helios Oro
Theme URI: https://heliosoro.com.ng
Author: Helios Oro Energy Limited
Author URI: https://heliosoro.com.ng
Description: Corporate WordPress theme for Helios Oro Energy Limited. Replicates the official live site — solar power, battery storage, hybrid energy, mini-grids and energy efficiency for Nigeria. Fully editable in the block editor, fast, accessible and technically SEO-optimized.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: helios-oro
Tags: business, corporate, one-column, custom-logo, custom-menu, featured-images, sticky-post, translation-ready
*/
/* =========================================================
   Design system  -  merged from assets/css/theme.css
   (single-file build so the site is styled even if the
   assets/css subfolder is absent)
   ========================================================= */
/* =====================================================================
   Helios Oro Energy — Theme Stylesheet
   Design system replicating the official live website.
   ===================================================================== */

/* ---------- Design tokens ---------- */
:root {
	--navy: oklch(24% 0.075 265);
	--navy-deep: oklch(18% 0.065 266);
	--navy-soft: oklch(33% 0.072 264);
	--gold: oklch(82% 0.135 82);
	--gold-soft: oklch(89% 0.09 85);
	--sand: oklch(97.5% 0.008 85);
	--background: #ffffff;
	--foreground: var(--navy);
	--card: #ffffff;
	--card-foreground: var(--navy);
	--muted: oklch(96.5% 0.008 85);
	--muted-foreground: oklch(52% 0.03 265);
	--accent: oklch(96% 0.03 85);
	--border: oklch(91.5% 0.012 255);
	--input: oklch(91.5% 0.012 255);
	--ring: var(--gold);
	--gradient-hero: linear-gradient(100deg, oklch(18% 0.065 266 / 0.85) 0%, oklch(20% 0.07 266 / 0.6) 42%, oklch(22% 0.07 266 / 0.12) 100%);
	--gradient-gold: linear-gradient(135deg, var(--gold-soft), var(--gold));
	--gradient-navy: linear-gradient(160deg, var(--navy-deep), var(--navy-soft));
	--shadow-panel: 0 24px 60px -28px oklch(18% 0.065 266 / 0.45);
	--shadow-gold: 0 16px 40px -18px oklch(82% 0.135 82 / 0.6);
	--font-display: "Archivo", "Segoe UI", Helvetica, Arial, sans-serif;
	--font-body: "Barlow", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--radius: 0.5rem;
	--header-h: 6rem;
}

/* ---------- Reset / base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--foreground);
	background: var(--background);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1.15;
	color: var(--foreground);
	margin: 0 0 0.5em;
}

p { margin: 0 0 1em; }
img { max-width: 100%; height: auto; }
a { color: var(--navy); text-decoration: none; }
ul, ol { padding-left: 1.25rem; }
figure { margin: 0; }

::selection { background: var(--gold); color: var(--navy-deep); }

.wp-block-button__link { cursor: pointer; }

/* ---------- Layout ---------- */
.container-page,
.wp-block-group.container-page {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

.site-main { min-height: 60vh; }

/* Editor may wrap group content */
.wp-block-group > .wp-block-group__inner-container > .container-page {
	width: auto;
}

/* ---------- Sections ---------- */
.section { padding-block: 6rem; }
.section-sm { padding-block: 3rem; }
.section-lg { padding-block: 5rem; }
.section-compact { padding-block: 5rem; }
.section-flush-top { padding-top: 0; }

.section-muted { background: var(--muted); }
.section-navy { background: var(--navy); color: oklch(98.5% 0.004 90); }
.section-navy-deep { background: var(--navy-deep); color: oklch(98.5% 0.004 90); }
.section-sand { background: var(--sand); }

.section-navy h1, .section-navy h2, .section-navy h3,
.section-navy-deep h1, .section-navy-deep h2, .section-navy-deep h3,
.section-navy-deep .wp-block-heading,
.section-navy .wp-block-heading { color: oklch(98.5% 0.004 90); }

.section-navy a, .section-navy-deep a { color: var(--gold); }
.section-navy p, .section-navy-deep p { color: oklch(98.5% 0.004 90 / 0.82); }

/* ---------- Typography helpers ---------- */
.eyebrow {
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--gold);
	margin-bottom: 1rem;
}

.section-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 1.25rem;
}
.section-title + .wp-block-list { margin-top: 2rem; }

.lead {
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--muted-foreground);
	margin-bottom: 2rem;
}

.lead-light { color: oklch(98.5% 0.004 90 / 0.75); }

.tagline { color: var(--gold); font-weight: 700; }

.muted-text { color: var(--muted-foreground); }
.navy-soft-text { color: var(--navy-soft); font-weight: 700; }

/* ---------- Buttons ---------- */
.btn,
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button.is-style-default .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	justify-content: center;
padding: 0.9rem 1.75rem;
	border-radius: 0.5rem;
	border: 2px solid transparent;
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.btn-gold,
.wp-block-button.is-style-fill .wp-block-button__link {
	background: var(--gold);
	color: var(--navy-deep);
	box-shadow: var(--shadow-gold);
}
.btn-gold:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover {
	transform: translateY(-2px);
	background: var(--gold-soft);
	color: var(--navy-deep);
}

.btn-outline-gold,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--gold);
	color: var(--gold);
}
.btn-outline-gold:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--gold);
	color: var(--navy-deep);
}

.btn-outline-light {
	background: transparent;
	border-color: oklch(98.5% 0.004 90 / 0.6);
	color: oklch(98.5% 0.004 90 / 0.9);
}
.btn-outline-light:hover { border-color: var(--gold); color: var(--gold); }

.btn-sm { padding: 0.6rem 1.25rem; font-size: 0.85rem; }

.btn-navy,
.wp-block-button.is-style-fill.is-polarized .wp-block-button__link {
	background: var(--navy-deep);
	color: oklch(98.5% 0.004 90);
}
.btn-navy:hover { background: var(--navy-soft); color: #fff; }

/* Text link with arrow ("View all products") */
.link-more,
a.link-more,
.wp-block-paragraph.link-more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--navy);
	transition: gap 0.2s ease, color 0.2s ease;
	margin: 0;
}
.link-more-lg { font-size: 1rem; }
.link-more:hover { gap: 0.85rem; }
.link-more svg { transition: transform 0.2s ease; flex: none; }
.link-more-light { color: var(--gold); }
.section-navy-deep .link-more { color: var(--gold); }

/* ---------- Header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--navy-deep);
	border-bottom: 1px solid oklch(33% 0.072 264 / 0.4);
	backdrop-filter: blur(10px);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--header-h);
}

.brand { display: inline-flex; align-items: center; }
.brand-logo { width: auto; height: 3.5rem; }
.custom-logo { height: 3.5rem; width: auto; }
.hero-site-logo { height: 5rem; width: auto; }

.main-nav { display: none; }
.main-nav ul,
.main-nav .menu,
.main-nav #primary-menu {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.main-nav a {
	font-family: var(--font-body);
	font-size: 0.95rem;
	font-weight: 500;
	color: oklch(98.5% 0.004 90 / 0.85);
	transition: color 0.2s ease;
}
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav a[aria-current="page"] { color: var(--gold); }

.header-actions { display: flex; align-items: center; gap: 1rem; }

.nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	background: transparent;
	border: 0;
	color: oklch(98.5% 0.004 90);
	cursor: pointer;
}
.nav-toggle:hover { color: var(--gold); }
.nav-toggle svg { width: 1.5rem; height: 1.5rem; }

/* Mobile drawer */
.mobile-nav {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(85vw, 22rem);
	z-index: 2000;
	background: var(--navy-deep);
	border-left: 1px solid oklch(33% 0.072 264 / 0.4);
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.32, 1);
	display: flex;
	flex-direction: column;
	padding: 5.5rem 2rem 2rem;
	overflow-y: auto;
}
.mobile-nav.open { transform: translateX(0); box-shadow: -24px 0 60px -30px oklch(18% 0.065 266 / 0.6); }

.mobile-nav ul,
.mobile-nav .menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mobile-nav ul li { border-bottom: 1px solid oklch(33% 0.072 264 / 0.35); }
.mobile-nav ul a {
	display: block;
	padding: 1rem 0;
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 600;
	color: oklch(98.5% 0.004 90 / 0.9);
}
.mobile-nav ul a:hover,
.mobile-nav .current-menu-item > a,
.mobile-nav .current_page_item > a { color: var(--gold); }
.mobile-nav .mobile-cta {
	margin-top: 1.5rem;
	text-align: center;
}

.nav-overlay {
	position: fixed;
	inset: 0;
	z-index: 1500;
	background: oklch(18% 0.065 266 / 0.55);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}
.nav-overlay.open { opacity: 1; pointer-events: auto; }

.mobile-nav-close {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	background: transparent;
	border: 0;
	color: oklch(98.5% 0.004 90 / 0.8);
	cursor: pointer;
	padding: 0.5rem;
}
.mobile-nav-close:hover { color: var(--gold); }

@media (min-width: 1024px) {
	.main-nav { display: flex; }
	.nav-toggle, .mobile-nav, .nav-overlay {
		display: none;
	}
}

/* ---------- Hero ---------- */
.wp-block-cover.hero {
	min-height: 78vh;
	position: relative;
	display: flex;
	align-items: center;
	z-index: 0;
}
.wp-block-cover.hero .wp-block-cover__background {
	opacity: 1;
	background: var(--gradient-hero);
}
.wp-block-cover.hero.has-navy-deep-background-color .wp-block-cover__background,
.wp-block-cover.hero .wp-block-cover__background.has-navy-deep-background-color {
	background: var(--gradient-hero);
}
.wp-block-cover.hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	padding-block: 6rem;
}

.hero-kicker {
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.32em;
	color: var(--gold);
	margin: 0 0 1.5rem;
}

.hero-title {
	font-family: var(--font-display);
	font-size: clamp(2.75rem, 6vw, 4.5rem);
	font-weight: 800;
	line-height: 1.02;
	color: oklch(98.5% 0.004 90);
	max-width: 56rem;
	margin: 0 0 1.25rem;
}

.hero-subtitle {
	font-size: 1.25rem;
	line-height: 1.6;
	color: oklch(98.5% 0.004 90 / 0.85);
	max-width: 36rem;
	margin: 0 0 2.5rem;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.hero-actions .wp-block-buttons { margin: 0; }

.hero-strip {
	font-family: var(--font-body);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: oklch(98.5% 0.004 90 / 0.6);
	margin: 3rem 0 0;
}

/* Background video hero */
.hero-video-wrap {
	position: relative;
	overflow: hidden;
	background: var(--navy-deep);
	min-height: 78vh;
}
.hero-video-wrap > .wp-block-group__inner-container,
.hero-video-wrap .wp-block-group__inner-container { position: relative; }
.hero-video-wrap > .wp-block-video,
.hero-video-wrap .wp-block-video.hero-video {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}
.hero-video-wrap .wp-block-video.hero-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.hero-video-wrap .wp-block-cover.hero {
	position: absolute;
	inset: 0;
	min-height: 0;
	background: transparent;
	z-index: 2;
}
.hero-video-wrap .wp-block-cover.hero .wp-block-cover__image-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	opacity: 0;
	transition: opacity 0.4s ease;
}
.hero-video-wrap.no-video .wp-block-cover.hero .wp-block-cover__image-background { opacity: 1; }
.hero-video-wrap .wp-block-cover.hero .wp-block-cover__background {
	z-index: 1;
	opacity: 1;
	background: linear-gradient(165deg, oklch(18% 0.065 266 / 0.68) 0%, oklch(18% 0.065 266 / 0.28) 45%, oklch(18% 0.065 266 / 0.62) 100%);
}
.hero-video-wrap .wp-block-cover.hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 76rem;
	min-height: 78vh;
	margin-inline: auto;
	padding-inline: 1.5rem;
	padding-block: 4.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Rooftop feature video (Engineered for Nigeria) */
.feature-video-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 0.75rem;
	height: 26rem;
	box-shadow: var(--shadow-panel);
	background: var(--navy-deep);
}
.feature-video-wrap .wp-block-video.feature-video,
.feature-video-wrap > .wp-block-video {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
}
.feature-video-wrap .wp-block-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feature-video-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid oklch(33% 0.072 264 / 0.35);
	border-radius: inherit;
	pointer-events: none;
}

/* Rounded image feature */
.feature-img-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 0.75rem;
	height: 24rem;
	box-shadow: var(--shadow-panel);
	background: var(--navy-deep);
}
.feature-img-wrap .wp-block-image,
.feature-img-wrap img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}

/* ---------- Page (subpage) hero ---------- */
.wp-block-cover.page-hero { min-height: 56vh !important; }
@media (max-width: 767px) { .wp-block-cover.page-hero { min-height: 46vh !important; } }
.wp-block-cover.page-hero .wp-block-cover__background {
	background: linear-gradient(110deg, oklch(18% 0.065 266 / 0.9) 0%, oklch(20% 0.07 266 / 0.62) 55%, oklch(22% 0.07 266 / 0.25) 100%);
}
.wp-block-cover.page-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 76rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	padding-block: 5rem;
}
@media (min-width: 768px) { .wp-block-cover.page-hero .wp-block-cover__inner-container { padding-block: 7rem; } }
.page-hero-title {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 800;
	line-height: 1.05;
	color: oklch(98.5% 0.004 90);
	max-width: 45rem;
	margin: 0 0 1.25rem;
}
.page-hero-sub {
	font-size: 1.15rem;
	line-height: 1.65;
	color: oklch(98.5% 0.004 90 / 0.85);
	max-width: 40rem;
	margin: 0;
}

/* ---------- Cards: generic feature / icon cards ---------- */
.wp-block-columns.cards {
	gap: 1.5rem;
	margin-top: 3.5rem;
}
.wp-block-columns.cards .wp-block-column { flex: 1 1 0; }
.wp-block-columns.cards-2 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.wp-block-columns.cards-3 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.wp-block-columns.cards-4 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.wp-block-columns.cards-5 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 3.5rem; }

.card {
	display: flex;
	flex-direction: column;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	padding: 2rem;
	box-shadow: var(--shadow-panel);
	transition: transform 0.25s ease;
}
.card:hover { transform: translateY(-4px); }
.card > * { width: 100%; }

/* Equalize card heights inside grid rows */
.wp-block-columns.cards > .wp-block-column,
.wp-block-columns.product-cards > .wp-block-column,
.wp-block-columns.cover-cards > .wp-block-column,
.wp-block-columns.cover-cats > .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.wp-block-columns.cards .card,
.wp-block-columns.cards .step-card,
.wp-block-columns.product-cards .product-card { flex: 1 1 0; min-height: 0; }
.wp-block-columns.cards .card > *,
.wp-block-columns.cards .step-card > * { flex: none; }
.wp-block-columns.cards .card-media .card-media-body,
.wp-block-columns.cards .product-card .product-card-body { flex: 1; }

/* Icon feature card */
.card-icon {
	width: 3rem !important;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.5rem;
	background: var(--accent);
	color: var(--navy);
	margin: 0 0 1.5rem;
}
.card-icon svg { width: 1.5rem; height: 1.5rem; }
.wp-block-group.card-icon { position: relative; }
.wp-block-group.card-icon > .wp-block-group__inner-container,
.wp-block-group.icon-badge > .wp-block-group__inner-container { display: contents; }
.wp-block-group.card-icon svg,
.wp-block-group.icon-badge svg { display: block; }
.wp-block-group.icon-badge,
.wp-block-group.card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Centered icon cards (The challenge etc.) - sample-style square badge */
.wp-block-column.icon-card { text-align: center; }
.icon-card .card-icon {
	width: 3rem !important;
	height: 3rem;
	border-radius: 0.5rem;
	margin: 0 auto 1.35rem;
	background: var(--accent);
	color: var(--navy);
	transition: transform 0.3s ease;
}
.icon-card .card-icon svg { width: 1.5rem; height: 1.5rem; }
.icon-card:hover .card-icon { transform: translateY(-3px); }
.icon-card .card-title { margin-top: 0; }
.icon-card .card-text { margin-bottom: 0; }

/* Media card (image top) */
.card-media {
	position: relative;
	overflow: hidden;
	padding: 0;
	border-radius: 0.75rem;
}
.card-media .card-media-img {
	position: relative;
	overflow: hidden;
	height: 13rem;
	margin: 0;
	background: var(--navy-deep);
}
.card-media .card-media-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.card-media:hover .card-media-img img { transform: scale(1.04); }
.card-media .card-media-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, oklch(18% 0.065 266 / 0.74) 0%, oklch(18% 0.065 266 / 0.18) 55%, oklch(18% 0.065 266 / 0.28) 100%);
}
.card-media .card-media-overlay {
	position: absolute;
	width: auto;
	left: 1.5rem;
	right: 1.5rem;
	top: calc(13rem - 4.25rem);
	display: flex;
	align-items: flex-end;
	gap: 0.75rem;
	z-index: 2;
}
.card-media .card-media-overlay .icon-badge {
	margin: 0;
	box-shadow: 0 12px 24px -8px oklch(18% 0.065 266 / 0.55);
}
.card-media .card-media-overlay .card-media-title {
	font-size: 1.375rem;
	color: oklch(98.5% 0.004 90);
	margin: 0;
	text-shadow: 0 2px 10px oklch(18% 0.065 266 / 0.4);
}
.card-media .card-media-body .card-media-title {
	font-size: 1.25rem;
	color: var(--foreground);
	margin: 0 0 0.75rem;
}
.card-media .card-media-body { padding: 1.75rem; flex: 1; }
.card-media .card-media-body .card-text { margin-bottom: 1.1rem; }

/* Numbered steps card */
.step-card {
	display: flex;
	flex-direction: column;
	border-top: 4px solid var(--gold);
	padding-top: 1.5rem;
}
.step-num {
	font-family: var(--font-display);
	font-size: 1.875rem;
	font-weight: 800;
	color: var(--gold);
	line-height: 1;
}
.step-title { font-size: 1.125rem; margin: 0.5rem 0 0.4rem; }
.step-text { font-size: 0.875rem; color: var(--muted-foreground); }

/* Sustainability principles (gold-top items on navy-deep) */
.principle-item { border-top: 4px solid var(--gold); padding-top: 1.5rem; }
.principle-title { font-size: 1rem; margin: 0; }
.principle-text { font-size: 0.875rem; margin: 0.75rem 0 0; }
.section-navy-deep .principle-title { color: var(--gold); }
.section-navy-deep .principle-text { color: oklch(98.5% 0.004 90 / 0.75); }

/* Products value props (gold-top items on navy-deep) */
.prop-item { border-top: 4px solid var(--gold); padding-top: 1.5rem; }
.prop-title { font-size: 1.25rem; margin: 0; }
.prop-text { margin: 0.5rem 0 0; }
.section-navy-deep .prop-title { color: var(--gold); }
.section-navy-deep .prop-text { color: oklch(98.5% 0.004 90 / 0.8); }

/* ---------- Cover image cards (sectors / featured) ---------- */
.wp-block-columns.cover-cards {
	gap: 1.5rem;
	margin-top: 3.5rem;
}
.cover-card { border-radius: 0.75rem; overflow: hidden; }
.cover-card .wp-block-cover { min-height: 20rem; }
.cover-card .wp-block-cover__background {
	background: oklch(18% 0.065 266 / 0.5);
}
.cover-card .wp-block-cover__inner-container { width: 100%; }
.cover-card-title { font-size: 1.25rem; color: oklch(98.5% 0.004 90); margin-bottom: 0.4em; }
.cover-card-text { font-size: 0.875rem; color: oklch(98.5% 0.004 90 / 0.82); }

/* Projects: challenge / solution / impact card */
.doc-card {
	display: flex;
	flex-direction: column;
	padding: 0;
	border-radius: 0.75rem;
	background: var(--card);
	border: none;
	overflow: hidden;
	box-shadow: var(--shadow-panel);
}
.wp-block-columns.cards .doc-card { flex: 1 1 0; }
.doc-card-img {
	height: 14rem;
	margin: 0;
	border-radius: 0;
	overflow: hidden;
	background: var(--navy-deep);
	flex: none;
}
.doc-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.doc-card-body { padding: 1.75rem; flex: 1; }
.doc-card-label {
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--gold);
	margin: 0;
}
.doc-card-title { font-size: 1.25rem; margin: 0.75rem 0 0; }
.doc-card-dl { display: grid; gap: 1rem; margin: 1.25rem 0 0; font-size: 0.875rem; line-height: 1.6; }
.doc-card-dl > div { margin: 0; }
.doc-card-dl dt { font-weight: 600; color: var(--foreground); }
.doc-card-dl dd { margin: 0.15rem 0 0; color: var(--muted-foreground); }

/* ---------- Product cards ---------- */
.wp-block-columns.product-cards { gap: 1.5rem; margin-top: 3.5rem; }
.product-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 0.75rem;
	background: var(--card);
	box-shadow: var(--shadow-panel);
	height: 100%;
}
.product-card-img {
	height: 14rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--background);
	padding: 1rem;
	margin: 0;
}
.product-card-img img { width: 100%; height: 100%; object-fit: contain; }
.product-card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	border-top: 4px solid var(--gold);
	padding: 1.75rem;
}
.product-card-cat { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); font-family: var(--font-display); }
.product-card-title { font-size: 1.25rem; margin: 0.4rem 0 0.25rem; }
.product-card-code { color: var(--navy-soft); font-weight: 700; font-size: 0.875rem; margin-bottom: 0.6rem; }
.product-card-desc { color: var(--muted-foreground); }

/* Check list inside product cards / advisory */
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { display: flex; gap: 0.7rem; align-items: flex-start; margin-bottom: 0.75rem; }
.check-list li svg {
	flex: none;
	width: 1.05em;
	height: 1.05em;
	color: var(--gold);
	margin-top: 0.2em;
	stroke-width: 2.5;
}
.check-list li span { line-height: 1.6; }
.check-list-dark li svg { color: var(--gold); }

/* Gold-dot list (Engineered for Nigeria) */
.list-dots { list-style: none; padding: 0; margin: 1.5rem 0 1.5rem; display: grid; gap: 0.75rem; }
.list-dots li { position: relative; padding-left: 1.4rem; font-size: 1.125rem; }
.list-dots li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--gold);
}
.list-dots li { color: oklch(98.5% 0.004 90 / 0.85); }

/* ---------- Split section (image + text) ---------- */
.wp-block-columns.split { align-items: center; gap: 3.5rem; }
.wp-block-columns.split > .wp-block-column { min-width: 0; }
.wp-block-columns.split .wp-block-column:first-child { flex: 1.1; }
.wp-block-columns.split .wp-block-column:last-child { flex: 1; }

/* ---------- Hero badge on cover cards ---------- */
.icon-badge {
	width: 2.75rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.5rem;
	background: var(--gold);
	color: var(--navy-deep);
	margin-bottom: 0.75rem;
}
.icon-badge svg { width: 1.25rem; height: 1.25rem; }

/* ---------- CTA band ---------- */
.cta-band { background: var(--navy); padding-block: 5rem; }
.cta-band .wp-block-columns { align-items: center; margin: 0; }
.cta-band .wp-block-button__link { padding: 1rem 1.75rem; border-radius: 0.375rem; font-size: 1rem; }
.cta-band .wp-block-columns { align-items: center; margin: 0; }
.cta-title {
	font-size: clamp(1.875rem, 2.5rem, 2.25rem);
	font-weight: 800;
	color: oklch(98.5% 0.004 90);
	margin: 0 0 0.6em;
}
.cta-text { color: oklch(98.5% 0.004 90 / 0.78); font-size: 1.125rem; margin: 0; }
.cta-band .blocks-gap { gap: 2rem; }

/* ---------- Light inline CTA row (sub pages) ---------- */
.cta-row > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}
.cta-row-title { font-size: clamp(1.875rem, 3vw, 2.375rem); font-weight: 800; margin: 0; color: var(--navy); }
.cta-row-text { color: var(--muted-foreground); font-size: 1.125rem; margin: 0; max-width: 42rem; }
.cta-row-actions { margin-top: 0.25rem; }
@media (min-width: 768px) {
	.cta-row > .wp-block-group__inner-container {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ---------- Contact / forms ---------- */
.contact-form-wrap {
	background: #fff;
	border: 1px solid var(--border);
	border-top: 4px solid var(--gold);
	border-radius: 0.75rem;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	box-shadow: var(--shadow-panel);
	margin-top: 2.25rem;
}
.contact-form { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.contact-form .field { display: flex; flex-direction: column; gap: 0.5rem; }
.contact-form label { font-weight: 600; font-size: 0.9375rem; font-family: var(--font-body); }
.contact-form label .req { color: var(--gold); }
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="url"],
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--input);
	border-radius: 0.5rem;
	background: #fff;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--foreground);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--gold);
	box-shadow: 0 0 0 3px oklch(82% 0.135 82 / 0.3);
}
.contact-form textarea { min-height: 9rem; resize: vertical; }
.select-wrap { position: relative; }
.select-wrap select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.75rem;
	cursor: pointer;
}
.select-chevron {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--navy-soft);
}
.form-actions .btn { width: 100%; }
.btn .btn-icon { flex: none; }
.form-note { font-size: 0.875rem; color: var(--muted-foreground); margin: 0; }

.form-status {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	border-radius: 0.5rem;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	font-weight: 600;
	font-size: 0.9375rem;
}
.form-status.success { background: oklch(92% 0.1 150 / 0.5); color: oklch(35% 0.1 150); border: 1px solid oklch(80% 0.1 150); }
.form-status.error { background: oklch(94% 0.05 20 / 0.4); color: oklch(45% 0.12 25); border: 1px solid oklch(82% 0.1 25); }

.hp-field { position: absolute !important; left: -9999px !important; }

@media (min-width: 768px) {
	.contact-form { grid-template-columns: 1fr 1fr; }
	.contact-form .field-full { grid-column: 1 / -1; }
}

/* Contact info panel */
.contact-panel {
	background: var(--navy-deep);
	color: oklch(98.5% 0.004 90);
	border-radius: 0.75rem;
	padding: 2rem;
	box-shadow: var(--shadow-panel);
}
.contact-panel h3 { color: oklch(98.5% 0.004 90); }
.contact-panel ul { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 1rem; }
.contact-panel li { display: flex; gap: 0.75rem; align-items: flex-start; }
.contact-panel svg { flex: none; color: var(--gold); margin-top: 0.25rem; }
.contact-panel a { color: var(--gold); }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy-deep); color: oklch(98.5% 0.004 90); }
.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	padding-block: 4rem;
}
.footer-brand { max-width: 22rem; }
.footer-brand img { margin-bottom: 1.25rem; }
.footer-about { font-size: 0.875rem; line-height: 1.7; color: oklch(98.5% 0.004 90 / 0.7); }
.footer-tagline { color: var(--gold); font-weight: 700; letter-spacing: 0.05em; font-size: 0.9375rem; font-family: var(--font-display); margin-top: 1.25rem; }

.footer-col h4 {
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--gold);
	margin-bottom: 1.25rem;
}
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.footer-col a { color: oklch(98.5% 0.004 90 / 0.75); font-size: 0.9375rem; transition: color 0.2s ease; }
.footer-col a:hover { color: var(--gold); }
.footer-contact li { display: flex; gap: 0.75rem; font-size: 0.9375rem; color: oklch(98.5% 0.004 90 / 0.75); align-items: flex-start; }
.footer-contact svg { flex: none; color: var(--gold); margin-top: 0.25rem; }

.footer-bottom {
	border-top: 1px solid oklch(33% 0.072 264 / 0.4);
	padding-block: 1.5rem;
	font-size: 0.8437rem;
	color: oklch(98.5% 0.004 90 / 0.55);
}
.footer-bottom-inner {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: center;
	justify-content: space-between;
}
.footer-bottom-inner a { color: inherit; }

@media (min-width: 768px) {
	.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
	.footer-bottom-inner { flex-direction: row; }
}

/* ---------- Responsive grids ---------- */
@media (min-width: 768px) {
	.wp-block-columns.cards-2,
	.wp-block-columns.cards-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
	.wp-block-columns.cards-3 { grid-template-columns: repeat(3, 1fr); }
	.wp-block-columns.cards-5 { grid-template-columns: repeat(5, 1fr); }
	.wp-block-columns.cards-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Cover cards column widths on desktop */
@media (min-width: 1024px) {
	.wp-block-columns.cover-cards > .wp-block-column { flex: 1 1 0; }
}

/* ---------- Motion ---------- */
.rise-in { opacity: 0; transform: translateY(14px); transition: opacity 0.6s ease, transform 0.6s ease; }
.rise-in.in-view { opacity: 1; transform: none; }
.reduce-motion .rise-in { opacity: 1; transform: none; }

/* ---------- Misc ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	background: var(--gold);
	color: var(--navy-deep);
	padding: 0.75rem 1.25rem;
	font-weight: 700;
}
.skip-link:focus { left: 1rem; top: 1rem; }

.alignfull { margin-left: 0 !important; margin-right: 0 !important; max-width: 100%; }

.wp-block-gap-1 { gap: 1rem; }
.wp-block-gap-2 { gap: 2rem; }
.blocks-gap { gap: 2rem; }

/* Raw HTML blocks and inline svg reset */
svg.icon, .wp-block-paragraph svg, .card-icon svg, .link-more svg, .icon-badge svg, .contact-panel svg, .footer-contact svg { display: inline-block; }

/* Tables used in specs */
.wp-block-table { margin: 1.5rem auto; }

/* Google Maps / iframe responsive */
.responsive-embed { position: relative; width: 100%; overflow: hidden; border-radius: 0.75rem; }


/* =====================================================================
   Part B  -  supplementary component styles
   ===================================================================== */

/* Column defaults */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 2rem; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column > * { width: 100%; }
.wp-block-group { display: block; }
.wp-block-group__inner-container { width: 100%; }

/* Section flavour helpers */
.section-plain { background: var(--background); }

/* Products header flex row */
.wp-block-group.flex-between {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}
.wp-block-group.max-w-3xl { max-width: 48rem; }
.wp-block-group.max-w-3xl .wp-block-group__inner-container { max-width: 48rem; }

/* Gold pull-quote (Engineered for Nigeria) */
.gquote, p.gquote {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--gold);
	margin-top: 1.5rem;
}

/* Card pieces */
.card-title { font-size: 1.25rem; margin-bottom: 0.6em; font-weight: 700; }
.card-text { color: var(--muted-foreground); font-size: 0.9375rem; line-height: 1.7; }
.card > .card-title { margin-top: 0.25rem; }
.card .wp-block-button { margin-top: 1.25rem; }

/* Split (image + content) rows */
.wp-block-columns.split { align-items: center; }
.wp-block-columns.split > .wp-block-column { flex: 1 1 0; }
@media (min-width: 1024px) {
	.order-first { order: 1; }
	.order-last { order: 2; }
}

@media (min-width: 782px) {
	.wp-block-columns.split:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 0%; flex-grow: 1; }
}
@media (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-columns.cards:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-columns.product-cards:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-columns.cover-cards:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-columns.cards-2, .wp-block-columns.cards-3,
	.wp-block-columns.cards-4, .wp-block-columns.cards-5 { grid-template-columns: 1fr; }
}

/* Labeled lists (Sub-page solution lists) */
.labeled-list li { margin-bottom: 0.85rem; line-height: 1.55; }
.labeled-list li strong { color: var(--navy); }

/* Check list */
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.check-list li { display: flex; gap: 0.7rem; align-items: flex-start; }
.check-list li svg {
	flex: none;
	width: 1.05em;
	height: 1.05em;
	color: var(--gold);
	margin-top: 0.2em;
	stroke-width: 2.5;
}
.check-list li span { line-height: 1.6; }
.check-light li { color: oklch(98.5% 0.004 90 / 0.85); }
.check-light li svg { color: var(--gold); }
.check-light li strong { color: var(--gold); }

/* Chips (Sustainability transition) */
.chips { display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-top: 0; }
@media (min-width: 640px) { .chips { grid-template-columns: 1fr 1fr; } }
.chip {
	display: block;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	border: 0;
	background: var(--muted);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground);
}

/* Gold-left labeled lists (solutions + sustainability) */
.list-gold { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.list-gold > li { border-left: 2px solid var(--gold); padding-left: 1rem; }
.list-gold .lg-title {
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--foreground);
	margin: 0;
}
.list-gold .lg-desc { font-size: 0.875rem; color: var(--muted-foreground); line-height: 1.6; margin: 0.25rem 0 0; }

/* Mission / Vision (navy-deep gold-top blocks) */
.wp-block-columns.mission-grid { align-items: stretch; gap: 3rem; margin: 0; }
.mission-block { border-top: 4px solid var(--gold); padding-top: 1.75rem; }
.wp-block-column.mission-block > .mission-block-title {
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--gold);
	margin: 0;
}
.mission-block-lead {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: oklch(98.5% 0.004 90);
	margin: 1.25rem 0 0;
}
.mission-block-text { color: oklch(98.5% 0.004 90 / 0.75); margin: 1rem 0 0; }
@media (min-width: 768px) {
	.wp-block-columns.mission-grid { display: grid; grid-template-columns: 1fr 1fr; }
	.wp-block-columns.mission-grid > .wp-block-column { flex: 1 1 0; }
}

/* Centered section (plain statements) */
.section-center { text-align: center; }
.section-center > .container-page > * { max-width: 48rem; margin-inline: auto; }

/* Media card image variant */
.card-media a.card-media-img { display: block; }
.card-media .card-media-link { display: block; }

/* Figure-based feature media (rounded panels) */
.wp-block-image.feature-img-wrap,
.wp-block-video.feature-video-wrap {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 0.75rem;
	height: 24rem;
	background: var(--navy-deep);
	box-shadow: var(--shadow-panel);
	margin: 0;
}
.wp-block-video.feature-video-wrap { height: 26rem; }
.wp-block-image.feature-img-wrap.tall { height: 26rem; }
.feature-img-wrap img,
.feature-img-wrap .wp-block-image img,
.feature-video-wrap video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.feature-video-wrap::after,
.feature-img-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid oklch(33% 0.072 264 / 0.35);
	border-radius: inherit;
	pointer-events: none;
}

/* Home hero video figure */
.hero-video-wrap .wp-block-group__inner-container { width: 100%; height: 100%; position: relative; }

/* Navy section override for cards */
.section-navy .card,
.section-navy .wp-block-group.card { background: var(--card); color: var(--foreground); }
.section-navy .card .card-title,
.section-navy .card .wp-block-heading { color: var(--foreground) !important; }
.section-navy .card p,
.section-navy .card .card-text { color: var(--muted-foreground) !important; }
.section-navy .card a { color: var(--navy); }

/* CTA band */
.cta-cols { align-items: center; margin: 0; }
.cta-cols > .wp-block-column { flex: 1 1 0; }
.cta-cols > .wp-block-column:last-child {
	display: flex;
	justify-content: flex-start;
	margin-top: 1rem;
}
@media (min-width: 782px) {
	.cta-cols > .wp-block-column:last-child { justify-content: flex-end; margin-top: 0; }
	.cta-cols > .wp-block-column:first-child { max-width: 40rem; }
}

/* Cover image cards */
.wp-block-columns.cover-cards,
.wp-block-columns.cards,
.wp-block-columns.product-cards {
	display: grid;
	gap: 1.5rem;
	margin-top: 3.5rem;
}
.wp-block-columns.cover-card-grid { grid-template-columns: 1fr; }

.cover-card { border-radius: 0.75rem; overflow: hidden; min-width: 0; }
.cover-card .wp-block-cover {
	min-height: 20rem;
	height: 100%;
	display: flex;
	align-items: flex-end;
	width: 100%;
}
.cover-card .wp-block-cover__inner-container { width: 100%; padding: 1.5rem; display: block; }
.cover-card-title { font-size: 1.25rem; color: oklch(98.5% 0.004 90) !important; margin-bottom: 0.4em; }
.cover-card-text { color: oklch(98.5% 0.004 90 / 0.82) !important; font-size: 0.9375rem; }

/* Cards / products grids */
.wp-block-columns.cards-2 { grid-template-columns: 1fr; }
.wp-block-columns.cards-3 { grid-template-columns: 1fr; }
.wp-block-columns.cards-4 { grid-template-columns: 1fr; }
.wp-block-columns.cards-5 { grid-template-columns: 1fr; }
.wp-block-columns.product-cards { grid-template-columns: 1fr; }
.wp-block-columns.cover-cards { grid-template-columns: 1fr; }

@media (min-width: 768px) {
	.wp-block-columns.cards-2 { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.cards-3 { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.cards-4 { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.cards-5 { grid-template-columns: repeat(3, 1fr); }
	.wp-block-columns.product-cards { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.cover-cards { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.cover-cats { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.wp-block-columns.cards-3 { grid-template-columns: repeat(3, 1fr); }
	.wp-block-columns.cards-4 { grid-template-columns: repeat(4, 1fr); }
	.wp-block-columns.cards-5 { grid-template-columns: repeat(5, 1fr); }
	.wp-block-columns.product-cards { grid-template-columns: repeat(3, 1fr); }
	.wp-block-columns.cover-cards { grid-template-columns: repeat(4, 1fr); }
	.wp-block-columns.cover-cats { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 600px) and (max-width: 781px) {
	.wp-block-columns.cards-3 > .wp-block-column,
	.wp-block-columns.product-cards > .wp-block-column,
	.wp-block-columns.cover-cats > .wp-block-column { flex-basis: 100% !important; }
}

/* Product card figure sizing */
.product-card-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.product-card > .product-card-body { flex: 1; }
.product-card .check-list { margin-top: 0.25rem; }
.product-card-desc { color: var(--muted-foreground); }
.product-card-code { color: var(--navy-soft); font-weight: 700; font-size: 0.875rem; margin: 0 0 0.6rem; }
.product-card-cat { margin: 0 0 0.4rem; }

/* Numbered steps */
.step-card .step-num { font-size: 1.875rem; font-weight: 800; color: var(--gold); font-family: var(--font-display); line-height: 1; }
.step-num br { display: none; }

/* Contact grid */
.wp-block-columns.contact-grid { align-items: stretch; }
.contact-form-col { flex: 1.6; }
.contact-panel-col { flex: 1; display: flex; flex-direction: column; }
.wp-block-group.contact-panel {
	background: var(--navy-deep);
	border-radius: 0.75rem;
	padding: 2rem;
	box-shadow: var(--shadow-panel);
	margin-top: 0;
}
.contact-panel h3,
.contact-panel .wp-block-heading { color: oklch(98.5% 0.004 90); }
.contact-panel p { color: oklch(98.5% 0.004 90 / 0.75); }
.contact-panel ul { list-style: none; margin: 2rem 0 1.25rem; padding: 0; display: grid; gap: 1.25rem; }
.contact-panel ul li { display: flex; gap: 0.75rem; align-items: flex-start; color: oklch(98.5% 0.004 90 / 0.8); }
.contact-panel svg { color: var(--gold); flex: none; margin-top: 0.25rem; }
.contact-panel a { color: var(--gold); }
.contact-panel .tagline { margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid oklch(98.5% 0.004 90 / 0.2); color: var(--gold); font-weight: 700; }

/* Lagos map below the contact panel (fills remaining column space) */
.contact-map {
	position: relative;
	flex: 1 1 auto;
	min-height: 17rem;
	margin-top: 1.25rem;
	overflow: hidden;
	border-radius: 0.75rem;
	border: 1px solid oklch(33% 0.072 264 / 0.35);
	box-shadow: var(--shadow-panel);
	background: var(--navy-deep);
}
.contact-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

@media (max-width: 1023px) {
	.wp-block-columns.contact-grid { flex-direction: column; }
	.wp-block-columns.contact-grid > .wp-block-column { flex-basis: auto !important; }
}

/* Mission/vision blocks on navy-deep */
.section-navy-deep .mission-block-lead { color: oklch(98.5% 0.004 90); }
.section-navy-deep .mission-block-text { color: oklch(98.5% 0.004 90 / 0.75); }

/* Blog grid */
.blog-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }

/* Pagination */
.pagination .nav-links { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-top: 3rem; }
.pagination .page-numbers {
	padding: 0.6rem 1rem;
	border-radius: 0.375rem;
	border: 1px solid var(--border);
	color: var(--navy);
	font-weight: 600;
}
.pagination .page-numbers.current { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }

/* Gutenberg heading inside section headers with eyebrow */
.section .container-page > .section-title { margin-top: 0.2em; }

/* Hero strip */
.hero .hero-strip { color: oklch(98.5% 0.004 90 / 0.6); }

/* Footer brand logo sizing */
.site-footer .custom-logo { height: 4rem; width: auto; }
/* Part C  -  page hero kicker + small utilities */
.page-hero-kicker,
.hero-kicker {
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.32em;
	color: var(--gold);
	margin: 0 0 1.25rem;
}

@media (max-width: 639px) {
	.nav-cta { display: none; }
	.header-actions .btn.nav-cta { display: none; }
}

.header-actions .btn.gap { gap: 0.5rem; }

/* Primary menu fallback list (no assignment yet) */
.main-nav .menu li, .mobile-nav .menu li { list-style: none; }