/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme (EDDA / Ethel's Africa Advisory build)
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.1
Text Domain: uncode
*/

/* ==========================================================================
   Fonts (self hosted, OFL licensed, see /fonts)
   ========================================================================== */
@font-face {
	font-family: 'Instrument Serif';
	src: url('fonts/instrument-serif-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Instrument Serif';
	src: url('fonts/instrument-serif-italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Afacad Flux';
	src: url('fonts/afacad-flux-variable.woff2') format('woff2-variations'),
	     url('fonts/afacad-flux-variable.woff2') format('woff2');
	font-weight: 100 1000;
	font-style: normal;
	font-display: swap;
}

/* ==========================================================================
   Design tokens (mirrors Theme Options → Palette)
   ========================================================================== */
:root {
	--edda-royal: #20449C;
	--edda-cobalt: #0A34A2;
	--edda-navy: #1D2E61;
	--edda-midnight: #030D2A;
	--edda-saffron: #FBBC04;
	--edda-cream: #F2F1ED;
	--edda-sky: #6A9DF7;
	--edda-mist: #DADDE5;
	--edda-brown: #4E3D30;
	--edda-pale: #BDC5D8;
	--edda-rule: #2248AB;
	--edda-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--edda-sans: 'Afacad Flux', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--edda-radius: 8px;
}

body { background-color: var(--edda-royal); }
em.edda-serif, .edda-serif-em em, .edda-serif { font-family: var(--edda-serif); }

/* Serif headings keep a tight, editorial rhythm */
.edda-display, .edda-display * { font-family: var(--edda-serif) !important; font-weight: 400 !important; letter-spacing: -0.01em; }
.edda-display h1, .edda-display h2, .edda-display h3, .edda-display p { line-height: 1.02 !important; }
.edda-h2 h2, .edda-h2 h3, .edda-h2 p { line-height: 1 !important; }
.edda-display em, .edda-h2 em { font-style: italic; }

/* Small pill labels: ABOUT, WHAT WE DO, GET IN TOUCH */
.edda-badge { margin-bottom: 18px !important; }
.edda-badge > * > span, .edda-badge span.heading-text-inner, .edda-badge .badge-style {
	font-family: var(--edda-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	line-height: 1 !important;
}
.edda-pill {
	display: inline-block;
	padding: 7px 14px;
	border-radius: 999px;
	font-family: var(--edda-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}
.edda-pill--mist { background: var(--edda-mist); color: var(--edda-cobalt); }
.edda-pill--saffron { background: var(--edda-saffron); color: var(--edda-midnight); }

/* ==========================================================================
   1. Hero
   ========================================================================== */
.edda-hero .background-wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 8, 6, 0.35) 0%, rgba(32, 68, 156, 0) 40%, rgba(32, 68, 156, 0.55) 70%, var(--edda-royal) 92%);
	pointer-events: none;
}
.edda-hero-title h1 { font-size: clamp(64px, 10vw, 128px) !important; line-height: 1 !important; color: #fff; }
.edda-hero-tagline p { font-family: var(--edda-sans); font-size: clamp(22px, 2.5vw, 32px); line-height: 1.2; color: #fff; margin: 0; }
.edda-hero-tagline em { font-family: var(--edda-serif); font-style: italic; }
.edda-hero-map img { max-width: 480px; width: 100%; height: auto; margin-left: auto; }

/* ==========================================================================
   2. About card
   ========================================================================== */
.edda-about-title h2 { color: var(--edda-cobalt) !important; font-size: clamp(36px, 4vw, 48px) !important; }
.edda-about-lead p { font-family: var(--edda-sans); font-size: clamp(19px, 1.9vw, 24px); line-height: 1.4; color: var(--edda-brown); }
.edda-about-body p { font-family: var(--edda-sans); font-size: clamp(17px, 1.6vw, 20px); line-height: 1.45; color: var(--edda-brown); }
.edda-about-body p.edda-closing { color: var(--edda-cobalt); font-weight: 600; }
.edda-mission {
	background: #fff;
	border-left: 4px solid var(--edda-saffron);
	padding: 28px 24px 26px 22px;
	margin: 8px 0 12px;
}
.edda-mission .edda-mission-label {
	font-family: var(--edda-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #002691;
	margin: 0 0 10px;
}
.edda-mission .edda-mission-text {
	font-family: var(--edda-serif);
	font-size: clamp(24px, 2.6vw, 32px);
	line-height: 1.3;
	color: var(--edda-royal);
	margin: 0;
}
.edda-portrait img { max-width: 420px; margin: 0 auto; display: block; }

/* Headshot joined to the name plate: same width, photo's straight bottom cut sits flush on the plate */
.edda-portrait-stack .uncont > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.edda-portrait-stack .edda-portrait,
.edda-portrait-stack .edda-portrait .uncode-single-media-wrapper,
.edda-portrait-stack .edda-portrait img { width: 100% !important; max-width: 100% !important; display: block; margin: 0 !important; }
.edda-portrait-stack .edda-portrait img { height: auto; }
.edda-portrait-stack .edda-caption { max-width: none; margin: 0; }
.edda-portrait-stack .uncode_text_column p:empty { display: none; }
.edda-caption {
	background: var(--edda-navy);
	padding: 22px 18px;
	max-width: 415px;
	margin-left: auto;
}
.edda-caption p { margin: 0; font-family: var(--edda-sans); line-height: 1.5; }
.edda-caption .edda-caption-name { color: var(--edda-saffron); font-size: 16px; font-weight: 600; }
.edda-caption .edda-caption-role { color: #fff; font-size: 14px; }

/* ==========================================================================
   3. Photo band + What we do
   ========================================================================== */
.edda-band { min-height: 540px; }
.edda-band .background-wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(32, 68, 156, 0) 0%, rgba(32, 68, 156, 0.15) 55%, var(--edda-royal) 100%);
	pointer-events: none;
}
.edda-wwd-title h2 { color: #fff !important; font-size: clamp(36px, 4vw, 48px) !important; }
.edda-wwd-lead p { font-family: var(--edda-sans); font-size: clamp(19px, 1.9vw, 24px); line-height: 1.35; color: var(--edda-sky); margin-bottom: 12px; }
.edda-wwd-body p { font-family: var(--edda-sans); font-size: 18px; line-height: 1.55; color: var(--edda-pale); }

.edda-service {
	background: var(--edda-cobalt);
	border-radius: var(--edda-radius);
	padding: 40px !important;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.edda-service h3 { font-family: var(--edda-serif) !important; font-weight: 400 !important; font-size: 30px !important; line-height: 1.1 !important; color: #fff !important; margin: 0 0 18px !important; }
.edda-service p { font-family: var(--edda-sans); font-size: 16px; line-height: 1.6; color: #fff; }
.edda-service .edda-readmore-wrap { margin-top: auto; border-top: 1px solid var(--edda-rule); padding-top: 22px; }
.edda-readmore {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--edda-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--edda-sky) !important;
	text-decoration: none !important;
}
.edda-readmore span { font-size: 22px; font-weight: 300; line-height: 1; }
.edda-readmore:hover { color: #fff !important; }

/* Equal height service cards */
.edda-services .row-inner > .wpb_column > .uncol,
.edda-services .row-inner > .wpb_column > .uncol > .uncoltable,
.edda-services .row-inner > .wpb_column > .uncol > .uncoltable > .uncell,
.edda-services .row-inner > .wpb_column > .uncol > .uncoltable > .uncell > .uncont { height: 100%; }
/* ...and the card inside each column fills that full height, so all three match */
.edda-services .uncont > .uncode_text_column,
.edda-services .uncode_text_column > .edda-service { height: 100%; }
.edda-services .uncode_text_column > p:empty { display: none; }

/* ==========================================================================
   4. Pull quote
   ========================================================================== */
.edda-quote p {
	font-family: var(--edda-serif);
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.12;
	color: #fff;
	text-align: center;
	max-width: 860px;
	margin: 0 auto;
}
.edda-quote em { font-style: italic; color: var(--edda-saffron); }

/* ==========================================================================
   5. Who we work with
   ========================================================================== */
.edda-www-title h2 { color: var(--edda-cobalt) !important; font-size: clamp(36px, 4vw, 48px) !important; text-align: center; }
.edda-www-intro p { font-family: var(--edda-sans); font-size: clamp(19px, 1.9vw, 24px); line-height: 1.4; color: #4F3819; text-align: center; max-width: 700px; margin: 0 auto; }
.edda-tiles {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.edda-tiles li {
	background: #fff;
	border-radius: var(--edda-radius);
	min-height: 108px;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: var(--edda-sans);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
	color: var(--edda-royal);
	margin: 0 !important;
}
.edda-tiles li::before { display: none !important; }
.edda-tiles li { list-style: none !important; }
@media (max-width: 959px) { .edda-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 569px) { .edda-tiles { grid-template-columns: 1fr; } .edda-tiles li { min-height: 72px; } }

/* ==========================================================================
   6. Kente statement + testimonials
   ========================================================================== */
.edda-kente .background-wrapper::after,
.edda-quote-row .background-wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	/* Solid royal blue at top and bottom, fading to reveal the tinted cloth in the middle */
	background: linear-gradient(180deg,
		var(--edda-royal) 0%,
		rgba(32, 68, 156, 0) 30%,
		rgba(32, 68, 156, 0) 70%,
		var(--edda-royal) 100%);
	pointer-events: none;
	z-index: 2;
}
.edda-kente { min-height: 520px; }
.edda-quote-row { min-height: 520px; }
.edda-statement p {
	font-family: var(--edda-serif);
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.12;
	color: #fff;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}
.edda-testimonials { overflow: hidden; }
.edda-testimonials > .row-background .background-wrapper,
.edda-testimonials .row-background { background: linear-gradient(180deg, var(--edda-royal) 0%, #10287a 35%, var(--edda-midnight) 80%) !important; }
.edda-testimonials.style-color-eddami-bg { background: linear-gradient(180deg, var(--edda-royal) 0%, #10287a 35%, var(--edda-midnight) 80%) !important; }
.edda-testi-row { border-radius: var(--edda-radius); overflow: hidden; }
/* Photo column: locked to the design card ratio (391 x 504), image always covers, never stretches */
.edda-testi-photo .empty-space { height: auto !important; aspect-ratio: 391 / 504; }
.edda-testi-photo .background-inner { background-size: cover !important; background-position: center 20% !important; }
.edda-testi-photo > .uncol > .uncoltable > .uncell { padding: 0 !important; }
.edda-testi-copy > .uncol > .uncoltable > .uncell { padding: 40px !important; }
.edda-testi-copy .uncell { display: flex; }
.edda-testi-copy .uncont { display: flex; flex-direction: column; height: 100%; }
.edda-testi-copy .uncont > .uncode_text_column { display: flex; flex-direction: column; height: 100%; }
.edda-testi-copy .edda-testi-quote { font-family: var(--edda-serif); font-size: clamp(19px, 1.9vw, 24px); line-height: 1.33; color: #000 !important; margin: 0 0 32px; }
.edda-testi-copy .edda-testi-name { margin-top: auto; font-family: var(--edda-sans); font-size: 15px; font-weight: 600; color: #000 !important; margin-bottom: 8px; }
.edda-testi-copy .edda-testi-role { font-family: var(--edda-sans); font-size: 13px; line-height: 1.55; color: #000 !important; margin: 0; }
@media (max-width: 569px) {
	.edda-testi-copy > .uncol > .uncoltable > .uncell { padding: 28px 24px !important; }
}

/* Card corners: Uncode paints column backgrounds on .uncell */
.edda-card-cream > .uncol > .uncoltable > .uncell,
.edda-panel-saffron > .uncol > .uncoltable > .uncell,
.edda-contact-card > .uncol > .uncoltable > .uncell { border-radius: var(--edda-radius); }
.edda-contact-card > .uncol > .uncoltable > .uncell { border: 1px solid var(--edda-rule); }

/* Text colours that the dark/light skins would otherwise override */
.edda-about-body .edda-closing { display: block; color: var(--edda-cobalt) !important; font-weight: 600; }
.edda-www-title, .edda-www-title h2, .edda-www-title .heading-text { text-align: center !important; }

/* ==========================================================================
   7. Contact
   ========================================================================== */
.edda-contact-title h2 { color: #fff !important; font-size: clamp(36px, 4vw, 48px) !important; }
.edda-contact-sub p { font-family: var(--edda-sans); font-size: 18px; color: #C3CBDE; margin: 0; }
.edda-contact-links p { margin: 0; }
.edda-contact-links br { display: none; }
.edda-contact-box {
	display: block;
	border-radius: 10px;
	padding: 22px 28px 20px;
	margin-bottom: 16px;
	text-decoration: none !important;
	max-width: 317px;
	margin-left: auto;
}
.edda-contact-box:last-child { margin-bottom: 0; }
.edda-contact-box--white { background: #fff; }
.edda-contact-box--sky { background: var(--edda-sky); }
.edda-contact-box small {
	display: block;
	font-family: var(--edda-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #5370BD !important;
	margin-bottom: 2px;
}
.edda-contact-box--sky small { color: var(--edda-cobalt) !important; }
.edda-contact-box strong { display: block; font-family: var(--edda-sans); font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--edda-cobalt) !important; overflow-wrap: anywhere; }
@media (max-width: 959px) { .edda-contact-box { margin-left: 0; } }

/* ==========================================================================
   8. Footer (Content Block)
   ========================================================================== */
.edda-footer { border-top: 1px solid #122248; }
.edda-footer-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: center; margin: 0 !important; padding: 0 !important; list-style: none; }
.edda-footer-nav li { margin: 0 !important; list-style: none !important; }
.edda-footer-nav li::before { display: none !important; }
.edda-footer-nav a { font-family: var(--edda-sans); font-size: 14px; font-weight: 500; color: #AAADB2 !important; text-decoration: none !important; }
.edda-footer-nav a:hover { color: #fff !important; }
.edda-copyright p { font-family: var(--edda-sans); font-size: 12px; color: #7A7F8B; margin: 0; text-align: right; }
.edda-footer-logo img { width: 70px; height: auto; }
@media (max-width: 959px) {
	.edda-copyright p, .edda-footer-logo { text-align: center; }
	.edda-footer-logo img { margin: 0 auto; }
}

/* ==========================================================================
   Header / menu
   ========================================================================== */
.menu-horizontal .menu-smart > li > a,
.menu-horizontal .menu-smart > li > a span { font-family: var(--edda-sans) !important; font-weight: 500 !important; font-size: 14px !important; letter-spacing: 0.01em; text-transform: uppercase; }

/* Refinements after first review */
@media (min-width: 960px) { .edda-copyright p { white-space: nowrap; } }
@media (max-width: 569px) {
	.edda-contact-box { padding: 18px 20px; }
	.edda-contact-box strong { font-size: 16px; overflow-wrap: normal; }
	.edda-hero-map img { max-width: 260px; margin: 0 auto; }
}

/* Sticky header: solid Midnight bar (set in Theme Options), no shadow */
#masthead .menu-container, #masthead.is_stuck .menu-container { box-shadow: none !important; }

/* ==========================================================================
   Edge-to-edge behaviour on narrower screens
   Below ~1230px the About and Who We Work With cards meet the screen edges,
   so their rounded corners are removed. On tablets and phones the gap
   under the About card is removed so the photo band follows straight on.
   ========================================================================== */
@media (max-width: 1230px) {
	.edda-card-cream > .uncol > .uncoltable > .uncell,
	.edda-panel-saffron > .uncol > .uncoltable > .uncell { border-radius: 0 !important; }
}
@media (max-width: 959px) {
	#about .row-parent { padding-bottom: 48px !important; }
}

/* ==========================================================================
   About section, layout A1 (29 Sep): headline + lead, saffron mission box
   with Angela's cutout rising from its bottom edge, approach + name below.
   ========================================================================== */
.edda-eyebrow p, .edda-a1-kicker {
	margin: 0;
	font-family: var(--edda-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.3;
}
.edda-about-a1 .edda-eyebrow p { color: var(--edda-sky); margin-bottom: 8px; }
.edda-a1-title h2 { font-size: clamp(44px, 5vw, 64px) !important; line-height: 1 !important; color: #fff !important; }
.edda-a1-title em { font-style: italic; color: var(--edda-saffron); }
.edda-a1-lead p { margin: 0; font-family: var(--edda-sans); font-size: 20px; line-height: 1.5; color: #fff; }

.edda-a1-mission-row { margin-top: 120px !important; }
.edda-a1-mission > .uncol,
.edda-a1-mission > .uncol > .uncoltable,
.edda-a1-mission > .uncol > .uncoltable > .uncell { overflow: visible !important; }
.edda-a1-mission > .uncol > .uncoltable > .uncell {
	position: relative;
	min-height: 400px;
	box-sizing: border-box;
	padding: 56px 64px 48px !important;
	border-radius: var(--edda-radius);
}
.edda-a1-mission .uncont { position: static !important; }
.edda-a1-mission-text { max-width: 560px; position: relative; z-index: 1; }
.edda-a1-mission .edda-a1-kicker { color: var(--edda-midnight); }
.edda-a1-mission-statement { margin: 16px 0 0 !important; font-family: var(--edda-serif); font-size: clamp(34px, 3.6vw, 46px); line-height: 1.05; color: var(--edda-cobalt); }
.edda-a1-byline {
	margin: 48px 0 0 !important;
	padding-top: 18px;
	border-top: 1px solid rgba(3, 13, 42, 0.25);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 16px;
	row-gap: 4px;
}
.edda-a1-name { font-family: var(--edda-serif); font-size: 26px; color: var(--edda-midnight); }
.edda-a1-role { font-family: var(--edda-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--edda-cobalt); }
.edda-a1-portrait { position: absolute !important; left: auto !important; right: 56px; bottom: 0; margin: 0 !important; width: 410px !important; z-index: 0; }
.edda-a1-portrait .single-wrapper { max-width: none !important; }
.edda-a1-portrait img { display: block; width: 100% !important; height: auto !important; max-width: none !important; }

.edda-a1-details { margin-top: 64px !important; }
.edda-a1-approach .edda-a1-kicker { color: var(--edda-sky); }
.edda-a1-approach-statement { margin: 14px 0 !important; font-family: var(--edda-serif); font-size: clamp(24px, 2.4vw, 30px); line-height: 1.15; color: #fff; }
.edda-a1-proverb { margin: 0 !important; font-family: var(--edda-sans); font-size: 16px; line-height: 1.55; color: var(--edda-pale); }
.edda-a1-proverb em { font-family: var(--edda-serif); font-size: 18px; font-style: italic; color: #fff; }
.edda-a1-name-story { border-top: 1px solid rgba(255, 255, 255, 0.22); padding-top: 18px; }
.edda-a1-name-story .edda-a1-kicker { font-size: 12px; color: var(--edda-pale); margin-bottom: 12px; }
.edda-a1-name-story p:not(.edda-a1-kicker) { margin: 0; font-family: var(--edda-sans); font-size: 15px; line-height: 1.55; color: var(--edda-pale); }

/* Laptop widths: smaller portrait so it never runs into the mission text */
@media (min-width: 960px) and (max-width: 1199px) {
	.edda-a1-mission-text { max-width: 46%; }
	.edda-a1-portrait { right: 40px; width: 341px !important; }
	.edda-a1-mission-row { margin-top: 96px !important; }
}
/* Tablet and phone: portrait drops into the box, below the text, still sitting on the box's bottom edge */
@media (max-width: 959px) {
	.edda-a1-mission-row { margin-top: 40px !important; }
	.edda-a1-mission > .uncol > .uncoltable > .uncell { min-height: 0; padding: 40px 32px 0 !important; }
	.edda-a1-mission-text { max-width: none; }
	.edda-a1-portrait { position: static !important; left: auto !important; margin: 32px auto 0 !important; width: 307px !important; max-width: 100%; }
	.edda-a1-details { margin-top: 40px !important; }
	.edda-a1-name-story { margin-top: 32px; }
}

/* ==========================================================================
   What we do, layout D3 (29 Sep): headline left, copy right, then one
   white panel split into three numbered columns.
   ========================================================================== */
.edda-wwd-head .edda-wwd-title h2 { font-size: clamp(38px, 4.2vw, 52px) !important; line-height: 1 !important; }
.edda-wwd-side .edda-wwd-lead p { color: #fff; font-size: clamp(19px, 1.7vw, 21px); line-height: 1.45; margin-bottom: 16px; }
.edda-wwd-side .edda-wwd-body p { font-size: 17px; }
@media (min-width: 960px) { .edda-wwd-side > .uncol > .uncoltable > .uncell > .uncont { padding-top: 72px; } }

.edda-wwd-panel {
	background: #fff;
	border-radius: var(--edda-radius);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.edda-wwd-item {
	padding: 44px 40px 48px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.edda-wwd-item + .edda-wwd-item { border-left: 1px solid var(--edda-mist); }
.edda-wwd-item p { margin: 0 !important; }
.edda-wwd-num {
	font-family: var(--edda-sans);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	color: var(--edda-sky);
}
.edda-wwd-item h3 {
	font-family: var(--edda-serif) !important;
	font-weight: 400 !important;
	font-size: clamp(28px, 2.7vw, 34px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em;
	color: var(--edda-cobalt) !important;
	margin: 0 !important;
}
.edda-wwd-text { font-family: var(--edda-sans); font-size: 17px; line-height: 1.6; color: var(--edda-royal); }
@media (max-width: 959px) {
	.edda-wwd-panel { grid-template-columns: 1fr; }
	.edda-wwd-item { padding: 36px 32px 40px; }
	.edda-wwd-item + .edda-wwd-item { border-left: 0; border-top: 1px solid var(--edda-mist); }
}

/* ==========================================================================
   Who we work with, layout P4 (29 Sep): original saffron panel and tile
   grid, with the names set large in the serif.
   ========================================================================== */
.edda-www-title h2 { font-size: clamp(40px, 4.4vw, 56px) !important; line-height: 1 !important; }
.edda-www-intro p { font-size: clamp(19px, 1.8vw, 22px); }
.edda-tiles { gap: 12px; }
.edda-tiles li {
	min-height: 128px;
	padding: 24px 28px;
	font-family: var(--edda-serif) !important;
	font-weight: 400;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	letter-spacing: -0.005em;
	color: var(--edda-cobalt);
}
.edda-tiles li:last-child { font-style: italic; }
@media (max-width: 569px) { .edda-tiles li { min-height: 88px; font-size: 22px; } }

/* ==========================================================================
   Footer, layout F1 (29 Sep): copyright left, links and a round
   back-to-top button right, held to the same width as the header.
   ========================================================================== */
.edda-footer { border-top: 0 !important; }
@media (min-width: 960px) { .edda-footer > .row { max-width: 1200px; margin-left: auto; margin-right: auto; } }
.edda-footer-bar {
	border-top: 1px solid #122248;
	padding-top: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.edda-footer-bar p { margin: 0 !important; }
.edda-footer-bar .edda-copyright { font-family: var(--edda-sans); font-size: 14px; color: #7A7F8B; white-space: nowrap; }
.edda-footer-right { display: flex; align-items: center; gap: 40px; }
.edda-footer-bar .edda-footer-nav { gap: 8px 28px; justify-content: flex-end; }
.edda-footer-bar .edda-footer-nav a { font-size: 15px; color: var(--edda-pale) !important; }
.edda-totop {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1px solid var(--edda-sky);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--edda-sky) !important;
	transition: background-color .2s, color .2s;
}
.edda-totop:hover { background: var(--edda-sky); color: var(--edda-midnight) !important; }
.edda-totop svg { width: 20px; height: 20px; display: block; }
@media (max-width: 1100px) and (min-width: 960px) { .edda-footer-right { gap: 28px; } .edda-footer-bar .edda-footer-nav { gap: 8px 20px; } }
@media (max-width: 959px) {
	.edda-footer-bar { flex-direction: column; gap: 28px; text-align: center; }
	.edda-footer-right { flex-direction: column; gap: 28px; order: -1; }
	.edda-footer-bar .edda-footer-nav { justify-content: center; }
	.edda-footer-bar .edda-copyright { white-space: normal; }
}

/* ==========================================================================
   Wayfinding labels, option W3 refined (29 Sep): large sentence-case
   saffron sans, regular weight, no pill, no dot.
   ========================================================================== */
.edda-pill,
.edda-pill--saffron,
.edda-about-a1 .edda-eyebrow p {
	display: inline-block;
	padding: 0 !important;
	border-radius: 0;
	background: none !important;
	font-family: var(--edda-sans) !important;
	font-size: clamp(28px, 3.2vw, 40px) !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	line-height: 1.05 !important;
	text-transform: none !important;
	color: var(--edda-saffron) !important;
	margin-bottom: 0 !important;
}

/* Breathing room between the photo band and the What we do header */
.edda-wwd-head > .row { padding-top: clamp(48px, 6vw, 88px) !important; }

/* ==========================================================================
   Client edits, 2 Oct
   ========================================================================== */

/* About: the long intro sentence now sits in the headline slot, so it is
   set smaller than the old short headline. Name story takes the lead slot. */
.edda-a1-title h2 { font-size: clamp(30px, 3.5vw, 44px) !important; line-height: 1.08 !important; }
.edda-a1-lead p { font-size: clamp(19px, 1.7vw, 21px); }

/* About: founder button inside the mission box */
.edda-a1-cta { margin: 28px 0 0 !important; }
.edda-founder-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px 15px;
	border-radius: 999px;
	background: var(--edda-cobalt);
	color: #fff !important;
	font-family: var(--edda-sans);
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	transition: background-color .2s;
}
.edda-founder-btn:hover { background: var(--edda-midnight); color: #fff !important; }
.edda-a1-byline { margin-top: 40px !important; }

/* Shared larger body size: proverb, "That is the spirit", and both
   What we do intro paragraphs */
.edda-a1-spirit p,
.edda-wwd-side .edda-wwd-lead p,
.edda-wwd-side .edda-wwd-body p {
	font-family: var(--edda-sans);
	font-size: clamp(20px, 1.85vw, 23px) !important;
	line-height: 1.45;
}
.edda-a1-spirit p { margin: 0 0 18px !important; color: var(--edda-pale); }
.edda-a1-spirit p:last-child { margin-bottom: 0 !important; }
.edda-a1-spirit em { font-family: var(--edda-serif); font-size: 1.12em; font-style: italic; color: #fff; }
.edda-a1-approach-statement { margin-bottom: 0 !important; }

/* What we do: "Learn more" dropdowns */
.edda-wwd-more { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--edda-mist); }
.edda-wwd-more summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	list-style: none;
	font-family: var(--edda-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--edda-cobalt);
}
.edda-wwd-more summary::-webkit-details-marker { display: none; }
.edda-wwd-more summary::after { content: '+'; font-size: 26px; font-weight: 400; line-height: 0.6; letter-spacing: 0; color: var(--edda-sky); }
.edda-wwd-more[open] summary::after { content: '\2212'; }
.edda-wwd-more summary:hover { color: var(--edda-midnight); }
.edda-wwd-more summary:focus-visible { outline: 2px solid var(--edda-sky); outline-offset: 4px; }
.edda-wwd-more p { margin: 14px 0 0 !important; font-family: var(--edda-sans); font-size: 16px; line-height: 1.6; color: var(--edda-royal); }
.edda-wwd-item { height: 100%; box-sizing: border-box; }

/* Contact: labels above the two address buttons */
.edda-contact-links p { letter-spacing: 0.12em; }

/* Mission box: keep the portrait rising above the box now the button is in */
@media (min-width: 960px) {
	.edda-a1-mission > .uncol > .uncoltable > .uncell { padding-top: 48px !important; padding-bottom: 44px !important; }
	.edda-a1-byline { margin-top: 28px !important; }
	.edda-a1-cta { margin-top: 22px !important; }
}

/* Testimonial arrows and dots */
#testimonials .uncode-owl-nav-wrap { margin-top: 28px; }
#testimonials .uncode-nav-counter { display: none; }

/* Keep the three "Learn more" rows level, and stop the other two moving
   when one is opened: number, heading, text and dropdown share grid rows. */
@supports (grid-template-rows: subgrid) {
	@media (min-width: 960px) {
		.edda-wwd-panel { grid-template-rows: repeat(4, auto); }
		.edda-wwd-item { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 16px; height: auto; }
		.edda-wwd-more { margin-top: 0; align-self: start; }
	}
}

/* Contact: space between the first address button and the second label */
#contact .btn-container + .edda-contact-links { margin-top: 28px !important; }

/* ==========================================================================
   About, backup variant A3 (2 Oct): same section as A1, but the portrait
   is held inside the saffron box instead of rising above it.
   Used on the backup page via the extra row class edda-about-a3.
   ========================================================================== */
@media (min-width: 960px) {
	.edda-about-a3 .edda-a1-mission-row { margin-top: 72px !important; }
	.edda-about-a3 .edda-a1-mission > .uncol > .uncoltable > .uncell {
		overflow: hidden !important;
		min-height: 460px;
		padding-top: 56px !important;
		padding-bottom: 48px !important;
	}
	.edda-about-a3 .edda-a1-portrait { right: 72px; width: 362px !important; }
}
@media (min-width: 960px) and (max-width: 1199px) {
	.edda-about-a3 .edda-a1-portrait { right: 40px; width: 320px !important; }
}

@media (max-width: 569px) {
	.edda-founder-btn { font-size: 15px; padding: 13px 18px 14px; gap: 8px; }
}

/* Kente section (2 Oct): colour cloth photo with a lighter blue tint.
   Uncode ignores the overlay alpha when a blend mode is set, so the
   strength of the tint is set here. */
.edda-kente .block-bg-overlay.not-ie { opacity: 0.65; }

/* ==========================================================================
   Backup page only (2 Oct): single-column text under the About and
   What we do headlines, at the headline column's width.
   ========================================================================== */
.edda-a1-details--stack .edda-a1-spirit { margin-top: 28px !important; }
.edda-wwd-stack .edda-wwd-lead p,
.edda-wwd-stack .edda-wwd-body p {
	font-family: var(--edda-sans);
	font-size: clamp(20px, 1.85vw, 23px) !important;
	line-height: 1.45;
	margin-bottom: 0;
}
.edda-wwd-stack .edda-wwd-lead p { color: #fff; }
.edda-wwd-stack .edda-wwd-body p { color: var(--edda-pale); }
.edda-wwd-stack .edda-wwd-lead { margin-top: 32px !important; }
.edda-wwd-stack .edda-wwd-body { margin-top: 18px !important; }

/* "Learn more" dropdowns: animated open and close (height is animated by
   js/edda.js; the text fades in here). */
.edda-wwd-more[open] > p { animation: edda-more-in .38s ease both; }
.edda-wwd-more.is-closing > p { animation: edda-more-out .25s ease both; }
.edda-wwd-more.is-closing summary::after { content: '+'; }
.edda-wwd-more summary::after { transition: transform .3s ease; }
@keyframes edda-more-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes edda-more-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .edda-wwd-more > p { animation: none !important; } }

/* Contact: the two address buttons, now without labels */
#contact .btn-container + .btn-container { margin-top: 16px !important; }

/* ==========================================================================
   Backup page only (2 Oct, second round): two-thirds text columns,
   smaller sky-blue name text, and "Our approach" set as a section header.
   ========================================================================== */
.edda-a1-intro--wide .edda-a1-lead p { font-size: clamp(16px, 1.4vw, 18px); line-height: 1.5; color: var(--edda-sky); }
.edda-a1-details--stack { margin-top: 88px !important; }
.edda-a1-details--stack .edda-a1-approach .edda-a1-kicker {
	font-family: var(--edda-sans);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 400;
	letter-spacing: -0.005em;
	line-height: 1.05;
	text-transform: none;
	color: var(--edda-saffron);
	margin: 0 0 36px !important;
}
.edda-a1-details--stack .edda-a1-approach-statement {
	margin: 0 !important;
	font-family: var(--edda-serif);
	font-size: clamp(30px, 3.5vw, 44px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: #fff;
}
.edda-a1-details--stack .edda-a1-spirit { margin-top: 32px !important; }
@media (max-width: 959px) { .edda-a1-details--stack { margin-top: 56px !important; } .edda-a1-details--stack .edda-a1-approach .edda-a1-kicker { margin-bottom: 24px !important; } }

/* ==========================================================================
   2 Oct, third round
   ========================================================================== */

/* Body copy on the blue sections is plain white (no pale grey) */
.edda-a1-spirit p,
.edda-wwd-side .edda-wwd-body p,
.edda-wwd-stack .edda-wwd-body p,
.edda-contact-sub p { color: #fff !important; }

/* Contact line matches the shared body size */
.edda-contact-sub p { font-size: clamp(20px, 1.85vw, 23px); line-height: 1.45; }

/* Testimonials: every card takes the height of the tallest one.
   Uncode builds these rows as tables, so the chain is switched to flex. */
#testimonials .owl-stage { align-items: stretch !important; }
#testimonials .owl-stage-outer { height: auto !important; }
#testimonials .owl-item { display: flex; }
#testimonials .owl-item > .cs-container { display: flex; width: 100%; }
#testimonials .edda-testi-row { display: flex; width: 100%; }
#testimonials .edda-testi-row > .row { display: flex; width: 100%; height: auto !important; }
#testimonials .edda-testi-row .row-inner { display: flex; width: 100%; height: auto !important; }
#testimonials .edda-testi-row .row-inner > .wpb_column { display: flex; height: auto !important; }
#testimonials .edda-testi-row .row-inner > .wpb_column > .uncol { display: flex; flex: 1 1 auto; width: 100%; height: auto !important; }
#testimonials .edda-testi-row .row-inner > .wpb_column > .uncol > .uncoltable { display: flex; flex: 1 1 auto; width: 100%; height: auto !important; }
#testimonials .edda-testi-row .row-inner > .wpb_column > .uncol > .uncoltable > .uncell { flex: 1 1 auto; width: 100%; height: auto !important; box-sizing: border-box; }
.edda-testi-copy .uncont,
.edda-testi-copy .uncont > .uncode_text_column { height: auto !important; flex: 1 1 auto; width: 100%; }
@media (max-width: 639px) {
	#testimonials .edda-testi-row .row-inner { flex-direction: column; }
	#testimonials .edda-testi-row .row-inner > .edda-testi-copy { flex: 1 1 auto; }
}
/* Quote text a little smaller, so the longest quote fits the standard card */
.edda-testi-copy .edda-testi-quote { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.35; }

/* ==========================================================================
   2 Oct, fourth round
   ========================================================================== */

/* Testimonials: space above the cards, so the menu link lands with the
   whole card clear of the sticky header (the theme scrolls to the row top). */
#testimonials > .row { padding-top: clamp(40px, 5vw, 64px) !important; }

/* Kente section: soft dark-blue glow behind the statement, plus a text
   shadow, so the white text holds up against the gold in the cloth. */
.edda-statement { position: relative; z-index: 0; isolation: isolate; }
.edda-statement::before {
	content: '';
	position: absolute;
	inset: -72px 0;
	z-index: -1;
	background: radial-gradient(ellipse closest-side,
		rgba(9, 24, 78, 0.38) 0%,
		rgba(9, 24, 78, 0.24) 55%,
		rgba(9, 24, 78, 0) 100%);
	pointer-events: none;
}
.edda-statement p {
	text-shadow:
		0 1px 2px rgba(3, 13, 42, 0.4),
		0 0 20px rgba(3, 13, 42, 0.35);
}

/* ==========================================================================
   2 Oct, fifth round
   ========================================================================== */

/* Contact card: keep it off the screen edges on tablets and phones */
@media (max-width: 959px) {
	#contact > .row { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Testimonials on tablets (640 to 959px): photo and text side by side,
   as on desktop. Below 640px the photo stacks above the text. */
@media (min-width: 640px) and (max-width: 959px) {
	#testimonials .edda-testi-row .row-inner > .wpb_column { width: 50% !important; flex: 0 0 50% !important; max-width: 50%; float: none; }
	.edda-testi-copy > .uncol > .uncoltable > .uncell { padding: 28px !important; }
}

/* ==========================================================================
   Hero on tablets and landscape phones (570 to 959px): keep two columns,
   headline left and Africa mark right. Uncode would stack them here.
   ========================================================================== */
@media (min-width: 570px) and (max-width: 959px) {
	.edda-hero .row-inner { display: flex !important; align-items: center; width: 100%; height: auto !important; min-height: min(62vh, 620px); }
	.edda-hero .row-inner > .wpb_column { display: block; float: none; height: auto !important; }
	.edda-hero .row-inner > .wpb_column:first-child { flex: 0 0 58%; width: 58% !important; max-width: 58%; }
	.edda-hero .row-inner > .wpb_column:nth-child(2) { flex: 0 0 42%; width: 42% !important; max-width: 42%; }
	.edda-hero-title h1 { font-size: clamp(48px, 8.4vw, 80px) !important; }
	.edda-hero-map .single-wrapper { width: min(100%, 340px) !important; }
}
/* Portrait phones: columns stack; the Africa mark is 25% smaller and centred */
@media (max-width: 569px) {
	.edda-hero-map { text-align: center !important; }
	.edda-hero-map .single-wrapper { width: 75% !important; margin-left: auto; margin-right: auto; }
}


/* ==========================================================================
   Angela Mudukuti personal page (am-*)
   Built inside the EDDA install for now. Every rule is scoped to .am-row or
   body.am-page so nothing here touches the EDDA pages.
   ========================================================================== */
body.am-page { background-color: var(--edda-royal); }
/* The page carries its own header and footer */
body.am-page .menu-wrapper,
body.am-page #masthead,
body.am-page footer#colophon,
body.am-page .footer-scroll-top { display: none !important; }

.am-row {
	--am-pad: clamp(20px, 6.25vw, 80px);
	--am-ink: #231F20;
	--am-grey: #5F6470;
	font-family: var(--edda-sans);
}
.am-row > .row-parent {
	max-width: 1440px !important;
	padding-left: var(--am-pad) !important;
	padding-right: var(--am-pad) !important;
	box-sizing: border-box;
}
.am-row .uncont > * { margin-top: 0 !important; }
.am-row .uncode_text_column > *:first-child { margin-top: 0; }
.am-row p, .am-row h1, .am-row h2, .am-row h3, .am-row ul, .am-row li { margin: 0; padding: 0; }
.am-row a { text-decoration: none; }
.am-row img { max-width: 100%; }

/* Icons: one masked glyph that takes the text colour */
.am-ico { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; background-color: currentColor; -webkit-mask: var(--am-i) center / contain no-repeat; mask: var(--am-i) center / contain no-repeat; vertical-align: -0.12em; }
.am-ico--right { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.am-ico--down { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E"); }
.am-ico--upright { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E"); }
.am-ico--play { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 4.5v15l13-7.5z'/%3E%3C/svg%3E"); }
.am-ico--mail { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4zM4 7l8 6 8-6'/%3E%3C/svg%3E"); }
.am-ico--user { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.5'/%3E%3Cpath d='M5 20c.8-3.6 3.6-5.5 7-5.5s6.2 1.9 7 5.5'/%3E%3C/svg%3E"); }
.am-ico--chat { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6h14v10H10l-4 3v-3H5z'/%3E%3C/svg%3E"); }

/* Shared type */
.am-row .am-kicker { font-family: var(--edda-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.2; }
.am-row .am-kicker--saffron { color: var(--edda-saffron); }
.am-row .am-kicker--sky { color: var(--edda-sky); }
.am-row .am-kicker--royal { color: var(--edda-royal); }
.am-row .am-kicker--cobalt { color: var(--edda-cobalt); }
.am-row .am-kicker--grey { color: var(--am-grey); font-size: 11px; }
.am-row .am-kicker--muted { color: #A7A2A3; font-size: 11px; }
.am-row .am-label { font-size: clamp(26px, 2.7vw, 34px); font-weight: 400; line-height: 1.05; color: var(--edda-saffron); }
.am-row .am-h2 { font-family: var(--edda-serif); font-weight: 400; font-size: clamp(40px, 4.6vw, 60px); line-height: 1.02; letter-spacing: -0.01em; color: #fff; }
.am-row .am-h2--ink { color: var(--am-ink); }
.am-row .am-h2--xl { font-size: clamp(46px, 5.6vw, 72px); }
.am-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; margin-bottom: clamp(28px, 3.4vw, 44px); }
.am-sec-head > div { display: flex; flex-direction: column; gap: 12px; }
.am-center-head { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; margin-bottom: clamp(36px, 4.4vw, 56px); }

/* Buttons and links */
.am-row .am-btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px 16px; border-radius: 999px; border: 1px solid transparent; font-family: var(--edda-sans); font-size: 16px; font-weight: 600; line-height: 1; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.am-row .am-btn--white { background: #fff; color: var(--edda-royal); }
.am-row .am-btn--white:hover { background: var(--edda-saffron); color: var(--edda-midnight); }
.am-row .am-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }
.am-row .am-btn--ghost:hover { background: #fff; color: var(--edda-royal); border-color: #fff; }
.am-row .am-more { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--edda-royal); }
.am-row .am-more:hover { color: var(--edda-cobalt); }
.am-row .am-more .am-ico, .am-row .am-btn .am-ico { transition: transform 0.2s ease; }
.am-row .am-more:hover .am-ico--right, .am-row .am-btn:hover .am-ico--right { transform: translateX(3px); }
.am-row .am-link-caps { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; }
.am-row .am-link-caps:hover { color: var(--edda-saffron); }
.am-row a:focus-visible { outline: 2px solid var(--edda-saffron); outline-offset: 3px; }

/* ---------- 1. Hero ---------- */
.am-hero { background: linear-gradient(180deg, rgba(32,68,156,0.9) 0%, rgba(32,68,156,0.9) 52%, rgba(32,68,156,1) 100%), url('/wp-content/uploads/2026/10/edda-kente-cloth-colour.jpg') center top / cover no-repeat; }
.am-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px var(--am-pad); margin: 0 calc(var(--am-pad) * -1); border-bottom: 1px solid rgba(255,255,255,0.16); }
.am-row .am-nav-mark { font-family: var(--edda-serif); font-size: 28px; line-height: 1; color: #fff; }
.am-nav-links { display: flex; gap: clamp(20px, 2.8vw, 36px); }
.am-row .am-nav-links a, .am-row .am-nav-cta { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; }
.am-row .am-nav-links a { font-weight: 600; }
.am-row .am-nav-links a:hover { color: var(--edda-saffron); }
.am-row .am-nav-cta { padding: 12px 24px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.55); font-weight: 700; transition: background-color 0.2s ease, color 0.2s ease; }
.am-row .am-nav-cta:hover { background: #fff; color: var(--edda-royal); }
.am-hero-grid { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: clamp(48px, 5.6vw, 72px) 0 clamp(72px, 9.4vw, 120px); }
.am-hero-copy { display: flex; flex-direction: column; gap: clamp(24px, 2.8vw, 36px); max-width: 580px; }
.am-row .am-hero-title { font-family: var(--edda-serif); font-weight: 400; font-size: clamp(64px, 9.7vw, 124px); line-height: 0.92; letter-spacing: -0.015em; color: #fff; }
.am-row .am-hero-title em { font-style: italic; }
.am-row .am-hero-role { font-size: clamp(21px, 2.1vw, 27px); line-height: 1.35; color: #fff; }
.am-row .am-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.am-head { position: relative; width: min(480px, 40vw); aspect-ratio: 1 / 1.115; flex-shrink: 0; margin-right: clamp(0px, 1.9vw, 24px); }
.am-head-circle { position: absolute; left: 0; bottom: 0; width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; background: var(--edda-saffron); overflow: hidden; }
.am-head img { position: absolute; left: 2.5%; bottom: 0; width: 95%; max-width: none; height: auto; display: block; }
.am-head .am-head-top { clip-path: inset(0 0 48% 0); }

/* ---------- 2. Bio ---------- */
.am-bio { background: var(--edda-royal); }
.am-bio > .row-parent { padding-top: 8px !important; padding-bottom: clamp(64px, 8.75vw, 112px) !important; }
.am-bio-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(32px, 8vw, 128px); row-gap: 40px; }
.am-bio-main { display: flex; flex-direction: column; gap: 24px; }
.am-row .am-bio-main p { font-size: clamp(18px, 1.5vw, 19px); line-height: 1.55; color: #fff; }
.am-row .am-bio-main p.am-lead { font-size: clamp(20px, 1.9vw, 24px); line-height: 1.42; }
.am-bio-side { display: flex; flex-direction: column; gap: 18px; }
.am-row .am-bio-side p:not(.am-kicker) { font-size: 18px; line-height: 1.55; color: #fff; }

/* ---------- 3. Three cards ---------- */
.am-cards { background: var(--edda-royal); }
.am-cards > .row-parent { padding-bottom: clamp(64px, 8.1vw, 104px) !important; }
.am-cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.am-card { border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.am-card--midnight { background: var(--edda-midnight); --am-card-bg: 3,13,42; --am-card-tint: rgba(3,13,42,0.2); }
.am-card--saffron { background: var(--edda-saffron); --am-card-bg: 251,188,4; --am-card-tint: rgba(35,31,32,0.18); }
.am-card--white { background: #fff; }
.am-card-photo { position: relative; height: 250px; background-color: var(--edda-navy); background-size: cover; background-position: center 20%; }
.am-card-photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--am-card-tint) 0%, var(--am-card-tint) 45%, rgb(var(--am-card-bg)) 100%); }
.am-row .am-card-title { position: absolute; left: 34px; top: 30px; font-family: var(--edda-serif); font-weight: 400; font-size: 36px; line-height: 1.1; color: #fff; }
.am-row .am-card-title--plain { position: static; padding: 30px 34px 0; color: var(--am-ink); }
.am-card-body { padding: 28px 34px 36px; display: flex; flex-direction: column; gap: 24px; flex-grow: 1; }
.am-card--white .am-card-body { padding-top: 22px; }
.am-row .am-card-body p { font-size: 17px; line-height: 1.5; flex-grow: 1; }
.am-row .am-card--midnight .am-card-body p { color: #fff; }
.am-row .am-card--saffron .am-card-body p, .am-row .am-card--white .am-card-body p { color: var(--am-ink); }

/* ---------- 4. Highlights ---------- */
.am-highlights { background: var(--edda-royal); }
.am-highlights > .row-parent { padding-bottom: 24px !important; }
.am-highlights .uncol { border-radius: 12px; overflow: hidden; background: linear-gradient(rgba(3,13,42,0.93), rgba(3,13,42,0.93)), url('/wp-content/uploads/2026/10/edda-kente-cloth-colour.jpg') center / cover no-repeat; }
.am-highlights .uncont { padding: clamp(56px, 7.5vw, 96px) clamp(24px, 5.6vw, 72px) clamp(48px, 6.9vw, 88px); }
.am-hl-head { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.am-hl-head .am-h2 { font-size: clamp(44px, 5.3vw, 68px); }
.am-highlights .owl-carousel-wrapper { margin-top: clamp(28px, 4vw, 52px) !important; }
.am-hl-slide { min-height: clamp(150px, 12vw, 165px); display: flex; align-items: center; justify-content: center; }
.am-highlights .owl-stage-outer { height: auto !important; }
.am-row .am-hl-slide p { max-width: 760px; margin: 0 auto; font-size: clamp(20px, 2vw, 25px); line-height: 1.45; color: #fff; text-align: center; }
.am-highlights .uncode-owl-nav-wrap { margin-top: clamp(28px, 3.4vw, 44px) !important; }

/* ---------- 5. Articles ---------- */
.am-articles { background: var(--edda-royal); }
.am-articles > .row-parent { padding-top: clamp(56px, 6.25vw, 80px) !important; padding-bottom: clamp(56px, 6.25vw, 80px) !important; }
.am-art-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 4.4vw, 56px); row-gap: 36px; align-items: start; }
.am-art-feat { background: #fff; border-radius: 8px; padding: 36px 40px 32px; display: flex; flex-direction: column; gap: 18px; }
.am-row .am-art-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; }
.am-tag { padding: 7px 12px 8px; border-radius: 999px; background: var(--edda-royal); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1; color: #fff; }
.am-row .am-art-feat h3 { font-family: var(--edda-serif); font-weight: 400; font-size: clamp(26px, 2.5vw, 32px); line-height: 1.08; color: var(--am-ink); }
.am-row .am-art-desc { font-size: 17px; line-height: 1.5; color: #4A4647; }
.am-art-list { border-bottom: 1px solid rgba(255,255,255,0.3); }
.am-row .am-art-row { display: flex; align-items: flex-start; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,0.3); color: #fff; }
.am-art-row-text { display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.am-art-row-title { font-family: var(--edda-serif); font-size: clamp(21px, 1.9vw, 24px); line-height: 1.15; color: #fff; transition: color 0.2s ease; }
.am-art-row-meta { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--edda-sky); }
.am-art-row > .am-ico { font-size: 18px; margin-top: 4px; transition: transform 0.2s ease; }
.am-row .am-art-row:hover .am-art-row-title { color: var(--edda-saffron); }
.am-row .am-art-row:hover > .am-ico { transform: translate(2px, -2px); }

/* ---------- 6. Gallery ---------- */
.am-gallery { background: var(--edda-midnight); overflow: hidden; }
.am-gallery > .row-parent { padding-top: clamp(56px, 7.5vw, 96px) !important; padding-bottom: clamp(48px, 6.9vw, 88px) !important; }
.am-gallery .am-gal-img img { width: 100%; aspect-ratio: 560 / 372; object-fit: cover; border-radius: 8px; display: block; }
.am-gallery .uncode-owl-nav-wrap, .am-talks .uncode-owl-nav-wrap, .am-pubs .uncode-owl-nav-wrap { margin-top: 28px !important; }

/* ---------- 7. TEDx ---------- */
.am-tedx { position: relative; background-color: var(--edda-midnight); }
.am-tedx > .row-parent { position: relative; z-index: 2; min-height: clamp(420px, 50vw, 640px); display: flex; align-items: flex-end; padding-top: 120px !important; padding-bottom: clamp(36px, 4.4vw, 56px) !important; }
.am-tedx > .row-parent > .row-inner { width: 100%; }
.am-tedx .background-wrapper::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(3,13,42,0.15) 0%, rgba(3,13,42,0.35) 45%, rgba(3,13,42,0.9) 100%); }
.am-tedx .background-inner { background-position: center 30% !important; }
.am-tedx-in { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 32px 48px; }
.am-tedx-copy { display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.am-row .am-tedx-title { font-family: var(--edda-serif); font-weight: 400; font-size: clamp(38px, 4.4vw, 56px); line-height: 1; color: #fff; }
.am-row .am-tedx-sub { font-size: 19px; line-height: 1.45; color: var(--edda-pale); }
.am-row .am-watch { display: flex; align-items: center; gap: 18px; color: #fff; }
.am-play { width: 84px; height: 84px; border-radius: 999px; background: var(--edda-saffron); color: var(--edda-midnight); display: flex; align-items: center; justify-content: center; font-size: 30px; flex-shrink: 0; transition: transform 0.2s ease; }
.am-row .am-watch:hover .am-play { transform: scale(1.06); }
.am-watch-label { font-size: 15px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- 8. Talks ---------- */
.am-talks { background: var(--edda-midnight); overflow: hidden; }
.am-talks > .row-parent { padding-top: clamp(56px, 7.5vw, 96px) !important; padding-bottom: clamp(56px, 7.5vw, 96px) !important; }
.am-row .am-yt { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background-color: var(--edda-navy); background-size: cover; color: #fff; }
.am-yt-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0) 70%, rgba(0,0,0,0.55) 100%); }
.am-yt-top { position: absolute; left: 16px; right: 16px; top: 14px; display: flex; align-items: center; gap: 12px; }
.am-yt-avatar { width: 38px; height: 38px; border-radius: 999px; background: var(--edda-saffron); color: var(--edda-midnight); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; flex-shrink: 0; }
.am-yt-title { font-size: 17px; font-weight: 500; line-height: 1.25; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.am-yt-play { position: absolute; left: 50%; top: 50%; margin: -24px 0 0 -34px; width: 68px; height: 48px; border-radius: 12px; background: rgba(20,20,20,0.82); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; transition: background-color 0.2s ease; }
.am-row .am-yt:hover .am-yt-play { background: #f00; }
.am-yt-watch { position: absolute; left: 16px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #fff; }

/* ---------- 9. Featured in ---------- */
.am-featured { background: var(--edda-cream); }
.am-featured > .row-parent { padding-top: clamp(64px, 8.1vw, 104px) !important; padding-bottom: clamp(64px, 8.1vw, 104px) !important; }
.am-row .am-logos { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 24px; }
.am-row .am-logos li { aspect-ratio: 528 / 160; border-radius: 8px; overflow: hidden; background: #FCFBF9; list-style: none; }
.am-row .am-logos li::before { content: none; }
.am-row .am-logos img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------- 10. Publications ---------- */
.am-pubs { background: var(--edda-saffron); overflow: hidden; }
.am-pubs > .row-parent { padding-top: clamp(56px, 7.5vw, 96px) !important; padding-bottom: clamp(52px, 6.9vw, 88px) !important; }
.am-pubs .am-h2 { font-size: clamp(44px, 5.3vw, 68px); }
.am-pub { height: 100%; background: #fff; border-radius: 12px; padding: 32px 32px 28px; display: flex; flex-direction: column; gap: 20px; box-sizing: border-box; }
.am-row .am-pub h3 { font-family: var(--edda-serif); font-weight: 400; font-size: clamp(23px, 2.1vw, 27px); line-height: 1.15; color: var(--am-ink); }
.am-row .am-pub p { font-size: 16px; line-height: 1.45; color: var(--am-grey); flex-grow: 1; }
.am-row .am-pub .am-more { padding-top: 20px; border-top: 1px solid var(--edda-mist); }
/* Equal-height cards: Uncode builds slides as tables, so the chain is switched to flex */
.am-pubs .owl-stage-outer { height: auto !important; }
.am-pubs .owl-stage { display: flex !important; }
.am-pubs .owl-item { float: none !important; display: flex !important; flex-shrink: 0; height: auto !important; }
.am-pubs .owl-item .cs-container, .am-pubs .am-slide, .am-pubs .am-slide > .row, .am-pubs .am-slide .row-inner, .am-pubs .am-slide .wpb_column, .am-pubs .am-slide .uncol, .am-pubs .am-slide .uncoltable, .am-pubs .am-slide .uncell, .am-pubs .am-slide .uncont, .am-pubs .am-pub-slide { display: flex !important; flex-direction: column; flex: 1 1 auto; width: 100%; height: auto !important; }
.am-pub { flex: 1 1 auto; }

/* ---------- 11. Contact and footer line ---------- */
.am-contact { background: var(--am-ink); }
.am-contact > .row-parent { padding-top: clamp(64px, 8.1vw, 104px) !important; padding-bottom: 44px !important; }
.am-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.am-row .am-contact-tile { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border-radius: 12px; background: #2C2829; border: 1px solid #3A3637; color: #A7A2A3; transition: border-color 0.2s ease, background-color 0.2s ease; }
.am-row .am-contact-tile:hover { border-color: var(--edda-saffron); background: #332F30; }
.am-contact-ico { width: 46px; height: 46px; border-radius: 10px; background: var(--edda-royal); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.am-contact-text { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; min-width: 0; }
.am-contact-val { font-size: 18px; font-weight: 500; color: #fff; overflow-wrap: anywhere; }
.am-contact-tile > .am-ico { font-size: 18px; }
.am-foot { margin-top: clamp(48px, 5.6vw, 72px); padding-top: 28px; border-top: 1px solid #3A3637; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
.am-row .am-foot p, .am-row .am-foot a { font-size: 14px; color: #8E898A; }
.am-row .am-foot a { display: inline-flex; align-items: center; gap: 8px; }
.am-row .am-foot a:hover { color: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 1099px) {
	.am-cards-grid { grid-template-columns: minmax(0, 1fr); }
	.am-card-photo { height: 220px; }
	.am-contact-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 959px) {
	.am-nav-links { display: none; }
	.am-bio-grid, .am-art-grid { grid-template-columns: minmax(0, 1fr); }
	.am-row .am-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 719px) {
	.am-hero-grid { flex-direction: column; align-items: flex-start; }
	.am-head { width: min(340px, 78vw); margin: 8px auto 0; }
	.am-art-feat { padding: 28px 24px 26px; }
	.am-play { width: 64px; height: 64px; font-size: 24px; }
}
@media (max-width: 569px) {
	.am-row .am-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.am-row .am-nav-mark { font-size: 24px; }
	.am-row .am-nav-cta { padding: 10px 18px; }
	.am-yt-title { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.am-row *, .am-row *::before, .am-row *::after { transition: none !important; }
}


/* ==========================================================================
   Angela test page built from Uncode modules (page 233)
   One helper only. Put "am-pin-last" in a column's Extra class name field and
   the last element in that column (a button, say) sits at the bottom of the card.
   ========================================================================== */
.am-pin-last > .uncol, .am-pin-last > .uncol > .uncoltable { height: 100%; }
.am-pin-last > .uncol > .uncoltable > .uncell { height: 100%; vertical-align: top; }
.am-pin-last > .uncol > .uncoltable > .uncell > .uncont { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
.am-pin-last > .uncol > .uncoltable > .uncell > .uncont > *:last-child { margin-top: auto !important; padding-top: 18px; }

/* ==========================================================================
   Angela site: header, Articles module, blog page and single post
   Layout comes from Uncode (theme header, Posts modules, standard post
   template). These rules only tune type, colour and spacing, and they target
   the modules by ID, so new posts pick the styling up with no extra steps.
   ========================================================================== */
:root { --am-ink: #231F20; --am-grey: #5F6470; --am-body: #4A4647; }

/* ---------- Header ---------- */
/* Logo: the text is typed in Media > "Angela Mudukuti text logo"; this only sets the face */
.text-logo { font-family: var(--edda-serif) !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1 !important; }
.navbar-cta .menu-btn-container .btn, .menu-item-button .btn { border-radius: 999px !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.12em !important; padding: 12px 24px !important; }
/* Blog and post pages: the menu bar carries the dark kente cloth */
body.blog .menu-container, body.archive .menu-container, body.single-post .menu-container { background: linear-gradient(rgba(3,13,42,0.92), rgba(3,13,42,0.92)), url('/wp-content/uploads/2026/10/edda-kente-cloth-colour.jpg') center / cover no-repeat !important; }
body.blog, body.archive, body.single-post { background-color: var(--edda-cream) !important; }

/* ---------- Shared pieces of the Posts modules ---------- */
#index-am2-featured .t-entry-category a, #index-am2-list .t-entry-category a, #index-am2-list .t-entry-date,
#index-am-blog .t-entry-category a, #index-am-more .t-entry-category a { font-family: var(--edda-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.3; }
#index-am2-featured .t-entry-meta, #index-am-blog .t-entry-meta, #index-am-more .t-entry-meta { margin: 0 0 14px !important; line-height: 1.3; }
#index-am2-featured .t-entry-readmore, #index-am-blog .t-entry-readmore, #index-am-more .t-entry-readmore { margin-top: 18px !important; }
#index-am2-featured .t-entry-readmore .btn, #index-am-blog .t-entry-readmore .btn, #index-am-more .t-entry-readmore .btn { font-family: var(--edda-sans); font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase; color: var(--edda-royal) !important; }
#index-am2-featured .t-entry-readmore .btn::after, #index-am-blog .t-entry-readmore .btn::after, #index-am-more .t-entry-readmore .btn::after { content: "\2192"; display: inline-block; margin-left: 8px; transition: transform 0.2s ease; }
#index-am2-featured .t-entry-readmore .btn:hover::after, #index-am-blog .t-entry-readmore .btn:hover::after, #index-am-more .t-entry-readmore .btn:hover::after { transform: translateX(3px); }

/* ---------- Homepage Articles: featured card ---------- */
#index-am2-featured .t-inside { border-radius: 8px; overflow: hidden; }
#index-am2-featured .t-entry-text-tc { padding: 36px 40px 32px !important; }
#index-am2-featured .t-entry-meta::before { content: "Featured"; display: inline-block; margin-right: 14px; padding: 7px 12px 8px; border-radius: 999px; background: var(--edda-royal); font-family: var(--edda-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1; color: #fff; vertical-align: middle; }
#index-am2-featured .t-entry-category a { color: var(--am-grey) !important; font-size: 11px; }
#index-am2-featured .t-entry-title { font-size: clamp(26px, 2.5vw, 32px) !important; line-height: 1.08 !important; margin: 0 !important; }
#index-am2-featured .t-entry-title a { color: var(--am-ink) !important; }
#index-am2-featured .t-entry-title a:hover { color: var(--edda-royal) !important; }
#index-am2-featured .t-entry-excerpt p { margin: 18px 0 0 !important; font-size: 17px; line-height: 1.5; color: var(--am-body) !important; }
#index-am2-featured .spacer { display: none; }

/* ---------- Homepage Articles: title rows ---------- */
#index-am2-list .tmb .t-inside { border-top: 1px solid rgba(255,255,255,0.3); }
#index-am2-list .t-entry-text-tc { padding: 22px 0 !important; }
#index-am2-list .t-entry { position: relative; padding-right: 44px; }
#index-am2-list .t-entry::after { content: ""; position: absolute; right: 0; top: 4px; width: 18px; height: 18px; background-color: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; pointer-events: none; }
#index-am2-list .t-entry-title { font-size: clamp(21px, 1.9vw, 24px) !important; line-height: 1.15 !important; margin: 0 0 8px !important; }
#index-am2-list .t-entry-title a { color: #fff !important; }
#index-am2-list .t-entry-title a:hover { color: var(--edda-saffron) !important; }
#index-am2-list .t-entry-meta { display: inline; margin: 0 !important; }
#index-am2-list .t-entry-category a, #index-am2-list .t-entry-date { color: var(--edda-sky) !important; font-size: 13px; letter-spacing: 0.1em; }
#index-am2-list .t-entry-meta + .t-entry-meta::before { content: "\00B7"; margin: 0 8px; color: var(--edda-sky); font-weight: 700; }

/* ---------- Blog page and "More articles": image cards ---------- */
#index-am-blog .t-entry-visual, #index-am-more .t-entry-visual { border-radius: 8px; overflow: hidden; }
#index-am-blog .t-entry-text-tc, #index-am-more .t-entry-text-tc { padding: 18px 0 0 !important; }
#index-am-blog .t-entry-category a, #index-am-more .t-entry-category a { color: var(--edda-royal) !important; font-size: 11px; }
#index-am-blog .t-entry-title, #index-am-more .t-entry-title { font-size: clamp(23px, 2.1vw, 27px) !important; line-height: 1.12 !important; margin: 0 !important; }
#index-am-blog .t-entry-title a, #index-am-more .t-entry-title a { color: var(--am-ink) !important; }
#index-am-blog .t-entry-title a:hover, #index-am-more .t-entry-title a:hover { color: var(--edda-royal) !important; }
#index-am-blog .t-entry-excerpt p { margin: 14px 0 0 !important; font-size: 16px; line-height: 1.5; color: var(--am-grey) !important; }

/* Blog page, first page only: the newest post becomes the wide lead card */
@media (min-width: 960px) {
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child { grid-column: 1 / -1; margin-bottom: 28px; padding-bottom: 56px; border-bottom: 1px solid var(--edda-pale); }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-inside { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); background: #fff; border-radius: 12px; overflow: hidden; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-visual { border-radius: 0; height: 100%; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-visual * { height: 100%; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-visual img { object-fit: cover; width: 100%; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-text { display: flex; align-items: center; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-text-tc { padding: 44px 44px 40px !important; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-title { font-size: clamp(30px, 3vw, 38px) !important; line-height: 1.06 !important; }
	body.blog:not(.paged) #index-am-blog .cssgrid-container > .tmb:first-child .t-entry-excerpt p { font-size: 17px; }
}

/* ---------- Single post ---------- */
body.single-post article.page-body, body.single-post .post-wrapper { background-color: var(--edda-cream) !important; }
body.single-post .post-content > .row-container > .row-parent { display: flex; flex-direction: column; color: var(--am-body); padding-top: clamp(40px, 5vw, 64px) !important; padding-bottom: clamp(56px, 6.9vw, 88px) !important; }
body.single-post .post-title-wrapper { order: -1; display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0 auto clamp(36px, 4.4vw, 56px); max-width: 980px; }
body.single-post .post-title { order: 2; font-family: var(--edda-serif); font-weight: 400; font-size: clamp(38px, 5vw, 64px) !important; line-height: 1.02 !important; letter-spacing: -0.01em; color: var(--am-ink) !important; margin: 0 !important; }
body.single-post .post-info { display: contents; }
body.single-post .post-info > div > span { display: none; }
body.single-post .post-info .category-info { order: 1; font-size: 0; margin: 0 0 22px; }
body.single-post .post-info .category-info a { font-family: var(--edda-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edda-royal) !important; }
body.single-post .post-info .author-info { order: 3; margin: 22px 0 0; font-size: 17px; color: var(--am-grey); }
body.single-post .post-info .author-info a { color: var(--am-grey) !important; }
body.single-post .post-info .date-info { order: 4; margin: 4px 0 0; font-size: 15px; color: var(--am-grey); }
body.single-post .post-media { margin: 0 0 clamp(40px, 5vw, 64px) !important; border-radius: 12px; overflow: hidden; }
body.single-post .post-media .dummy { padding-top: 46% !important; }
body.single-post .post-media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: center 30%; }
/* The text column: everything typed in the editor */
body.single-post .post-content > .row-container > .row-parent > *:not(.post-media):not(.post-title-wrapper) { width: 100%; max-width: 760px; margin-left: auto; margin-right: auto; }
body.single-post .post-content > .row-container > .row-parent > p, body.single-post .post-content li { font-family: var(--edda-sans); font-size: 19px; line-height: 1.6; color: var(--am-body); }
body.single-post .post-content > .row-container > .row-parent > p { margin-top: 24px; }
body.single-post .post-title-wrapper + p { margin-top: 0 !important; font-size: clamp(20px, 1.9vw, 24px) !important; line-height: 1.42 !important; color: var(--am-ink) !important; }
body.single-post .post-content h2, body.single-post .post-content h3 { font-family: var(--edda-serif); font-weight: 400; color: var(--am-ink); margin-top: 40px; }
body.single-post .post-content h2 { font-size: clamp(28px, 2.7vw, 34px); line-height: 1.1; }
body.single-post .post-content h3 { font-size: clamp(23px, 2.1vw, 27px); line-height: 1.15; }
body.single-post .post-content blockquote { margin-top: 36px; margin-bottom: 12px; padding: 0 0 0 28px; border-left: 3px solid var(--edda-saffron); }
body.single-post .post-content blockquote p { font-family: var(--edda-serif); font-style: italic; font-size: clamp(26px, 2.7vw, 34px); line-height: 1.15; color: var(--edda-royal); margin: 0; }
body.single-post .post-content blockquote cite { display: block; margin-top: 12px; font-family: var(--edda-sans); font-style: normal; font-size: 15px; color: var(--am-grey); }
body.single-post .post-content figure { margin-top: 36px; margin-bottom: 4px; }
body.single-post .post-content figure img { display: block; width: 100%; height: auto; border-radius: 8px; }
body.single-post .post-content figcaption { margin-top: 12px; font-size: 15px; color: var(--am-grey); text-align: left; }
body.single-post .post-content > .row-container p a:not(.btn) { color: var(--edda-royal); text-decoration: underline; text-underline-offset: 3px; }
body.single-post .post-content .wp-block-button__link, body.single-post .post-content > .row-container p a.btn { display: inline-block; padding: 15px 26px 16px; border-radius: 999px; background: var(--edda-royal); color: #fff !important; font-family: var(--edda-sans); font-size: 16px; font-weight: 600; line-height: 1; text-decoration: none; }
body.single-post .post-content .wp-block-button__link:hover { background: var(--edda-cobalt); }
body.single-post .post-content .wp-block-buttons, body.single-post .post-content .wp-block-button { margin-top: 32px; }
/* "More articles" block after every post */
body.single-post .am-more-articles > .row-parent { border-top: 1px solid var(--edda-pale); padding-top: 56px !important; }
#index-am2-list .t-entry-date, #index-am2-list .t-entry-category { display: inline !important; }
#index-am2-list .tmb:last-child .t-inside { border-bottom: 1px solid rgba(255,255,255,0.3); }
body.single-post .post-info .author-info, body.single-post .post-info .date-info { text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; font-family: var(--edda-sans); }

/* Publications: tighter line height on the detail text under each title */
.am-pub-detail p { line-height: 1.4 !important; }
/* Publications carousel runs off the right edge of the window */
#publications { overflow: hidden; }

/* Homepage Articles: the featured card always matches the height of the list beside it */
@media (min-width: 960px) {
	.am-articles-row .wpb_column:first-child > .uncol, .am-articles-row .wpb_column:first-child > .uncol > .uncoltable { height: 100%; }
	.am-articles-row .wpb_column:first-child .uncell { height: 100%; vertical-align: top; }
	.am-articles-row .wpb_column:first-child .uncont, #index-am2-featured, #index-am2-featured .cssgrid-wrapper, #index-am2-featured .cssgrid-container, #index-am2-featured .tmb, #index-am2-featured .t-inside { height: 100%; }
	#index-am2-featured .t-inside { display: flex; flex-direction: column; justify-content: center; }
}

/* Highlights: the slider keeps the height of its tallest slide (Uncode would resize it per slide),
   so the box never changes size and each text sits in the vertical middle (slider setting: Items vertical alignment = Middle) */
#highlights .owl-stage-outer.owl-height { height: auto !important; }
/* Contact: the three Uncode buttons */
.am-contact-buttons .btn { text-transform: none !important; letter-spacing: 0 !important; font-size: 17px !important; font-weight: 500 !important; border: 1px solid #3A3637 !important; }
.am-contact-buttons .btn, .am-contact-buttons .btn i { transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
/* Rollover is the inverse: white button, dark text and icon */
.am-contact-buttons a.btn.btn.btn.btn.btn.btn:hover, .am-contact-buttons a.btn.btn.btn.btn.btn.btn:focus-visible { background-color: #fff !important; border-color: #fff !important; color: #231F20 !important; }
.am-contact-buttons a.btn.btn.btn.btn.btn.btn:hover i, .am-contact-buttons a.btn.btn.btn.btn.btn.btn:focus-visible i { color: #231F20 !important; }

/* Homepage featured card: featured image on top, fills the height left over by the list */
#index-am2-featured .t-entry-visual { border-radius: 0; }
#index-am2-featured .t-entry-visual-overlay { display: none; }
@media (min-width: 960px) {
	#index-am2-featured .t-inside { justify-content: flex-start !important; }
	#index-am2-featured .t-entry-visual { flex: 1 1 0; min-height: 260px; position: relative; }
	#index-am2-featured .t-entry-visual-tc, #index-am2-featured .t-entry-visual-cont, #index-am2-featured .t-entry-visual-cont > a { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
	#index-am2-featured .t-entry-visual .dummy { display: none; }
	#index-am2-featured .t-entry-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
	#index-am2-featured .t-entry-text { flex: 0 0 auto; }
}
#index-am2-featured .t-inside { border: 0 !important; }

/* Afacad Flux has a slant axis; pin it upright (iPhone Safari leaned the sans text backwards) */
* { font-variation-settings: "slnt" 0; }

/* ---- v2 page: light intro (cream hero, biography, image cards) ---- */
.am-hero-light h1 em { color: var(--edda-royal); }
/* Dark header text while the menu sits over the cream hero; reverts to the midnight bar once it sticks */
@media (min-width: 960px) {
	body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container { box-shadow: inset 0 -1px 0 rgba(35,31,32,0.12); }
	body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container a, body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .text-logo, body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .mobile-menu-button { color: #231F20 !important; }
	body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .menu-btn-container .btn { border-color: rgba(35,31,32,0.45) !important; color: #231F20 !important; }
	body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .lines, body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .lines::before, body:has(.am-hero-light) .navbar:not(.is_stuck) .menu-container .lines::after { background: #231F20 !important; }
}
/* Image cards (column class am-card-img): the column's background image sits in a box at the top of the card and the column's gradient overlay fades it into the card colour */
.am-card-img .column-background .background-inner, .am-card-img .column-background .block-bg-overlay { bottom: auto !important; height: 0 !important; padding-bottom: 72%; }
.am-card-img .column-background .background-inner { background-size: cover !important; background-position: center !important; }
.am-card-img .am-card-gap { --custom-height: 0px !important; height: 0 !important; padding-bottom: calc(72% - 44px); }
.am-card-img .am-card-gap .empty-space-inner { display: none; }

/* Publications carousel on phones and tablets: every card as tall as the tallest, link pinned to the bottom */
@media (max-width: 959px) {
	#slider-am2-pubs .owl-item, #slider-am2-pubs .owl-item > .cs-container, #slider-am2-pubs .owl-item .row-container, #slider-am2-pubs .owl-item .row-child, #slider-am2-pubs .owl-item .row-inner, #slider-am2-pubs .owl-item .wpb_column, #slider-am2-pubs .owl-item .uncol { display: flex !important; flex-direction: column; flex: 1 1 auto; width: 100%; }
	#slider-am2-pubs .owl-item .uncoltable { display: flex !important; flex: 1 1 auto; width: 100%; }
	#slider-am2-pubs .owl-item .uncell { display: flex !important; flex-direction: column; flex: 1 1 auto; width: 100%; }
	#slider-am2-pubs .owl-item .uncell > .uncont { display: flex; flex-direction: column; flex: 1 1 auto; }
	#slider-am2-pubs .owl-item .uncont > :last-child { margin-top: auto !important; }
}

/* Press and Media marquee row: stop the edge-to-edge strip from widening the page */
.am-press-row { overflow: hidden; }

/* ==========================================================================
   HEADING SCALE (Heading module > Text size > H1 … H6)
   One place for the size of every heading type on the site. Change a value
   here and every heading of that level follows. Font, weight, line height,
   colour and alignment stay as settings on each module / column.
   ========================================================================== */
.heading-text > .h1 { font-size: clamp(64px, 9.7vw, 124px); }  /* H1  Display: the name in the hero */
.heading-text > .h2 { font-size: clamp(40px, 4.6vw, 60px); }   /* H2  Section titles: Biography, Highlights, Articles … */
.heading-text > .h3 { font-size: clamp(28px, 2.8vw, 36px); }   /* H3  Card titles: Experience, Mentorship, Expression */
.heading-text > .h4 { font-size: clamp(23px, 2.1vw, 27px); }   /* H4  Small titles: publication cards */
.heading-text > .h5 { font-size: clamp(19px, 1.9vw, 24px); }   /* H5  Lead text: hero line, biography, highlights */
.heading-text > .h6 { font-size: 13px; }                       /* H6  Subtitles above section titles (uppercase labels) */

/* Talks carousel: a clearer play button (dark disc behind the triangle; saffron on hover) */
#gallery-am2-talks .t-overlay-icon { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 76px; height: 76px; padding-left: 5px; border-radius: 50%; background: rgba(3, 13, 42, 0.72); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35); color: #fff; font-size: 24px; line-height: 1; transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease; }
#gallery-am2-talks .tmb:hover .t-overlay-icon { background: #FBBC04; color: #030D2A; transform: scale(1.06); }

/* Link that opens another site in a new tab (class am-ext on the link): underlined, with the same arrow as the Articles list */
.am-ext { color: var(--edda-royal) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; white-space: nowrap; }
.am-ext:hover { color: var(--edda-cobalt) !important; }
.am-ext::after { content: ""; display: inline-block; width: 0.62em; height: 0.62em; margin-left: 0.22em; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; }
.heading-text a.am-ext.am-ext, .heading-text a.am-ext.am-ext:visited { color: var(--edda-royal) !important; }
.heading-text a.am-ext.am-ext:hover { color: var(--edda-cobalt) !important; }
