/*
Theme Name: Agyedin
Theme URI: https://agyedin.com/
Description: A directory of Ghana's public figures. Presentation layer for the Nsemwokrom Authority Engine.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
Requires Plugins: nsemwokrom-authority-engine
Author: Nsemwokrom
License: GPL-2.0-or-later
Text Domain: agyedin
*/

/* ==========================================================================
   Self-hosted fonts — woff2 files go in assets/fonts/
   ========================================================================== */

@font-face {
	font-family: 'Fraunces';
	src: url('assets/fonts/fraunces-variable.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Fraunces';
	src: url('assets/fonts/fraunces-italic-variable.woff2') format('woff2');
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Source Sans 3';
	src: url('assets/fonts/source-sans-3-variable.woff2') format('woff2');
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Source Sans 3';
	src: url('assets/fonts/source-sans-3-italic-variable.woff2') format('woff2');
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
}

/* WebP <picture> wrappers must not affect layout (img keeps all styling). */
picture { display: contents; }

/* ==========================================================================
   Design tokens
   ========================================================================== */

:root {
	/* Color */
	--ag-ink:        #0F1A0C;   /* near-black, green-tinted */
	--ag-paper:      #FFFFFF;
	--ag-surface:    #FFFFFF;
	--ag-forest:     #1C3829;   /* deep Ghana green — header, hero, footer */
	--ag-gold:       #C8920A;   /* rich Akan gold */
	--ag-gold-light: #EDBC4A;   /* gold on dark backgrounds */
	--ag-gold-soft:  #FDF3D7;
	--ag-muted:      #5C5040;
	--ag-line:       rgba(15, 26, 12, 0.10);
	--ag-danger:     #8B1F1F;

	/* Typography */
	--ag-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--ag-sans:  "Source Sans 3", system-ui, -apple-system, sans-serif;

	/* Type scale */
	--ag-step--1: 0.875rem;
	--ag-step-0:  1rem;
	--ag-step-1:  1.25rem;
	--ag-step-2:  1.6rem;
	--ag-step-3:  2.1rem;
	--ag-step-4:  2.9rem;

	/* Layout */
	--ag-radius:    10px;
	--ag-radius-lg: 16px;
	--ag-maxw:      1180px;
	--ag-readw:     68ch;
	--ag-gap:       clamp(1rem, 2.5vw, 2rem);

	/* Elevation — one shared shadow ramp so every surface lifts consistently */
	--ag-shadow-sm: 0 1px 2px rgba(15, 26, 12, 0.05), 0 1px 3px rgba(15, 26, 12, 0.06);
	--ag-shadow-md: 0 6px 18px rgba(28, 56, 41, 0.10);
	--ag-shadow-lg: 0 18px 48px rgba(28, 56, 41, 0.16);

	/* Motion — single easing + duration so hovers feel like one system */
	--ag-ease:     cubic-bezier(0.2, 0.7, 0.2, 1);
	--ag-speed:    0.18s;
}

/* Dark mode — only darken forest areas (header/hero/footer); keep content white */
@media (prefers-color-scheme: dark) {
	:root {
		--ag-forest:     #0F2118;
		--ag-gold:       #D4A930;
		--ag-gold-light: #EFC850;
	}
}

/* ==========================================================================
   Base reset
   ========================================================================== */

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

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--ag-paper);
	color: var(--ag-ink);
	font-family: var(--ag-sans);
	font-size: var(--ag-step-0);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--ag-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

a:hover {
	text-decoration: none;
}

a:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 3px;
	border-radius: 2px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ag-serif);
	font-weight: 600;
	line-height: 1.2;
	margin-top: 0;
}

/* ==========================================================================
   Layout utilities
   ========================================================================== */

.ag-container {
	max-width: var(--ag-maxw);
	margin-inline: auto;
	padding-inline: var(--ag-gap);
}

/* Skip link */
.ag-skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	background: var(--ag-gold);
	color: var(--ag-surface);
	padding: 0.5rem 1rem;
	border-radius: var(--ag-radius);
	font-size: var(--ag-step--1);
	text-decoration: none;
	transition: top 0.1s;
}

.ag-skip-link:focus {
	top: 1rem;
	outline: 2px solid var(--ag-ink);
	outline-offset: 2px;
}

/* Screen-reader only */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* ==========================================================================
   Wordmark
   ========================================================================== */

.ag-wordmark {
	font-family: var(--ag-serif);
	font-size: clamp(1.6rem, 6vw, var(--ag-step-4));
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--ag-gold-light);
	text-decoration: none;
	line-height: 1;
}

.ag-wordmark:hover {
	color: #FFFFFF;
}

/* ==========================================================================
   Initials avatar (fallback when no portrait thumbnail)
   ========================================================================== */

.ag-initials-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--ag-gold-soft);
	color: var(--ag-gold);
	font-family: var(--ag-serif);
	font-size: var(--ag-step-3);
	font-weight: 600;
	border-radius: var(--ag-radius);
	flex-shrink: 0;
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   Site header
   ========================================================================== */

.ag-site-header {
	background: var(--ag-forest);
	border-bottom: 2px solid rgba(200, 146, 10, 0.35);
	padding-block: 0.875rem;
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 24px rgba(0, 0, 0, 0.28);
}

.ag-site-header__inner {
	display: flex;
	align-items: center;
	gap: var(--ag-gap);
}

.ag-nav {
	margin-left: auto;
	margin-right: 0.75rem;
}

.ag-nav ul {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ag-nav a {
	position: relative;
	font-size: var(--ag-step--1);
	color: rgba(221, 232, 222, 0.78);
	text-decoration: none;
	font-weight: 500;
	padding-block: 0.25rem;
	transition: color var(--ag-speed) var(--ag-ease);
}

.ag-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--ag-gold-light);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--ag-speed) var(--ag-ease);
}

.ag-nav a:hover,
.ag-nav .current-menu-item > a,
.ag-nav .current-menu-ancestor > a {
	color: var(--ag-gold-light);
}

.ag-nav a:hover::after,
.ag-nav .current-menu-item > a::after,
.ag-nav .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

/* ==========================================================================
   Search form
   ========================================================================== */

.ag-searchform {
	display: flex;
	gap: 0.375rem;
}

.ag-searchform__input {
	font-family: var(--ag-sans);
	font-size: var(--ag-step--1);
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius);
	background: var(--ag-paper);
	color: var(--ag-ink);
	min-width: 0;
	flex: 1;
	width: 180px;
}

.ag-searchform__input:focus {
	outline: 2px solid var(--ag-gold);
	outline-offset: 1px;
}

.ag-searchform__input::placeholder {
	color: var(--ag-muted);
}

.ag-searchform__btn {
	font-family: var(--ag-sans);
	font-size: var(--ag-step--1);
	padding: 0.4rem 0.85rem;
	background: var(--ag-gold);
	color: var(--ag-surface);
	border: none;
	border-radius: var(--ag-radius);
	cursor: pointer;
	white-space: nowrap;
	font-weight: 500;
	line-height: 1;
}

.ag-searchform__btn:hover {
	filter: brightness(0.88);
}

.ag-searchform__btn:focus-visible {
	outline: 2px solid var(--ag-ink);
	outline-offset: 2px;
}

/* Header search — always on dark forest background */
.ag-header-search .ag-searchform__input {
	background: rgba(255, 255, 255, 0.10);
	color: rgba(221, 232, 222, 0.92);
	border-color: rgba(255, 255, 255, 0.18);
}

.ag-header-search .ag-searchform__input::placeholder {
	color: rgba(221, 232, 222, 0.38);
}

.ag-header-search .ag-searchform__input:focus {
	outline-color: var(--ag-gold-light);
	background: rgba(255, 255, 255, 0.15);
}

.ag-header-search .ag-searchform__btn {
	background: var(--ag-gold);
	color: var(--ag-forest);
}

/* Header — wrap onto rows so nothing overflows narrow screens */
@media (max-width: 768px) {
	.ag-site-header__inner {
		flex-wrap: wrap;
		row-gap: 0.65rem;
	}

	.ag-nav {
		margin-right: 0;
	}

	.ag-nav ul {
		flex-wrap: wrap;
		gap: 0.75rem 1.1rem;
	}

	/* Search drops to its own full-width row beneath the wordmark + nav */
	.ag-header-search {
		order: 3;
		flex-basis: 100%;
	}

	.ag-header-search .ag-search {
		width: 100%;
	}

	.ag-header-search .ag-searchform {
		width: 100%;
	}
}

/* ==========================================================================
   Site footer
   ========================================================================== */

.ag-site-footer {
	background: var(--ag-forest);
	color: #D9E6DC;
	margin-top: 4rem;
	padding-block: 3rem 2rem;
}

.ag-site-footer__brand {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-2);
	font-weight: 600;
	color: var(--ag-gold-light);
	margin: 0 0 0.2rem;
	letter-spacing: 0.01em;
}

.ag-site-footer__tagline {
	font-style: italic;
	color: rgba(217, 230, 220, 0.5);
	margin: 0 0 1.5rem;
	font-size: var(--ag-step--1);
}

.ag-footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.ag-footer-nav a {
	font-size: var(--ag-step--1);
	color: rgba(217, 230, 220, 0.65);
	text-decoration: none;
}

.ag-footer-nav a:hover {
	color: var(--ag-gold-light);
}

.ag-site-footer__copy {
	font-size: var(--ag-step--1);
	color: rgba(217, 230, 220, 0.38);
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding-top: 1.5rem;
	margin: 0;
}

/* ==========================================================================
   Person type pills (shared)
   ========================================================================== */

.ag-type-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.ag-type-pill {
	display: inline-block;
	background: var(--ag-gold-soft);
	color: var(--ag-gold);
	font-size: var(--ag-step--1);
	font-weight: 500;
	padding: 0.2rem 0.65rem;
	border-radius: 99px;
	text-decoration: none;
	border: 1px solid rgba(166, 121, 30, 0.2);
	line-height: 1.4;
}

.ag-type-pill:hover {
	background: var(--ag-gold);
	color: var(--ag-surface);
}

/* ==========================================================================
   Person cover / identity header
   ========================================================================== */

.ag-person-cover {
	background: var(--ag-surface);
	border-bottom: 1px solid var(--ag-line);
	padding-block: 2.5rem;
}

.ag-person-cover__inner {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

.ag-person-photo {
	flex-shrink: 0;
}

.ag-person-photo .ag-initials-avatar {
	width: 160px;
	height: 200px;
	border-radius: var(--ag-radius);
	font-size: var(--ag-step-3);
}

.ag-person-photo__img {
	width: 160px;
	height: 200px;
	border-radius: var(--ag-radius);
	object-fit: cover;
	display: block;
}

.ag-person-identity {
	flex: 1;
	min-width: 0;
	padding-top: 0.25rem;
}

.ag-person-name {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-3);
	font-weight: 700;
	margin: 0 0 0.2rem;
	line-height: 1.15;
}

.ag-person-fullname {
	font-size: var(--ag-step-0);
	color: var(--ag-muted);
	margin: 0 0 0.75rem;
}

.ag-person-tagline {
	color: var(--ag-muted);
	font-size: var(--ag-step--1);
	margin: 0.6rem 0 0;
}

/* ==========================================================================
   Social row
   ========================================================================== */

.ag-social-row {
	background: var(--ag-paper);
	border-bottom: 1px solid var(--ag-line);
	padding-block: 0.625rem;
}

.ag-social-row .ag-container {
	display: flex;
	gap: 0.25rem;
	align-items: center;
	flex-wrap: wrap;
}

.ag-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: var(--ag-radius);
	color: var(--ag-muted);
	text-decoration: none;
	transition: color 0.15s, background 0.15s;
}

.ag-social-link:hover {
	color: var(--ag-gold);
	background: var(--ag-gold-soft);
}

.ag-social-link:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

.ag-social-link svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	display: block;
}

/* ==========================================================================
   Person body layout (facts sidebar + biography, two-col on desktop)
   ========================================================================== */

.ag-person-layout {
	display: grid;
	gap: var(--ag-gap);
	align-items: start;
	padding-block: 2.5rem;
}

@media (min-width: 1024px) {
	.ag-person-layout {
		grid-template-columns: 300px 1fr;
	}

	.ag-person-sidebar {
		position: sticky;
		top: 5.5rem;
	}
}

/* Quick facts — self-contained dark profile card (brand forest + gold) */
.ag-facts-card {
	background: linear-gradient(165deg, #1F3D2C 0%, #16301F 60%, #112619 100%);
	border: 1px solid rgba(237, 188, 74, 0.22);
	border-radius: var(--ag-radius-lg);
	padding: 1.4rem 1.5rem 1.6rem;
	color: #DDE8DE;
	box-shadow: var(--ag-shadow-md);
}

.ag-facts-card__name {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-1);
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
	margin: 0 0 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	line-height: 1.2;
}

.ag-facts-card__verified {
	display: inline-flex;
	width: 1.05em;
	height: 1.05em;
	flex-shrink: 0;
}

.ag-facts-card__verified svg {
	width: 100%;
	height: 100%;
	display: block;
}

.ag-facts-card__verified svg circle {
	fill: #1D9BF0;
}

.ag-facts-card__verified-check {
	fill: none;
	stroke: #FFFFFF;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ag-facts-card__photo {
	aspect-ratio: 3 / 4;
	border-radius: var(--ag-radius);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.06);
	margin: 0 0 0.9rem;
}

.ag-facts-card__photo img,
.ag-facts-card__photo .ag-initials-avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.ag-facts-card__role {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-1);
	text-align: center;
	color: var(--ag-gold-light);
	margin: 0 0 1.2rem;
}

.ag-facts {
	display: grid;
	gap: 0.55rem;
	margin: 0;
}

.ag-facts__row {
	display: grid;
	grid-template-columns: minmax(6rem, auto) 1fr;
	gap: 0.15rem 1rem;
	align-items: baseline;
}

.ag-facts dt {
	font-size: var(--ag-step--1);
	font-weight: 700;
	color: #FFFFFF;
	white-space: nowrap;
}

.ag-facts dt::after {
	content: ":";
}

.ag-facts dd {
	font-size: var(--ag-step--1);
	margin: 0;
	color: rgba(221, 232, 222, 0.82);
}

.ag-facts__accent {
	color: var(--ag-gold-light);
	font-weight: 600;
}

.ag-facts__row--social {
	align-items: center;
	margin-top: 0.2rem;
}

