/*
Theme Name:   Ayahuasca Nexus
Theme URI:    https://ayahuasca.nexus
Template:     kadence
Description:  Kadence child theme for ayahuasca.nexus — homepage with vine texture background.
Author:       Rini Hartman
Author URI:   https://ayahuasca.nexus
Version: 2.0.67
License:      CC BY-NC-SA 4.0
Text Domain:  ayahuasca-nexus
*/

/* ==========================================================================
   CUSTOM PROPERTIES
   ========================================================================== */

:root {
	--an-ink: #3b342b;
	--an-cream: #efe7d6;
	--an-clay: #a4623f;
	--an-sage: #74805f;
	--an-gold: #c79a4e;
	--an-band-text: #ece2cf;
	--an-line: rgba(59, 52, 43, 0.16);
	--an-dark-line: rgba(236, 226, 207, 0.16);
	--an-heading: 'Tenor Sans', sans-serif;
	--an-body: 'Nunito Sans', sans-serif;
	--an-serif: 'Cormorant Garamond', Georgia, serif;
}

/* ==========================================================================
   GLOBAL — vine texture background
   ========================================================================== */

body {
	font-family: var(--an-body);
	color: var(--an-ink);
	line-height: 1.7;
	background-color: #efe7d6;
	background-image:
		linear-gradient(rgba(243, 237, 225, 0.62), rgba(243, 237, 225, 0.62)),
		url(assets/vine-bg.jpeg);
	background-size: 540px auto;
	background-repeat: repeat;
}

/* Force Tenor Sans on all H1/H2 — override Kadence parent */
h1, h2,
.wp-block-heading:where(h1),
.wp-block-heading:where(h2),
.entry-content h1,
.entry-content h2 {
	font-family: var(--an-heading) !important;
	font-weight: 400 !important;
}

/* ==========================================================================
   BLANK TEMPLATE — hide Kadence chrome
   ========================================================================== */

.page-template-template-blank .site-header,
.page-template-template-blank .site-footer,
.page-template-template-blank .entry-header,
.page-template-template-blank .entry-title {
	display: none !important;
}

/* ==========================================================================
   WRAP
   ========================================================================== */

.an-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 44px;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

.an-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 26px 44px;
	max-width: 1140px;
	margin: 0 auto;
}

.an-nav .an-logo img {
	height: 30px;
	width: auto;
	display: block;
}

.an-navwrap {
	display: flex;
	align-items: center;
	gap: 28px;
}

.an-navlinks {
	display: flex;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.an-nav .an-navlinks a,
.an-nav .an-navlinks a:visited {
	font-family: var(--an-body) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--an-ink) !important;
	opacity: 0.72;
	transition: opacity 0.2s, color 0.2s;
}

.an-nav .an-navlinks a:hover {
	opacity: 1;
	color: var(--an-clay) !important;
	text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: 5px;
}

.an-nav .an-navcta,
.an-nav .an-navcta:visited {
	text-decoration: none !important;
	color: var(--an-clay) !important;
}

.an-navcta {
	font-family: var(--an-body);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--an-clay);
	border: 1px solid rgba(164, 98, 63, 0.5);
	padding: 9px 18px;
	border-radius: 2px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	white-space: nowrap;
}

.an-navcta:hover {
	background: var(--an-clay);
	color: #f7f1e8;
	border-color: var(--an-clay);
}

/* Mobile menu button */
.an-menu-btn {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	color: var(--an-ink);
}

.an-menu-btn svg {
	width: 22px;
	height: 22px;
	stroke: currentColor;
	stroke-width: 2;
	fill: none;
}

/* ==========================================================================
   HERO
   ========================================================================== */

.an-hero {
	text-align: center;
	padding: 62px 0 58px;
}

.an-kicker {
	font-family: var(--an-heading);
	text-transform: uppercase;
	letter-spacing: 0.28em;
	font-size: 0.66rem;
}

.an-hero .an-kicker {
	font-size: 0.98rem !important;
	letter-spacing: 0.32em !important;
	color: var(--an-sage);
	margin-bottom: 30px;
}

