/*
 * Ije Africa full-site Elementor library v2.5.
 * Loaded after main.css on non-home pages only.
 */

body.ije-site .ije-page-hero {
	position: relative;
	min-height: clamp(39rem, 76vh, 55rem);
	display: flex;
	align-items: center;
	background: var(--ije-white);
	color: var(--ije-ink);
	border-bottom: var(--ije-rule);
	isolation: isolate;
	overflow: hidden;
}

body.ije-site .ije-page-hero::before {
	content: "";
	position: absolute;
	top: -15%;
	right: -8%;
	bottom: -15%;
	left: 53%;
	background: url("../images/ije-mark-field.svg") center / cover no-repeat;
	opacity: 0.055;
	z-index: -2;
	pointer-events: none;
}

body.ije-site .ije-page-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: clamp(2.75rem, 5vw, 4.75rem);
	background: url("../images/ije-mark-wave.svg") left 50% bottom 45% / clamp(10rem, 14vw, 14rem) auto repeat-x;
	opacity: 0.18;
	z-index: -1;
	pointer-events: none;
}

body.ije-site .ije-page-hero__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--ije-gap);
	align-items: center;
	padding-block: clamp(6rem, 9vw, 9rem) clamp(8rem, 12vw, 12rem);
}

body.ije-site .ije-page-hero__copy {
	grid-column: 1 / span 7;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(1.25rem, 2vw, 2rem);
}

body.ije-site .ije-page-hero__copy .ije-display,
body.ije-site .ije-page-hero__copy .ije-display .elementor-heading-title {
	max-width: 13ch;
	font-size: clamp(3.6rem, 7vw, 7.5rem);
}

body.ije-site .ije-page-hero__copy .ije-lede {
	max-width: 50rem;
}

body.ije-site .ije-page-hero__device {
	grid-column: 8 / span 5;
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	border: var(--ije-dark-rule);
	background: var(--ije-peach-light);
	backdrop-filter: blur(2px);
}

body.ije-site .ije-device__unit {
	position: relative;
	display: grid;
	grid-template-columns: 3.75rem 1fr;
	gap: 1rem;
	align-items: baseline;
	min-height: 5.5rem;
	padding: 1.25rem 1.4rem;
	border-bottom: var(--ije-dark-rule);
}

body.ije-site .ije-device__unit:last-child { border-bottom: 0; }

body.ije-site .ije-device__index,
body.ije-site .ije-device__index .elementor-heading-title {
	color: var(--ije-yellow);
	background: var(--ije-ground);
	padding: 0.18rem 0.35rem;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
}

body.ije-site .ije-device__label,
body.ije-site .ije-device__label .elementor-heading-title {
	color: var(--ije-terracotta-accessible);
	font-size: clamp(1.25rem, 1.8vw, 2rem);
	line-height: 1.08;
}

/* Device differentiation: the same brand grammar, different page logic. */

body.ije-site .ije-device--system,
body.ije-site .ije-device--coherence,
body.ije-site .ije-device--method { border-left-width: 0.42rem; }

body.ije-site .ije-device--audiences .ije-device__unit:first-child,
body.ije-site .ije-device--labs .ije-device__unit:first-child {
	min-height: 9rem;
	background: var(--ije-terracotta);
}

body.ije-site .ije-device--audiences .ije-device__unit:first-child :where(.elementor-heading-title),
body.ije-site .ije-device--labs .ije-device__unit:first-child :where(.elementor-heading-title) {
	color: var(--ije-ground);
}

body.ije-site .ije-device--evidence-chain,
body.ije-site .ije-device--response-path,
body.ije-site .ije-device--case-narrative {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	grid-column: 7 / span 6;
}

body.ije-site .ije-device--evidence-chain .ije-device__unit,
body.ije-site .ije-device--response-path .ije-device__unit,
body.ije-site .ije-device--case-narrative .ije-device__unit {
	grid-template-columns: 1fr;
	align-content: end;
	min-height: 17rem;
	border-right: var(--ije-dark-rule);
	border-bottom: 0;
}

