/* =========================================================================
   Ehalakasa brand layer — loads on ANY theme (plugin-owned, survives redesigns).
   Under Divi it styles header, footer, buttons, and typography to the identity:
   ivory / deep ink / heritage gold, Playfair Display + Inter.
   ========================================================================= */

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/playfair-var-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Playfair Display";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/playfair-italic-var-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-var-latin.woff2") format("woff2");
}

:root {
	/* ——— Illuminated: indigo ink, parchment, gold leaf, vermillion flame ———
	   The color language of the written word: African indigo (adire), the
	   gold of illumination, the flame of the spoken voice. ——— */
	--eh-ink: #1a1712;          /* warm ink-black base (leather & ink, not purple) */
	--eh-charcoal: #221e17;     /* raised warm-dark surface */
	--eh-plum: #2b2619;         /* warm dark accent surface (legacy name) */
	--eh-smoke: #4a4438;        /* secondary text on parchment (AA) */
	--eh-ivory: #f4ecd8;        /* parchment / the page */
	--eh-bone: #ece0c6;         /* aged paper */
	--eh-beige: #e3d4b4;        /* warm vellum */
	--eh-gold: #e0a53f;         /* gold leaf — large accents */
	--eh-gold-deep: #8a5e1a;    /* gold text on parchment (AA) */
	--eh-gold-bright: #ecb658;  /* gold text on indigo (AA) */
	--eh-flame: #cf5040;        /* vermillion — the spoken word, emphasis */
	--eh-flame-deep: #b0342a;   /* vermillion text on parchment (AA) */
	--eh-flame-bright: #e8735f; /* vermillion on indigo (AA) */
	--eh-lavender: #b49fd4;     /* lavender accent text on plum/indigo */
	/* legacy aliases kept so older rules keep working */
	--eh-clay: var(--eh-flame);
	--eh-clay-deep: var(--eh-flame-deep);
	--eh-green: var(--eh-plum);
	--eh-green-bright: var(--eh-lavender);
}

/* ——— Typography ——— */

body,
#page-container {
	font-family: "Inter", -apple-system, "Segoe UI", sans-serif;
}

h1, h2, h3, h4,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4,
.entry-title {
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 500;
	line-height: 1.1;
}

::selection { background: var(--eh-gold); color: var(--eh-ink); }

/* ——— Page canvas ——— */

body,
#main-content,
#page-container { background-color: var(--eh-ivory); }

/* ——— Divi header → ink bar with ivory nav ——— */

#main-header,
.et_pb_menu,
header.et-l--header,
.et-l--header .et_builder_inner_content {
	background-color: var(--eh-ink) !important;
}
#main-header .logo_container img,
#logo { max-height: 54px !important; width: auto !important; transition: max-height .3s ease; }
#main-header.et-fixed-header .logo_container img,
.et-fixed-header #logo { max-height: 44px !important; }
#main-header { box-shadow: 0 1px 0 rgba(224,165,63,0.18); }
#top-menu a,
.et_pb_menu a,
#et-top-navigation a {
	color: rgba(246, 241, 231, 0.96) !important;   /* brighter, more legible */
	font-family: "Inter", -apple-system, sans-serif !important;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.11em;   /* tighter — less cramped with many items */
	text-transform: uppercase;
}
#top-menu a:hover,
#et-top-navigation a:hover { color: var(--eh-gold-bright) !important; opacity: 1; }
#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a { color: var(--eh-gold-bright) !important; }
.et_header_style_left #et-top-navigation, #et-top-navigation { padding-top: 24px !important; }
#main-header .mobile_menu_bar:before { color: var(--eh-ivory); }
.et_mobile_menu { background: var(--eh-ink) !important; }
.et_mobile_menu li a { color: var(--eh-ivory) !important; }

/* ——— Buttons → square, uppercase, gold/ink ——— */

.et_pb_button,
.et_pb_contact_submit,
button[type="submit"],
input[type="submit"] {
	border-radius: 0 !important;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 0.85rem !important;
	font-weight: 500;
}

/* ——— Footer → ink with kente strip ——— */

#main-footer { background: var(--eh-ink); }
#main-footer::before {
	content: "";
	display: block;
	height: 5px;
	background: repeating-linear-gradient(90deg,
		var(--eh-gold) 0 40px,
		var(--eh-flame) 40px 80px,
		var(--eh-plum) 80px 120px,
		var(--eh-gold-deep) 120px 160px);
}
#footer-bottom { background: rgba(0, 0, 0, 0.35); }
#main-footer, #main-footer a, #footer-info { color: rgba(246, 241, 231, 0.8); }
#main-footer a:hover { color: var(--eh-gold-bright); }

/* ——— Archive/blog lists under Divi defaults: quiet editorial polish ——— */

.et_pb_post, article.post, article.eh_artist, article.eh_poem, article.eh_event, article.eh_program {
	border-bottom: 1px solid rgba(13, 12, 9, 0.12);
	padding-bottom: 2rem;
}
.entry-title a { color: var(--eh-ink); text-decoration: none; }
.entry-title a:hover { color: var(--eh-gold-deep); }