.an-hero h1 {
	font-size: 2.45rem;
	letter-spacing: 0.04em;
	line-height: 1.22;
	margin-bottom: 22px;
	color: var(--an-ink);
}

.an-hero h1 .an-accent {
	color: var(--an-clay);
}

.an-hero .an-lead {
	font-size: 1.04rem;
	max-width: 560px;
	margin: 0 auto 14px;
	color: #5a5145;
	line-height: 1.7;
}

.an-hero .an-credit {
	font-family: var(--an-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 0.92rem;
	color: #857a68;
	margin: 0 auto 30px;
}

.an-hero-buttons {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.an-btn {
	display: inline-block;
	text-decoration: none;
	font-family: var(--an-body);
	font-weight: 600;
	font-size: 0.86rem;
	letter-spacing: 0.02em;
	padding: 14px 32px;
	border-radius: 2px;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.an-btn-primary {
	background: var(--an-clay);
	color: #f7f1e8;
}

.an-btn-primary:hover {
	background: #8d5234;
	transform: translateY(-1px);
}

.an-btn-ghost {
	background: transparent;
	border: 1px solid rgba(59, 52, 43, 0.30);
	color: var(--an-ink);
}

.an-btn-ghost:hover {
	border-color: var(--an-clay);
	color: var(--an-clay);
}

/* ==========================================================================
   STRIP (four pillars)
   ========================================================================== */

.an-strip {
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 52px;
	padding: 18px 44px;
	border-top: 1px solid var(--an-line);
	border-bottom: 1px solid var(--an-line);
	font-family: var(--an-heading);
	font-size: 0.64rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--an-sage);
	flex-wrap: nowrap;
	white-space: nowrap;
}

/* ==========================================================================
   DIMENSIONS (translucent dark band — vine shows through)
   ========================================================================== */

.an-dims {
	background: rgba(45, 42, 33, 0.88);
	color: var(--an-band-text);
	margin: 64px 0;
	padding: 72px 0;
}

.an-dims h2 {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	text-align: center;
	color: #f3ead8;
	margin-bottom: 12px;
}

.an-dims-subtitle {
	font-family: var(--an-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 1.18rem;
	text-align: center;
	color: #b6a98f;
	margin-bottom: 50px;
}

.an-dim-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.an-dim {
	padding: 0 32px;
}

.an-dim:not(:last-child) {
	border-right: 1px solid var(--an-dark-line);
}

.an-dim-num {
	font-family: var(--an-heading);
	font-size: 1.1rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: var(--an-gold);
	display: block;
	margin-bottom: 18px;
	font-feature-settings: 'lnum';
}

.an-dim h3 {
	font-family: var(--an-body) !important;
	font-weight: 600 !important;
	font-size: 1.12rem;
	color: #f3ead8;
	margin-bottom: 11px;
}

.an-dim p {
	font-size: 0.92rem;
	line-height: 1.7;
	color: #c7bca6;
}

/* ==========================================================================
   READINESS CTA
   ========================================================================== */

.an-cta {
	text-align: center;
	padding: 30px 44px 80px;
}

.an-cta .an-kicker {
	color: var(--an-clay);
	margin-bottom: 20px;
}

.an-cta h2 {
	font-size: 1.9rem;
	letter-spacing: 0.04em;
	color: var(--an-ink);
	margin-bottom: 16px;
}

.an-cta .an-cta-body {
	max-width: 500px;
	margin: 0 auto 28px;
	color: #5a5145;
	line-height: 1.7;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.an-footer {
	text-align: center;
	padding: 26px 44px;
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	color: #8a7f6d;
	border-top: 1px solid var(--an-line);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 820px) {
	.an-nav {
		padding: 20px 24px;
	}

	.an-menu-btn {
		display: block;
	}

	.an-navlinks {
		display: none;
		position: absolute;
		top: 100%;
		right: 24px;
		background: #f5edd9;
		flex-direction: column;
		gap: 0;
		padding: 12px 0;
		border: 1px solid var(--an-line);
		border-radius: 2px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		z-index: 50;
	}

	.an-navlinks.open {
		display: flex;
	}

	.an-navlinks a {
		padding: 10px 24px;
		display: block;
	}

	.an-navwrap {
		position: relative;
	}

	.an-hero {
		padding: 40px 24px;
	}

	.an-hero h1 {
		font-size: 1.9rem !important;
	}

	.an-strip {
		gap: 20px;
		padding: 16px 24px;
		font-size: 0.58rem;
		letter-spacing: 0.10em;
	}

	.an-dims {
		margin: 40px 0;
		padding: 48px 0;
	}

	.an-dim-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.an-dim:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid var(--an-dark-line);
		padding-bottom: 26px;
	}

	.an-dim {
		padding: 0 24px;
	}

	.an-cta {
		padding: 24px 24px 56px;
	}
}


/* Dark-band body text contrast (11 Jun 2026) */
.an-dim p { color: #d6cbb8; }

/* Hero kicker prominence (11 Jun 2026)  more weight on "Beyond the brew", kept editorial */
.an-hero .an-kicker { font-size: 1.28rem; letter-spacing: 0.34em; margin-bottom: 38px; }

/* Front-page additions (11 Jun 2026, build-out) */
.an-hero .an-kicker { font-size: 1.5rem; letter-spacing: 0.36em; margin-bottom: 42px; }
.an-intro { padding: 30px 0 6px; }
.an-intro .an-wrap { max-width: 652px; }
.an-intro p { font-size: 1.04rem; color: #5a5145; margin-bottom: 18px; text-align: center; }
.an-intro p:last-child { margin-bottom: 0; }

.an-hero .an-kicker { font-size: 1.7rem; }

/* Kicker: base rule is !important, so override must be too (11 Jun) */
.an-hero .an-kicker { font-size: 1.8rem !important; letter-spacing: 0.3em !important; margin-bottom: 44px; }

/* Footer colophon (11 Jun) */
.an-footer { text-align: right; padding: 44px; }
.an-footer .an-colophon { max-width: 1140px; margin: 0 auto; }
.an-colophon-label { display: block; font-family: var(--an-heading); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.62rem; color: var(--an-sage); margin-bottom: 8px; }
.an-colophon-thanks { font-size: 0.82rem; color: #6b6253; margin: 0 0 14px; line-height: 1.75; }
.an-colophon-license { font-size: 0.72rem; color: #8a7f6d; letter-spacing: 0.04em; margin: 0; }

/* Hero leads left-aligned + footer colophon v2 Gamma-style (11 Jun) */
.an-hero .an-lead { text-align: left; max-width: 652px; }
.an-footer { text-align: left; padding: 56px 44px; }
.an-colophon { max-width: 1140px; margin: 0 auto; display: flex; justify-content: space-between; gap: 60px; flex-wrap: wrap; align-items: flex-start; }
.an-colophon-label { display: block; font-family: var(--an-heading); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.62rem; color: var(--an-sage); margin-bottom: 14px; }
.an-colophon-list { list-style: none; margin: 0; padding: 0; font-size: 0.86rem; color: #6b6253; line-height: 1.95; }
.an-colophon-col-license { max-width: 360px; }
.an-colophon-license { font-size: 0.82rem; color: #6b6253; line-height: 1.7; margin: 0; }

/* Contrast fixes  WCAG 4.5:1 on small text (11 Jun) */
.an-strip { color: #5b6446; }
.an-colophon-label { color: #5b6446; }
.an-hero .an-credit { color: #6c6150; }
.an-dims-subtitle { color: #c8bda2; }

/* Readiness domain cards (11 Jun) */
.an-readiness { max-width: 860px; margin: 36px auto 4px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--an-line); border: 1px solid var(--an-line); text-align: left; }
.an-readiness .an-rd { background: #efe7d6; padding: 22px 26px; }
.an-rd h4 { font-family: var(--an-heading) !important; font-weight: 400 !important; font-size: 0.98rem; letter-spacing: 0.02em; color: var(--an-clay); margin: 0 0 7px; }
.an-rd p { font-size: 0.88rem; line-height: 1.65; color: #5a5145; margin: 0; }
@media (max-width: 820px) { .an-readiness { grid-template-columns: 1fr; } }

/* Colophon thanks links (11 Jun) */
.an-colophon-list a, .an-colophon-list a:visited { color: #6b6253; text-decoration: none; border-bottom: 1px solid rgba(107, 98, 83, 0.28); transition: color 0.2s, border-color 0.2s; }
.an-colophon-list a:hover { color: var(--an-clay); border-color: var(--an-clay); }

/* Spacing + inline assessment link (11 Jun) */
.an-hero .an-credit { margin: 28px auto 38px; }
.an-cta-body a, .an-cta-body a:visited { color: var(--an-clay); text-decoration: none; border-bottom: 1px solid rgba(164, 98, 63, 0.4); transition: color 0.2s, border-color 0.2s; }
.an-cta-body a:hover { color: #8d5234; border-color: #8d5234; }
.an-readiness + .an-btn { margin-top: 34px; }

/* Quick wins: credit, ghost button, readiness, footer (11 Jun) */
.an-hero .an-credit { font-size: 1.08rem; margin: 30px auto 40px; max-width: 560px; }
.an-hero .an-credit::before { content: ""; display: block; width: 48px; height: 1px; background: rgba(164, 98, 63, 0.45); margin: 0 auto 18px; }
.an-btn-ghost { background: #f4eee2; border: 1px solid rgba(59, 52, 43, 0.45); }
.an-readiness { background: none; border: none; gap: 26px 48px; }
.an-readiness .an-rd { background: none; padding: 0; }
.an-colophon { gap: 80px; }
.an-colophon-list { line-height: 2.15; }


/* ===== THE JOURNEY (v2.0.9) ===== */
.an-hero-page { min-height: auto; padding: 96px 24px 72px; }
.an-hero-page .an-lead { max-width: 652px; }

.an-stages { padding: 84px 24px 100px; }
.an-stages .an-wrap { max-width: 1140px; margin: 0 auto; }
.an-stages h2 { font-family: 'Tenor Sans', sans-serif; font-size: 2rem; color: #3b342b; text-align: center; margin: 0 0 14px; }
.an-stages-subtitle { text-align: center; color: #5a5145; font-size: 1.04rem; max-width: 700px; margin: 0 auto 54px; line-height: 1.6; }
.an-stage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.an-stage-card { display: block; text-decoration: none; background: #f4eee2; border: 1px solid #d9cdb6; border-radius: 4px; padding: 34px 30px 30px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.an-stage-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(45,42,33,0.12); border-color: #a4623f; }
.an-stage-num { display: block; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.5rem; color: #c79a4e; line-height: 1; margin-bottom: 14px; }
.an-stage-kicker { display: block; font-size: 0.74rem; letter-spacing: 0.22em; text-transform: uppercase; color: #5b6446; margin-bottom: 8px; }
.an-stage-card h3 { font-family: 'Tenor Sans', sans-serif; font-size: 1.5rem; color: #a4623f; margin: 0 0 12px; }
.an-stage-card p { color: #4a423a; font-size: 1rem; line-height: 1.62; margin: 0; }
.an-stage-go { display: inline-block; margin-top: 18px; color: #a4623f; font-size: 0.92rem; letter-spacing: 0.03em; }
.an-navlinks a.is-current { color: #a4623f; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: 5px; }
@media (max-width: 860px) { .an-stage-grid { grid-template-columns: 1fr; } }

/* ===== STAGE PAGES (v2.0.9) ===== */
.an-subnav { position: sticky; top: 0; z-index: 20; background: rgba(247,242,234,0.94); backdrop-filter: blur(6px); border-bottom: 1px solid #e0d6c2; padding: 14px 24px; }
.an-subnav .an-wrap { max-width: 1040px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.an-subnav a { text-decoration: none; color: #5b6446; font-size: 0.82rem; letter-spacing: 0.04em; white-space: nowrap; }
.an-subnav a:hover { color: #a4623f; }
.an-stage-body { padding: 64px 24px 40px; }
.an-stage-body .an-wrap { max-width: 740px; margin: 0 auto; }
.an-sub { padding: 38px 0 30px; border-top: 1px solid #e6dcc8; scroll-margin-top: 72px; }
.an-sub:first-of-type { border-top: none; }
.an-sub-label { display: block; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; color: #c79a4e; line-height: 1.15; margin-bottom: 2px; }
.an-sub h3 { font-family: 'Tenor Sans', sans-serif; font-size: 1.5rem; color: #3b342b; margin: 0 0 16px; line-height: 1.25; }
.an-sub p { color: #463f37; font-size: 1.05rem; line-height: 1.72; margin: 0 0 16px; text-align: left; }
.an-sub p:last-child { margin-bottom: 0; }
.an-sub ul { color: #463f37; font-size: 1.05rem; line-height: 1.7; margin: 0 0 16px; padding-left: 22px; }
.an-sub li { margin-bottom: 10px; }
.an-sub .an-cite { color: #6c6150; font-style: italic; }
.an-aside { background: #efe7d6; border-left: 3px solid #a4623f; padding: 22px 26px; margin: 6px 0 26px; border-radius: 0 4px 4px 0; }
.an-aside p { color: #4a423a; font-style: italic; margin: 0; }
.an-prevnext { padding: 30px 24px 92px; }
.an-prevnext .an-wrap { max-width: 740px; margin: 0 auto; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #e0d6c2; padding-top: 26px; }
.an-prevnext a { text-decoration: none; color: #a4623f; font-size: 0.96rem; max-width: 48%; }
.an-prevnext a .an-pn-label { display: block; font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: #5b6446; margin-bottom: 4px; }
.an-prevnext a.an-pn-next { text-align: right; margin-left: auto; }
@media (max-width: 760px) { .an-subnav { position: static; } }


/* Quiet hub CTA after the three phase cards (v2.0.10) */
.an-stages-cta { text-align: center; max-width: 600px; margin: 56px auto 0; color: #5a5145; font-size: 1.04rem; line-height: 1.6; }
.an-stages-cta a { color: #a4623f; text-decoration: none; border-bottom: 1px solid rgba(164,98,63,0.4); }
.an-stages-cta a:hover { border-bottom-color: #a4623f; }


/* Strip band: dot separators between items (v2.0.11) */
.an-strip { gap: 0; flex-wrap: wrap; }
.an-strip span { white-space: nowrap; }
.an-strip span:not(:last-child)::after { content: "\00B7"; margin: 0 22px; color: #b3a88f; }


/* Strip band case + centring (v2.0.12) */
.an-strip span { text-transform: none; letter-spacing: 0.03em; }
.an-hero .an-strip { margin-top: -12px; margin-bottom: 70px; }


/* Strip band: more air for a readable line (v2.0.13) */
.an-strip span { font-size: 0.68rem; letter-spacing: 0.08em; }
.an-strip span:not(:last-child)::after { margin: 0 26px; }


/* Strip band -> Nunito Sans, the guide's label/nav font (v2.0.14) */
.an-strip span { font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 0.7rem; letter-spacing: 0.08em; }


/* Hub strip band items as links (v2.0.15) */
.an-strip a { font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: none; color: #5b6446; text-decoration: none; white-space: nowrap; transition: color .18s ease; }
.an-strip a:hover { color: #a4623f; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(164,98,63,0.55); }
.an-strip > *:not(:last-child)::after { content: "\00B7"; margin: 0 26px; color: #b3a88f; }
#essentials { scroll-margin-top: 24px; }


/* Stage-page phase band current (v2.0.16) */
.an-strip .is-current { color: #a4623f; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(164,98,63,0.55); }


/* Tighten stage hero gap (v2.0.17) — affects hub + stage pages, not the homepage */
.an-hero-page { padding-bottom: 36px; }
.an-stage-body { padding-top: 22px; }


/* Stage-page standfirst: Cormorant italic subtitle (v2.0.18) */
.an-hero .an-lead.an-standfirst { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 500; font-size: 1.3rem; line-height: 1.45; color: #6c6150; }

/* standfirst spec fix (v2.0.19) */


/* standfirst v4 + article (v2.0.20) */
.an-hero .an-lead.an-standfirst{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.28rem;line-height:1.48;color:#6c6150;padding-bottom:20px;margin-bottom:0;border-bottom:1px solid #e0d6c2;position:relative;}
.an-hero .an-lead.an-standfirst::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:#a4623f;}
.an-stage-body{margin-top:-36px;padding-top:0;}
.an-article {background:#e7dbc1;border:none;border-radius:4px;padding:32px 36px 28px;margin:46px 0;}
.an-article-label{display:block;font-family:'Nunito Sans',sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#a4623f;margin-bottom:12px;}
.an-article h3{font-family:'Tenor Sans',sans-serif;font-size:1.4rem;color:#3b342b;margin:0 0 14px;line-height:1.25;}
.an-article p{color:#463f37;font-size:1.02rem;line-height:1.7;margin:0 0 14px;}
.an-article p:last-child{margin-bottom:0;}
.an-article ul{color:#463f37;font-size:1.02rem;line-height:1.65;margin:0 0 14px;padding-left:20px;}
.an-article li{margin-bottom:8px;}

/* standfirst width match (v2.0.21) */
.an-hero .an-lead.an-standfirst{max-width:740px;}

/* standfirst width 652 to match body text column (v2.0.22) */
.an-hero .an-lead.an-standfirst{max-width:662px;margin-left:auto;margin-right:auto;}


/* Stage-page band->headline gap +16px (28->44), scoped to stage pages only (v2.0.23) */
/* (band rhythm unified into the shared .an-hero .an-strip rule, v2.0.31) */


/* Hub deck wider: hub body column is 680 (vs 652 on stage), so widen the hub standfirst to keep the ~5px breakout look (v2.0.33) */
.page-id-89 .an-hero .an-lead.an-standfirst{margin-bottom:38px;}


/* Sticky header (v2.0.37) */
@keyframes an-nav-fill { from { background-color: rgba(239,231,214,0); border-bottom-color: rgba(59,52,43,0); } to { background-color: rgba(239,231,214,0.9); border-bottom-color: rgba(59,52,43,0.08); } }
.an-nav { position: sticky; top: 0; z-index: 1000; background-color: rgba(239,231,214,0); border-bottom: 1px solid transparent; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: an-nav-fill linear both; animation-timeline: scroll(root); animation-range: 0 80px; }
body.admin-bar .an-nav { top: 32px; }
@media (max-width: 782px){ body.admin-bar .an-nav { top: 46px; } }
/* Homepage deck divider->body spacing, matches hub/stage (v2.0.37) */
.page-id-62 .an-hero .an-lead.an-standfirst { margin-bottom: 38px; }


/* ==========================================================================
   FAQ page (page 37) — sectioned Q&A in the field-guide system (v added below)
   ========================================================================== */
.an-faq-group { margin: 0 0 54px; }
.an-faq-group:last-of-type { margin-bottom: 30px; }
.an-faq-h2 { font-family: 'Tenor Sans', sans-serif; font-weight: 400; font-size: 1.5rem; letter-spacing: 0.03em; color: #3b342b; margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--an-line); }
.an-faq-item { margin: 0 0 30px; }
.an-faq-item h3 { font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 1.14rem; color: #3b342b; margin: 0 0 9px; line-height: 1.4; }
.an-faq-item p { font-family: 'Nunito Sans', sans-serif; color: #463f37; font-size: 1.02rem; line-height: 1.7; margin: 0 0 12px; }
.an-faq-item p:last-child { margin-bottom: 0; }
.an-faq-byline { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #6c6150; font-size: 1.08rem; line-height: 1.55; margin: 10px 0 0; }
.an-faq-close { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--an-line); }
.an-faq-close .an-faq-byline { margin: 0 0 10px; }


/* ==========================================================================
   Science page (/science) — "What science tells us" review cards
   ========================================================================== */
.an-science { padding: 6px 0 0; }
.an-science-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 30px; max-width: 1040px; margin: 6px auto 0; padding: 0 44px; box-sizing: border-box; }
.an-science-card { }
.an-science-title { font-family: 'Tenor Sans', sans-serif; font-weight: 400; font-size: 1.3rem; line-height: 1.28; color: #a4623f; margin: 0 0 16px; }
.an-science-row { font-family: 'Nunito Sans', sans-serif; font-size: 1rem; line-height: 1.65; color: #463f37; margin: 0 0 14px; }
.an-science-row strong { color: #3b342b; font-weight: 700; }
.an-science-link { font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 0.95rem; color: #a4623f; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(164,98,63,0.55); display: inline-block; margin-top: 4px; }
@media (max-width: 1024px) { .an-science-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .an-science-grid { grid-template-columns: 1fr; max-width: 652px; } }


/* ==========================================================================
   Sources page (/sources) — "Essential (re)sources" catalogue
   ========================================================================== */
.an-source-group { margin: 0 0 52px; }
.an-source-h2 { font-family: 'Tenor Sans', sans-serif; font-weight: 400; font-size: 1.5rem; letter-spacing: 0.03em; color: #3b342b; margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--an-line); }
.an-source { margin: 0 0 24px; padding: 0 0 22px; border-bottom: 1px solid var(--an-line); }
.an-source:last-child { border-bottom: none; padding-bottom: 0; }
.an-source-title { font-family: 'Tenor Sans', sans-serif; font-weight: 400; font-size: 1.18rem; line-height: 1.3; color: #3b342b; margin: 0 0 6px; }
.an-source-meta { font-family: 'Nunito Sans', sans-serif; font-size: 0.86rem; color: #6c6150; margin: 0 0 10px; }
.an-source-summary { font-family: 'Nunito Sans', sans-serif; font-size: 1rem; line-height: 1.65; color: #463f37; margin: 0 0 10px; }
.an-source-link { font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 0.9rem; color: #a4623f; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(164,98,63,0.55); }


/* Science card type label (peer-reviewed review vs overview article) */
.an-science-tag { font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: #8a7d68; margin: 0 0 10px; }
.an-science-tag-article { color: #a4623f; }



/* ---- Article pages (v2.0.46) ---- */
.an-prose>h2{margin-top:2.2rem;}
.an-prose>h3{margin-top:1.6rem;}
.an-byline{color:#8a7d68;font-size:.95rem;margin-top:.6rem;}
.an-article-inbrief{background:#e7dbc1;border-radius:4px;padding:18px 22px;margin:0 0 1.7rem;}
.an-disclaimer{color:#8a7d68;font-size:.9rem;font-style:italic;}
.an-article-colophon{color:#8a7d68;font-size:.85rem;border-top:1px solid rgba(59,52,43,.15);padding-top:1rem;margin-top:2.2rem;}
.an-ref{font-size:.92rem;margin:.25rem 0;padding-left:1.5em;text-indent:-1.5em;color:#463f37;}
.an-prose>h3+.an-ref{margin-top:.35rem;}


/* === Sources phase band (anchor links) === */
.an-source-strip a{color:inherit;text-decoration:none;transition:color .2s;}
.an-source-strip a:hover{color:#9c5a3c;}
.an-source-group{scroll-margin-top:96px;}


/* === Sources — cover beside each entry (image on the right) === */
#books .an-source,#documentaries .an-source{display:flex;gap:28px;align-items:flex-start;}
.an-source-text{flex:1 1 auto;min-width:0;}
.an-source-cover{flex:0 0 116px;width:116px;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 5px 16px rgba(33,26,21,.18);background:#1c1610;}
@media(max-width:560px){#books .an-source,#documentaries .an-source{gap:16px;}.an-source-cover{flex:0 0 84px;width:84px;}}


/* FAQ phase-band anchor offset (2.0.50) — matches .an-source-group */
.an-faq-group { scroll-margin-top: 96px; }


/* Unify kicker spacing (2.0.51) — home hero top to 96px to match content pages */
.an-hero:not(.an-hero-page) { padding-top: 96px; }


/* a11y: visited-state button colours + keyboard focus (2.0.52, 14 Jun) */
.an-btn-primary, .an-btn-primary:visited { color:#f7f1e8; }
.an-btn-ghost, .an-btn-ghost:visited { color:var(--an-ink); }
.an-btn:focus-visible, .an-navcta:focus-visible, .an-menu-btn:focus-visible, .an-nav .an-navlinks a:focus-visible, .an-strip a:focus-visible, .an-stage-body a:focus-visible { outline:2px solid var(--an-clay); outline-offset:3px; }


/* Button refresh (Option A + arrow) 14 Jun 2026 */
.an-btn { border-radius: 6px; }
.an-btn-primary { box-shadow: 0 1px 2px rgba(33,26,21,0.10); }
.an-btn-primary:hover { background: #9a5636; transform: translateY(-2px); box-shadow: 0 9px 22px rgba(33,26,21,0.22); }
.an-btn-primary::after { content: "\2192"; margin-left: 9px; display: inline-block; transition: transform 0.2s ease; }
.an-btn-primary:hover::after { transform: translateX(5px); }
.an-btn-ghost { border-width: 1.5px; }
.an-btn-ghost:hover { box-shadow: 0 6px 16px rgba(33,26,21,0.12); }

/* Nav CTA into button family 14 Jun 2026 */
.an-navcta { border-radius: 6px; border-width: 1.5px; }

/* Nav CTA softer hover 14 Jun 2026 */
.an-navcta:hover { background: rgba(164,98,63,0.10); color: #8d5234; border-color: #8d5234; }


/* Global assessment-note (disclaimer): matches homepage styling, applied site-wide 2026-06-15 */
.an-assessment-note{max-width:620px;margin:14px auto 0;text-align:center;font-size:0.82rem;line-height:1.5;color:#8a7f6e}


/* Footer colophon: thanks (left) and disclaimer + licence (right) as two columns (2026-06-15) */
.an-colophon-col { flex: 0 0 360px; min-width: 0; }
.an-colophon-col-license { flex: 0 0 360px; }

/* Line break after the disclaimer before the licence (2026-06-15) */
.an-colophon-col-license p.an-colophon-license:first-of-type { margin-bottom: 40px; }

/* Gap after the thanks list before the closing line (2026-06-15) */
.an-colophon-closing { margin-top: 20px; }

/* Tighter tracking on the thanks heading so the three intended lines fit the 360px column (2026-06-15) */
.an-colophon-col:not(.an-colophon-col-license) .an-colophon-label { letter-spacing: 0.05em; }

/* Org locations: lighter, secondary to the linked name (2026-06-15) */
.an-colophon-loc { color: #8a7f6e; }



/* Green footer (sage) with cream text — added 2026-06-15 */
.an-footer { background: rgba(42, 49, 29, 0.93); border-top: none; color: var(--an-cream); } /* matches the Three Dimensions band green */
.an-footer .an-colophon-label { color: var(--an-cream); }
.an-footer .an-colophon-thanks,
.an-footer .an-colophon-list { color: var(--an-cream); }
.an-footer .an-colophon-list a,
.an-footer .an-colophon-list a:visited { color: var(--an-cream); border-bottom-color: transparent; }
.an-footer .an-colophon-list a:hover { color: #ffffff; border-bottom-color: rgba(255,255,255,.55); }
.an-footer .an-colophon-loc { color: rgba(239,231,214,.6); }
.an-footer .an-colophon-license { color: rgba(239,231,214,.82); }


/* ==========================================================================
   FOOTER — social icon row (top of footer)
   Injected into .an-footer via functions.php (an_inject_footer_socials).
   ========================================================================== */

.an-social-top {
	display: flex;
	justify-content: center;
	gap: 34px;
	margin: -8px 0 48px; /* footer already pads 56px top; -8 centres icons between band top and text */
}

.an-social-top a {
	display: inline-flex;
	line-height: 0;
	opacity: 0.95;
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.an-social-top a:hover,
.an-social-top a:focus-visible {
	opacity: 1;
	transform: translateY(-1px);
}

.an-social-top svg {
	width: 21px;
	height: 21px;
}

@media (max-width: 820px) {
	.an-social-top {
		gap: 26px;
		margin: 0 0 38px;
	}
}