body.ije-site .ije-device--evidence-chain .ije-device__unit:last-child,
body.ije-site .ije-device--response-path .ije-device__unit:last-child,
body.ije-site .ije-device--case-narrative .ije-device__unit:last-child { border-right: 0; }

body.ije-site .ije-device--readiness,
body.ije-site .ije-device--readiness-field,
body.ije-site .ije-device--purpose-test,
body.ije-site .ije-device--team {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ije-site .ije-device--readiness .ije-device__unit,
body.ije-site .ije-device--readiness-field .ije-device__unit,
body.ije-site .ije-device--purpose-test .ije-device__unit,
body.ije-site .ije-device--team .ije-device__unit {
	grid-template-columns: 1fr;
	min-height: 9rem;
	border-right: var(--ije-dark-rule);
}

body.ije-site .ije-device--policy,
body.ije-site .ije-device--terms,
body.ije-site .ije-device--reading {
	background: transparent;
	border-color: rgba(18, 10, 0, 0.34);
}

body.ije-site .ije-page-hero--policy,
body.ije-site .ije-page-hero--article {
	background: var(--ije-peach-light);
	color: var(--ije-ink);
}

body.ije-site .ije-page-hero--policy::before,
body.ije-site .ije-page-hero--article::before { opacity: 0.075; }

body.ije-site .ije-page-hero--policy .ije-title--terracotta,
body.ije-site .ije-page-hero--policy .ije-title--terracotta .elementor-heading-title,
body.ije-site .ije-page-hero--article .ije-title--terracotta,
body.ije-site .ije-page-hero--article .ije-title--terracotta .elementor-heading-title { color: var(--ije-ground); }

body.ije-site .ije-page-hero--policy .ije-device__label,
body.ije-site .ije-page-hero--policy .ije-device__label .elementor-heading-title,
body.ije-site .ije-page-hero--article .ije-device__label,
body.ije-site .ije-page-hero--article .ije-device__label .elementor-heading-title { color: var(--ije-ground); }

body.ije-site .ije-page-hero--recovery {
	min-height: 34rem;
	background: var(--ije-white);
	color: var(--ije-ink);
}

body.ije-site .ije-page-hero--recovery .ije-page-hero__copy { grid-column: 1 / span 8; }
body.ije-site .ije-page-hero--recovery .ije-page-hero__device { grid-column: 10 / span 3; }

/* Shared editable content fields. */

body.ije-site .ije-content-section .ije-heading-note:empty,
body.ije-site .ije-content-section .ije-heading-note p:empty { display: none; }

body.ije-site .ije-unit-field {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(2.5rem, 5vw, 5rem);
	border-top: var(--ije-rule);
	border-left: var(--ije-rule);
}

body.ije-site .ije-unit {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-height: 19rem;
	padding: clamp(1.6rem, 3vw, 3rem);
	border-right: var(--ije-rule);
	border-bottom: var(--ije-rule);
	background: transparent;
}

body.ije-site .ije-section--ground .ije-unit,
body.ije-site .ije-section--terracotta .ije-unit { border-color: rgba(255, 255, 255, 0.2); }

body.ije-site .ije-unit__index,
body.ije-site .ije-unit__index .elementor-heading-title {
	color: var(--ije-ink);
	font-size: clamp(1.8rem, 3vw, 3.2rem);
}

body.ije-site .ije-section--terracotta .ije-unit__index,
body.ije-site .ije-section--terracotta .ije-unit__index .elementor-heading-title { color: var(--ije-ground); }

body.ije-site .ije-section--ground .ije-unit__index,
body.ije-site .ije-section--ground .ije-unit__index .elementor-heading-title { color: var(--ije-terracotta); }

body.ije-site .ije-unit__title,
body.ije-site .ije-unit__title .elementor-heading-title {
	font-size: clamp(1.7rem, 2.7vw, 3rem);
}

body.ije-site .ije-unit__body { margin-top: auto; }

body.ije-site .ije-unit-field--spine,
body.ije-site .ije-unit-field--method,
body.ije-site .ije-unit-field--chain,
body.ije-site .ije-unit-field--path {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.ije-site .ije-unit-field--spine .ije-unit,
body.ije-site .ije-unit-field--method .ije-unit,
body.ije-site .ije-unit-field--chain .ije-unit,
body.ije-site .ije-unit-field--path .ije-unit {
	min-height: 24rem;
}

body.ije-site .ije-unit-field--audiences {
	grid-template-columns: 1.35fr 1fr 0.7fr;
}

body.ije-site .ije-unit-field--audiences .ije-unit:first-child {
	min-height: 28rem;
	background: var(--ije-terracotta);
}

body.ije-site .ije-unit-field--timeline,
body.ije-site .ije-unit-field--narrative,
body.ije-site .ije-unit-field--policy {
	grid-template-columns: 1fr;
	max-width: var(--ije-reading);
	margin-left: auto;
}

body.ije-site .ije-unit-field--timeline .ije-unit,
body.ije-site .ije-unit-field--narrative .ije-unit,
body.ije-site .ije-unit-field--policy .ije-unit {
	min-height: 0;
	display: grid;
	grid-template-columns: 5rem minmax(0, 0.8fr) minmax(0, 1.4fr);
	align-items: start;
}

body.ije-site .ije-unit-field--biographies {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ije-gap);
	border: 0;
}

body.ije-site .ije-unit-field--biographies .ije-unit {
	position: relative;
	min-height: 37rem;
	padding-top: 18rem;
	border: var(--ije-rule);
}

body.ije-site .ije-unit-field--biographies .ije-unit::before {
	content: "Portrait and evidence field";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 15rem;
	display: grid;
	place-items: center;
	background: var(--ije-ground) url("../images/ije-mark-field.svg") center / cover no-repeat;
	color: var(--ije-terracotta);
	font-family: var(--ije-ui);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.ije-site .ije-unit-field--projects,
body.ije-site .ije-unit-field--cases,
body.ije-site .ije-unit-field--articles,
body.ije-site .ije-unit-field--experiments {
	grid-template-columns: 1fr;
	border-left: 0;
}

body.ije-site .ije-unit-field--form-fields {
	grid-template-columns: 1fr;
	max-width: 64rem;
	border-left: 0;
}

body.ije-site .ije-unit-field--form-fields .ije-unit {
	position: relative;
	display: grid;
	grid-template-columns: minmax(12rem, 0.75fr) minmax(0, 1.25fr);
	min-height: 7.5rem;
	align-items: center;
	border-left: var(--ije-rule);
	background: var(--ije-paper);
}

body.ije-site .ije-unit-field--form-fields .ije-unit::after {
	content: "";
	position: absolute;
	right: 2rem;
	bottom: 1.7rem;
	left: calc(40% + 2rem);
	border-bottom: 1px solid var(--ije-soft-ink);
	opacity: 0.5;
}

body.ije-site .ije-unit-field--projects .ije-unit,
body.ije-site .ije-unit-field--cases .ije-unit,
body.ije-site .ije-unit-field--articles .ije-unit,
body.ije-site .ije-unit-field--experiments .ije-unit {
	display: grid;
	grid-template-columns: 6rem minmax(12rem, 0.8fr) minmax(0, 1.5fr);
	min-height: 16rem;
	align-items: start;
	border-left: var(--ije-rule);
}

body.ije-site .ije-unit-field--labs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ije-site .ije-unit-field--labs .ije-unit:first-child {
	grid-column: 1 / -1;
	min-height: 24rem;
	background: var(--ije-ground);
	color: var(--ije-white);
}

body.ije-site .ije-page-contact .ije-content-section--contact:first-of-type .ije-reading {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem var(--ije-gap);
	max-width: 60rem;
}

body.ije-site .ije-page-contact .ije-content-section--contact:first-of-type .ije-reading p {
	min-height: 4.5rem;
	padding: 1rem 1.1rem;
	border: var(--ije-rule);
	background: var(--ije-paper);
}

body.ije-site .ije-page-policy .ije-reading {
	max-width: 52rem;
	margin-inline: auto;
}

body.ije-site .ije-page-policy .ije-heading-field {
	max-width: 70rem;
	margin-inline: auto;
}

body.ije-site .ije-chain {
	padding: 1.35rem;
	border-block: var(--ije-rule);
	font-family: var(--ije-ui);
	font-size: clamp(1.2rem, 2.5vw, 2rem);
	letter-spacing: 0.02em;
}

@media (max-width: 1080px) {
	body.ije-site .ije-page-hero::before { left: 62%; }
	body.ije-site .ije-page-hero__copy { grid-column: 1 / span 12; }
	body.ije-site .ije-page-hero__device { grid-column: 3 / span 10; margin-top: 2rem; }
	body.ije-site .ije-page-hero__grid { align-items: start; }
	body.ije-site .ije-device--evidence-chain,
	body.ije-site .ije-device--response-path,
	body.ije-site .ije-device--case-narrative { grid-column: 1 / span 12; }
	body.ije-site .ije-unit-field--spine,
	body.ije-site .ije-unit-field--method,
	body.ije-site .ije-unit-field--chain,
	body.ije-site .ije-unit-field--path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
	body.ije-site .ije-page-hero { min-height: auto; }
	body.ije-site .ije-page-hero::before { display: none; }
	body.ije-site .ije-page-hero__grid { grid-template-columns: 1fr; padding-block: 5rem 7rem; }
	body.ije-site .ije-page-hero__copy,
	body.ije-site .ije-page-hero__device,
	body.ije-site .ije-page-hero--recovery .ije-page-hero__copy,
	body.ije-site .ije-page-hero--recovery .ije-page-hero__device { grid-column: 1; }
	body.ije-site .ije-page-hero__copy .ije-display,
	body.ije-site .ije-page-hero__copy .ije-display .elementor-heading-title { font-size: clamp(3rem, 16vw, 5.2rem); }
	body.ije-site .ije-page-hero__device,
	body.ije-site .ije-device--evidence-chain,
	body.ije-site .ije-device--response-path,
	body.ije-site .ije-device--case-narrative,
	body.ije-site .ije-device--readiness,
	body.ije-site .ije-device--readiness-field,
	body.ije-site .ije-device--purpose-test,
	body.ije-site .ije-device--team { grid-template-columns: 1fr; }
	body.ije-site .ije-device__unit,
	body.ije-site .ije-device--evidence-chain .ije-device__unit,
	body.ije-site .ije-device--response-path .ije-device__unit,
	body.ije-site .ije-device--case-narrative .ije-device__unit { min-height: auto; border-right: 0; border-bottom: var(--ije-dark-rule); }
	body.ije-site .ije-unit-field,
	body.ije-site .ije-unit-field--spine,
	body.ije-site .ije-unit-field--method,
	body.ije-site .ije-unit-field--chain,
	body.ije-site .ije-unit-field--path,
	body.ije-site .ije-unit-field--audiences,
	body.ije-site .ije-unit-field--biographies,
	body.ije-site .ije-unit-field--labs { grid-template-columns: 1fr; }
	body.ije-site .ije-unit-field--timeline .ije-unit,
	body.ije-site .ije-unit-field--narrative .ije-unit,
	body.ije-site .ije-unit-field--policy .ije-unit,
	body.ije-site .ije-unit-field--projects .ije-unit,
	body.ije-site .ije-unit-field--cases .ije-unit,
	body.ije-site .ije-unit-field--articles .ije-unit,
	body.ije-site .ije-unit-field--experiments .ije-unit,
	body.ije-site .ije-unit-field--form-fields .ije-unit { grid-template-columns: 1fr; }
	body.ije-site .ije-unit-field--form-fields .ije-unit::after { left: 2rem; }
	body.ije-site .ije-unit-field--labs .ije-unit:first-child { grid-column: 1; }
	body.ije-site .ije-page-contact .ije-content-section--contact:first-of-type .ije-reading { grid-template-columns: 1fr; }
}