/* ——— GiveWP form: match brand ——— */

.givewp-donation-form button[type="submit"] { border-radius: 0 !important; }

/* Respect reduced motion globally */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* =========================================================================
   ENHANCEMENT LAYER v1.3 — editorial polish, subtle meaningful motion
   ========================================================================= */

/* Headings: tighter, more confident display type */
h1, .et_pb_text h1 { letter-spacing: -0.02em; }
h2, .et_pb_text h2 { letter-spacing: -0.015em; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Buttons: square, uppercase, with a gentle lift on hover */
.et_pb_button,
.et_pb_contact_submit,
.eh-submit__btn,
button[type="submit"], input[type="submit"] {
	transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease !important;
}
.et_pb_button:hover,
.eh-submit__btn:hover,
button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(28,24,54,0.18);
}

/* Program blurb cards: lift + reveal a gold top-rule + deepen shadow */
.et_pb_blurb {
	position: relative;
	transition: transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 1px 0 rgba(28,24,54,0.06);
	overflow: hidden;
}
.et_pb_blurb::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: var(--eh-gold);
	transform: scaleX(0); transform-origin: left;
	transition: transform .3s ease;
}
.et_pb_blurb:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(28,24,54,0.14); }
.et_pb_blurb:hover::before { transform: scaleX(1); }
.et_pb_blurb .et_pb_module_header { transition: color .2s ease; }
.et_pb_blurb:hover .et_pb_module_header a { color: var(--eh-flame-deep); }

/* Nav links: animated gold underline */
#top-menu a, #et-top-navigation .et_pb_menu a { position: relative; }
#top-menu li > a::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px;
	background: var(--eh-gold); transition: right .25s ease;
}
#top-menu li > a:hover::after { right: 0; }

/* Section-label kickers (the "02 — The Story" lines): add a short gold rule */
.et_pb_text p[style*="letter-spacing:5px"] { position: relative; display: inline-block; }

/* Impact numerals: subtle glow-free emphasis, tabular spacing */
.et_pb_number_counter .percent, .et_pb_number_counter .percent p { letter-spacing: -0.02em; }

/* Archive / blog entries: card feel with hover lift */
.et_pb_post, .et_pb_blog_grid .et_pb_post {
	transition: transform .25s ease, box-shadow .25s ease;
	background: #fffdf6;
	padding: 26px 26px 20px;
	border: 1px solid rgba(28,24,54,0.08);
	border-bottom: 2px solid var(--eh-gold);
}
.et_pb_post:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(28,24,54,0.12); }
.et_pb_post .entry-title { font-size: 22px; line-height: 1.2; }
.et_pb_post .entry-title a { color: var(--eh-ink); }
.et_pb_post .entry-title a:hover { color: var(--eh-flame-deep); }
.et_pb_post .post-meta, .et_pb_post .post-meta a { color: var(--eh-gold-deep); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }

/* Featured images in archives: quiet zoom on hover */
.et_pb_post .entry-featured-image-url,
article .post-thumbnail { overflow: hidden; display: block; }
.et_pb_post .entry-featured-image-url img,
article .post-thumbnail img { transition: transform .5s ease; width: 100%; }
.et_pb_post:hover .entry-featured-image-url img { transform: scale(1.05); }

/* Blockquotes (poems, pull-quotes): illuminated serif with flame rule */
blockquote, .et_pb_blockquote_content {
	border-left: 3px solid var(--eh-flame) !important;
	padding-left: 1.6rem; margin: 2rem 0;
	font-family: "Playfair Display", Georgia, serif;
	font-style: italic; font-size: 1.4rem; line-height: 1.6; color: var(--eh-ink);
}

/* Links in body content: gold with underline on hover */
.et_pb_text a, .entry-content a { color: var(--eh-gold-deep); text-underline-offset: 3px; }
.et_pb_text a:hover, .entry-content a:hover { color: var(--eh-flame-deep); text-decoration: underline; }

/* Footer: warmer spacing + brand links */
#main-footer { padding-top: 10px; }
#footer-widgets .footer-widget h4 {
	font-family: "Playfair Display", Georgia, serif; color: var(--eh-gold-bright);
	font-size: 18px; letter-spacing: .3px;
}
#main-footer a:hover { color: var(--eh-gold-bright); }

/* Mobile menu polish */
.et_mobile_menu { border-top: 3px solid var(--eh-gold) !important; }
.et_mobile_menu li a { border-bottom: 1px solid rgba(244,236,216,0.08) !important; padding: 14px 5% !important; font-size: 15px; }

/* Focus visibility for keyboard users */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--eh-gold); outline-offset: 3px;
}

/* Smooth in-page scrolling */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Section vertical rhythm: a touch more air on large screens */
@media (min-width: 981px) {
	.et_pb_section { padding-top: 6vh; padding-bottom: 6vh; }
}

/* Kasa game + submit: lift the game card off the plum ground */
.eh-game { box-shadow: 0 20px 50px rgba(0,0,0,0.25); border: 1px solid rgba(224,165,63,0.25); }