.ag-facts__social {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.ag-facts__social-link.ag-social-link {
	width: 1.9rem;
	height: 1.9rem;
	color: #FFFFFF;
	border-radius: var(--ag-radius);
}

.ag-facts__social-link.ag-social-link:hover {
	color: var(--ag-forest);
	background: var(--ag-gold-light);
}

/* ==========================================================================
   FAQ accordion (profile)
   ========================================================================== */

.ag-faq {
	margin-top: 2.5rem;
	max-width: var(--ag-readw);
}

.ag-faq__list {
	display: grid;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.ag-faq__item {
	border: 1px solid var(--agd-line, var(--ag-line));
	border-radius: var(--ag-radius);
	background: var(--agd-card, var(--ag-surface));
	overflow: hidden;
	transition: border-color 0.15s ease;
}

.ag-faq__q {
	cursor: pointer;
	padding: 0.9rem 1.1rem;
	font-family: var(--ag-serif);
	font-weight: 600;
	font-size: var(--ag-step-0);
	color: var(--agd-ink, var(--ag-ink));
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	line-height: 1.4;
}

.ag-faq__q::-webkit-details-marker {
	display: none;
}

.ag-faq__q::after {
	content: "+";
	color: var(--ag-gold);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
	flex-shrink: 0;
}

.ag-faq__item[open] .ag-faq__q::after {
	content: "\2013";
}

.ag-faq__q:hover,
.ag-faq__q:focus {
	background: rgba(0, 0, 0, 0.03);
	outline: none;
}

.ag-faq__a {
	padding: 0 1.1rem 1rem;
	color: var(--agd-muted, var(--ag-muted));
	line-height: 1.7;
}

.ag-faq__a p {
	margin: 0;
}

/* Dark mode — html.agd-dark class (Agyedin theme toggle) */
html.agd-dark .ag-faq__item {
	background: var(--agd-card);
	border-color: var(--agd-line);
}

html.agd-dark .ag-faq__q {
	color: var(--agd-ink);
}

html.agd-dark .ag-faq__q::after {
	color: var(--agd-gold, #E2A618);
}

html.agd-dark .ag-faq__q:hover,
html.agd-dark .ag-faq__q:focus {
	background: rgba(255, 255, 255, 0.05);
}

html.agd-dark .ag-faq__a {
	color: var(--agd-muted);
}

/* ==========================================================================
   Biography prose
   ========================================================================== */

.ag-biography {
	max-width: var(--ag-readw);
	line-height: 1.7;
}

.ag-biography h1,
.ag-biography h2,
.ag-biography h3,
.ag-biography h4,
.ag-biography h5,
.ag-biography h6 {
	font-family: var(--ag-serif);
	margin-top: 1.75em;
}

.ag-biography p {
	margin-block: 0 1em;
}

.ag-biography a {
	text-decoration-thickness: 1px;
}

/* ==========================================================================
   Awards & honours
   ========================================================================== */

.ag-awards {
	margin-top: 2.5rem;
	max-width: var(--ag-readw);
}

.ag-awards__heading {
	font-size: var(--ag-step-2);
	margin-bottom: 1rem;
}

.ag-awards__list {
	padding-left: 1.25rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

/* ==========================================================================
   People Also Search For + related grids
   ========================================================================== */

.ag-related {
	margin-top: 3rem;
}

.ag-section-heading {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-2);
	font-weight: 600;
	margin: 0 0 1.25rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--ag-gold);
	display: inline-block;
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-section-heading {
		color: var(--ag-ink);
	}
}

.ag-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr));
	gap: 1rem;
}

/* ==========================================================================
   Person card (archive, front page, related grids)
   ========================================================================== */

.ag-person-card {
	display: block;
	background: var(--ag-surface);
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: var(--ag-ink);
	box-shadow: var(--ag-shadow-sm);
	transition: border-color var(--ag-speed) var(--ag-ease),
		box-shadow var(--ag-speed) var(--ag-ease),
		transform var(--ag-speed) var(--ag-ease);
}

.ag-person-card:hover {
	border-color: var(--ag-forest);
	box-shadow: var(--ag-shadow-lg);
	transform: translateY(-3px);
	color: var(--ag-ink);
}

@media (prefers-color-scheme: dark) {
	.ag-person-card:hover {
		border-color: var(--ag-gold);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	}
}

.ag-person-card:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

.ag-person-card__img-wrap {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--ag-gold-soft);
	position: relative;
}

.ag-person-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ag-person-card__initials {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ag-serif);
	font-size: clamp(2.6rem, 7vw, 3.6rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--ag-gold-light);
	background: radial-gradient(circle at 50% 38%, #234733 0%, #1C3829 55%, #122618 100%);
}

.ag-person-card__body {
	padding: 1rem 1.1rem 1.1rem;
}

.ag-person-card__name {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-1);
	font-weight: 700;
	margin: 0 0 0.3rem;
	line-height: 1.2;
	color: var(--ag-ink);
}

.ag-person-card:hover .ag-person-card__name {
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-person-card:hover .ag-person-card__name {
		color: var(--ag-gold);
	}
}

.ag-person-card__occupation {
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
	margin: 0 0 0.6rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ag-person-card__pill {
	display: inline-block;
	background: var(--ag-gold-soft);
	color: var(--ag-gold);
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.2rem 0.65rem;
	border-radius: 99px;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

/* ==========================================================================
   Latest news list
   ========================================================================== */

.ag-news {
	margin-top: 3rem;
}

.ag-news-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ag-news-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--ag-line);
}

.ag-news-item a {
	color: var(--ag-ink);
	text-underline-offset: 2px;
}

.ag-news-item a:hover {
	color: var(--ag-gold);
}

.ag-news-item time {
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
	white-space: nowrap;
	flex-shrink: 0;
}

/* ==========================================================================
   Mobile adjustments
   ========================================================================== */

@media (max-width: 640px) {
	.ag-person-cover__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.ag-person-identity {
		padding-top: 0;
	}

	.ag-type-pills {
		justify-content: center;
	}

	.ag-social-row .ag-container {
		justify-content: center;
	}

	.ag-searchform__input {
		width: 140px;
	}
}

/* ==========================================================================
   Hero (front page)
   ========================================================================== */

.ag-hero {
	background: var(--ag-forest);
	padding-block: 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

/* Subtle radial gold glow — like a lamp behind the wordmark */
.ag-hero::before {
	content: '';
	position: absolute;
	top: -40%;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	padding-bottom: 90%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 146, 10, 0.22) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.ag-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	padding-block: 4.5rem 4rem;
	position: relative;
	z-index: 1;
}

.ag-hero__wordmark {
	font-family: var(--ag-serif);
	font-size: clamp(3rem, 8vw, 5.5rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	margin: 0;
	color: var(--ag-gold-light);
	line-height: 1;
	text-shadow: 0 2px 40px rgba(0, 0, 0, 0.4);
}

.ag-hero__tagline {
	font-size: var(--ag-step-1);
	color: rgba(221, 232, 222, 0.68);
	margin: 0;
	font-style: italic;
	letter-spacing: 0.01em;
}

.ag-hero__search {
	width: 100%;
	max-width: 520px;
	margin-top: 0.5rem;
}

.ag-hero__search .ag-search {
	width: 100%;
}

.ag-hero__search .ag-searchform {
	width: 100%;
	box-shadow: 0 10px 48px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.08);
	border-radius: var(--ag-radius);
	overflow: hidden;
}

.ag-hero__search .ag-searchform__input {
	font-size: var(--ag-step-0);
	padding: 0.875rem 1.25rem;
	width: auto;
	flex: 1;
	border: none;
	border-right: 1px solid rgba(15, 26, 12, 0.12);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.97);
	color: #0F1A0C;
}

.ag-hero__search .ag-searchform__input::placeholder {
	color: rgba(15, 26, 12, 0.38);
}

.ag-hero__search .ag-searchform__input:focus {
	outline-color: var(--ag-forest);
}

.ag-hero__search .ag-searchform__btn {
	font-size: var(--ag-step-0);
	padding: 0.875rem 1.625rem;
	border-radius: 0;
	background: var(--ag-gold);
	color: #FFFFFF;
	font-weight: 600;
}

.ag-hero__count {
	font-size: var(--ag-step--1);
	color: rgba(221, 232, 222, 0.48);
	margin: 0;
	letter-spacing: 0.04em;
}

.ag-hero__count strong {
	color: var(--ag-gold-light);
	font-weight: 700;
}

.ag-hero__rule {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--ag-gold-light) 20%, var(--ag-gold-light) 80%, transparent);
	opacity: 0.22;
}

/* ==========================================================================
   Section wrapper — alternating backgrounds for visual rhythm
   ========================================================================== */

.ag-section {
	padding-block: 3rem;
}

/* No hairline borders — backgrounds do the separating */
.ag-section + .ag-section {
	border-top: none;
}

.ag-browse-section    { background: #F7F8F7; }
.ag-trending-section  { background: #FFFFFF; }
.ag-directory-section { background: #F7F8F7; }

@media (prefers-color-scheme: dark) {
	.ag-browse-section    { background: var(--ag-paper); }
	.ag-trending-section  { background: var(--ag-surface); }
	.ag-directory-section { background: var(--ag-paper); }
}

.ag-section-title {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-2);
	font-weight: 700;
	margin: 0 0 1.5rem;
	padding-left: 1rem;
	border-left: 4px solid var(--ag-gold);
	line-height: 1.2;
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-section-title {
		color: var(--ag-ink);
	}
}

/* ==========================================================================
   Type filter chips (directory / archive top bars)
   ========================================================================== */

.ag-type-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block: 1.25rem 0;
}

.ag-type-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 1rem;
	background: var(--ag-surface);
	color: var(--ag-ink);
	border: 1.5px solid var(--ag-line);
	border-radius: 99px;
	font-size: var(--ag-step--1);
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
	letter-spacing: 0.01em;
}

.ag-type-chip:hover {
	border-color: var(--ag-forest);
	color: var(--ag-forest);
	background: var(--ag-gold-soft);
	box-shadow: 0 2px 8px rgba(28, 56, 41, 0.12);
}

.ag-type-chip.is-active {
	background: var(--ag-forest);
	color: #FFFFFF;
	border-color: var(--ag-forest);
	box-shadow: 0 2px 12px rgba(28, 56, 41, 0.28);
}

@media (prefers-color-scheme: dark) {
	.ag-type-chip:hover {
		border-color: var(--ag-gold);
		color: var(--ag-gold);
		background: var(--ag-gold-soft);
	}

	.ag-type-chip.is-active {
		background: var(--ag-gold);
		color: #0C1610;
		border-color: var(--ag-gold);
		box-shadow: 0 2px 12px rgba(212, 169, 48, 0.3);
	}
}

.ag-type-chip:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

.ag-type-chip__count {
	font-weight: 500;
	font-size: 0.8em;
	opacity: 0.75;
	background: rgba(0,0,0,0.08);
	padding: 0.1rem 0.4rem;
	border-radius: 99px;
}

.ag-type-chip.is-active .ag-type-chip__count {
	background: rgba(255,255,255,0.2);
	opacity: 1;
}

/* ==========================================================================
   A–Z jump bar
   ========================================================================== */

.ag-az-bar {
	margin-block: 1.25rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--ag-surface);
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius);
	padding: 0.5rem 0.625rem;
}

.ag-az-bar__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.ag-az-bar__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.875rem;
	height: 1.875rem;
	padding-inline: 0.2rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--ag-muted);
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid transparent;
	transition: color 0.1s, background 0.1s, border-color 0.1s;
	letter-spacing: 0.02em;
}

.ag-az-bar__link:hover {
	color: var(--ag-forest);
	background: var(--ag-gold-soft);
	border-color: rgba(200, 146, 10, 0.3);
}

.ag-az-bar__link.is-active {
	color: #FFFFFF;
	background: var(--ag-forest);
	border-color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-az-bar__link.is-active {
		background: var(--ag-gold);
		border-color: var(--ag-gold);
		color: #0C1610;
	}
}

.ag-az-bar__link:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

/* ==========================================================================
   Person grid (archive, front-page sections)
   ========================================================================== */

.ag-person-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

/* Sequential numbering for the front-page directory grid (renumbers with the
   A–Z filter since it follows DOM order). */
#ag-directory-grid {
	counter-reset: ag-card;
}

#ag-directory-grid .ag-person-card {
	counter-increment: ag-card;
}

#ag-directory-grid .ag-person-card__img-wrap::after {
	content: counter(ag-card);
	position: absolute;
	top: 0.55rem;
	left: 0.55rem;
	z-index: 1;
	min-width: 1.6rem;
	height: 1.6rem;
	padding: 0 0.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ag-forest);
	color: var(--ag-gold-light);
	font-family: var(--ag-sans);
	font-size: var(--ag-step--1);
	font-weight: 700;
	line-height: 1;
	border-radius: 99px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

/* ==========================================================================
   Archive / taxonomy page header
   ========================================================================== */

.ag-archive-header {
	padding-block: 2.5rem 1.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--ag-line);
}

.ag-archive-header__top {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

.ag-archive-title {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-3);
	font-weight: 700;
	margin: 0;
	padding-left: 1rem;
	border-left: 4px solid var(--ag-gold);
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-archive-title {
		color: var(--ag-ink);
	}
}

.ag-archive-count {
	font-size: var(--ag-step--1);
	margin: 0;
	background: var(--ag-gold-soft);
	color: var(--ag-gold);
	padding: 0.15rem 0.6rem;
	border-radius: 99px;
	font-weight: 600;
}

.ag-term-description {
	color: var(--ag-muted);
	font-size: var(--ag-step--1);
	margin: 0.25rem 0 0;
	max-width: var(--ag-readw);
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.ag-pagination,
.navigation.pagination {
	margin-top: 2.5rem;
	display: flex;
	justify-content: center;
}

.ag-pagination .nav-links,
.navigation.pagination .nav-links {
	display: flex;
	gap: 0.375rem;
	align-items: center;
	flex-wrap: wrap;
}

.ag-pagination .page-numbers,
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding-inline: 0.375rem;
	border-radius: var(--ag-radius);
	font-size: var(--ag-step--1);
	font-weight: 500;
	text-decoration: none;
	color: var(--ag-ink);
	border: 1px solid var(--ag-line);
	background: var(--ag-surface);
	transition: border-color 0.1s, background 0.1s;
}

.ag-pagination .page-numbers:hover,
.navigation.pagination .page-numbers:hover {
	border-color: var(--ag-gold);
	color: var(--ag-gold);
}

.ag-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current {
	background: var(--ag-forest);
	border-color: var(--ag-forest);
	color: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
	.ag-pagination .page-numbers.current,
	.navigation.pagination .page-numbers.current {
		background: var(--ag-gold);
		border-color: var(--ag-gold);
		color: #0C1610;
	}
}

.ag-pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* ==========================================================================
   Empty state
   ========================================================================== */

.ag-empty-state {
	padding-block: 3rem;
}

.ag-empty-msg {
	font-size: var(--ag-step-1);
	color: var(--ag-muted);
	margin: 0 0 1.5rem;
}

.ag-empty-sub {
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
	margin: -1rem 0 1.5rem;
}

/* ==========================================================================
   Search results
   ========================================================================== */

.ag-search-result {
	padding: 1.25rem;
	background: var(--ag-surface);
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius);
	grid-column: 1 / -1; /* non-person results span the full grid width */
}

.ag-search-result__title {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-1);
	margin: 0 0 0.5rem;
}

.ag-search-result__title a {
	color: var(--ag-ink);
	text-decoration: none;
}

.ag-search-result__title a:hover {
	color: var(--ag-gold);
}

.ag-search-result__excerpt {
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
	margin: 0;
}

/* ==========================================================================
   404 page
   ========================================================================== */

.ag-404 {
	padding-block: 5rem;
}

.ag-404__inner {
	max-width: 540px;
}

.ag-404__code {
	font-family: var(--ag-serif);
	font-size: clamp(4rem, 15vw, 9rem);
	font-weight: 700;
	color: var(--ag-gold-soft);
	line-height: 1;
	margin: 0 0 0.25rem;
	-webkit-text-stroke: 2px var(--ag-gold);
}

.ag-404__title {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-3);
	margin: 0 0 0.75rem;
}

.ag-404__message {
	color: var(--ag-muted);
	margin: 0 0 1.75rem;
}

.ag-404__search {
	margin-bottom: 1.5rem;
	max-width: 400px;
}

.ag-404__home {
	margin-top: 1.75rem;
	font-size: var(--ag-step--1);
}

/* ==========================================================================
   Accessibility: focus rings, visible on all interactive elements
   ========================================================================== */

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

/* WordPress generated pagination may use <a> without a class */
.nav-links a:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
	border-radius: var(--ag-radius);
}

/* Ensure sufficient contrast on muted text over paper (#6B655B on #FBF8F1 = 5.38:1 ✓) */
/* Gold link on paper (#A6791E on #FBF8F1 = 4.57:1 ✓) — no adjustment needed */