/* =========================================================================
   DARK THEME v1.4 — "the gallery at night". Dark canvas site-wide, parchment
   text, gold + flame accents that glow. Later rules win over the light base.
   ========================================================================= */

:root { --eh-surface-1: #1a1712; --eh-surface-2: #221e17; --eh-surface-3: #2b2619; }

/* Canvas → deep indigo everywhere */
body, #main-content, #page-container, .et-l--body { background-color: var(--eh-surface-1) !important; }

/* Content text → parchment; headings → bright parchment */
#main-content, #main-content p, #main-content li, #main-content span:not([style*="color"]),
.et_pb_text, .entry-content, .entry-content p, .entry-content li,
.et_pb_blurb_description, .et_pb_blurb_description p,
.et_pb_post .post-content, .et_pb_post .post-content p {
	color: rgba(244, 236, 216, 0.86) !important;
}
#main-content h1, #main-content h2, #main-content h3, #main-content h4,
.entry-title, .entry-title a, .et_pb_post .entry-title a {
	color: var(--eh-ivory) !important;
}

/* Post / archive cards → dark surface with gold base line */
.et_pb_post, .et_pb_blog_grid .et_pb_post, article.post {
	background: var(--eh-surface-2) !important;
	border: 1px solid rgba(224,165,63,0.14) !important;
	border-bottom: 2px solid var(--eh-gold) !important;
	color: rgba(244,236,216,0.86) !important;
}
.et_pb_post:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.5) !important; }
.et_pb_post .post-meta, .et_pb_post .post-meta a { color: var(--eh-gold-bright) !important; }
.et_pb_post .entry-title a:hover { color: var(--eh-flame-bright) !important; }

/* Body links → gold-bright, flame on hover */
#main-content a, .et_pb_text a, .entry-content a { color: var(--eh-gold-bright) !important; }
#main-content a:hover, .et_pb_text a:hover, .entry-content a:hover { color: var(--eh-flame-bright) !important; }

/* Program blurb cards → dark card */
.et_pb_blurb { background: var(--eh-surface-3) !important; }
.et_pb_blurb .et_pb_module_header, .et_pb_blurb h4, .et_pb_blurb h3 { color: var(--eh-ivory) !important; }
.et_pb_blurb:hover .et_pb_module_header a { color: var(--eh-gold-bright) !important; }

/* Blockquote → light illuminated serif */
blockquote, .et_pb_blockquote_content { color: var(--eh-ivory) !important; }

/* Forms (submit-a-poem, contact) → dark fields, light text */
.eh-submit input[type="text"], .eh-submit input[type="url"], .eh-submit textarea,
.et_pb_contact input, .et_pb_contact textarea, input[type="text"], input[type="email"], input[type="url"], textarea {
	background: #17132e !important;
	border: 1px solid rgba(224,165,63,0.28) !important;
	color: var(--eh-ivory) !important;
}
.eh-submit label, .et_pb_contact_form label { color: var(--eh-gold-bright) !important; }
.eh-submit--gate { background: var(--eh-surface-2) !important; border-color: rgba(224,165,63,0.2) !important; color: rgba(244,236,216,0.86) !important; }
.eh-submit__note { color: rgba(244,236,216,0.6) !important; }

/* Widgets / sidebars → readable on dark */
.widget, .et_pb_widget, .et_pb_widget a { color: rgba(244,236,216,0.82) !important; }
.et_pb_widget li { border-color: rgba(244,236,216,0.1) !important; }

/* Pagination + misc surfaces */
.wp-pagenavi a, .pagination a, .nav-links a { color: var(--eh-gold-bright) !important; border-color: rgba(224,165,63,0.3) !important; }

/* GiveWP donation form on dark support page */
.give-form-wrap, .givewp-donation-form { color: rgba(244,236,216,0.9); }

/* Comments area */
#comment-wrap, .comment-body { color: rgba(244,236,216,0.85) !important; }

/* =========================================================================
   DEPTH v1.5 — dimensional, not flat. Layered shadows, beveled highlights,
   subtle surface gradients. GPU-cheap (shadow/gradient/transform only).
   ========================================================================= */

/* Section depth: subtle top glow so large dark areas aren't flat slabs */
#main-content .et_pb_section { position: relative; }
#main-content .et_pb_section::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(120% 60% at 50% 0%, rgba(224,165,63,0.05), transparent 62%);
}

/* Cards (programs + blog + posts): raised, beveled, gradient surface */
.et_pb_blurb, .et_pb_post, .et_pb_blog_grid .et_pb_post {
	background: linear-gradient(158deg, var(--eh-surface-3) 0%, var(--eh-surface-2) 100%) !important;
	border: 1px solid rgba(224,165,63,0.16) !important;
	border-radius: 6px !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.05),
		0 2px 4px rgba(0,0,0,0.4),
		0 14px 30px rgba(0,0,0,0.42) !important;
}
.et_pb_blurb:hover, .et_pb_post:hover {
	transform: translateY(-5px);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.07),
		0 6px 10px rgba(0,0,0,0.45),
		0 26px 55px rgba(0,0,0,0.5) !important;
}

/* Buttons: tactile, raised with a soft bottom edge; press on active */
.et_pb_button, .eh-submit__btn, button[type="submit"], input[type="submit"] {
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 6px 16px rgba(0,0,0,0.32) !important;
}
.et_pb_button:hover, .eh-submit__btn:hover, button[type="submit"]:hover {
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.28), 0 10px 24px rgba(0,0,0,0.4) !important;
}
.et_pb_button:active, button[type="submit"]:active { transform: translateY(1px); }

/* Impact numerals: gilded depth via layered text-shadow */
#main-content h1 em, .et_pb_text p[style*="70px"], .et_pb_number_counter .percent {
	text-shadow: 0 1px 0 rgba(0,0,0,0.35), 0 0 24px rgba(224,165,63,0.18);
}

/* Header: gains a soft drop shadow to float above content */
#main-header { box-shadow: 0 2px 18px rgba(0,0,0,0.4), 0 1px 0 rgba(224,165,63,0.18) !important; }

/* Game card + submit gate: raised panels */
.eh-game { box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 24px 60px rgba(0,0,0,0.5); border-radius: 8px; }

/* =========================================================================
   MOBILE v1.5 — comfortable, fast, touch-first
   ========================================================================= */

@media (max-width: 980px) {
	/* Tame oversized inline hero/heading type on phones */
	#main-content h1, .et_pb_text h1 { font-size: clamp(2.4rem, 11vw, 3.4rem) !important; line-height: 1.05 !important; }
	#main-content h2, .et_pb_text h2 { font-size: clamp(1.7rem, 7vw, 2.3rem) !important; }
	.et_pb_text p[style*="88px"], .et_pb_text h1[style*="88px"] { font-size: clamp(2.4rem, 11vw, 3.4rem) !important; }
	/* Big impact numerals scale down */
	.et_pb_text p[style*="70px"] { font-size: clamp(2.6rem, 14vw, 3.6rem) !important; }
	/* Roomier section padding, not cramped */
	#main-content .et_pb_section { padding-top: 44px !important; padding-bottom: 44px !important; }
	/* Buttons: full-comfortable tap targets, stack cleanly */
	.et_pb_button { display: block !important; text-align: center; margin: 8px 0 !important; min-height: 48px; line-height: 1.6; }
	/* Lighten shadows a touch on mobile for smoother scroll */
	.et_pb_blurb, .et_pb_post { box-shadow: 0 8px 20px rgba(0,0,0,0.4) !important; }
	/* Disable hover-lift on touch (no hover state to rest in) */
	.et_pb_blurb:hover, .et_pb_post:hover { transform: none; }
	/* Logo a touch smaller on phones */
	#logo { max-height: 42px !important; }
}

@media (max-width: 480px) {
	#main-content .et_pb_section { padding-top: 36px !important; padding-bottom: 36px !important; }
	.eh-game { padding: 1.5rem !important; }
	.eh-game__word { font-size: clamp(1.6rem, 9vw, 2.2rem) !important; }
}

/* Never let a wide element cause horizontal scroll on mobile */
html, body { overflow-x: hidden; max-width: 100%; }
img, iframe, video { max-width: 100%; height: auto; }

/* =========================================================================
   ARTISTIC LAYER v1.6 — texture, photography, poetic typography, motion
   ========================================================================= */

/* Film-grain / paper texture: kills digital flatness, adds tactile craft.
   Tiny inline SVG noise, fixed, very low opacity, non-interactive. */
body::after {
	content: ""; position: fixed; inset: 0; z-index: 9999; pointer-events: none;
	opacity: 0.05; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion: reduce) { body::after { display: none; } }

/* Cinematic photo sections: dark ink wash over performance photography */
.eh-photo-section {
	position: relative; background-size: cover; background-position: center;
}
@media (min-width: 981px) { .eh-photo-section { background-attachment: fixed; } }
.eh-photo-section::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(26,23,18,0.72), rgba(26,23,18,0.82));
}
.eh-photo-section > * { position: relative; z-index: 1; }

/* Poetic typographic centerpiece */
.eh-verse {
	text-align: center; padding: clamp(4rem,10vw,8rem) 1.5rem;
}
.eh-verse p {
	font-family: "Playfair Display", Georgia, serif; font-style: italic;
	color: var(--eh-ivory); line-height: 1.25; margin: 0.1em 0;
	font-size: clamp(1.8rem, 5.5vw, 3.6rem); letter-spacing: -0.01em;
}
.eh-verse .eh-verse__gold { color: var(--eh-gold-bright); }
.eh-verse .eh-verse__flame { color: var(--eh-flame-bright); }
.eh-verse .eh-verse__mark {
	display: block; margin: 1.4rem auto 0; width: 40px; height: 1px;
	background: var(--eh-gold); position: relative;
}
.eh-verse .eh-verse__mark::before {
	content: "◆"; position: absolute; top: -0.75em; left: 50%; transform: translateX(-50%);
	color: var(--eh-gold); font-size: 0.7rem; background: transparent; padding: 0 8px;
}