/* ==========================================================================
   Performance: lazy images default attributes (belt-and-suspenders)
   ========================================================================== */

img {
	content-visibility: auto;
}

/* Hero portrait is eager/high-priority via fetchpriority attr in template;
   all other thumbnails get loading=lazy via the_post_thumbnail() attrs. */

/* ==========================================================================
   Profile hero — single-nae_person.php
   Forest-green banner with portrait on the right.
   ========================================================================== */

.ag-profile-hero {
	background: var(--ag-forest);
	padding-block: 3.5rem;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(237, 188, 74, 0.22);
}

/* Radial glow from the photo side */
.ag-profile-hero::before {
	content: '';
	position: absolute;
	right: -8%;
	top: -30%;
	width: 55%;
	padding-bottom: 55%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 146, 10, 0.14) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.ag-profile-hero__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: center;
	position: relative;
	z-index: 1;
}

/* Identity block */
.ag-profile-identity {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

/* Pills on dark hero */
.ag-profile-pills .ag-type-pill {
	background: rgba(237, 188, 74, 0.12);
	color: var(--ag-gold-light);
	border-color: rgba(237, 188, 74, 0.3);
}

.ag-profile-pills .ag-type-pill:hover {
	background: var(--ag-gold);
	color: var(--ag-forest);
	border-color: var(--ag-gold);
}

.ag-profile-name {
	font-family: var(--ag-serif);
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	font-weight: 700;
	color: #FFFFFF;
	margin: 0;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.ag-profile-fullname {
	color: rgba(221, 232, 222, 0.58);
	font-size: var(--ag-step-0);
	margin: 0;
	font-style: italic;
}

.ag-profile-tagline {
	color: rgba(221, 232, 222, 0.65);
	font-size: var(--ag-step--1);
	margin: 0;
	letter-spacing: 0.01em;
}

/* Share trigger — sits in the social row, styled like the social icons.
   Opens the plugin's share-card modal via [data-nae-share-open]. */
.ag-profile-share {
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	font: inherit;
	cursor: pointer;
}

/* Social icons in hero */
.ag-profile-social {
	display: flex;
	gap: 0.2rem;
	flex-wrap: wrap;
	margin-top: 0.35rem;
}

.ag-profile-social .ag-social-link {
	color: rgba(221, 232, 222, 0.5);
}

.ag-profile-social .ag-social-link:hover {
	color: var(--ag-gold-light);
	background: rgba(255, 255, 255, 0.08);
}

.ag-profile-social .ag-social-link:focus-visible {
	outline-color: var(--ag-gold-light);
}

/* Portrait in hero */
.ag-profile-photo-wrap {
	flex-shrink: 0;
}

.ag-profile-photo__img {
	width: 200px;
	height: 265px;
	border-radius: var(--ag-radius-lg);
	border: 2px solid rgba(237, 188, 74, 0.28);
	object-fit: cover;
	display: block;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.3);
}

.ag-profile-photo-wrap .ag-initials-avatar {
	width: 200px;
	height: 265px;
	border-radius: var(--ag-radius-lg);
	border: 2px solid rgba(237, 188, 74, 0.28);
	font-size: var(--ag-step-3);
	background: rgba(237, 188, 74, 0.15);
	color: var(--ag-gold-light);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Mobile: stack, photo above name */
@media (max-width: 680px) {
	.ag-profile-hero {
		padding-block: 2.5rem;
	}

	.ag-profile-hero__inner {
		grid-template-columns: 1fr;
		gap: 1.75rem;
		text-align: center;
	}

	.ag-profile-photo-wrap {
		order: -1;
		justify-self: center;
	}

	.ag-profile-photo__img {
		width: 160px;
		height: 213px;
	}

	.ag-profile-photo-wrap .ag-initials-avatar {
		width: 160px;
		height: 213px;
	}

	.ag-profile-identity {
		align-items: center;
	}
}

/* ==========================================================================
   Profile body — sidebar + main two-column grid
   ========================================================================== */

.ag-profile-body {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem 3rem;
	align-items: start;
	padding-block: 3rem;
}

.ag-profile-sidebar {
	min-width: 0;
}

@media (min-width: 1024px) {
	.ag-profile-sidebar {
		position: sticky;
		top: 5.5rem;
	}
}

.ag-profile-main {
	min-width: 0;
}

@media (max-width: 860px) {
	.ag-profile-body {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* ==========================================================================
   Search suggest / autocomplete dropdown
   Continues the search form work. Attached to .ag-search wrappers.
   Supports header (dark context) + hero + standalone search pages.
   ========================================================================== */

.ag-search {
	position: relative;
}

.ag-search-suggest {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	margin-top: 4px;
	background: var(--ag-paper);
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	z-index: 999;
	max-height: 320px;
	overflow-y: auto;
	font-size: var(--ag-step--1);
	/* Contain layout so it doesn't affect parent widths */
}

.ag-search-suggest[hidden] {
	display: none;
}

/* Light context (hero, search results, 404) already uses paper/ink */

.ag-header-search .ag-search-suggest {
	/* Ensure it always pops with readable light surface even from dark header */
	background: var(--ag-paper);
	border-color: var(--ag-line);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

.ag-search-suggest__item,
.ag-search-suggest__all {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.5rem 0.75rem;
	color: var(--ag-ink);
	text-decoration: none;
	background: transparent;
	border: none;
	width: 100%;
	text-align: left;
	cursor: pointer;
}

.ag-search-suggest__item:hover,
.ag-search-suggest__item:focus,
.ag-search-suggest__all:hover,
.ag-search-suggest__all:focus {
	background: var(--ag-gold-soft);
	outline: none;
}

.ag-search-suggest__item:focus-visible,
.ag-search-suggest__all:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: -2px;
}

.ag-search-suggest__avatar {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 6px;
	overflow: hidden;
	background: var(--ag-gold-soft);
	color: var(--ag-gold);
	font-size: 0.75rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.ag-search-suggest__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ag-search-suggest__avatar.is-initials {
	background: rgba(237, 188, 74, 0.18);
	color: var(--ag-gold);
}

.ag-search-suggest__body {
	min-width: 0;
	flex: 1;
}

.ag-search-suggest__name {
	display: block;
	font-weight: 500;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ag-search-suggest__meta {
	display: block;
	font-size: 0.75rem;
	color: var(--ag-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 1px;
}

.ag-search-suggest__all {
	border-top: 1px solid var(--ag-line);
	padding-block: 0.55rem;
	font-weight: 500;
}

.ag-search-suggest__all-label {
	color: var(--ag-ink);
}

.ag-search-suggest__all strong {
	font-weight: 600;
	color: var(--ag-gold);
}

.ag-search-suggest__empty {
	padding: 0.75rem 0.75rem;
	color: var(--ag-muted);
	font-size: var(--ag-step--1);
}

/* On very narrow screens keep the dropdown from feeling cramped */
@media (max-width: 420px) {
	.ag-search-suggest__item,
	.ag-search-suggest__all {
		padding-inline: 0.6rem;
	}
	.ag-search-suggest__avatar {
		width: 28px;
		height: 28px;
		font-size: 0.7rem;
	}
}

/* ==========================================================================
   Homepage momentum & trust elements (recently profiled + CTAs)
   These give forward motion and reinforce editorial credibility.
   ========================================================================== */

.ag-recent-section {
	background: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
	.ag-recent-section {
		background: var(--ag-surface);
	}
}

.ag-recent-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.ag-recent-more {
	font-size: var(--ag-step--1);
	font-weight: 500;
	color: var(--ag-gold);
	text-decoration: none;
	white-space: nowrap;
}

.ag-recent-more:hover {
	text-decoration: underline;
}

/* Reuse person grid but allow tighter recent display if desired */
.ag-recent-grid {
	margin-top: 1rem;
}

.ag-directory-cta {
	text-align: center;
	margin-top: 1.75rem;
}

/* Simple secondary button style for CTAs */
.ag-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.35rem;
	border-radius: var(--ag-radius);
	font-family: var(--ag-sans);
	font-size: var(--ag-step--1);
	font-weight: 500;
	text-decoration: none;
	line-height: 1;
	transition: filter var(--ag-speed) var(--ag-ease),
		transform var(--ag-speed) var(--ag-ease),
		box-shadow var(--ag-speed) var(--ag-ease);
}

.ag-btn--secondary {
	background: var(--ag-gold);
	color: var(--ag-forest);
}

.ag-btn--secondary:hover {
	filter: brightness(0.92);
}

.ag-btn:active {
	transform: translateY(1px);
}

.ag-home-cta {
	background: var(--ag-gold-soft);
	padding-block: 1.25rem;
	border-top: 1px solid rgba(200, 146, 10, 0.2);
}

.ag-home-cta__text {
	margin: 0;
	font-size: var(--ag-step--1);
	color: var(--ag-ink);
	text-align: center;
}

.ag-home-cta__text a {
	color: var(--ag-gold);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (prefers-color-scheme: dark) {
	.ag-home-cta {
		background: rgba(237, 188, 74, 0.08);
		border-color: rgba(237, 188, 74, 0.15);
	}

	.ag-home-cta__text {
		color: var(--ag-ink);
	}
}

/* Hero trust line — subtle credibility signal under the count */
.ag-hero__trust {
	margin: 0.35rem 0 0;
	font-size: var(--ag-step--1);
	color: var(--ag-gold-light);
	opacity: 0.85;
	letter-spacing: 0.02em;
}

@media (prefers-color-scheme: dark) {
	.ag-hero__trust {
		color: var(--ag-gold);
	}
}

/* ==========================================================================
   Profile attribution / trust block (single profiles)
   Mirrors the E-E-A-T requirements in the project README.
   ========================================================================== */

.ag-profile-attribution {
	margin-top: 2.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--ag-line);
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
}

.ag-profile-attribution__meta {
	font-weight: 500;
	margin: 0 0 0.35rem;
	color: var(--ag-ink);
}

.ag-profile-attribution__note {
	margin: 0;
	line-height: 1.55;
}

.ag-profile-attribution a {
	color: var(--ag-gold);
	font-weight: 500;
	text-decoration: none;
}

.ag-profile-attribution a:hover {
	text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
	.ag-profile-attribution {
		border-color: rgba(255, 255, 255, 0.12);
	}

	.ag-profile-attribution__meta {
		color: #D9E6DC;
	}
}

/* ==========================================================================
   News / Magazine style homepage redesign
   More editorial, headline-driven, story-like feel for a celebrity biography site.
   ========================================================================== */

.ag-news-home .ag-section-title {
	margin-bottom: 1rem;
}

/* Featured Hero - big news lead */
.ag-news-hero {
	background: var(--ag-forest);
	color: #fff;
	padding-block: 3.5rem;
	border-bottom: 1px solid rgba(237, 188, 74, 0.22);
}

.ag-news-hero__inner {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 3rem;
	align-items: center;
}

.ag-news-hero__media {
	position: relative;
}

.ag-news-hero__img,
.ag-news-hero__initials {
	width: 100%;
	max-width: 460px;
	height: auto;
	border-radius: var(--ag-radius-lg);
	border: 4px solid var(--ag-gold-light);
	box-shadow: 0 30px 70px rgba(0,0,0,0.45);
	display: block;
}

.ag-news-hero__initials {
	aspect-ratio: 3 / 4;
	background: radial-gradient(circle at 50% 38%, #234733 0%, #1C3829 55%, #122618 100%);
	color: var(--ag-gold-light);
	font-family: var(--ag-serif);
	font-size: 6rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ag-news-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ag-gold-light);
	margin-bottom: 0.75rem;
}

.ag-news-hero__kicker::before {
	content: "";
	width: 1.75rem;
	height: 2px;
	background: var(--ag-gold);
	border-radius: 2px;
}

.ag-news-hero__name {
	font-family: var(--ag-serif);
	font-size: clamp(2.6rem, 6vw, 4.3rem);
	line-height: 1.02;
	letter-spacing: -0.01em;
	margin: 0 0 0.5rem;
	color: #fff;
}

.ag-news-hero__occupation {
	font-size: var(--ag-step-1);
	color: var(--ag-gold-light);
	margin: 0 0 1rem;
}

.ag-news-hero__excerpt {
	font-size: 1.05rem;
	line-height: 1.55;
	opacity: 0.95;
	margin-bottom: 1.5rem;
	max-width: 48ch;
}

.ag-news-hero__stat {
	margin-top: 1.25rem;
	font-size: var(--ag-step--1);
	opacity: 0.7;
}

.ag-btn--primary {
	background: var(--ag-gold);
	color: var(--ag-forest);
	font-weight: 600;
	box-shadow: 0 6px 18px rgba(200, 146, 10, 0.32);
}

.ag-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(200, 146, 10, 0.42);
	filter: brightness(1.04);
}

@media (max-width: 860px) {
	.ag-news-hero__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.ag-news-hero__media {
		order: -1;
		display: flex;
		justify-content: center;
	}

	.ag-news-hero__img,
	.ag-news-hero__initials {
		max-width: 260px;
	}
}

/* Latest Profiles news grid */
.ag-latest-section {
	background: #F8F6F0;
}

@media (prefers-color-scheme: dark) {
	.ag-latest-section {
		background: var(--ag-surface);
	}
}

.ag-news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
	gap: 1.5rem;
	margin-top: 1rem;
}

/* Individual news-style card */
.ag-news-card {
	display: flex;
	flex-direction: column;
	background: var(--ag-surface);
	border: 1px solid var(--ag-line);
	border-radius: var(--ag-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	box-shadow: var(--ag-shadow-sm);
	transition: border-color var(--ag-speed) var(--ag-ease),
		box-shadow var(--ag-speed) var(--ag-ease),
		transform var(--ag-speed) var(--ag-ease);
}

.ag-news-card:hover {
	border-color: var(--ag-forest);
	transform: translateY(-4px);
	box-shadow: var(--ag-shadow-lg);
}

@media (prefers-color-scheme: dark) {
	.ag-news-card:hover {
		border-color: var(--ag-gold);
	}
}

.ag-news-card:focus-visible {
	outline: 2px solid var(--ag-gold);
	outline-offset: 2px;
}

.ag-news-card:hover .ag-news-card__name {
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-news-card:hover .ag-news-card__name {
		color: var(--ag-gold);
	}
}

.ag-news-card__img-wrap {
	position: relative;
	background: var(--ag-gold-soft);
}

.ag-news-card__img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.ag-news-card__initials {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ag-serif);
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--ag-gold-light);
	background: radial-gradient(circle at 50% 38%, #234733 0%, #1C3829 55%, #122618 100%);
}

.ag-news-card__body {
	padding: 1rem 1.1rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ag-news-card__kicker {
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ag-gold);
	font-weight: 600;
}

.ag-news-card__name {
	font-family: var(--ag-serif);
	font-size: 1.15rem;
	line-height: 1.25;
	margin: 0.35rem 0 0.3rem;
	color: var(--ag-ink);
	transition: color var(--ag-speed) var(--ag-ease);
}

.ag-news-card__occupation {
	font-size: 0.875rem;
	color: var(--ag-muted);
	margin: 0 0 0.6rem;
}

.ag-news-card__excerpt {
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--ag-muted);
	margin: 0 0 0.75rem;
}

.ag-news-card__more {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--ag-gold);
	margin-top: auto;
}

.ag-news-card__more::after {
	content: " \2192";
	display: inline-block;
	transition: transform var(--ag-speed) var(--ag-ease);
}

.ag-news-card:hover .ag-news-card__more::after {
	transform: translateX(3px);
}

.ag-section-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

/* When the title lives inside the header row, the header owns the spacing. */
.ag-section-header .ag-section-title {
	margin-bottom: 0;
}

.ag-section-more {
	flex-shrink: 0;
	font-size: var(--ag-step--1);
	color: var(--ag-gold);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--ag-speed) var(--ag-ease);
}

.ag-section-more:hover {
	color: var(--ag-forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (prefers-color-scheme: dark) {
	.ag-section-more:hover {
		color: var(--ag-gold-light);
	}
}

/* Categories and Index sections on news home */
.ag-categories-section,
.ag-index-section {
	background: #fff;
}

.ag-index-grid {
	margin-top: 1rem;
}

/* ==========================================================================
   Trending Now — ranked list (deliberately distinct from the card grids)
   ========================================================================== */

.ag-trending-list {
	counter-reset: ag-trend;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem 1.5rem;
}

@media (max-width: 720px) {
	.ag-trending-list {
		grid-template-columns: 1fr;
	}
}

.ag-trend {
	counter-increment: ag-trend;
}

.ag-trend__link {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.6rem 0.85rem 0.6rem 0.4rem;
	border-radius: var(--ag-radius);
	text-decoration: none;
	color: var(--ag-ink);
	border: 1px solid transparent;
	transition: border-color var(--ag-speed) var(--ag-ease),
		background var(--ag-speed) var(--ag-ease),
		box-shadow var(--ag-speed) var(--ag-ease);
}

.ag-trend__link:hover {
	background: var(--ag-surface);
	border-color: var(--ag-line);
	box-shadow: var(--ag-shadow-sm);
}

.ag-trend__rank {
	flex-shrink: 0;
	width: 1.9rem;
	text-align: center;
	font-family: var(--ag-serif);
	font-size: var(--ag-step-2);
	font-weight: 700;
	line-height: 1;
	color: var(--ag-gold);
	font-variant-numeric: tabular-nums;
}

.ag-trend__rank::before {
	content: counter(ag-trend);
}

.ag-trend__media {
	flex-shrink: 0;
	width: 3rem;
	height: 3.4rem;
	border-radius: 8px;
	overflow: hidden;
	background: var(--ag-gold-soft);
}

.ag-trend__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ag-trend__initials {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	font-family: var(--ag-serif);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--ag-gold-light);
	background: radial-gradient(circle at 50% 38%, #234733 0%, #1C3829 55%, #122618 100%);
}

.ag-trend__body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.ag-trend__name {
	font-family: var(--ag-serif);
	font-size: var(--ag-step-0);
	font-weight: 700;
	line-height: 1.2;
	color: var(--ag-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color var(--ag-speed) var(--ag-ease);
}

.ag-trend__link:hover .ag-trend__name {
	color: var(--ag-forest);
}

@media (prefers-color-scheme: dark) {
	.ag-trend__link:hover .ag-trend__name {
		color: var(--ag-gold);
	}
}

.ag-trend__meta {
	font-size: var(--ag-step--1);
	color: var(--ag-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Give the top three ranks extra prominence. */
.ag-trend:nth-child(-n+3) .ag-trend__rank {
	font-size: var(--ag-step-3);
	color: var(--ag-gold);
}

/* ==========================================================================
   ==========================================================================
   AGYE DIN homepage redesign (agd- namespace) — light theme, dark-mode aware.
   ==========================================================================
   ========================================================================== */

:root {
	--agd-bg:        #FFFFFF;
	--agd-bg-alt:    #F5F6F8;
	--agd-ink:       #161A1F;
	--agd-muted:     #6B7280;
	--agd-line:      #E6E8EC;
	--agd-card:      #FFFFFF;
	--agd-gold:      #E2A618;
	--agd-gold-deep: #C8920A;
	--agd-dark:      #15171C;
	--agd-dark-2:    #1C1F26;
	--agd-dark-line: rgba(255, 255, 255, 0.08);
	--agd-radius:    14px;
	--agd-shadow:    0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 16px rgba(16, 24, 40, 0.06);
	--agd-shadow-lg: 0 18px 48px rgba(16, 24, 40, 0.14);
}

html.agd-dark {
	--agd-bg:     #0E1013;
	--agd-bg-alt: #15181D;
	--agd-ink:    #ECEEF1;
	--agd-muted:  #9AA1AC;
	--agd-line:   #2A2E36;
	--agd-card:   #15181D;
}

html.agd-dark body { background: var(--agd-bg); }

/* ---------- Header ---------- */
.agd-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--agd-bg);
	border-bottom: 1px solid var(--agd-line);
	box-shadow: 0 1px 12px rgba(16, 24, 40, 0.05);
}

.agd-header__inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	min-height: 72px;
}

.agd-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	flex-shrink: 0;
}

.agd-brand__mark {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: linear-gradient(145deg, var(--agd-gold), var(--agd-gold-deep));
	box-shadow: 0 4px 12px rgba(200, 146, 10, 0.35);
}

.agd-brand__mark svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: #fff;
	stroke: none;
}

.agd-brand__text { display: flex; flex-direction: column; line-height: 1.05; }

.agd-brand__name {
	font-family: var(--ag-serif);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--agd-ink);
}