/* Word-ribbon marquee */
.eh-ribbon {
	overflow: hidden; white-space: nowrap; border-block: 1px solid rgba(224,165,63,0.28);
	background: var(--eh-ink); padding: 18px 0;
}
.eh-ribbon__track { display: inline-block; animation: eh-scroll 34s linear infinite; }
.eh-ribbon span {
	font-family: "Playfair Display", Georgia, serif; font-style: italic;
	font-size: 1.5rem; color: var(--eh-ivory); margin: 0 1.2rem; opacity: 0.9;
}
.eh-ribbon span.eh-ribbon__dot { color: var(--eh-gold); font-style: normal; }
@keyframes eh-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .eh-ribbon__track { animation: none; } }

/* Drop cap for literary lead paragraphs (add class eh-dropcap to a text module) */
.eh-dropcap p:first-of-type::first-letter {
	float: left; font-family: "Playfair Display", Georgia, serif; font-weight: 600;
	font-size: 4.4rem; line-height: 0.8; padding: 0.05em 0.14em 0 0;
	color: var(--eh-gold-bright);
}

/* Ink divider motif between sections */
.eh-divider { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px 0; }
.eh-divider::before, .eh-divider::after {
	content: ""; height: 1px; width: min(120px, 22vw); background: rgba(224,165,63,0.4);
}
.eh-divider span { color: var(--eh-gold); font-size: 0.8rem; }

/* Gallery strip images: grayscale→color reveal, gentle zoom */
.eh-gallery img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	filter: grayscale(0.35) contrast(1.03); transition: filter .5s ease, transform .6s ease;
}
.eh-gallery a { overflow: hidden; display: block; aspect-ratio: 4/5; }
.eh-gallery a:hover img { filter: none; transform: scale(1.05); }

/* =========================================================================
   FONT SPARK v1.7 — Fraunces: a warm, high-contrast display serif with real
   character (optical sizing + soft terminals). Replaces Playfair for headings.
   ========================================================================= */
@font-face {
	font-family: "Fraunces"; font-style: normal; font-weight: 300 700; font-display: swap;
	src: url("../fonts/fraunces-normal-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Fraunces"; font-style: italic; font-weight: 300 700; font-display: swap;
	src: url("../fonts/fraunces-italic-latin.woff2") format("woff2");
}

/* Route every display/heading — including inline Playfair references — to Fraunces */
h1, h2, h3, h4,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4,
.entry-title, .eh-verse p, .eh-ribbon span, .eh-game__title, .eh-game__word,
.eh-slam__q, .eh-slam__title, [style*="Playfair"] {
	font-family: "Fraunces", "Playfair Display", Georgia, serif !important;
}
/* Expressive optical sizing on large display headings */
h1, .et_pb_text h1, .eh-verse p {
	font-variation-settings: "opsz" 130, "SOFT" 20, "WONK" 0;
	font-weight: 500;
}
h2, .et_pb_text h2 { font-variation-settings: "opsz" 90, "SOFT" 20; }

/* =========================================================================
   ARTIST OF THE MONTH v1.7 — featured poet card
   ========================================================================= */
.eh-aom {
	display: grid; grid-template-columns: 1fr; gap: 0;
	background: linear-gradient(158deg, var(--eh-surface-3), var(--eh-surface-2));
	border: 1px solid rgba(224,165,63,0.18); border-radius: 8px; overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 20px 50px rgba(0,0,0,0.45);
	max-width: 60rem; margin-inline: auto;
}
@media (min-width: 760px) { .eh-aom { grid-template-columns: 300px 1fr; } }
.eh-aom__portrait {
	position: relative; min-height: 300px; background: var(--eh-ink);
	background-size: cover; background-position: center;
	border-bottom: 3px solid var(--eh-gold);
}
@media (min-width: 760px) { .eh-aom__portrait { border-bottom: 0; border-right: 3px solid var(--eh-gold); } }
.eh-aom__monogram {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	font-family: "Fraunces","Playfair Display",serif; font-size: 8rem; color: rgba(224,165,63,0.28);
}
.eh-aom__body { padding: 2.4rem; }
.eh-aom__label { margin: 0 0 .5rem; font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; color: var(--eh-gold-bright); }
.eh-aom__name { font-family: "Fraunces","Playfair Display",serif; font-size: clamp(2rem,5vw,2.8rem); color: var(--eh-ivory); margin: 0; }
.eh-aom__role { color: var(--eh-flame-bright); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; margin: .4rem 0 1rem; }
.eh-aom__bio { color: rgba(244,236,216,0.86); line-height: 1.7; }
.eh-aom__actions { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.eh-aom__btn { display: inline-block; background: var(--eh-gold-bright); color: var(--eh-ink); padding: .8rem 1.6rem; font-size: .78rem; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; font-weight: 600; }
.eh-aom__btn:hover { background: var(--eh-ivory); }
.eh-aom__link { color: var(--eh-gold-bright); text-decoration: none; font-size: .85rem; letter-spacing: .05em; }
.eh-aom__link:hover { color: var(--eh-flame-bright); }

/* =========================================================================
   CONTRIBUTION SHOP v1.7 — support, never "buy"
   ========================================================================= */
.eh-shop { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 24px; }
.eh-shop__item {
	display: flex; flex-direction: column; overflow: hidden; border-radius: 6px;
	background: linear-gradient(158deg, var(--eh-surface-3), var(--eh-surface-2));
	border: 1px solid rgba(224,165,63,0.16);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 30px rgba(0,0,0,0.4);
	transition: transform .25s ease, box-shadow .25s ease;
}
.eh-shop__item:hover { transform: translateY(-5px); box-shadow: 0 26px 55px rgba(0,0,0,0.5); }
.eh-shop__media { aspect-ratio: 4/3; background: var(--eh-ink); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; border-bottom: 2px solid var(--eh-gold); }
.eh-shop__media span { color: rgba(224,165,63,0.4); font-size: 2rem; }
.eh-shop__body { padding: 1.6rem; display: flex; flex-direction: column; flex: 1; }
.eh-shop__maker { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--eh-gold-bright); margin: 0 0 .4rem; }
.eh-shop__title { font-family: "Fraunces","Playfair Display",serif; font-size: 1.4rem; color: var(--eh-ivory); margin: 0 0 .6rem; }
.eh-shop__desc { color: rgba(244,236,216,0.82); font-size: .92rem; line-height: 1.6; margin: 0; }
.eh-shop__impact { color: var(--eh-flame-bright); font-size: .85rem; font-style: italic; margin: .8rem 0 0; }
.eh-shop__foot { margin-top: auto; padding-top: 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.eh-shop__amount { font-family: "Fraunces","Playfair Display",serif; font-size: 1.5rem; color: var(--eh-gold-bright); }
.eh-shop__btn { background: var(--eh-flame); color: var(--eh-ivory); padding: .7rem 1.2rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; font-weight: 600; white-space: nowrap; }
.eh-shop__btn:hover { background: var(--eh-gold-bright); color: var(--eh-ink); }
.eh-shop__empty { color: rgba(244,236,216,0.82); }

/* =========================================================================
   OPPORTUNITIES & CALLS v1.10 — notice board + homepage strip
   ========================================================================= */
.eh-notices { display: grid; gap: 16px; }
@media (min-width: 760px) { .eh-notices { grid-template-columns: repeat(2, 1fr); } }
.eh-notice {
	background: linear-gradient(158deg, var(--eh-surface-3), var(--eh-surface-2));
	border: 1px solid rgba(224,165,63,0.16); border-left: 3px solid var(--eh-gold);
	border-radius: 6px; padding: 22px 24px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 8px 22px rgba(0,0,0,0.35);
}
.eh-notice__head { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.eh-notice__kind { font-size: 0.66rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--eh-ink); background: var(--eh-gold-bright); padding: 3px 10px; border-radius: 2px; font-weight: 600; }
.eh-notice__deadline { font-size: 0.78rem; color: var(--eh-flame-bright); letter-spacing: 0.02em; }
.eh-notice__title { font-family: "Fraunces","Playfair Display",serif; font-size: 1.4rem; color: var(--eh-ivory); margin: 0 0 6px; }
.eh-notice__body { color: rgba(244,236,216,0.84); font-size: 0.95rem; line-height: 1.6; }
.eh-notice__btn { display: inline-block; margin-top: 14px; background: var(--eh-gold-bright); color: var(--eh-ink); padding: 0.6rem 1.3rem; font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; font-weight: 600; }
.eh-notice__btn:hover { background: var(--eh-ivory); }
.eh-notices--empty p { color: rgba(244,236,216,0.7); font-style: italic; font-family: "Fraunces",serif; font-size: 1.1rem; }

.eh-noticestrip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 0; }
.eh-noticestrip__item { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--eh-ivory); font-size: 0.9rem; padding: 6px 0; }
.eh-noticestrip__kind { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eh-ink); background: var(--eh-gold); padding: 2px 8px; border-radius: 2px; font-weight: 600; }
.eh-noticestrip__title { border-bottom: 1px solid transparent; }
.eh-noticestrip__item:hover .eh-noticestrip__title { border-bottom-color: var(--eh-gold-bright); }
.eh-noticestrip__deadline { color: var(--eh-flame-bright); font-size: 0.8rem; }
.eh-noticestrip__all { margin-left: auto; color: var(--eh-gold-bright); text-decoration: none; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* =========================================================================
   HEADER FIX + PRO POLISH v1.12 — sticky header stays visible; refined,
   distinctive editorial detailing. CSS-only (no added weight).
   ========================================================================= */

/* --- Sticky/fixed header: keep it dark AND keep nav + logo visible --- */
#main-header { z-index: 99999 !important; }
#main-header.et-fixed-header,
.et-fixed-header #main-header,
#main-header.et-fixed-header .et_builder_inner_content {
	background-color: var(--eh-ink) !important;
	box-shadow: 0 2px 20px rgba(0,0,0,0.5), 0 1px 0 rgba(224,165,63,0.22) !important;
}
.et-fixed-header #top-menu a,
.et-fixed-header #et-top-navigation a,
#main-header.et-fixed-header #top-menu li a {
	color: rgba(246,241,231,0.96) !important;
}
.et-fixed-header #top-menu li.current-menu-item > a,
.et-fixed-header #top-menu li.current_page_item > a { color: var(--eh-gold-bright) !important; }
.et-fixed-header #logo { opacity: 1 !important; visibility: visible !important; }
#main-header.et-fixed-header .mobile_menu_bar:before,
.et-fixed-header .mobile_menu_bar:before { color: var(--eh-ivory) !important; }
/* Divi sometimes fades the fixed header transparent — force it opaque */
#main-header.et-fixed-header { opacity: 1 !important; }