.agd-brand__tagline {
	font-size: 0.66rem;
	letter-spacing: 0.04em;
	color: var(--agd-gold-deep);
	font-weight: 600;
}

.agd-nav { margin-left: auto; }

.agd-nav__list {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.agd-nav__item { position: relative; }

.agd-nav__list a {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--agd-ink);
	text-decoration: none;
	padding-block: 0.4rem;
	transition: color 0.15s ease;
}

.agd-nav__list a:hover,
.agd-nav__item.current-menu-item > a {
	color: var(--agd-gold-deep);
}

.agd-nav__item.current-menu-item > a {
	box-shadow: inset 0 -2px 0 var(--agd-gold);
}

.agd-nav__caret { width: 0.8rem; height: 0.8rem; fill: none; stroke: currentColor; stroke-width: 2.4; }

.agd-nav__dropdown {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	min-width: 200px;
	background: var(--agd-card);
	border: 1px solid var(--agd-line);
	border-radius: 12px;
	box-shadow: var(--agd-shadow-lg);
	list-style: none;
	margin: 0;
	padding: 0.4rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 20;
}

.agd-nav__item--has-children:hover .agd-nav__dropdown,
.agd-nav__item--has-children:focus-within .agd-nav__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(2px);
}

.agd-nav__dropdown a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
}

.agd-nav__dropdown a:hover { background: var(--agd-bg-alt); }

.agd-header__actions { display: flex; align-items: center; gap: 0.4rem; flex-shrink: 0; }

.agd-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	border: 1px solid var(--agd-line);
	background: var(--agd-bg);
	color: var(--agd-ink);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.agd-icon-btn:hover { background: var(--agd-bg-alt); color: var(--agd-gold-deep); border-color: var(--agd-gold); }
.agd-icon-btn svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-icon-sun { display: none; }
html.agd-dark .agd-icon-moon { display: none; }
html.agd-dark .agd-icon-sun { display: block; }

.agd-nav-toggle { display: none; }

.agd-header-search { border-top: 1px solid var(--agd-line); background: var(--agd-bg); padding-block: 0.85rem; }
.agd-header-search[hidden] { display: none; }
.agd-header-search .ag-searchform { max-width: 640px; margin-inline: auto; }

/* ---------- Hero ---------- */
.agd-hero {
	position: relative;
	background: #0B0D10;
	overflow: hidden;
	isolation: isolate;
}

.agd-hero__bg {
	position: absolute;
	inset: 0;
	display: flex;
	z-index: -2;
}

.agd-hero__bg img { flex: 1 1 0; min-width: 0; height: 100%; object-fit: cover; }

.agd-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(120% 100% at 50% 0%, rgba(11, 13, 16, 0.55), rgba(11, 13, 16, 0.92) 70%),
		linear-gradient(180deg, rgba(11, 13, 16, 0.7), rgba(11, 13, 16, 0.86));
}

.agd-hero__inner {
	text-align: center;
	padding-block: clamp(3rem, 8vw, 6rem);
	max-width: 820px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.agd-hero__eyebrow {
	font-family: var(--ag-serif);
	font-size: clamp(1.4rem, 3.5vw, 2rem);
	font-weight: 600;
	color: #fff;
	margin: 0 0 0.4rem;
}

.agd-hero__eyebrow span { color: var(--agd-gold); }

.agd-hero__title {
	font-family: var(--ag-serif);
	font-size: clamp(2.2rem, 6vw, 4rem);
	font-weight: 800;
	line-height: 1.05;
	color: #fff;
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}

.agd-hero__lead {
	font-size: clamp(0.98rem, 2vw, 1.15rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 1.8rem;
	max-width: 620px;
}

.agd-hero__search { width: 100%; max-width: 620px; }

.agd-hero__search .ag-search { width: 100%; }

.agd-hero__search .ag-searchform {
	width: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 0.4rem;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
	gap: 0.4rem;
}

.agd-hero__search .ag-searchform__input {
	flex: 1;
	width: auto;
	border: none;
	background: transparent;
	color: #15171C;
	font-size: 1rem;
	padding: 0.7rem 0.9rem;
}

.agd-hero__search .ag-searchform__input:focus { outline: none; }

.agd-hero__search .ag-searchform__btn {
	background: var(--agd-gold);
	color: #15171C;
	font-weight: 700;
	border-radius: 9px;
	padding: 0.7rem 1.4rem;
}

.agd-hero__search .ag-searchform__btn:hover { filter: brightness(1.05); }

.agd-hero__trending {
	margin: 1.2rem 0 0;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.7);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 0.5rem;
	align-items: center;
}

.agd-hero__trending-label { color: rgba(255, 255, 255, 0.55); }
.agd-hero__trending a { color: var(--agd-gold); text-decoration: none; font-weight: 600; }
.agd-hero__trending a:hover { text-decoration: underline; }
.agd-hero__trending .agd-sep { color: rgba(255, 255, 255, 0.3); }

.agd-flag {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5px;
	background: linear-gradient(90deg, #1C7A3E 0 33.3%, var(--agd-gold) 33.3% 66.6%, #C8341F 66.6% 100%);
}

/* ---------- Section primitives ---------- */
.agd-home { background: var(--agd-bg); }
.agd-section { padding-block: clamp(2.2rem, 5vw, 3.4rem); }
.agd-section:nth-of-type(even) { background: var(--agd-bg-alt); }

.agd-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.agd-section-title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--ag-serif);
	font-size: clamp(1.3rem, 3vw, 1.7rem);
	font-weight: 700;
	color: var(--agd-ink);
	margin: 0;
}

.agd-section-title__icon { display: inline-flex; color: var(--agd-gold-deep); }
.agd-section-title__icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.agd-section-link, .agd-card-link {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--agd-gold-deep);
	text-decoration: none;
	white-space: nowrap;
}
.agd-section-link:hover, .agd-card-link:hover { text-decoration: underline; }

.agd-card-kicker {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--agd-muted);
	margin: 0 0 1rem;
}
.agd-card-kicker svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; color: var(--agd-gold-deep); }

.agd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.7rem 1.3rem;
	border-radius: 10px;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease;
}
.agd-btn--gold { background: var(--agd-gold); color: #15171C; }
.agd-btn--gold:hover { filter: brightness(1.05); transform: translateY(-1px); }

/* ---------- Trending Today ---------- */
.agd-trend-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 188px));
	justify-content: center;
	gap: 1.25rem;
}

.agd-trend-card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: var(--agd-radius);
	overflow: hidden;
	text-decoration: none;
	background: var(--agd-dark);
	box-shadow: var(--agd-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.agd-trend-card:hover { transform: translateY(-4px); box-shadow: var(--agd-shadow-lg); }

.agd-trend-card__rank {
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	z-index: 2;
	width: 1.7rem;
	height: 1.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--agd-gold);
	color: #15171C;
	font-weight: 800;
	font-size: 0.85rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.agd-trend-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.agd-trend-card__img--ph {
	display: flex; align-items: center; justify-content: center;
	font-family: var(--ag-serif); font-size: 3rem; font-weight: 700; color: var(--agd-gold);
	background: radial-gradient(circle at 50% 38%, #234733, #122618);
}

.agd-trend-card__grad {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, transparent 45%, rgba(10, 12, 15, 0.85) 100%);
}

.agd-trend-card__meta { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 0.85rem; }
.agd-trend-card__name { display: block; font-family: var(--ag-serif); font-weight: 700; font-size: 1.02rem; color: #fff; line-height: 1.2; }
.agd-trend-card__role { display: block; font-size: 0.78rem; color: rgba(255, 255, 255, 0.78); margin-top: 0.1rem; }

/* ---------- Browse by Category ---------- */
.agd-cat-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 0.75rem;
}

.agd-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.45rem;
	padding: 1.3rem 0.55rem;
	border-radius: var(--agd-radius);
	background: var(--agd-card);
	border: 1px solid var(--agd-line);
	text-decoration: none;
	box-shadow: var(--agd-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.agd-cat:hover { transform: translateY(-4px); box-shadow: var(--agd-shadow-lg); border-color: var(--agd-cat-color, var(--agd-gold)); }

.agd-cat__icon {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--agd-cat-color, var(--agd-gold));
	box-shadow: 0 6px 16px color-mix(in srgb, var(--agd-cat-color, var(--agd-gold)) 40%, transparent);
}
.agd-cat__icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.agd-cat__name { font-family: var(--ag-serif); font-weight: 700; font-size: 0.92rem; line-height: 1.2; color: var(--agd-ink); }
.agd-cat__count { font-size: 0.8rem; color: var(--agd-muted); }

/* ---------- Personality of the Day + Most Viewed ---------- */
.agd-feature__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 1.5rem;
	align-items: stretch;
}
/* When there's no Personality of the Day, the lone column spans full width. */
.agd-feature__grid > :only-child { grid-column: 1 / -1; }

.agd-potd {
	display: flex;
	flex-direction: column;
	background: linear-gradient(160deg, var(--agd-dark-2), var(--agd-dark));
	border-radius: var(--agd-radius);
	padding: 1.6rem;
	color: #fff;
	box-shadow: var(--agd-shadow-lg);
}
.agd-potd__kicker {
	display: flex; align-items: center; gap: 0.5rem;
	font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--agd-gold); margin: 0 0 1.2rem;
}
.agd-potd__kicker svg { width: 1.1rem; height: 1.1rem; fill: var(--agd-gold); stroke: none; }
.agd-potd__body { display: flex; gap: 1.4rem; align-items: stretch; flex: 1; }
.agd-potd__photo { flex-shrink: 0; width: 180px; }
.agd-potd__photo img { width: 180px; height: 100%; min-height: 230px; object-fit: cover; border-radius: 12px; display: block; }
.agd-potd__content { display: flex; flex-direction: column; }
.agd-potd__name { font-family: var(--ag-serif); font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 700; margin: 0 0 0.3rem; color: #fff; }
.agd-potd__role { color: var(--agd-gold); font-weight: 600; margin: 0 0 0.8rem; }
.agd-potd__excerpt { color: rgba(255, 255, 255, 0.78); line-height: 1.55; font-size: 0.92rem; margin: 0 0 1.2rem; }
.agd-potd__content .agd-btn { align-self: flex-start; margin-top: auto; }

.agd-mostviewed {
	background: var(--agd-card);
	border: 1px solid var(--agd-line);
	border-radius: var(--agd-radius);
	padding: 1.6rem;
	box-shadow: var(--agd-shadow);
}
.agd-mv-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.agd-mv { border-bottom: 1px solid var(--agd-line); }
.agd-mv:last-child { border-bottom: none; }
.agd-mv__link { display: flex; align-items: center; gap: 0.85rem; padding: 0.7rem 0; text-decoration: none; color: var(--agd-ink); }
.agd-mv__rank { flex-shrink: 0; width: 1.4rem; text-align: center; font-weight: 700; color: var(--agd-muted); font-family: var(--ag-serif); }
.agd-mv__avatar { flex-shrink: 0; width: 2.6rem; height: 2.6rem; border-radius: 50%; overflow: hidden; background: var(--agd-bg-alt); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--agd-gold-deep); }
.agd-mv__avatar img { width: 100%; height: 100%; object-fit: cover; }
.agd-mv__body { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.agd-mv__name { font-weight: 700; font-size: 0.95rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agd-mv__role { font-size: 0.78rem; color: var(--agd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agd-mv__views { flex-shrink: 0; font-size: 0.78rem; color: var(--agd-muted); white-space: nowrap; }

/* ---------- By Region + Recently Added ---------- */
.agd-region-recent__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 1.5rem; align-items: start; }

.agd-region, .agd-recent {
	background: var(--agd-card);
	border: 1px solid var(--agd-line);
	border-radius: var(--agd-radius);
	padding: 1.5rem;
	box-shadow: var(--agd-shadow);
}
.agd-region__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.agd-region__tile {
	display: flex; flex-direction: column; gap: 0.15rem;
	padding: 0.7rem 0.85rem; border: 1px solid var(--agd-line); border-radius: 10px;
	text-decoration: none; transition: border-color 0.15s ease, background 0.15s ease;
}
.agd-region__tile:hover { border-color: var(--agd-gold); background: var(--agd-bg-alt); }
.agd-region__name { font-weight: 700; font-size: 0.9rem; color: var(--agd-ink); }
.agd-region__sub { font-size: 0.74rem; color: var(--agd-muted); }

.agd-section-head--inline { margin-bottom: 1rem; }
.agd-section-head--inline .agd-card-kicker { margin: 0; }

.agd-recent__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.agd-born-updated .agd-recent__grid { grid-template-columns: repeat(2, 1fr); }
.agd-born-empty { font-size: 0.85rem; color: var(--agd-muted); margin: 0; padding: 0.4rem 0 0.2rem; }
.agd-recent-card { display: flex; flex-direction: column; text-decoration: none; }
.agd-recent-card__media { position: relative; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; margin-bottom: 0.5rem; background: var(--agd-bg-alt); }
.agd-recent-card__badge { position: absolute; top: 0.5rem; left: 0.5rem; z-index: 2; background: #C8341F; color: #fff; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; padding: 0.15rem 0.45rem; border-radius: 5px; }
.agd-recent-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.agd-recent-card__img--ph { display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-size: 2.2rem; font-weight: 700; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-recent-card__name { font-family: var(--ag-serif); font-weight: 700; font-size: 0.92rem; color: var(--agd-ink); line-height: 1.2; }
.agd-recent-card__role { font-size: 0.76rem; color: var(--agd-muted); }
.agd-recent-card__date { font-size: 0.72rem; color: var(--agd-muted); margin-top: 0.1rem; }

/* ---------- Stats bar ---------- */
.agd-stats { background: var(--agd-dark); color: #fff; padding-block: 2rem; }
.agd-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.agd-stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.25rem; }
.agd-stat svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 0.2rem; }
.agd-stat__num { font-family: var(--ag-serif); font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; color: var(--agd-gold); }
.agd-stat__label { font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); }

/* ---------- Footer ---------- */
.agd-footer { background: #0E1013; color: rgba(255, 255, 255, 0.7); }
.agd-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 2rem; padding-block: 3rem 2.2rem; }
.agd-brand--footer { display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.agd-brand--footer .agd-brand__name { color: #fff; }
.agd-footer__about { font-size: 0.86rem; line-height: 1.6; margin: 0 0 1rem; }
.agd-footer__social { display: flex; gap: 0.5rem; }
.agd-footer__social a { display: inline-flex; width: 2.1rem; height: 2.1rem; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, 0.08); color: #fff; }
.agd-footer__social a:hover { background: var(--agd-gold); color: #15171C; }
.agd-footer__social svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-footer__heading { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; margin: 0 0 1rem; }
.agd-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.agd-footer__col a { color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 0.86rem; }
.agd-footer__col a:hover { color: var(--agd-gold); }
.agd-footer__newsletter p { font-size: 0.86rem; line-height: 1.6; margin: 0 0 0.9rem; }
.agd-newsletter { display: flex; gap: 0.5rem; }
.agd-newsletter input { flex: 1; min-width: 0; padding: 0.6rem 0.8rem; border-radius: 9px; border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(255, 255, 255, 0.06); color: #fff; font-size: 0.86rem; }
.agd-newsletter input::placeholder { color: rgba(255, 255, 255, 0.4); }
.agd-footer__bar { border-top: 1px solid rgba(255, 255, 255, 0.08); padding-block: 1.2rem; }
.agd-footer__bar p { margin: 0; text-align: center; font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.agd-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--agd-bg);
		border-bottom: 1px solid var(--agd-line);
		box-shadow: var(--agd-shadow-lg);
		display: none;
	}
	.agd-nav.is-open { display: block; }
	.agd-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 1rem 1rem; }
	.agd-nav__list a { padding-block: 0.7rem; border-bottom: 1px solid var(--agd-line); }
	.agd-nav__dropdown { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: none; padding: 0 0 0 1rem; min-width: 0; }
	.agd-nav__item--has-children:hover .agd-nav__dropdown { transform: none; }
	.agd-nav-toggle {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 4px;
		width: 2.4rem; height: 2.4rem; margin-left: auto; border: 1px solid var(--agd-line);
		border-radius: 8px; background: var(--agd-bg); cursor: pointer;
	}
	.agd-nav-toggle span { display: block; width: 18px; height: 2px; margin-inline: auto; background: var(--agd-ink); border-radius: 2px; }
	.agd-header__actions { margin-left: 0.4rem; }
	.agd-feature__grid, .agd-region-recent__grid { grid-template-columns: 1fr; }
	.agd-trend-grid { grid-template-columns: repeat(3, 1fr); }
	.agd-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.agd-cat-grid { grid-template-columns: repeat(2, 1fr); }
	.agd-trend-grid { grid-template-columns: repeat(2, 1fr); }
	.agd-recent__grid { grid-template-columns: repeat(2, 1fr); }
	.agd-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
	.agd-footer__grid { grid-template-columns: 1fr 1fr; }
	.agd-potd__body { flex-direction: column; }
	.agd-potd__photo, .agd-potd__photo img { width: 100%; }
	.agd-potd__photo img { height: 280px; }
	.agd-brand__tagline { display: none; }
}

@media (max-width: 460px) {
	.agd-trend-grid, .agd-region__tiles { grid-template-columns: 1fr; }
	.agd-footer__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   AGYE DIN — profile view + /people archive (agd- namespace)
   ========================================================================== */

.agd-profile-page, .agd-archive-page { background: var(--agd-bg); color: var(--agd-ink); padding-block: 1.25rem 3rem; }

.agd-crumbs { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.8rem; color: var(--agd-muted); margin-bottom: 1.1rem; }
.agd-crumbs a { color: var(--agd-muted); text-decoration: none; }
.agd-crumbs a:hover { color: var(--agd-gold-deep); }
.agd-crumbs__current { color: var(--agd-ink); font-weight: 600; }

/* ---- Two-column profile shell ---- */
.agd-profile { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.6rem; align-items: start; }
.agd-profile__main { min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; }

/* ---- Profile hero (always dark) ---- */
.agd-phero {
	position: relative;
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 1.8rem;
	padding: 1.6rem;
	border-radius: 18px;
	background: var(--agd-dark);
	overflow: hidden;
	isolation: isolate;
	color: #fff;
}
.agd-phero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: var(--agd-phero-bg, none);
	background-size: cover;
	background-position: center 20%;
	opacity: 0.18;
	filter: grayscale(0.3);
}
.agd-phero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(120deg, rgba(20, 22, 26, 0.96) 35%, rgba(20, 22, 26, 0.65));
}
.agd-phero__photo { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; background: #0d0f12; }
.agd-phero__img, .agd-phero__photo .ag-initials-avatar { width: 100%; height: 100%; object-fit: cover; }
.agd-phero__photos {
	position: absolute; left: 0.6rem; bottom: 0.6rem;
	display: inline-flex; align-items: center; gap: 0.35rem;
	padding: 0.4rem 0.7rem; border: none; border-radius: 8px; cursor: pointer;
	background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 0.75rem; font-weight: 600;
}
.agd-phero__photos svg { width: 0.9rem; height: 0.9rem; fill: none; stroke: currentColor; stroke-width: 2; }

.agd-phero__identity { min-width: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.agd-phero__verified { display: inline-flex; align-items: center; gap: 0.35rem; align-self: flex-start; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--agd-gold); }
.agd-phero__verified svg { width: 0.95rem; height: 0.95rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-phero__name { display: flex; align-items: center; gap: 0.5rem; font-family: var(--ag-serif); font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 800; line-height: 1.02; margin: 0; color: #fff; letter-spacing: 0.01em; text-transform: uppercase; }
.agd-phero__badge svg { width: 1.4rem; height: 1.4rem; }
.agd-phero__role { margin: 0; color: var(--agd-gold); font-weight: 600; font-size: 1.02rem; }

.agd-phero__facts { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 0.2rem; }
.agd-pfact { display: flex; flex-direction: column; gap: 0.05rem; }
.agd-pfact__k { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.5); }
.agd-pfact__v { font-weight: 700; font-size: 0.92rem; color: #fff; }

.agd-phero__metrics { display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 0.4rem; padding-top: 0.9rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.agd-metric { display: flex; flex-direction: column; gap: 0.1rem; }
.agd-metric__label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.55); }
.agd-metric__score { font-size: 1rem; color: rgba(255, 255, 255, 0.6); }
.agd-metric__score strong { font-family: var(--ag-serif); font-size: 2.4rem; font-weight: 800; color: var(--agd-gold); }
.agd-metric__big { font-family: var(--ag-serif); font-size: 2rem; font-weight: 800; color: #fff; }
.agd-metric__sub { font-size: 0.72rem; color: rgba(255, 255, 255, 0.5); }

.agd-phero__social { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.4rem; }
.agd-sbtn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.85rem; border-radius: 8px; background: rgba(255, 255, 255, 0.1); color: #fff; border: none; cursor: pointer; text-decoration: none; font-size: 0.8rem; font-weight: 600; }
.agd-sbtn:hover { background: var(--agd-gold); color: #15171C; }
.agd-sbtn svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Birthday card CTA — shown on the hero only on the person's birthday. */
.agd-bday-btn { display: inline-flex; align-items: center; gap: 0.55rem; margin-top: 1rem; padding: 0.7rem 1.1rem; border: 0; border-radius: 12px; font-weight: 700; font-size: 0.92rem; cursor: pointer; color: #15171C; background: linear-gradient(135deg, var(--agd-gold), var(--agd-gold-deep)); box-shadow: 0 8px 20px rgba(226, 166, 24, 0.3); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.agd-bday-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(226, 166, 24, 0.42); }
.agd-bday-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---- Stat cards ---- */
.agd-statcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.agd-statcard { display: flex; flex-direction: column; gap: 0.15rem; padding: 1.1rem 1.2rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 12px; box-shadow: var(--agd-shadow); }
.agd-statcard__icon { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 8px; background: rgba(226, 166, 24, 0.14); margin-bottom: 0.3rem; }
.agd-statcard__icon svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: var(--agd-gold-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-statcard__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--agd-muted); }
.agd-statcard__value { font-family: var(--ag-serif); font-size: 1.2rem; font-weight: 800; color: var(--agd-ink); line-height: 1.15; }
.agd-statcard__sub { font-size: 0.75rem; color: var(--agd-muted); }

/* ---- Content blocks ---- */
.agd-block__title { font-family: var(--ag-serif); font-size: 1.05rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--agd-ink); margin: 0 0 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--agd-line); }
.agd-panel { background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; padding: 1.4rem; box-shadow: var(--agd-shadow); }

.agd-about { display: grid; grid-template-columns: 1fr 280px; gap: 1.6rem; align-items: start; }
.agd-about__bio { color: var(--agd-ink); line-height: 1.7; }
.agd-about__bio p { margin: 0 0 1em; }
.agd-about__facts { background: var(--agd-bg-alt); border: 1px solid var(--agd-line); border-radius: 12px; padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 0.85rem; }
.agd-about__fact { display: flex; flex-direction: column; gap: 0.1rem; }
.agd-about__k { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--agd-muted); }
.agd-about__v { font-weight: 600; color: var(--agd-ink); }

.agd-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.agd-pinfo { margin: 0; display: flex; flex-direction: column; }
.agd-pinfo__row { display: grid; grid-template-columns: 40% 1fr; gap: 0.5rem; padding: 0.55rem 0; border-bottom: 1px dashed var(--agd-line); }
.agd-pinfo__row:last-child { border-bottom: none; }
.agd-pinfo dt { font-size: 0.85rem; color: var(--agd-muted); }
.agd-pinfo dd { margin: 0; font-size: 0.88rem; font-weight: 600; color: var(--agd-ink); }

.agd-edu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.agd-edu__item { display: flex; gap: 0.6rem; }
.agd-edu__check svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: #16A34A; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.agd-edu__text { font-size: 0.88rem; color: var(--agd-ink); }

.agd-awards { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1rem; }
.agd-award { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.5rem; padding: 1.1rem 0.8rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 12px; box-shadow: var(--agd-shadow); }
.agd-award__icon svg { width: 1.8rem; height: 1.8rem; fill: none; stroke: var(--agd-gold-deep); stroke-width: 1.6; stroke-linejoin: round; }
.agd-award__name { font-size: 0.8rem; font-weight: 600; color: var(--agd-ink); line-height: 1.25; }

.agd-related { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 1rem; }
.agd-relcard { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; text-decoration: none; }
.agd-relcard__avatar { width: 74px; height: 74px; border-radius: 50%; overflow: hidden; background: var(--agd-bg-alt); display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-weight: 700; font-size: 1.4rem; color: var(--agd-gold-deep); }
.agd-relcard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.agd-relcard__name { font-size: 0.82rem; font-weight: 700; color: var(--agd-ink); line-height: 1.2; }
.agd-relcard__role { font-size: 0.72rem; color: var(--agd-muted); }

.agd-also { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--agd-line); }
.agd-also__label { font-size: 0.8rem; font-weight: 700; color: var(--agd-muted); margin-right: 0.2rem; }
.agd-chip { padding: 0.35rem 0.8rem; border-radius: 99px; background: var(--agd-bg-alt); border: 1px solid var(--agd-line); color: var(--agd-ink); font-size: 0.78rem; text-decoration: none; }
.agd-chip:hover { border-color: var(--agd-gold); color: var(--agd-gold-deep); }

.agd-attribution { font-size: 0.82rem; color: var(--agd-muted); padding-top: 1rem; border-top: 1px solid var(--agd-line); }
.agd-attribution__meta { font-weight: 600; color: var(--agd-ink); margin: 0 0 0.25rem; }
.agd-attribution p { margin: 0; }
.agd-attribution a { color: var(--agd-gold-deep); text-decoration: none; }
.agd-attribution__edit { margin-top: 0.5rem !important; }
.agd-attribution__edit a { font-weight: 600; }
.agd-attribution__edit a:hover { text-decoration: underline; }

/* ---- Sidebar widgets (always dark) ---- */
.agd-pside { display: flex; flex-direction: column; gap: 1.1rem; }
@media (min-width: 1024px) { .agd-pside { position: sticky; top: 88px; } }
.agd-widget { background: var(--agd-dark); border: 1px solid var(--agd-dark-line); border-radius: 14px; padding: 1.1rem; color: #fff; }
.agd-widget__title { display: flex; align-items: center; gap: 0.45rem; font-family: var(--ag-serif); font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--agd-gold); margin: 0 0 0.8rem; }
.agd-widget__list { display: flex; flex-direction: column; }
.agd-wrow { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.5rem; border-radius: 9px; text-decoration: none; color: #fff; }
.agd-wrow:hover { background: rgba(255, 255, 255, 0.05); }
.agd-wrow.is-active { background: linear-gradient(90deg, rgba(226, 166, 24, 0.9), rgba(200, 146, 10, 0.85)); color: #15171C; }
.agd-wrow__rank { flex-shrink: 0; width: 1.2rem; text-align: center; font-weight: 800; font-size: 0.85rem; color: var(--agd-gold); }
.agd-wrow.is-active .agd-wrow__rank { color: #15171C; }
.agd-wrow__avatar { flex-shrink: 0; width: 2.3rem; height: 2.3rem; border-radius: 50%; overflow: hidden; background: rgba(255, 255, 255, 0.08); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--agd-gold); }
.agd-wrow__avatar img { width: 100%; height: 100%; object-fit: cover; }
.agd-wrow__body { min-width: 0; display: flex; flex-direction: column; }
.agd-wrow__name { font-weight: 700; font-size: 0.85rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agd-wrow__sub { font-size: 0.73rem; color: rgba(255, 255, 255, 0.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agd-wrow.is-active .agd-wrow__sub { color: rgba(21, 23, 28, 0.7); }
.agd-widget__cta { display: block; text-align: center; margin-top: 0.7rem; padding: 0.5rem; border-radius: 8px; border: 1px solid rgba(226, 166, 24, 0.4); color: var(--agd-gold); font-size: 0.78rem; font-weight: 700; text-decoration: none; }
.agd-widget__cta:hover { background: rgba(226, 166, 24, 0.12); }

.agd-hof { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; overflow: hidden; padding: 1.3rem; border-radius: 14px; text-decoration: none; background: linear-gradient(120deg, #1a1d23, #2a2107); border: 1px solid rgba(226, 166, 24, 0.3); }
.agd-hof__text { display: flex; flex-direction: column; gap: 0.2rem; }
.agd-hof__title { font-family: var(--ag-serif); font-size: 1.3rem; font-weight: 800; color: #fff; line-height: 1; }
.agd-hof__sub { font-size: 0.78rem; color: rgba(255, 255, 255, 0.7); }
.agd-hof__cta { margin-top: 0.5rem; align-self: flex-start; padding: 0.4rem 0.9rem; border-radius: 7px; background: var(--agd-gold); color: #15171C; font-size: 0.76rem; font-weight: 700; }
.agd-hof__icon { font-size: 2.6rem; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.4)); }

/* ---- Archive header / toolbar ---- */
.agd-archive-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.agd-archive-title { font-family: var(--ag-serif); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; color: var(--agd-ink); margin: 0 0 0.3rem; }
.agd-archive-sub { color: var(--agd-muted); margin: 0; }
.agd-archive-total { display: flex; align-items: center; gap: 0.7rem; padding: 0.8rem 1.1rem; border: 1px solid var(--agd-gold); border-radius: 12px; background: var(--agd-card); }
.agd-archive-total__icon { display: inline-flex; width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--agd-dark); }
.agd-archive-total__icon svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-archive-total__num { font-family: var(--ag-serif); font-size: 1.4rem; font-weight: 800; color: var(--agd-ink); }
.agd-archive-total__label { font-size: 0.78rem; color: var(--agd-muted); }

.agd-toolbar { display: flex; gap: 0.7rem; flex-wrap: wrap; padding: 0.8rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; box-shadow: var(--agd-shadow); margin-bottom: 1.4rem; }
.agd-toolbar__search { position: relative; flex: 1; min-width: 200px; display: flex; align-items: center; }
.agd-toolbar__search svg { position: absolute; left: 0.8rem; width: 1.05rem; height: 1.05rem; fill: none; stroke: var(--agd-muted); stroke-width: 2; pointer-events: none; }
.agd-toolbar__search input { width: 100%; padding: 0.7rem 0.9rem 0.7rem 2.4rem; border: 1px solid var(--agd-line); border-radius: 9px; background: var(--agd-bg); color: var(--agd-ink); font-size: 0.9rem; }
.agd-select { padding: 0.7rem 0.9rem; border: 1px solid var(--agd-line); border-radius: 9px; background: var(--agd-bg); color: var(--agd-ink); font-size: 0.88rem; cursor: pointer; }

/* ---- Archive body ---- */
.agd-archive { display: grid; grid-template-columns: 250px 1fr; gap: 1.6rem; align-items: start; }
.agd-filters { background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; padding: 1.2rem; box-shadow: var(--agd-shadow); }
@media (min-width: 1024px) { .agd-filters { position: sticky; top: 88px; } }
.agd-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--agd-line); }
.agd-filters__title { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 700; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--agd-ink); }
.agd-filters__title svg { width: 1rem; height: 1rem; fill: none; stroke: var(--agd-gold-deep); stroke-width: 2; stroke-linecap: round; }
.agd-filters__reset { font-size: 0.76rem; color: var(--agd-gold-deep); text-decoration: none; }
.agd-filters__label { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--agd-muted); margin: 0 0 0.6rem; }
.agd-filters__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.agd-filters__item { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0.6rem; border-radius: 8px; text-decoration: none; color: var(--agd-ink); font-size: 0.86rem; }
.agd-filters__item:hover { background: var(--agd-bg-alt); }
.agd-filters__item.is-active { background: var(--agd-gold); color: #15171C; font-weight: 700; }
.agd-filters__count { font-size: 0.76rem; color: var(--agd-muted); }
.agd-filters__item.is-active .agd-filters__count { color: rgba(21, 23, 28, 0.7); }

.agd-results__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.agd-results__count { margin: 0; color: var(--agd-muted); font-size: 0.88rem; }
.agd-results__sort { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--agd-muted); }

.agd-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr)); gap: 1.2rem; }
.agd-pcard { display: flex; flex-direction: column; gap: 0.4rem; text-decoration: none; }
.agd-pcard__media { position: relative; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--agd-bg-alt); box-shadow: var(--agd-shadow); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.agd-pcard:hover .agd-pcard__media { transform: translateY(-4px); box-shadow: var(--agd-shadow-lg); }
.agd-pcard__verified { position: absolute; top: 0.5rem; right: 0.5rem; z-index: 2; width: 1.4rem; height: 1.4rem; }
.agd-pcard__verified svg { width: 100%; height: 100%; }
.agd-pcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.agd-pcard__img--ph { display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-size: 2.6rem; font-weight: 700; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-pcard__name { font-family: var(--ag-serif); font-weight: 700; font-size: 0.98rem; color: var(--agd-ink); line-height: 1.2; text-align: center; }
.agd-pcard__cat { font-size: 0.8rem; color: var(--agd-gold-deep); font-weight: 600; text-align: center; }

/* Pagination (agd) */
.agd-pagination { margin-top: 2rem; }
.agd-pagination .nav-links { display: flex; gap: 0.4rem; justify-content: center; flex-wrap: wrap; }
.agd-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; padding-inline: 0.5rem; border-radius: 8px; border: 1px solid var(--agd-line); background: var(--agd-card); color: var(--agd-ink); text-decoration: none; font-size: 0.88rem; }
.agd-pagination .page-numbers:hover { border-color: var(--agd-gold); color: var(--agd-gold-deep); }
.agd-pagination .page-numbers.current { background: var(--agd-ink); color: var(--agd-bg); border-color: var(--agd-ink); }
.agd-pagination .page-numbers.dots { border: none; background: none; }

.agd-empty { text-align: center; padding: 3rem 1rem; color: var(--agd-muted); display: flex; flex-direction: column; align-items: center; gap: 1rem; }

/* ---- Responsive ---- */
@media (max-width: 1040px) {
	.agd-profile { grid-template-columns: 1fr; }
	.agd-pside { position: static; flex-direction: row; flex-wrap: wrap; }
	.agd-pside > * { flex: 1 1 280px; }
}
@media (max-width: 820px) {
	.agd-phero { grid-template-columns: 1fr; }
	.agd-phero__photo { max-width: 260px; }
	.agd-about { grid-template-columns: 1fr; }
	.agd-statcards { grid-template-columns: repeat(2, 1fr); }
	.agd-archive { grid-template-columns: 1fr; }
	.agd-filters { position: static; }
}
@media (max-width: 520px) {
	.agd-two { grid-template-columns: 1fr; }
	.agd-pside { flex-direction: column; }
}

/* ---- Region line on archive cards ---- */
.agd-pcard__region { display: inline-flex; align-items: center; justify-content: center; gap: 0.25rem; font-size: 0.74rem; color: var(--agd-muted); text-align: center; }
.agd-pcard__region svg { width: 0.8rem; height: 0.8rem; fill: none; stroke: currentColor; stroke-width: 2; flex-shrink: 0; }

/* ---- Career timeline ---- */
.agd-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.agd-timeline::before { content: ""; position: absolute; left: 4.6rem; top: 0.4rem; bottom: 0.4rem; width: 2px; background: var(--agd-line); }
.agd-timeline__item { position: relative; display: grid; grid-template-columns: 4rem 1.4rem 1fr; align-items: start; gap: 0.5rem; padding: 0.5rem 0; }
.agd-timeline__year { font-family: var(--ag-serif); font-weight: 800; font-size: 0.92rem; color: var(--agd-gold-deep); text-align: right; padding-top: 0.05rem; }
.agd-timeline__dot { position: relative; z-index: 1; width: 0.85rem; height: 0.85rem; margin-top: 0.3rem; margin-left: 0.25rem; border-radius: 50%; background: var(--agd-gold); box-shadow: 0 0 0 3px var(--agd-bg); }
.agd-timeline__event { font-size: 0.9rem; color: var(--agd-ink); line-height: 1.5; }

/* ---- Photo gallery ---- */
.agd-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.8rem; }
.agd-gallery__item { display: block; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: var(--agd-bg-alt); }
.agd-gallery__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.25s var(--ag-ease, ease); }
.agd-gallery__item:hover .agd-gallery__img { transform: scale(1.06); }