/* --- Distinctive numbered section kickers: small gold marker + hairline --- */
.et_pb_text p[style*="letter-spacing:5px"]::before,
.et_pb_text p[style*="letter-spacing: 5px"]::before {
	content: ""; display: inline-block; width: 22px; height: 2px; margin-right: 12px;
	vertical-align: middle; background: var(--eh-gold); opacity: 0.9;
}

/* --- Refined display typography (Fraunces optical + tighter tracking) --- */
h1, .et_pb_text h1 { font-feature-settings: "liga" 1, "dlig" 1; }
.et_pb_text h1 em, .et_pb_text h2 em { font-style: italic; }
h2, .et_pb_text h2 { line-height: 1.08; }
.et_pb_text p { -webkit-font-smoothing: antialiased; }

/* --- Buttons: a touch more presence, refined tracking --- */
.et_pb_button { padding-top: .95em !important; padding-bottom: .95em !important; font-weight: 600 !important; }

/* --- Cards & blurbs: crisper corners of light + deeper rest shadow --- */
.et_pb_blurb, .et_pb_post { border-top: 1px solid rgba(224,165,63,0.10) !important; }

/* --- Section seams: a hairline of light between stacked dark sections --- */
#main-content .et_pb_section + .et_pb_section { box-shadow: 0 -1px 0 rgba(224,165,63,0.06); }

/* --- Links in content: refined gold underline offset --- */
#main-content a, .et_pb_text a, .entry-content a { text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* --- Selection + focus polish --- */
:focus-visible { outline: 2px solid var(--eh-gold-bright); outline-offset: 3px; }

/* --- Footer: quiet refinement --- */
#main-footer { letter-spacing: 0.01em; }

/* =========================================================================
   COMPOSITION FIX v1.13 — from the owner's screenshots. Real fixes:
   gold-on-gold button bug, side-by-side buttons, branded footer, badge.
   ========================================================================= */

/* BUG FIX: dark-theme link rule was painting component buttons gold-on-gold */
#main-content .eh-aom__btn, #main-content .eh-aom__btn:visited,
#main-content .eh-notice__btn, #main-content .eh-notice__btn:visited,
#main-content .eh-slam__next, #main-content .eh-slam__cta,
#main-content .eh-daily__sh, #main-content .eh-noticestrip__kind {
	color: var(--eh-ink) !important;
}
#main-content .eh-daily__sh { color: var(--eh-ivory) !important; }
#main-content .eh-daily__sh:hover { color: var(--eh-ink) !important; }
#main-content .eh-slam__cta { color: var(--eh-gold-bright) !important; }
#main-content .eh-aom__link { color: var(--eh-gold-bright) !important; }

/* Buttons: consecutive Divi buttons sit side-by-side like a proper CTA pair */
.et_pb_button_module_wrapper { display: inline-block !important; margin-right: 14px; margin-bottom: 10px; }
@media (max-width: 767px) { .et_pb_button_module_wrapper { display: block !important; margin-right: 0; } }

/* Footer: brand the social icons (they were default blue) + refine credits */
#main-footer .et-social-icon a, #footer-bottom .et-social-icon a {
	color: var(--eh-gold-bright) !important; font-size: 19px;
}
#main-footer .et-social-icon a:hover { color: var(--eh-flame-bright) !important; }
#footer-info { font-size: 12.5px; color: rgba(244,236,216,0.55) !important; line-height: 1.7; }
#footer-info a { color: var(--eh-gold-bright) !important; }
#footer-bottom { padding: 20px 0 26px; }

/* Hide the floating reCAPTCHA badge (disclosure added in footer credits) */
.grecaptcha-badge { visibility: hidden !important; }

/* Spotlight card: let it breathe full-width of its column */
.eh-aom { max-width: 100%; }

/* =========================================================================
   SITE-WIDE CONSISTENCY v1.15 — bring every template-driven page (archives,
   blog, single posts, CPT singles) up to the homepage's refined-dark quality.
   ========================================================================= */