/* ---- Videos ---- */
.agd-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.agd-video { display: flex; flex-direction: column; gap: 0.4rem; text-decoration: none; }
.agd-video__thumb { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #000 center/cover no-repeat; display: flex; align-items: center; justify-content: center; }
.agd-video__play { width: 3rem; height: 3rem; border-radius: 50%; background: rgba(0, 0, 0, 0.55); display: flex; align-items: center; justify-content: center; transition: background 0.15s ease; }
.agd-video:hover .agd-video__play { background: var(--agd-gold); }
.agd-video__play svg { width: 1.2rem; height: 1.2rem; fill: #fff; stroke: none; margin-left: 2px; }
.agd-video:hover .agd-video__play svg { fill: #15171C; }
.agd-video__title { font-size: 0.84rem; font-weight: 600; color: var(--agd-ink); line-height: 1.3; }

/* ==========================================================================
   AGYE DIN — Hall of Fame / Birthdays / Regions pages
   ========================================================================== */

.agd-page { background: var(--agd-bg); color: var(--agd-ink); padding-block: 1.25rem 3rem; }
.agd-page-section { margin-top: 2.4rem; }
.agd-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.6rem; }
.agd-page-head--stack { display: block; }
.agd-page-title { font-family: var(--ag-serif); font-size: clamp(1.9rem, 4.5vw, 2.8rem); font-weight: 800; letter-spacing: 0.02em; color: var(--agd-ink); margin: 0 0 0.3rem; }
.agd-page-sub { color: var(--agd-muted); margin: 0; }
.agd-center { text-align: center; margin-top: 1.6rem; }

.agd-btn--outline { background: transparent; border: 1px solid var(--agd-line); color: var(--agd-ink); }
.agd-btn--outline:hover { border-color: var(--agd-gold); color: var(--agd-gold-deep); }
.agd-btn--sm { padding: 0.45rem 0.9rem; font-size: 0.8rem; }

/* ---- Birthdays ---- */
.agd-datecard { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1.1rem; border-radius: 12px; background: linear-gradient(135deg, var(--agd-gold), var(--agd-gold-deep)); color: #15171C; }
.agd-datecard__icon svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: #15171C; stroke-width: 2; stroke-linecap: round; }
.agd-datecard__body { display: flex; flex-direction: column; }
.agd-datecard__label { font-size: 0.72rem; font-weight: 600; opacity: 0.8; }
.agd-datecard__date { font-family: var(--ag-serif); font-size: 1.15rem; font-weight: 800; }

.agd-bday-tabs { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.agd-tabset { display: inline-flex; gap: 0.5rem; }
.agd-tab { padding: 0.55rem 1.2rem; border-radius: 9px; border: 1px solid var(--agd-line); background: var(--agd-card); color: var(--agd-ink); font-size: 0.85rem; font-weight: 600; text-decoration: none; }
.agd-tab.is-active { background: var(--agd-gold); border-color: var(--agd-gold); color: #15171C; }
.agd-pill-link { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1rem; border: 1px solid var(--agd-line); border-radius: 9px; color: var(--agd-ink); text-decoration: none; font-size: 0.85rem; font-weight: 600; }
.agd-pill-link:hover { border-color: var(--agd-gold); color: var(--agd-gold-deep); }
.agd-pill-link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; }

.agd-bday-section { margin-bottom: 2.4rem; }
.agd-bday-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.agd-bcard { display: flex; flex-direction: column; text-decoration: none; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; overflow: hidden; box-shadow: var(--agd-shadow); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.agd-bcard:hover { transform: translateY(-4px); box-shadow: var(--agd-shadow-lg); }
.agd-bcard__media { position: relative; aspect-ratio: 4 / 3; background: var(--agd-bg-alt); }
.agd-bcard__gift { position: absolute; left: 0.5rem; bottom: -0.9rem; z-index: 2; width: 1.9rem; height: 1.9rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--agd-gold); font-size: 0.9rem; box-shadow: 0 2px 8px rgba(0,0,0,0.25); }
.agd-bcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.agd-bcard__img--ph { display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-size: 2.4rem; font-weight: 700; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-bcard__name { font-family: var(--ag-serif); font-weight: 700; font-size: 1rem; color: var(--agd-ink); margin: 1.1rem 1rem 0; }
.agd-bcard__date { font-size: 0.82rem; color: var(--agd-gold-deep); font-weight: 600; margin: 0.15rem 1rem 0; }
.agd-bcard__role { font-size: 0.8rem; color: var(--agd-muted); margin: 0.05rem 1rem 1rem; }

.agd-upcoming { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.agd-up { display: flex; align-items: center; gap: 1rem; padding: 0.7rem 1rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 12px; box-shadow: var(--agd-shadow); }
.agd-up__date { flex-shrink: 0; width: 3.2rem; height: 3.2rem; border-radius: 10px; border: 1px solid var(--agd-line); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.agd-up__mon { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; color: var(--agd-gold-deep); }
.agd-up__day { font-family: var(--ag-serif); font-size: 1.2rem; font-weight: 800; color: var(--agd-ink); line-height: 1; }
.agd-up__avatar { flex-shrink: 0; width: 2.8rem; height: 2.8rem; border-radius: 50%; overflow: hidden; background: var(--agd-bg-alt); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--agd-gold-deep); }
.agd-up__avatar img { width: 100%; height: 100%; object-fit: cover; }
.agd-up__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.agd-up__name { font-weight: 700; color: var(--agd-ink); }
.agd-up__role { font-size: 0.8rem; color: var(--agd-muted); }
.agd-up__btn { flex-shrink: 0; padding: 0.5rem 1rem; border: 1px solid var(--agd-line); border-radius: 8px; color: var(--agd-ink); text-decoration: none; font-size: 0.8rem; font-weight: 600; }
.agd-up__btn:hover { border-color: var(--agd-gold); color: var(--agd-gold-deep); background: var(--agd-bg-alt); }

/* ---- Regions ---- */
.agd-rmap { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 1.5rem; align-items: stretch; background: var(--agd-dark); border-radius: 16px; padding: 1.5rem; }
.agd-rmap__map { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.agd-rmap__map svg { width: 100%; max-width: 240px; height: auto; }
.agd-rmap__caption { margin-top: 0.6rem; font-size: 0.78rem; color: rgba(255,255,255,0.5); }
.agd-ghana { width: 100%; height: auto; display: block; }
.agd-rmap__map .agd-ghana { max-width: 230px; fill: var(--agd-gold); filter: drop-shadow(0 0 22px rgba(226,166,24,0.40)); }
.agd-rmap__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; }
.agd-rtile { display: flex; align-items: center; gap: 0.55rem; padding: 0.7rem 0.85rem; border: 1px solid var(--agd-dark-line); border-radius: 10px; text-decoration: none; color: #fff; transition: border-color 0.15s ease, background 0.15s ease; }
.agd-rtile:hover { border-color: var(--agd-gold); background: rgba(255,255,255,0.04); }
.agd-rtile__pin svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; flex-shrink: 0; }
.agd-rtile__body { display: flex; flex-direction: column; min-width: 0; }
.agd-rtile__name { font-weight: 700; font-size: 0.86rem; }
.agd-rtile__count { font-size: 0.72rem; color: rgba(255,255,255,0.55); }

.agd-featregion { margin-top: 2.4rem; }
.agd-rchips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.4rem; }
.agd-rchip { padding: 0.5rem 1.1rem; border-radius: 8px; border: 1px solid var(--agd-line); background: var(--agd-card); color: var(--agd-ink); font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.agd-rchip.is-active { background: var(--agd-gold); border-color: var(--agd-gold); color: #15171C; }
.agd-pgrid--region { grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); }

.agd-cta-band { margin-top: 2.6rem; text-align: center; padding: 2.4rem 1.5rem; border-radius: 16px; background: var(--agd-gold-soft, #FDF3D7); }
.agd-cta-band h2 { font-family: var(--ag-serif); font-size: 1.5rem; margin: 0 0 0.5rem; color: #15171C; }
.agd-cta-band p { max-width: 540px; margin: 0 auto 1.2rem; color: #5C5040; }
html.agd-dark .agd-cta-band { background: rgba(226,166,24,0.1); }
html.agd-dark .agd-cta-band h2 { color: var(--agd-ink); }
html.agd-dark .agd-cta-band p { color: var(--agd-muted); }

/* ---- Hall of Fame ---- */
.agd-hof-hero { background: var(--agd-dark); padding-block: 2.6rem; margin-bottom: 2rem; }
.agd-hof-hero__title { text-align: center; font-family: var(--ag-serif); font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; letter-spacing: 0.05em; color: #fff; margin: 0 0 0.5rem; display: flex; align-items: center; justify-content: center; gap: 0.8rem; }
.agd-hof-hero__laurel { font-size: 1.8rem; filter: sepia(1) saturate(4) hue-rotate(5deg); }
.agd-hof-hero__laurel--r { transform: scaleX(-1); }
.agd-hof-hero__sub { text-align: center; color: rgba(255,255,255,0.7); margin: 0 0 1.8rem; }
.agd-hof-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.9rem; }
.agd-hof-cat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; padding: 1.2rem 0.7rem; border: 1px solid var(--agd-dark-line); border-radius: 12px; text-decoration: none; color: #fff; transition: border-color 0.15s ease, transform 0.15s ease; }
.agd-hof-cat:hover { border-color: var(--agd-gold); transform: translateY(-3px); }
.agd-hof-cat__icon { display: inline-flex; width: 2.6rem; height: 2.6rem; align-items: center; justify-content: center; border-radius: 8px; background: rgba(226,166,24,0.15); }
.agd-hof-cat__icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-hof-cat__name { font-weight: 700; font-size: 0.84rem; }
.agd-hof-cat__count { font-size: 0.72rem; color: rgba(255,255,255,0.55); }

.agd-legend-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.3rem; }
.agd-legend { display: flex; flex-direction: column; text-decoration: none; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; overflow: hidden; box-shadow: var(--agd-shadow); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.agd-legend:hover { transform: translateY(-4px); box-shadow: var(--agd-shadow-lg); }
.agd-legend__media { position: relative; aspect-ratio: 1 / 1; background: var(--agd-bg-alt); }
.agd-legend__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.agd-legend__img--ph { display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-size: 3rem; font-weight: 700; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-legend__name { font-family: var(--ag-serif); font-weight: 700; font-size: 1.05rem; color: var(--agd-ink); margin: 0.9rem 1rem 0; }
.agd-legend__role { font-size: 0.82rem; color: var(--agd-muted); margin: 0.1rem 1rem 1rem; }

.agd-hofcat-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.agd-hofcat { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 14px; overflow: hidden; text-decoration: none; background: var(--agd-dark) var(--agd-hofcat-bg, none) center/cover no-repeat; box-shadow: var(--agd-shadow); }
.agd-hofcat__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,12,15,0.1) 40%, rgba(10,12,15,0.9) 100%); }
.agd-hofcat__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0.9rem; }
.agd-hofcat__name { display: block; font-family: var(--ag-serif); font-weight: 700; font-size: 1rem; color: #fff; }
.agd-hofcat__count { display: block; font-size: 0.78rem; color: var(--agd-gold); font-weight: 600; }

/* ==========================================================================
   AGYE DIN — About Us page
   ========================================================================== */
.agd-about-page { background: var(--agd-bg); color: var(--agd-ink); }

.agd-about-hero { background: var(--agd-dark); color: #fff; overflow: hidden; }
.agd-about-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.agd-about-hero__eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--agd-gold); margin-bottom: 0.8rem; }
.agd-about-hero__title { font-family: var(--ag-serif); font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 800; line-height: 1.08; margin: 0 0 1.1rem; color: #fff; }
.agd-about-hero__title span { color: var(--agd-gold); }
.agd-about-hero__lead { font-size: 1.05rem; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0; max-width: 30rem; }

.agd-about-hero__media { position: relative; min-height: 240px; display: flex; align-items: center; justify-content: center; }
.agd-about-montage { display: flex; gap: 0.4rem; align-items: flex-end; }
.agd-about-montage__face { width: clamp(70px, 9vw, 120px); aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; filter: grayscale(0.6) brightness(0.85); -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.agd-about-montage__face img { width: 100%; height: 100%; object-fit: cover; }
.agd-about-map { position: absolute; bottom: -6%; left: 50%; transform: translateX(-50%); width: 38%; filter: drop-shadow(0 0 30px rgba(226,166,24,0.6)); }
.agd-about-map svg { width: 100%; height: auto; display: block; }
.agd-about-map .agd-ghana { fill: var(--agd-gold); filter: drop-shadow(0 0 28px rgba(226,166,24,0.55)); }

.agd-about-body { display: grid; grid-template-columns: 0.95fr 1.1fr 0.95fr; gap: 2rem; padding-block: 3rem; align-items: start; }
.agd-about-mv { display: flex; flex-direction: column; gap: 1.8rem; }
.agd-mvitem__icon { display: inline-flex; width: 2.6rem; height: 2.6rem; align-items: center; justify-content: center; border-radius: 10px; background: rgba(226,166,24,0.14); margin-bottom: 0.6rem; }
.agd-mvitem__icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: var(--agd-gold-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-mvitem__title { font-family: var(--ag-serif); font-size: 1.1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 0.4rem; color: var(--agd-ink); }
.agd-mvitem p { margin: 0; color: var(--agd-muted); line-height: 1.6; font-size: 0.92rem; }

.agd-about-story__title { font-family: var(--ag-serif); font-size: 1.4rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; margin: 0 0 1rem; color: var(--agd-ink); }
.agd-about-story p { margin: 0 0 1rem; color: var(--agd-ink); line-height: 1.7; }

.agd-about-storyimg { position: relative; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: linear-gradient(160deg, #2a2d33, #14161a); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem; color: #fff; box-shadow: var(--agd-shadow-lg); }
.agd-about-storyimg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, rgba(226,166,24,0.22), transparent 60%); }
.agd-about-storyimg__star { position: relative; z-index: 1; font-size: 3rem; color: var(--agd-gold); }
.agd-about-storyimg__year { position: relative; z-index: 1; font-family: var(--ag-serif); font-weight: 800; letter-spacing: 0.2em; color: #fff; }
.agd-about-storyimg__motto { position: relative; z-index: 1; font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--agd-gold); }

.agd-about-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; padding: 1.6rem; border-radius: 16px; background: var(--agd-gold-soft, #FDF3D7); margin-bottom: 1rem; }
html.agd-dark .agd-about-stats { background: rgba(226,166,24,0.08); }
.agd-astat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.2rem; }
.agd-astat__icon svg { width: 1.7rem; height: 1.7rem; fill: none; stroke: var(--agd-gold-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 0.25rem; }
.agd-astat__num { font-family: var(--ag-serif); font-size: clamp(1.2rem, 2.5vw, 1.7rem); font-weight: 800; color: var(--agd-ink); line-height: 1.1; }
.agd-astat__label { font-size: 0.78rem; color: var(--agd-muted); }

.agd-about-team { padding-block: 2.6rem 1rem; }
.agd-about-team .agd-section-title { margin-bottom: 1.4rem; }
.agd-creator { display: grid; grid-template-columns: 200px 1fr; gap: 1.6rem; align-items: center; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 16px; padding: 1.6rem; box-shadow: var(--agd-shadow); }
.agd-creator__photo { display: block; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--agd-bg-alt); }
.agd-creator__photo img { width: 100%; height: 100%; object-fit: cover; }
.agd-creator__ph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-family: var(--ag-serif); font-size: 3rem; font-weight: 800; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-creator__name { font-family: var(--ag-serif); font-size: 1.6rem; font-weight: 800; margin: 0; color: var(--agd-ink); }
.agd-creator__role { color: var(--agd-gold-deep); font-weight: 700; margin: 0.1rem 0 0.7rem; }
.agd-creator__blurb { color: var(--agd-ink); line-height: 1.6; margin: 0 0 0.6rem; }
.agd-creator__note { color: var(--agd-muted); line-height: 1.6; margin: 0 0 1rem; font-size: 0.92rem; }

@media (max-width: 940px) {
	.agd-about-hero__inner { grid-template-columns: 1fr; }
	.agd-about-hero__media { order: -1; }
	.agd-about-body { grid-template-columns: 1fr; }
	.agd-about-stats { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
	.agd-creator { grid-template-columns: 140px 1fr; }
}
@media (max-width: 540px) {
	.agd-about-stats { grid-template-columns: repeat(2, 1fr); }
	.agd-creator { grid-template-columns: 1fr; text-align: center; }
	.agd-creator__photo { max-width: 180px; margin-inline: auto; }
}

/* ---- Pages responsive ---- */
@media (max-width: 900px) {
	.agd-bday-grid, .agd-legend-grid { grid-template-columns: repeat(2, 1fr); }
	.agd-hof-cats { grid-template-columns: repeat(3, 1fr); }
	.agd-hofcat-strip { grid-template-columns: repeat(3, 1fr); }
	.agd-rmap { grid-template-columns: 1fr; }
	.agd-rmap__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.agd-bday-grid, .agd-legend-grid, .agd-hof-cats, .agd-hofcat-strip, .agd-rmap__grid { grid-template-columns: 1fr 1fr; }
	.agd-up__role { display: none; }
	.agd-bday-tabs { flex-direction: column; align-items: stretch; }
}

/* ==========================================================================
   AGYE DIN — generic content pages, 404, categories
   ========================================================================== */
.agd-content { max-width: 800px; margin-inline: auto; }
.agd-content__title { font-family: var(--ag-serif); font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; color: var(--agd-ink); margin: 0 0 1.2rem; }
.agd-prose { color: var(--agd-ink); line-height: 1.75; font-size: 1.02rem; }
.agd-prose p { margin: 0 0 1.1em; }
.agd-prose h2 { font-family: var(--ag-serif); font-size: 1.5rem; margin: 1.8em 0 0.6em; color: var(--agd-ink); }
.agd-prose h3 { font-family: var(--ag-serif); font-size: 1.2rem; margin: 1.5em 0 0.5em; color: var(--agd-ink); }
.agd-prose a { color: var(--agd-gold-deep); text-decoration: underline; text-underline-offset: 2px; }
.agd-prose ul, .agd-prose ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.agd-prose li { margin-bottom: 0.4em; }
.agd-prose img { border-radius: 12px; height: auto; }
.agd-prose blockquote { margin: 1.4em 0; padding: 0.6em 1.1em; border-left: 4px solid var(--agd-gold); background: var(--agd-bg-alt); border-radius: 0 8px 8px 0; color: var(--agd-muted); }
.agd-content__placeholder { color: var(--agd-muted); font-style: italic; }

.agd-404 { max-width: 620px; margin-inline: auto; text-align: center; padding-block: clamp(2rem, 6vw, 4rem); }
.agd-404__code { font-family: var(--ag-serif); font-size: clamp(5rem, 18vw, 10rem); font-weight: 800; line-height: 1; margin: 0; color: transparent; -webkit-text-stroke: 3px var(--agd-gold); }
.agd-404__title { font-family: var(--ag-serif); font-size: clamp(1.6rem, 4vw, 2.2rem); margin: 0.4rem 0 0.6rem; color: var(--agd-ink); }
.agd-404__msg { color: var(--agd-muted); margin: 0 auto 1.6rem; max-width: 30rem; }
.agd-404__search { max-width: 460px; margin: 0 auto 1.4rem; }
.agd-404__actions { display: flex; gap: 0.6rem; justify-content: center; flex-wrap: wrap; }

.agd-cats-page__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
@media (max-width: 900px) { .agd-cats-page__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .agd-cats-page__grid { grid-template-columns: repeat(2, 1fr); } }

/* ---- Richest leaderboard (page-richest.php) ---- */
.agd-chip.is-active { background: var(--agd-gold); border-color: var(--agd-gold); color: #15171C; font-weight: 600; }
.agd-rich-hero { background: var(--agd-dark); color: #fff; padding: 2.6rem 0 2.2rem; border-bottom: 1px solid var(--agd-dark-line); }
.agd-rich-hero__kicker { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--agd-gold); margin: 0 0 0.4rem; }
.agd-rich-hero__title { font-family: var(--ag-serif); font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.1; margin: 0 0 0.6rem; color: #fff; }
.agd-rich-hero__sub { max-width: 640px; font-size: 0.95rem; line-height: 1.55; color: rgba(255, 255, 255, 0.7); margin: 0; }
.agd-rich-wrap { padding: 1.8rem 0 3rem; }
.agd-rich-cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.6rem; }
.agd-rich-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.agd-rich-row__link { display: flex; align-items: center; gap: 1rem; padding: 0.7rem 1rem 0.7rem 0.6rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 14px; text-decoration: none; transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
.agd-rich-row__link:hover { border-color: var(--agd-gold); box-shadow: var(--agd-shadow); transform: translateY(-1px); }
.agd-rich-row__rank { flex: none; width: 2.6rem; text-align: center; font-family: var(--ag-serif); font-size: 1.15rem; font-weight: 800; color: var(--agd-gold-deep); }
.agd-rich-row:first-child .agd-rich-row__rank { color: var(--agd-gold); }
.agd-rich-row__media { flex: none; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: var(--agd-bg-alt); position: relative; }
.agd-rich-row__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.agd-rich-row__img--ph { display: flex; align-items: center; justify-content: center; font-family: var(--ag-serif); font-weight: 700; font-size: 1.4rem; color: var(--agd-gold); background: radial-gradient(circle at 50% 38%, #234733, #122618); }
.agd-rich-row__info { flex: 1 1 auto; min-width: 0; }
.agd-rich-row__name { display: block; font-family: var(--ag-serif); font-weight: 700; font-size: 1rem; color: var(--agd-ink); line-height: 1.2; }
.agd-rich-row__role { display: block; font-size: 0.8rem; color: var(--agd-muted); }
.agd-rich-row__worth { flex: none; font-weight: 800; font-size: 0.98rem; color: var(--agd-ink); white-space: nowrap; padding-left: 0.5rem; }
.agd-rich-empty { color: var(--agd-muted); padding: 2rem 0; }

/* Single blog post (single.php). */
.agd-article { max-width: 760px; margin: 0 auto; }
.agd-article__head { margin-bottom: 1.3rem; }
.agd-article__cat { display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--agd-gold-deep); text-decoration: none; margin-bottom: 0.5rem; }
.agd-article__cat:hover { text-decoration: underline; }
.agd-article__meta { font-size: 0.85rem; color: var(--agd-muted); margin: 0.4rem 0 0; }
.agd-article__media { margin: 0 0 1.6rem; border-radius: 14px; overflow: hidden; }
.agd-article__media img { width: 100%; height: auto; display: block; }
.agd-article__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.8rem; padding-top: 1.3rem; border-top: 1px solid var(--agd-line); }
.agd-article-related { max-width: 760px; margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid var(--agd-line); }
.agd-article-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.agd-related-post { text-decoration: none; }
.agd-related-post__media { display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; margin-bottom: 0.5rem; background: var(--agd-bg-alt); }
.agd-related-post__media img { width: 100%; height: 100%; object-fit: cover; }
.agd-related-post__title { font-family: var(--ag-serif); font-weight: 700; font-size: 0.92rem; color: var(--agd-ink); line-height: 1.25; }
@media (max-width: 600px) { .agd-article-related__grid { grid-template-columns: 1fr 1fr; } }

/* Auto lead sentence atop a profile bio. */
.agd-lead {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.55;
	color: var(--agd-ink);
	padding-left: 0.9rem;
	border-left: 3px solid var(--agd-gold);
}
@media (max-width: 560px) {
	.agd-rich-row__rank { width: 2rem; font-size: 1rem; }
	.agd-rich-row__worth { font-size: 0.85rem; }
	.agd-rich-row__media { width: 46px; height: 46px; }
}

/* ==========================================================================
   Policy pages (Privacy, Terms, Editorial Policy, Disclaimer)
   ========================================================================== */

.agd-policy-wrap { max-width: 760px; margin-inline: auto; padding-block: 1.5rem 3.5rem; }

.agd-policy__header { margin-bottom: 2.2rem; padding-bottom: 1.4rem; border-bottom: 2px solid var(--agd-line); }
.agd-policy__title  { font-family: var(--ag-serif); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; color: var(--agd-ink); margin: 0 0 0.35rem; }
.agd-policy__meta   { font-size: 0.82rem; color: var(--agd-muted); margin: 0 0 1rem; }
.agd-policy__lead   { font-size: 1.06rem; color: var(--agd-ink); line-height: 1.65; margin: 0; }

.agd-policy__body section { margin-bottom: 2rem; }
.agd-policy__body h2 { font-family: var(--ag-serif); font-size: 1.25rem; font-weight: 700; color: var(--agd-ink); margin: 0 0 0.7rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--agd-line); }
.agd-policy__body h3 { font-family: var(--ag-serif); font-size: 1rem; font-weight: 700; color: var(--agd-ink); margin: 1rem 0 0.4rem; }
.agd-policy__body p  { color: var(--agd-ink); line-height: 1.75; margin: 0 0 0.85rem; }
.agd-policy__body ul { padding-left: 1.4rem; margin: 0 0 0.85rem; }
.agd-policy__body li { color: var(--agd-ink); line-height: 1.7; margin-bottom: 0.35rem; }
.agd-policy__body a  { color: var(--agd-gold); text-decoration: underline; }

/* ==========================================================================
   Contact page
   ========================================================================== */

.agd-contact-page { padding-block: 1.5rem 3.5rem; }
.agd-contact-grid { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; margin-top: 1.5rem; }
@media (max-width: 860px) { .agd-contact-grid { grid-template-columns: 1fr; } }

.agd-contact-title { font-family: var(--ag-serif); font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 800; color: var(--agd-ink); margin: 0 0 0.5rem; }
.agd-contact-lead  { color: var(--agd-muted); font-size: 1.02rem; line-height: 1.65; margin: 0 0 1.6rem; }

/* Alert banners */
.agd-contact-alert { display: flex; align-items: flex-start; gap: 0.75rem; padding: 1rem 1.2rem; border-radius: 10px; font-size: 0.95rem; line-height: 1.5; margin-bottom: 1.4rem; }
.agd-contact-alert svg { flex-shrink: 0; width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin-top: 0.1rem; }
.agd-contact-alert--ok  { background: rgba(34, 197, 94, 0.12); color: #166534; border: 1px solid rgba(34, 197, 94, 0.3); }
.agd-contact-alert--err { background: rgba(239, 68, 68, 0.10); color: #991B1B; border: 1px solid rgba(239, 68, 68, 0.25); }
html.agd-dark .agd-contact-alert--ok  { background: rgba(34, 197, 94, 0.15); color: #86EFAC; border-color: rgba(34, 197, 94, 0.25); }
html.agd-dark .agd-contact-alert--err { background: rgba(239, 68, 68, 0.15); color: #FCA5A5; border-color: rgba(239, 68, 68, 0.25); }

/* Form */
.agd-cform { display: flex; flex-direction: column; gap: 1.1rem; }
.agd-cform__row--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .agd-cform__row--2col { grid-template-columns: 1fr; } }
.agd-cform__field { display: flex; flex-direction: column; gap: 0.35rem; }
.agd-cform__label { font-size: 0.85rem; font-weight: 600; color: var(--agd-ink); }
.agd-cform__label span { color: var(--agd-gold); }
.agd-cform__input { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--agd-line); border-radius: 9px; background: var(--agd-bg); color: var(--agd-ink); font-size: 0.96rem; font-family: inherit; transition: border-color 0.15s ease, box-shadow 0.15s ease; box-sizing: border-box; }
.agd-cform__input:focus { outline: none; border-color: var(--agd-gold); box-shadow: 0 0 0 3px rgba(226,166,24,0.18); }
.agd-cform__select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; padding-right: 2.5rem; cursor: pointer; }
.agd-cform__textarea { resize: vertical; min-height: 140px; }
.agd-cform__submit { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.85rem 1.8rem; align-self: flex-start; font-size: 1rem; font-weight: 700; cursor: pointer; }
.agd-cform__submit svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Sidebar contact cards */
.agd-contact-sidebar { display: flex; flex-direction: column; gap: 1rem; }
.agd-contact-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.1rem 1.2rem; background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 12px; }
.agd-contact-card__icon { flex-shrink: 0; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: rgba(226,166,24,0.12); display: flex; align-items: center; justify-content: center; }
.agd-contact-card__icon svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: var(--agd-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-contact-card__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--agd-muted); margin: 0 0 0.15rem; }
.agd-contact-card__val { font-size: 0.94rem; font-weight: 600; color: var(--agd-ink); margin: 0; text-decoration: none; }
a.agd-contact-card__val:hover { color: var(--agd-gold); }

/* Sidebar FAQ */
.agd-contact-faq { background: var(--agd-card); border: 1px solid var(--agd-line); border-radius: 12px; padding: 1.2rem; }
.agd-contact-faq__heading { font-family: var(--ag-serif); font-size: 1rem; font-weight: 700; color: var(--agd-ink); margin: 0 0 0.9rem; }
.agd-contact-faq__item { border-top: 1px solid var(--agd-line); }
.agd-contact-faq__item:first-of-type { border-top: none; }
.agd-contact-faq__item summary { cursor: pointer; padding: 0.75rem 0; font-size: 0.88rem; font-weight: 600; color: var(--agd-ink); list-style: none; }
.agd-contact-faq__item summary::-webkit-details-marker { display: none; }
.agd-contact-faq__item p { font-size: 0.85rem; color: var(--agd-muted); line-height: 1.6; margin: 0 0 0.75rem; }

/* ==========================================================================
   Footer — extended grid + bottom legal bar
   ========================================================================== */

.agd-footer__bar-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; }
.agd-footer__legal { display: flex; flex-wrap: wrap; gap: 0.25rem 1.2rem; }
.agd-footer__legal a { font-size: 0.78rem; color: rgba(255,255,255,.5); text-decoration: none; white-space: nowrap; }
.agd-footer__legal a:hover { color: rgba(255,255,255,.85); }

/* ===========================================================================
   PAGE HERO — shared by Contact, Policy, and Advertise pages
   =========================================================================== */

.agd-page-hero { background: var(--agd-dark, #0E1013); padding-block: clamp(2.5rem, 6vw, 4rem); }
.agd-page-hero__crumb { font-size: 0.78rem; color: rgba(255,255,255,.4); margin-bottom: 0.9rem; }
.agd-page-hero__crumb a { color: rgba(255,255,255,.4); text-decoration: none; }
.agd-page-hero__crumb a:hover { color: var(--agd-gold, #E2A618); }
.agd-page-hero__eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--agd-gold, #E2A618); margin-bottom: 0.7rem; }
.agd-page-hero__title { font-family: var(--ag-serif); font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.1; margin: 0 0 0.9rem; color: #fff; }
.agd-page-hero__title span { color: var(--agd-gold, #E2A618); }
.agd-page-hero__lead { font-size: 1.04rem; line-height: 1.65; color: rgba(255,255,255,.75); margin: 0; max-width: 38rem; }
.agd-page-hero__meta { font-size: 0.78rem; color: rgba(255,255,255,.4); margin-top: 0.8rem; }

/* ===========================================================================
   AT-A-GLANCE CARDS — 3-column grid used on policy pages
   =========================================================================== */

.agd-glance-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin-block: 2.2rem 1.6rem; }
.agd-glance-card { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.2rem; border-radius: 12px; background: var(--agd-card, #F9FAFB); border: 1px solid var(--agd-line, #E8EAF0); }
html.agd-dark .agd-glance-card { background: var(--agd-card); border-color: var(--agd-line); }
.agd-glance-card__icon { display: inline-flex; width: 2.3rem; height: 2.3rem; align-items: center; justify-content: center; border-radius: 10px; background: rgba(226,166,24,.14); margin-bottom: 0.2rem; }
.agd-glance-card__icon svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: var(--agd-gold-deep, #B8820A); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-glance-card__title { font-weight: 700; font-size: 0.88rem; color: var(--agd-ink); }
.agd-glance-card__desc { font-size: 0.81rem; color: var(--agd-muted); line-height: 1.5; }

/* ===========================================================================
   NUMBERED POLICY SECTIONS
   =========================================================================== */

.agd-numbered-sections { display: flex; flex-direction: column; }
.agd-nsec { display: flex; gap: 1.3rem; padding: 1.6rem 0; border-bottom: 1px solid var(--agd-line, #E8EAF0); }
.agd-nsec:last-child { border-bottom: none; }
.agd-nsec__num { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; background: rgba(226,166,24,.14); color: var(--agd-gold-deep, #B8820A); font-weight: 800; font-size: 0.8rem; display: flex; align-items: center; justify-content: center; margin-top: 0.12rem; }
.agd-nsec__body { flex: 1; min-width: 0; }
.agd-nsec__body h2 { font-family: var(--ag-serif); font-size: 1.08rem; font-weight: 800; color: var(--agd-ink); margin: 0 0 0.45rem; }
.agd-nsec__body p { font-size: 0.93rem; color: var(--agd-muted); line-height: 1.7; margin: 0 0 0.55rem; }
.agd-nsec__body p:last-child { margin-bottom: 0; }
.agd-nsec__body ul { padding-left: 1.3em; margin: 0 0 0.55rem; }
.agd-nsec__body li { font-size: 0.93rem; color: var(--agd-muted); line-height: 1.65; margin-bottom: 0.3rem; }
.agd-nsec__body a { color: var(--agd-gold); text-decoration: underline; }
.agd-nsec__body h3 { font-weight: 700; font-size: 0.93rem; color: var(--agd-ink); margin: 0.8rem 0 0.3rem; }

/* ===========================================================================
   DISCLAIMER WARNING CARDS
   =========================================================================== */

.agd-disc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-block: 2rem; }
.agd-disc-card { padding: 1.4rem; border-radius: 12px; border: 1px solid; }
.agd-disc-card--warn  { background: #FFFBEC; border-color: rgba(226,166,24,.45); }
.agd-disc-card--info  { background: #EFF6FF; border-color: rgba(59,130,246,.3); }
.agd-disc-card--trust { background: #F0FFF4; border-color: rgba(34,197,94,.3); }
html.agd-dark .agd-disc-card--warn  { background: rgba(226,166,24,.08); border-color: rgba(226,166,24,.3); }
html.agd-dark .agd-disc-card--info  { background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.3); }
html.agd-dark .agd-disc-card--trust { background: rgba(34,197,94,.08);  border-color: rgba(34,197,94,.3); }
.agd-disc-card__icon  { font-size: 1.5rem; margin-bottom: 0.5rem; display: block; }
.agd-disc-card__title { font-family: var(--ag-serif); font-size: 1rem; font-weight: 800; color: var(--agd-ink); margin: 0 0 0.4rem; }
.agd-disc-card__text  { font-size: 0.86rem; color: var(--agd-muted); line-height: 1.6; margin: 0; }

/* ===========================================================================
   ADVERTISE PAGE
   =========================================================================== */

.agd-adv-packages { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.2rem; margin-block: 2rem; }
.agd-adv-pkg { padding: 1.6rem; border-radius: 16px; border: 2px solid var(--agd-line, #E8EAF0); background: var(--agd-bg); display: flex; flex-direction: column; gap: 0.5rem; transition: border-color .2s; }
.agd-adv-pkg:hover { border-color: var(--agd-gold, #E2A618); }
.agd-adv-pkg--featured { border-color: var(--agd-gold, #E2A618); background: rgba(226,166,24,.05); }
html.agd-dark .agd-adv-pkg { background: var(--agd-card); border-color: var(--agd-line); }
html.agd-dark .agd-adv-pkg--featured { border-color: var(--agd-gold); background: rgba(226,166,24,.09); }
.agd-adv-pkg__badge { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--agd-gold, #E2A618); border-radius: 999px; padding: .2em .7em; align-self: flex-start; margin-bottom: .3rem; }
.agd-adv-pkg__icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; background: rgba(226,166,24,.12); display: flex; align-items: center; justify-content: center; margin-bottom: .3rem; }
.agd-adv-pkg__icon svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: var(--agd-gold-deep, #B8820A); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd-adv-pkg__title { font-family: var(--ag-serif); font-size: 1.2rem; font-weight: 800; color: var(--agd-ink); margin: 0; }
.agd-adv-pkg__desc  { font-size: 0.88rem; color: var(--agd-muted); line-height: 1.55; margin: 0; }
.agd-adv-pkg__list  { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-direction: column; gap: .3rem; }
.agd-adv-pkg__list li { font-size: 0.84rem; color: var(--agd-muted); display: flex; align-items: flex-start; gap: .4rem; line-height: 1.5; }
.agd-adv-pkg__list li::before { content: "✓"; color: var(--agd-gold); font-weight: 700; flex-shrink: 0; }