/* Page/archive title band: a proper dark hero instead of a bare title */
.archive #main-content > .container > .page-title,
body.archive .et_pb_title_container,
.et_pb_title_container, #left-area > h1:first-child, .archive-title {
	color: var(--eh-ivory) !important;
}
body.archive #main-content, body.blog #main-content, body.single #main-content,
body.search #main-content, body.category #main-content, body.tax-eh_theme #main-content {
	padding-top: 8vh;
}

/* Uniform post cards: crop the busy flyer thumbnails to a clean, even ratio */
.et_pb_post .entry-featured-image-url,
.et_pb_blog_grid .et_pb_image_container,
article .post-thumbnail {
	display: block; overflow: hidden; aspect-ratio: 16 / 10; border-radius: 6px 6px 0 0;
}
.et_pb_post .entry-featured-image-url img,
.et_pb_blog_grid .et_pb_image_container img,
article .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

/* Post cards on archives/blog: consistent dark card, gold meta, flame hover */
.et_pb_post {
	background: linear-gradient(158deg, var(--eh-surface-3), var(--eh-surface-2)) !important;
	border: 1px solid rgba(224,165,63,0.15) !important;
	border-bottom: 2px solid var(--eh-gold) !important;
	border-radius: 6px !important; overflow: hidden; padding-bottom: 4px;
}
.et_pb_post .entry-title, .et_pb_post h2 { padding: 0 22px; margin-top: 18px; }
.et_pb_post .post-content, .et_pb_post .post-meta { padding: 0 22px 6px; }
.et_pb_post .entry-title a { color: var(--eh-ivory) !important; }
.et_pb_post .entry-title a:hover { color: var(--eh-flame-bright) !important; }
.et_pb_post .post-meta, .et_pb_post .post-meta a { color: var(--eh-gold-bright) !important; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }

/* Single post / CPT single: comfortable dark reading column */
body.single #left-area, body.single-eh_artist #left-area, body.single-eh_event #left-area,
body.single-eh_poem #left-area, body.single-eh_program #left-area {
	color: rgba(244,236,216,0.9);
}
body.single .entry-title, body.single h1.entry-title { color: var(--eh-ivory) !important; }
body.single #left-area p, body.single #left-area li { color: rgba(244,236,216,0.88) !important; line-height: 1.8; }
body.single #left-area h2, body.single #left-area h3 { color: var(--eh-ivory) !important; }
body.single .et_post_meta_wrapper .post-meta, body.single .post-meta a { color: var(--eh-gold-bright) !important; }

/* Sidebar (if shown) → dark, on-brand */
#sidebar .widget, #sidebar .widget a { color: rgba(244,236,216,0.82) !important; }
#sidebar .widgettitle { color: var(--eh-gold-bright) !important; font-family: "Fraunces","Playfair Display",serif; }

/* Pagination consistent */
.pagination a, .wp-pagenavi a, .nav-links a, .et_pb_pagination a {
	color: var(--eh-gold-bright) !important; border-color: rgba(224,165,63,0.3) !important;
}

/* Comments area on singles → dark */
#comment-wrap, .comment-body, #respond, #respond label { color: rgba(244,236,216,0.85) !important; }
#respond input, #respond textarea { background: #15120c !important; border: 1px solid rgba(224,165,63,0.28) !important; color: var(--eh-ivory) !important; }

/* Search results & 404 → readable dark */
body.search #left-area, body.error404 #main-content { color: rgba(244,236,216,0.88); }

/* Artist of the Fortnight — native, owner-editable portrait: clean cover crop */
.eh-fortnight-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; display: block; }
.eh-fortnight-photo { border-left: 3px solid var(--eh-gold); }

/* Programs page — even card imagery */
.eh-prog-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; border-radius: 4px; }

/* =========================================================================
   MULTILINGUAL v1.16 — hide Google's translate chrome, style our switcher
   ========================================================================= */
#google_translate_element { display: none !important; }
.goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, .goog-tooltip,
.goog-te-spinner-pop { display: none !important; }
.skiptranslate { display: none !important; }
body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Our themed language switcher */
.eh-lang-switch { display: inline-flex; align-items: center; gap: 6px; margin-left: 20px; vertical-align: middle; }
.eh-lang-switch .eh-lang-globe { font-size: 14px; line-height: 1; opacity: 0.85; }
.eh-lang-switch select {
	background: transparent; color: var(--eh-ivory);
	border: 1px solid rgba(224,165,63,0.5); border-radius: 2px;
	padding: 4px 8px; font-family: "Inter", sans-serif; font-size: 12px;
	letter-spacing: 1px; text-transform: uppercase; cursor: pointer; line-height: 1.2;
}
.eh-lang-switch select:hover { border-color: var(--eh-gold); }
.eh-lang-switch select option { background: #1a1712; color: var(--eh-ivory); text-transform: none; letter-spacing: 0; }
.eh-lang-fixed {
	position: fixed; bottom: 18px; right: 18px; z-index: 9999;
	background: rgba(26,23,18,0.92); padding: 7px 11px;
	border: 1px solid rgba(224,165,63,0.4); border-radius: 4px;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
