/*
Theme Name: The Amarna Mysteries — Material
Theme URI: https://theamarnamysteries.com/
Author: A.J. Tilke
Author URI: https://the.wordfish.group/
Description: Material 3 Expressive block theme for The Amarna Mysteries. Five tonal palettes lifted from the book covers (gold, carnelian, malachite, lapis, obsidian), Cinzel display type with Manrope and Newsreader, dark mode, and a compatibility layer so every page built under the original theme renders unchanged. Installs alongside amarnamysteries-fse; never modifies it.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.1.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amarna-material
Tags: full-site-editing, block-patterns, custom-colors, custom-menu, editor-style, one-column, two-columns, blog
*/

/* ============================================================
   The Amarna Mysteries — Material.  Supplemental stylesheet.
   Tokens live in theme.json (--wp--preset--* and --wp--custom--*).
   This file carries: dark-mode token overrides, Material components
   (app bar, hero, cards, chips, rail), prose typography, and the
   COMPATIBILITY LAYER that restyles every class the existing page
   content relies on (basalt-texture, in-brief, flip cards, ft-*, …).
   ============================================================ */

/* ------------------------------------------------------------
   0. Local aliases
   ------------------------------------------------------------ */
:root {
	--am-ease: var(--wp--custom--motion--emphasized, cubic-bezier(.2,0,0,1));
	--am-spring: linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1.004 83.8%,1);
	--am-short: var(--wp--custom--motion--short, 200ms);
	--am-medium: var(--wp--custom--motion--medium, 400ms);
	--am-long: var(--wp--custom--motion--long, 600ms);
	--am-r-xs: var(--wp--custom--shape--xs, 8px);
	--am-r-sm: var(--wp--custom--shape--sm, 12px);
	--am-r-md: var(--wp--custom--shape--md, 16px);
	--am-r-lg: var(--wp--custom--shape--lg, 24px);
	--am-r-xl: var(--wp--custom--shape--xl, 32px);
	--am-r-xxl: var(--wp--custom--shape--xxl, 48px);
	--am-r-full: 999px;
	--am-appbar-h: 80px;
	color-scheme: light;
}

/* ------------------------------------------------------------
   1. Dark mode — overrides the theme.json preset variables.
   Explicit choice via html[data-theme]; otherwise follow the OS.
   ------------------------------------------------------------ */
html[data-theme="dark"],
html:not([data-theme="light"]):where(.am-prefers-dark) {
	color-scheme: dark;
	--wp--preset--color--surface: #131210;
	--wp--preset--color--surface-dim: #131210;
	--wp--preset--color--surface-bright: #3A3733;
	--wp--preset--color--surface-container-lowest: #0E0D0B;
	--wp--preset--color--surface-container-low: #1C1B18;
	--wp--preset--color--surface-container: #201F1C;
	--wp--preset--color--surface-container-high: #2B2926;
	--wp--preset--color--surface-container-highest: #363431;
	--wp--preset--color--on-surface: #E6E1D7;
	--wp--preset--color--on-surface-variant: #CEC5B3;
	--wp--preset--color--outline: #978F7F;
	--wp--preset--color--outline-variant: #4B463C;
	--wp--preset--color--inverse-surface: #E6E1D7;
	--wp--preset--color--inverse-on-surface: #302E2A;
	--wp--preset--color--link: #FFB4A6;

	--wp--preset--color--gold: #E8C66A;
	--wp--preset--color--on-gold: #3C2E00;
	--wp--preset--color--gold-container: #5A4511;
	--wp--preset--color--on-gold-container: #FFE39A;
	--wp--preset--color--gold-fixed: #D4AF4F;

	--wp--preset--color--carnelian: #FFB4A6;
	--wp--preset--color--on-carnelian: #5C0E05;
	--wp--preset--color--carnelian-container: #7A2014;
	--wp--preset--color--on-carnelian-container: #FFDAD4;

	--wp--preset--color--malachite: #9ED6B6;
	--wp--preset--color--on-malachite: #0B3A26;
	--wp--preset--color--malachite-container: #23523A;
	--wp--preset--color--on-malachite-container: #BDF0D3;

	--wp--preset--color--lapis: #B2C5FF;
	--wp--preset--color--on-lapis: #0F2A66;
	--wp--preset--color--lapis-container: #213E80;
	--wp--preset--color--on-lapis-container: #DAE2FF;

	--wp--preset--color--obsidian: #0C0B0A;
	--wp--preset--color--on-obsidian: #EDE6D8;
	--wp--preset--color--obsidian-container: #1A1917;
	--wp--preset--color--on-obsidian-container: #F3EDE0;

	/* Legacy slugs used by existing content */
	--wp--preset--color--gold-light: #F3DF9B;
	--wp--preset--color--gold-base: #E8C66A;
	--wp--preset--color--gold-dark: #D4AF4F;
	--wp--preset--color--gold-deep: #F5E3AD;
	--wp--preset--color--gold-shadow: #FFE39A;
	--wp--preset--color--carnelian-light: #FFB4A6;
	--wp--preset--color--carnelian-base: #E8907F;
	--wp--preset--color--carnelian-dark: #7A2014;
	--wp--preset--color--carnelian-deep: #FFDAD4;
	--wp--preset--color--lapis-light: #B2C5FF;
	--wp--preset--color--lapis-base: #3A5EAE;
	--wp--preset--color--lapis-dark: #213E80;
	--wp--preset--color--lapis-deep: #DAE2FF;
	--wp--preset--color--malachite-light: #9ED6B6;
	--wp--preset--color--malachite-base: #3F8A62;
	--wp--preset--color--malachite-dark: #23523A;
	--wp--preset--color--malachite-deep: #BDF0D3;
	--wp--preset--color--page-bg: #131210;
	--wp--preset--color--page-body: #E6E1D7;
	--wp--preset--color--page-secondary: #CEC5B3;
	/* basalt-base / basalt-light were used as heading and label TEXT in old skins */
	--wp--preset--color--basalt-base: #E6E1D7;
	--wp--preset--color--basalt-light: #CEC5B3;
}

/* ------------------------------------------------------------
   2. Base
   ------------------------------------------------------------ */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--am-appbar-h) + 1rem); }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	transition: background-color var(--am-medium) var(--am-ease), color var(--am-medium) var(--am-ease);
}
.wp-site-blocks { min-height: 100svh; display: flex; flex-direction: column; }
.wp-site-blocks > :last-child { margin-top: auto; }
.wp-site-blocks > main { margin-block-start: 0; }
::selection { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }

:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; border-radius: 4px; }
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
	position: absolute; top: .75rem; left: .75rem; z-index: 2000;
	background: var(--wp--preset--color--inverse-surface); color: var(--wp--preset--color--inverse-on-surface);
	font-family: var(--wp--preset--font-family--sans); font-weight: 600; font-size: .9rem;
	padding: .75rem 1.25rem; border-radius: var(--am-r-full); text-decoration: none;
}

/* Labels: anything the old theme set in "nav" or "caption" size is interface text */
.has-nav-font-size, .has-caption-font-size,
.am-eyebrow, .am-chip, .am-label {
	font-family: var(--wp--preset--font-family--sans);
}
.am-eyebrow, .am-label {
	font-size: var(--wp--preset--font-size--nav);
	font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--gold);
	margin: 0 0 1rem;
}

/* Material chip */
.am-chip, .am-hero__meta > * {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .45rem .9rem; border-radius: var(--am-r-xs);
	font-family: var(--wp--preset--font-family--sans); font-size: .82rem; font-weight: 600; letter-spacing: .02em;
	text-transform: none; color: inherit;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent);
	margin: 0;
}
.am-chip a { color: inherit; text-decoration: none; }

/* ------------------------------------------------------------
   3. Top app bar — condenses into a floating pill on scroll
   ------------------------------------------------------------ */
/* The template-part wrapper is the sticky element (a sticky child cannot
   outlast its parent's height); the inner group handles the pill morph. */
.wp-site-blocks > header:has(.am-appbar), .wp-block-template-part:has(> .am-appbar) { position: sticky; top: 0; z-index: 900; }
body.admin-bar .wp-site-blocks > header:has(.am-appbar) { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header:has(.am-appbar) { top: 46px; } }
.am-appbar {
	padding: 0 !important;
	transition: padding var(--am-medium) var(--am-ease);
}
.am-appbar__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: nowrap;
	max-width: 80rem; margin-inline: auto;
	padding: .9rem 1.5rem;
	border-radius: 0;
	transition: background-color var(--am-medium) var(--am-ease), box-shadow var(--am-medium) var(--am-ease), border-radius var(--am-medium) var(--am-ease), padding var(--am-medium) var(--am-ease);
}
.am-appbar.is-floating { padding: .6rem 1rem !important; }
.am-appbar__inner { position: relative; isolation: isolate; }
.am-appbar__inner::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; opacity: 0;
	background: color-mix(in srgb, var(--wp--preset--color--surface-container) 84%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
	box-shadow: 0 8px 32px rgba(0,0,0,.10), 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--outline-variant) 60%, transparent);
	transition: opacity var(--am-medium) var(--am-ease);
}
.am-appbar.is-floating .am-appbar__inner { border-radius: var(--am-r-full); padding: .5rem .6rem .5rem 1.4rem; }
.am-appbar.is-floating .am-appbar__inner::before { opacity: 1; }

/* Brand */
.am-brand { display: inline-flex; align-items: center; gap: .65rem; white-space: nowrap; margin: 0; }
.am-brand::before {
	content: ""; width: 26px; height: 26px; border-radius: 50%; flex: none;
	background: radial-gradient(circle at 35% 35%, #F4DF9B, var(--wp--preset--color--gold-fixed) 55%, #8A6A1C);
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}

/* Navigation: pill links, Material menu for submenus */
.am-nav { margin-left: auto; }
.am-nav .wp-block-navigation-item > a,
.am-nav .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap;
	padding: .6rem 1rem; border-radius: var(--am-r-full);
	color: var(--wp--preset--color--on-surface-variant); text-decoration: none;
	transition: background-color var(--am-short) var(--am-ease), color var(--am-short);
}
.am-nav .wp-block-navigation-item > a:hover,
.am-nav .wp-block-navigation-item > a:focus-visible,
.am-nav .current-menu-item > a,
.am-nav .current-menu-ancestor > a,
.am-nav .is-current > a,
.am-nav .is-current-ancestor > a,
.am-nav a[aria-current="page"] {
	background: var(--wp--preset--color--surface-container-highest);
	color: var(--wp--preset--color--on-surface);
}
.am-nav .wp-block-navigation__submenu-icon { margin-left: .25rem; }
.am-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--surface-container-low) !important;
	color: var(--wp--preset--color--on-surface);
	border: 0 !important; border-radius: var(--am-r-md);
	box-shadow: 0 8px 24px -6px rgba(0,0,0,.18), 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--outline-variant) 70%, transparent);
	padding: .5rem !important; min-width: 19rem;
	margin-top: .5rem;
	max-height: calc(100vh - 7rem); overflow-y: auto;
}
/* Invisible bridge across the gap between the parent pill and the menu, so the
   pointer can travel down into the list without the menu closing. */
.am-nav .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: .75rem;
}
.am-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a { white-space: nowrap; }
.am-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
	display: block; padding: .6rem .9rem; border-radius: var(--am-r-sm);
	font-weight: 500; color: var(--wp--preset--color--on-surface);
}
.am-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover,
.am-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:focus-visible {
	background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container);
}

/* Mobile overlay */
.am-nav .wp-block-navigation__responsive-container-open,
.am-nav .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; border-radius: var(--am-r-full); align-items: center; justify-content: center; padding: 0;
	color: var(--wp--preset--color--on-surface-variant);
}
/* Collapse to the overlay menu below 1000px (core only does so below 600px) */
@media (min-width: 600px) and (max-width: 1000px) {
	.am-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.am-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
.am-nav .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--surface-container-highest); }
.am-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 5rem 1.5rem 2rem;
	font-size: 1.1rem;
}
.am-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a { color: var(--wp--preset--color--on-surface); }
.am-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	box-shadow: none; background: transparent !important; padding: 0 0 0 1rem !important; min-width: 0;
}

/* Theme toggle */
.am-theme-toggle {
	width: 44px; height: 44px; flex: none; border: 0; border-radius: var(--am-r-full);
	background: transparent; color: var(--wp--preset--color--on-surface-variant); cursor: pointer;
	display: grid; place-items: center; padding: 0;
	transition: background-color var(--am-short) var(--am-ease), transform var(--am-medium) var(--am-spring);
}
.am-theme-toggle:hover { background: var(--wp--preset--color--surface-container-highest); transform: rotate(-12deg); }
.am-theme-toggle .am-theme-toggle__moon { display: none; }
html[data-theme="dark"] .am-theme-toggle .am-theme-toggle__moon,
html:not([data-theme="light"]).am-prefers-dark .am-theme-toggle .am-theme-toggle__moon { display: block; }
html[data-theme="dark"] .am-theme-toggle .am-theme-toggle__sun,
html:not([data-theme="light"]).am-prefers-dark .am-theme-toggle .am-theme-toggle__sun { display: none; }

@media (max-width: 640px) {
	.am-appbar__inner { padding-inline: 1rem; }
	.am-brand { font-size: .82rem !important; }
}

/* ------------------------------------------------------------
   4. Hero — large tonal container (one per page type)
   ------------------------------------------------------------ */
.am-hero {
	position: relative; overflow: hidden;
	margin-top: .75rem !important;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5.5rem) !important;
	border-radius: var(--am-r-xxl);
	background: var(--wp--preset--color--lapis-container);
	color: var(--wp--preset--color--on-lapis-container);
}
.am-hero::after {
	content: ""; position: absolute; right: -8%; top: -30%; width: 46%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(circle, currentColor 0%, transparent 70%); opacity: .12; pointer-events: none;
}
.am-hero > * { position: relative; z-index: 1; max-width: 100% !important; margin-left: 0 !important; }
.am-hero--lapis { background: var(--wp--preset--color--lapis-container); color: var(--wp--preset--color--on-lapis-container); }
.am-hero--carnelian { background: var(--wp--preset--color--carnelian-container); color: var(--wp--preset--color--on-carnelian-container); }
.am-hero--malachite { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.am-hero--gold { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.am-hero--obsidian { background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--on-obsidian); }
.am-hero--obsidian::after { background: radial-gradient(circle, var(--wp--preset--color--gold-fixed) 0%, transparent 70%); opacity: .18; }
.am-hero .am-eyebrow { color: inherit; opacity: .78; }
.am-hero--obsidian .am-eyebrow { color: var(--wp--preset--color--gold-fixed); opacity: 1; }
.am-hero :is(h1, .wp-block-post-title, .wp-block-query-title) {
	color: inherit; max-width: 18ch; overflow-wrap: anywhere;
	font-size: var(--wp--preset--font-size--display) !important;
	line-height: 1.02; letter-spacing: .02em; margin: 0 0 1rem;
	text-transform: none !important;
}
.am-main--docs .am-hero .wp-block-post-title, .am-hero .wp-block-post-title.is-long { font-size: clamp(2rem, 4.2vw, 3.6rem) !important; max-width: 24ch; }
.am-hero .am-dek, .am-hero .wp-block-term-description {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.5; max-width: 52ch; margin: 0 0 1.25rem; opacity: .92;
}
.am-hero .am-dek p, .am-hero .wp-block-term-description p { margin: 0; }
.am-hero__meta { gap: .6rem; margin-top: 1.25rem; }
.am-hero .am-search { max-width: 36rem; margin-top: 1rem; }

/* ------------------------------------------------------------
   5. Article layout — content column + optional sticky rail
   ------------------------------------------------------------ */
.am-article { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.am-article > .wp-block-post-content, .am-article > .am-docbody, .am-article > .wp-block-group { min-width: 0; }
.am-rail { display: none; }
@media (min-width: 1100px) {
	.am-article.has-rail { grid-template-columns: minmax(0, 1fr) 280px; }
	.am-article.has-rail .am-rail { display: grid; gap: 1rem; align-content: start; }
}
.am-railcard { background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--on-obsidian); border-radius: var(--am-r-xl); padding: 1.4rem; display: grid; gap: .8rem; }
.am-railcard .am-label { color: var(--wp--preset--color--gold-fixed); margin: 0; opacity: .85; }
.am-railcard__cover { margin: 0; }
.am-railcard__cover img { width: 84px; height: auto; border-radius: 4px; box-shadow: 0 12px 24px -12px rgba(0,0,0,.8); }
.am-railcard p { margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: .92rem; line-height: 1.5; opacity: .88; }
.am-railcard .wp-block-buttons { margin: .25rem 0 0; }
.am-btn--sm .wp-block-button__link { padding: .6rem 1.1rem; font-size: .88rem; }
.am-railcard .wp-block-button__link { background: var(--wp--preset--color--gold-fixed); color: #2A1F00; }
.am-bio { margin-top: 3rem; background: var(--wp--preset--color--surface-container-low); border-radius: var(--am-r-xl); padding: 1.6rem 1.75rem; display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: center; }
.am-bio__covers { display: flex; gap: 5px; }
.am-bio__covers img { width: 44px; height: auto; border-radius: 3px; box-shadow: 0 6px 12px -6px rgba(0,0,0,.5); }
.am-bio p { margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: .98rem; line-height: 1.55; color: var(--wp--preset--color--on-surface-variant); }
.am-bio strong { color: var(--wp--preset--color--on-surface); }
@media (max-width: 700px) { .am-bio { grid-template-columns: 1fr; } }
.am-rail { position: sticky; top: calc(var(--am-appbar-h) + 1rem); align-self: start; }
.am-toc { background: var(--wp--preset--color--surface-container-low); border-radius: var(--am-r-xl); padding: 1.4rem 1.4rem 1.1rem; }
.am-toc__label { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--nav); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--on-surface-variant); margin: 0 0 .75rem; }
.am-toc__list { list-style: none; margin: 0; padding: 0; }
.am-toc__list li { margin: 0; }
.am-toc__list a {
	display: block; padding: .5rem .75rem; border-radius: var(--am-r-full);
	font-family: var(--wp--preset--font-family--sans); font-size: .9rem; line-height: 1.35;
	color: var(--wp--preset--color--on-surface-variant); text-decoration: none;
	transition: background-color var(--am-short), color var(--am-short);
}
.am-toc__list a:hover { background: var(--wp--preset--color--surface-container-high); color: var(--wp--preset--color--on-surface); }
.am-toc__list a.is-active { background: var(--wp--preset--color--lapis-container); color: var(--wp--preset--color--on-lapis-container); font-weight: 600; }
.am-main--docs .am-toc__list a.is-active { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }

/* Keep content-level alignfull/alignwide blocks inside the article column */
.am-article .wp-block-post-content .alignfull,
.am-article .betterdocs-entry-content .alignfull,
.am-article .wp-block-post-content .alignwide {
	margin-left: 0 !important; margin-right: 0 !important; max-width: none !important;
}

/* ------------------------------------------------------------
   6. Prose — reading typography inside content areas
   ------------------------------------------------------------ */
.wp-block-post-content, .betterdocs-entry-content { font-family: var(--wp--preset--font-family--body); }
.wp-block-post-content p, .betterdocs-entry-content p { line-height: 1.72; }
.wp-block-post-content :is(h2, h3, h4) { scroll-margin-top: calc(var(--am-appbar-h) + 1.5rem); }
.wp-block-post-content h2:not(.basalt-texture *):not(.am-bcard *):not(.amarna-flip-grid *):not(.ft-tree *):not(.am-section *),
.betterdocs-entry-content h2:not(.basalt-texture *) {
	margin-top: 2.4em; padding-top: .8em; border-top: 1px solid var(--wp--preset--color--outline-variant);
}
.wp-block-post-content h3:not(.basalt-texture *):not(.am-bcard *):not(.amarna-flip-grid *):not(.amarna-card *):not(.ft-tree *), .betterdocs-entry-content h3 { margin-top: 1.8em; }
.wp-block-post-content a:not(.wp-element-button):not(.amarna-flip-link):not(.am-chip),
.betterdocs-entry-content a:not(.wp-element-button) {
	text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px;
	text-decoration-color: color-mix(in srgb, var(--wp--preset--color--link) 40%, transparent);
	transition: text-decoration-color var(--am-short);
}
.wp-block-post-content a:hover, .betterdocs-entry-content a:hover { text-decoration-color: var(--wp--preset--color--link); }
.wp-block-post-content :is(ul, ol), .betterdocs-entry-content :is(ul, ol) { font-size: var(--wp--preset--font-size--medium); line-height: 1.65; }
.wp-block-post-content li + li { margin-top: .4em; }
.wp-block-post-content figure { margin-inline: 0; }
.wp-block-image img { border-radius: var(--am-r-md); }
.wp-block-image figcaption { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--caption); color: var(--wp--preset--color--on-surface-variant); text-align: center; margin-top: .75rem; }
.wp-block-table table { border-collapse: collapse; }
.wp-block-table :is(td, th) { border-color: var(--wp--preset--color--outline-variant); padding: .6rem .8rem; }
.wp-block-table thead th { font-family: var(--wp--preset--font-family--sans); font-weight: 700; background: var(--wp--preset--color--surface-container); }

/* Drop cap (legacy class) — now Cinzel in the page's accent colour */
.chapter-first-para::first-letter {
	font-family: var(--wp--preset--font-family--display);
	float: left; font-size: 3.4em; line-height: .78; padding: 7px 10px 0 0;
	color: var(--wp--preset--color--lapis);
}
.am-main--docs .chapter-first-para::first-letter { color: var(--wp--preset--color--malachite); }
.home .chapter-first-para::first-letter, .single-post .chapter-first-para::first-letter { color: var(--wp--preset--color--gold); }
.has-text-align-center.chapter-first-para::first-letter { float: none; padding: 0; font-size: 1em; font-family: inherit; color: inherit; }

/* Pull quote / epigraph — typographic set piece */
.wp-block-pullquote, .pull-quote {
	border: 0; text-align: center; padding: clamp(2rem, 5vw, 3.5rem) 0; margin-inline: auto; max-width: 24ch;
}
.wp-block-pullquote blockquote, .wp-block-pullquote p {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: clamp(1.5rem, 3.2vw, 2.4rem) !important; line-height: 1.25 !important; font-style: normal !important;
	margin: 0; color: var(--wp--preset--color--on-surface);
}
.wp-block-pullquote cite { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: .85rem; color: var(--wp--preset--color--on-surface-variant); margin-top: 1rem; display: block; }
.wp-block-pullquote::after, .pull-quote::after {
	content: ""; display: block; width: 64px; height: 3px; border-radius: 3px; background: var(--wp--preset--color--gold); margin: 1.5rem auto 0;
}
.wp-block-quote { background: var(--wp--preset--color--surface-container-low); border-radius: 0 var(--am-r-lg) var(--am-r-lg) 0; padding: 1.25rem 1.5rem; }
.wp-block-quote cite { font-family: var(--wp--preset--font-family--sans); font-size: .85rem; font-style: normal; }

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { border: 0; height: 3px; width: 64px; max-width: 64px; border-radius: 3px; background: var(--wp--preset--color--gold); opacity: 1; margin-block: var(--wp--preset--spacing--section); }

/* ------------------------------------------------------------
   7. Buttons (Material: filled / tonal / outlined / on-dark)
   ------------------------------------------------------------ */
.wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: center; gap: .5rem;
	transition: transform var(--am-medium) var(--am-spring), border-radius var(--am-medium) var(--am-ease), background-color var(--am-short), box-shadow var(--am-short);
}
.wp-block-button__link:hover, .wp-element-button:hover { transform: scale(1.035); border-radius: var(--am-r-md); }
.wp-block-button__link:active, .wp-element-button:active { transform: scale(.97); }
.wp-block-button.is-style-tonal .wp-block-button__link { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.wp-block-button.is-style-tonal .wp-block-button__link:hover { background: color-mix(in srgb, var(--wp--preset--color--gold-container) 85%, var(--wp--preset--color--gold)); }
.wp-block-button.is-style-outlined .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important; color: var(--wp--preset--color--on-surface) !important;
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--outline); border: 0 !important; padding: .85rem 1.6rem !important;
}
.am-hero--obsidian .wp-block-button__link, .basalt-texture .wp-block-button__link, .am-on-dark .wp-block-button__link {
	background: var(--wp--preset--color--gold-fixed); color: #2A1F00;
}
.am-hero--obsidian .is-style-outlined .wp-block-button__link, .basalt-texture .is-style-outlined .wp-block-button__link {
	color: var(--wp--preset--color--on-obsidian) !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35);
}
.wp-block-search__button { border-radius: var(--am-r-full) !important; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--on-gold); border: 0; padding: .6rem 1rem; }
.wp-block-search__input { border-radius: var(--am-r-full) !important; border: 1.5px solid var(--wp--preset--color--outline-variant) !important; background: var(--wp--preset--color--surface-container-lowest); color: var(--wp--preset--color--on-surface); padding: .7rem 1.1rem !important; font-family: var(--wp--preset--font-family--sans); }
.wp-block-search__inside-wrapper { border: 0 !important; gap: .5rem; }
.wp-block-search__button.has-icon { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; }
.wp-block-read-more { color: var(--wp--preset--color--gold); text-decoration: none; }
.wp-block-read-more::after { content: " →"; }

/* ------------------------------------------------------------
   8. Post list (From the Notebook, archives, search)
   ------------------------------------------------------------ */
.am-postlist__items { display: grid; gap: 1rem; }
.am-postcard {
	background: var(--wp--preset--color--surface-container-low); border-radius: var(--am-r-xl); padding: 1.75rem 2rem !important;
	transition: background-color var(--am-short), transform var(--am-long) var(--am-spring), border-radius var(--am-medium) var(--am-ease);
}
.am-postcard:hover { background: var(--wp--preset--color--surface-container-high); transform: translateY(-3px); border-radius: var(--am-r-md); }
.am-postcard .wp-block-post-title { margin: .75rem 0 .5rem; }
.am-postcard .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--on-surface); }
.am-postcard .wp-block-post-title a:hover { color: var(--wp--preset--color--gold); }
.am-pagination { margin-top: 2rem; font-family: var(--wp--preset--font-family--sans); font-weight: 600; }
.am-pagination a { text-decoration: none; padding: .5rem .9rem; border-radius: var(--am-r-full); }
.am-pagination a:hover, .am-pagination .current { background: var(--wp--preset--color--surface-container-high); }
.am-postnav { font-family: var(--wp--preset--font-family--sans); font-weight: 600; gap: 1rem; }
.am-postnav a { text-decoration: none; padding: .9rem 1.2rem; border-radius: var(--am-r-lg); background: var(--wp--preset--color--surface-container-low); display: inline-block; }
.am-postnav a:hover { background: var(--wp--preset--color--surface-container-high); }
.am-featured img { border-radius: var(--am-r-xl); }

/* ============================================================
   9. COMPATIBILITY LAYER — classes used by existing page content
   ============================================================ */

/* ---- Basalt bands → obsidian tonal containers --------------------
   Heading bands between sections become compact dark plates; the
   homepage hero (eyebrow + h1 + tagline) becomes the large hero card. */
.basalt-texture {
	position: relative; overflow: hidden;
	background: var(--wp--preset--color--obsidian);
	color: var(--wp--preset--color--on-obsidian);
	border-radius: var(--am-r-xl);
	padding: 1.25rem 1.75rem !important;
	/* legacy preset colours used by content inside the band resolve to on-dark values */
	--wp--preset--color--gold-base: var(--wp--preset--color--gold-fixed);
	--wp--preset--color--gold-light: #F3DF9B;
	--wp--preset--color--page-secondary: rgba(243,237,224,.72);
	--wp--preset--color--page-body: var(--wp--preset--color--on-obsidian);
	--wp--preset--color--basalt-base: var(--wp--preset--color--on-obsidian);
	--wp--preset--color--carnelian-base: #FFB4A6;
	--wp--preset--color--link: #FFB4A6;
}
.basalt-texture::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(700px 300px at 85% 10%, rgba(212,175,79,.14), transparent 60%);
}
.basalt-texture > * { position: relative; z-index: 1; }
.basalt-texture :is(h1, h2, h3, h4) { color: #F3DF9B; margin: 0; }
.basalt-texture :is(h2, h3) { font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; }
.basalt-texture h1 { font-size: var(--wp--preset--font-size--display); line-height: 1.02; color: #F5ECD6; }
.basalt-texture p { color: rgba(245,236,214,.82); }
.basalt-texture a:not(.wp-element-button) { color: #F3DF9B; }
/* Heading-only bands DISSOLVE into the Material article heading: light, numbered
   (roman numerals via CSS counters), with a hairline rule — the prototype's treatment. */
.am-main { --am-accent: var(--wp--preset--color--lapis); }
.am-main--docs { --am-accent: var(--wp--preset--color--malachite); }
.single-post .am-main { --am-accent: var(--wp--preset--color--carnelian); }
.am-main--home { --am-accent: var(--wp--preset--color--gold); }
:is(.wp-block-post-content, .betterdocs-entry-content) { counter-reset: am-section; }
.basalt-texture:is(:has(> h2:only-child), :has(> h3:only-child)) {
	background: transparent; color: inherit; padding: 0 !important; border-radius: 0; overflow: visible;
	margin: 3rem 0 1.25rem !important;
	--wp--preset--color--gold-base: inherit; --wp--preset--color--gold-light: inherit; --wp--preset--color--page-secondary: inherit;
	--wp--preset--color--page-body: inherit; --wp--preset--color--basalt-base: inherit; --wp--preset--color--carnelian-base: inherit; --wp--preset--color--link: inherit;
}
.basalt-texture:is(:has(> h2:only-child), :has(> h3:only-child))::before,
.basalt-texture:is(:has(> h2:only-child), :has(> h3:only-child))::after { content: none; display: none; }
.basalt-texture:has(> h2:only-child) > h2, .basalt-texture:has(> h3:only-child) > h3 {
	color: var(--wp--preset--color--on-surface); text-align: left !important; margin: 0 !important;
	max-width: 100% !important; margin-left: 0 !important;
	padding-top: .85em; border-top: 1px solid var(--wp--preset--color--outline-variant);
}
.basalt-texture:has(> h2:only-child) > h2 { counter-increment: am-section; font-size: var(--wp--preset--font-size--x-large) !important; }
.basalt-texture:has(> h3:only-child) > h3 { font-size: var(--wp--preset--font-size--large) !important; }
.basalt-texture:has(> h2:only-child) > h2::before {
	content: counter(am-section, upper-roman); display: block;
	font-family: var(--wp--preset--font-family--sans); font-size: .74rem; font-weight: 700; letter-spacing: .16em;
	color: var(--am-accent, var(--wp--preset--color--gold)); margin-bottom: .55rem;
}
.basalt-texture:has(> h2:only-child) > h2 .batterdocs-anchor { font-size: 1rem; }
.basalt-texture:is(:has(> h2:only-child), :has(> h3:only-child)) a:not(.wp-element-button) { color: inherit; }
/* Hero band (eyebrow + title + tagline) — e.g. the homepage */
.basalt-texture:has(> h1) {
	padding: clamp(2.5rem, 7vw, 6rem) clamp(1.5rem, 6vw, 5.5rem) !important;
	border-radius: var(--am-r-xxl); text-align: left;
}
.basalt-texture:has(> h1) > *, .basalt-texture:has(.wp-block-buttons) > * { text-align: left !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.basalt-texture:has(.wp-block-buttons) .wp-block-buttons { justify-content: flex-start !important; }
.basalt-texture:has(> h1) h1 { max-width: 14ch; margin: 0 0 1.25rem; }
.basalt-texture:has(> h1) p { max-width: 36ch; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.55; margin: 0 0 1.25rem; }
.basalt-texture:has(> h1) > p:first-child { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--nav) !important; font-weight: 700; letter-spacing: .14em !important; color: var(--wp--preset--color--gold-fixed); margin-bottom: 1.5rem; }
/* CTA band (heading + text + button) */
.basalt-texture:has(.wp-block-buttons) { padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 4rem) !important; border-radius: var(--am-r-xxl); }
.basalt-texture:has(.wp-block-buttons) .wp-block-buttons { margin-top: 1.5rem; }
.basalt-texture .wp-block-button__link:not(.has-background) { background: var(--wp--preset--color--gold-fixed) !important; color: #2A1F00 !important; }
/* Homepage: the hero band gets presence; full/wide content blocks are capped and centred */
.am-main--home .basalt-texture:has(> h1) { min-height: min(60vh, 520px); display: flex; flex-direction: column; justify-content: center; margin-top: .75rem; }
.am-main--home .wp-block-post-content .alignfull { width: calc(100% - 2rem); max-width: 80rem !important; margin-inline: auto !important; }
.am-main--home .wp-block-post-content .alignfull:has(> h2:only-child), .am-main--home .wp-block-post-content .alignfull:has(> h3:only-child) { max-width: 64rem !important; }
.am-main--home .wp-block-post-content .alignwide { max-width: 64rem !important; margin-inline: auto !important; }

/* ---- "In brief" aside → gold callout ---------------------------- */
.in-brief {
	background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container);
	border: 0; border-radius: var(--am-r-lg); padding: 1.4rem 1.6rem 1.4rem 4.4rem !important;
	position: relative; margin-block: 1.75rem;
	--wp--preset--color--page-secondary: var(--wp--preset--color--on-gold-container);
	--wp--preset--color--carnelian-base: var(--wp--preset--color--on-gold-container);
}
.in-brief::before {
	content: "§"; position: absolute; left: 1.4rem; top: 1.3rem; width: 2.2rem; height: 2.2rem; border-radius: var(--am-r-sm);
	background: var(--wp--preset--color--gold); color: var(--wp--preset--color--on-gold);
	display: grid; place-items: center; font-family: var(--wp--preset--font-family--display); font-size: 1.05rem;
}
.in-brief .in-brief__label {
	font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--nav); font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: inherit; opacity: .75; margin: 0 0 .4rem;
}
.in-brief .in-brief__text { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: 1rem; line-height: 1.55; color: inherit; margin: 0; }
.in-brief a { color: inherit; }
.am-main--docs .in-brief { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.am-main--docs .in-brief::before { background: var(--wp--preset--color--malachite); color: var(--wp--preset--color--on-malachite); }

/* ---- Scene break ornament --------------------------------------- */
.scene-break, img.scene-break { display: none !important; }

/* ---- Book covers ------------------------------------------------ */
.amarna-cover img {
	display: block; width: 100%; max-width: 15rem; height: auto; margin-inline: auto;
	border: 0; border-radius: 6px;
	box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 20px 40px -18px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.25);
	transition: transform var(--am-long) var(--am-spring);
}

/* ---- Book feature rows → material cards (one stone per book) ---- */
.book-feature {
	border-radius: var(--am-r-xl); padding: 1.75rem; gap: 2rem !important; align-items: center !important;
	background: var(--wp--preset--color--surface-container-low); color: var(--wp--preset--color--on-surface);
	transition: border-radius var(--am-medium) var(--am-ease), transform var(--am-long) var(--am-spring), box-shadow var(--am-medium);
	--wp--preset--color--page-secondary: color-mix(in srgb, currentColor 72%, transparent);
}
.book-feature:hover { border-radius: var(--am-r-md) var(--am-r-xxl) var(--am-r-md) var(--am-r-xxl); transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(0,0,0,.35); }
.book-feature:hover .amarna-cover img { transform: rotate(-3deg) translateY(-4px); }
.book-feature :is(h2, h3) { color: inherit; margin: 0 0 .5rem; font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.book-feature p { color: inherit; margin-bottom: .6rem; }
.book-feature .has-caption-font-size {
	display: inline-flex; padding: .4rem .8rem; border-radius: var(--am-r-xs);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent); font-weight: 600; margin-bottom: .9rem;
}
.book-feature:nth-of-type(1) { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.book-feature:nth-of-type(2) { background: var(--wp--preset--color--carnelian-container); color: var(--wp--preset--color--on-carnelian-container); }
.book-feature:nth-of-type(3) { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.book-feature:nth-of-type(4) { background: var(--wp--preset--color--lapis-container); color: var(--wp--preset--color--on-lapis-container); }
.book-feature:nth-of-type(5) { background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--on-obsidian); }
.book-feature:nth-of-type(5) a { color: var(--wp--preset--color--gold-fixed); }
.book-feature .wp-block-column:first-child { flex-basis: 13rem !important; }
.book-feature .amarna-cover img { max-width: 13rem; }
.book-feature + .scene-break img { margin: 1rem auto; width: 90px; }
@media (max-width: 781px) { .book-feature { padding: 1.5rem; } .book-feature .wp-block-column:first-child { flex-basis: auto !important; } .book-feature .amarna-cover img { max-width: 11rem; margin-inline: 0; } }

/* ---- Tint utilities (legacy) ----------------------------------- */
.bg-gold-wash { background-color: var(--wp--preset--color--gold-container); border-radius: var(--am-r-lg); }
.bg-lapis-wash { background-color: var(--wp--preset--color--lapis-container); border-radius: var(--am-r-lg); }
.bg-malachite-wash { background-color: var(--wp--preset--color--malachite-container); border-radius: var(--am-r-lg); }

/* ---- Cluster card grid (.amarna-card) --------------------------- */
.amarna-card {
	position: relative; border: 0; border-radius: var(--am-r-lg); padding: 1.4rem 1.5rem;
	background-color: var(--wp--preset--color--surface-container-low);
	transition: background-color var(--am-short), transform var(--am-long) var(--am-spring), border-radius var(--am-medium) var(--am-ease);
}
.amarna-card:hover, .amarna-card:focus-within { background-color: var(--wp--preset--color--surface-container-high); transform: translateY(-3px); border-radius: var(--am-r-sm); }
.amarna-card :where(h3) { margin: 0 0 .4rem; font-size: 1.1rem; letter-spacing: .02em; }
.amarna-card :where(h3) a { color: var(--wp--preset--color--on-surface); text-decoration: none; }
.amarna-card:hover :where(h3) a { color: var(--wp--preset--color--gold); }
.amarna-card :where(h3) a::after { content: ""; position: absolute; inset: 0; }
.amarna-card .amarna-card__desc { margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: .92rem; line-height: 1.5; color: var(--wp--preset--color--on-surface-variant); }

/* ---- Flip card grid (.amarna-flip-*) → material cards ----------- */
.amarna-flip-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 1rem; max-width: 80rem; margin-inline: auto; }
@media (max-width: 50rem) { .amarna-flip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 30rem) { .amarna-flip-grid { grid-template-columns: 1fr; grid-auto-rows: auto; } }
.amarna-flip-grid.is-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 44rem; }
@media (max-width: 30rem) { .amarna-flip-grid.is-2col { grid-template-columns: 1fr; } }
.amarna-flip-grid.is-3col { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 60rem; }
@media (max-width: 50rem) { .amarna-flip-grid.is-3col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 30rem) { .amarna-flip-grid.is-3col { grid-template-columns: 1fr; } }
.amarna-flip-card { perspective: 1200px; }
.amarna-flip-inner { display: grid; height: 100%; min-height: 9rem; transition: transform .6s var(--am-ease); transform-style: preserve-3d; }
.amarna-flip-face {
	grid-area: 1 / 1; min-width: 0; overflow-wrap: break-word; box-sizing: border-box;
	display: flex; flex-direction: column; justify-content: center; padding: 1.4rem 1.5rem;
	border: 0; border-radius: var(--am-r-lg);
	background-color: var(--wp--preset--color--surface-container-low);
	-webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.amarna-flip-front { text-align: center; }
.amarna-flip-front h3 { margin: 0; font-size: 1.05rem; font-weight: 400; letter-spacing: .03em; color: var(--wp--preset--color--on-surface); }
.amarna-flip-back { transform: rotateY(180deg); text-align: left; background-color: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.amarna-flip-title-sm { margin: 0 0 .3rem; font-family: var(--wp--preset--font-family--display); font-size: .85rem; letter-spacing: .04em; color: inherit; }
.amarna-flip-eyebrow { margin: 0 0 .35rem; font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--nav); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: inherit; opacity: .75; }
.amarna-flip-summary { margin: 0 0 .6rem; font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: .92rem; line-height: 1.5; color: inherit; }
.amarna-flip-link { font-family: var(--wp--preset--font-family--sans); font-size: .85rem; font-weight: 700; color: inherit; text-decoration: none; }
.amarna-flip-link::after { content: " →"; }
.amarna-flip-link:hover, .amarna-flip-link:focus { text-decoration: underline; }
@media (hover: hover) and (pointer: fine) {
	.amarna-flip-card:hover .amarna-flip-inner, .amarna-flip-card:focus-within .amarna-flip-inner { transform: rotateY(180deg); }
}
@media (hover: none), (pointer: coarse) {
	.amarna-flip-card { border-radius: var(--am-r-lg); background-color: var(--wp--preset--color--surface-container-low); }
	.amarna-flip-inner { display: block; min-height: 0; }
	.amarna-flip-face { border: 0; background: none; padding: 1.1rem 1.5rem; -webkit-backface-visibility: visible; backface-visibility: visible; transform: none; color: inherit; }
	.amarna-flip-front { text-align: left; padding-bottom: 0; }
	.amarna-flip-back { padding-top: .25rem; background: none; color: var(--wp--preset--color--on-surface); }
	.amarna-flip-title-sm { display: none; }
}

/* ---- Family tree (.ft-*) → tonal chips ------------------------- */
.ft-tree { max-width: 56rem; margin-inline: auto; padding-block: 1.5rem; }
.ft-group { margin-bottom: 1.5rem; }
.ft-card { display: flex; flex-direction: column; align-items: center; padding: .8rem 1.1rem; border-radius: var(--am-r-md); min-width: 9rem; max-width: 16rem; text-align: center; line-height: 1.25; border: 0; }
.ft-card-royal { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.ft-card-nonroyal { background: var(--wp--preset--color--lapis-container); color: var(--wp--preset--color--on-lapis-container); }
.ft-card-heir { background: var(--wp--preset--color--carnelian-container); color: var(--wp--preset--color--on-carnelian-container); box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--carnelian); }
.ft-card-series { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 40%, transparent); border-style: none; }
.ft-card .ft-name, .ft-card .ft-role { color: inherit; }
.ft-name { font-family: var(--wp--preset--font-family--display); font-size: .95rem; letter-spacing: .02em; }
.ft-role { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: .78rem; margin-top: .3rem; opacity: .8; }
.ft-note { max-width: 32rem; margin: .75rem auto 0; font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: .9rem; color: var(--wp--preset--color--on-surface-variant); text-align: center; line-height: 1.55; }
.ft-gen-label { text-align: center; font-family: var(--wp--preset--font-family--sans); font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--gold); margin-bottom: .75rem; }
.ft-arrow { text-align: center; color: var(--wp--preset--color--outline); font-size: 1.25rem; margin: .5rem 0; }
.ft-conn { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: .9rem; color: var(--wp--preset--color--on-surface-variant); padding: .25rem 0; }
.ft-couple, .ft-row, .ft-row-wrap { display: flex; flex-direction: column; gap: .5rem; align-items: center; justify-content: center; }
@media (min-width: 640px) { .ft-couple { flex-direction: row; gap: .35rem; } .ft-row-wrap { flex-direction: row; flex-wrap: wrap; gap: .5rem; } }
.ft-band {
	text-align: left; padding: 1.1rem 1.5rem calc(1.1rem) calc(1.5rem + 6px); margin: 3rem 0 1.5rem !important;
	margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: none !important;
	background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--on-obsidian); border-radius: var(--am-r-lg); position: relative; overflow: hidden;
}
.ft-band::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--wp--preset--color--gold-fixed); }
.ft-band h2 { margin: 0; font-family: var(--wp--preset--font-family--display); color: #F3DF9B; text-transform: none; letter-spacing: .03em; font-size: var(--wp--preset--font-size--x-large); }
.ft-legend { max-width: 42rem; margin: 1.5rem auto 0; font-family: var(--wp--preset--font-family--sans); font-size: .95rem; }
.ft-legend p { margin: 0 0 .85rem; }
.ft-legend-box { display: inline-block; width: .85rem; height: .85rem; border-radius: 3px; vertical-align: middle; margin-right: .35rem; }

/* ---- Certificate lightbox (native dialog) ----------------------- */
.cert-lightbox-dialog { position: fixed; inset: 0; margin: 0; width: auto; height: auto; max-width: none; max-height: none; padding: 1rem; border: 0; background: transparent; }
.cert-lightbox-dialog[open] { display: flex; align-items: center; justify-content: center; }
.cert-lightbox-dialog::backdrop { background-color: rgba(14,13,11,.82); }
.cert-lightbox-figure { position: relative; margin: 0; max-width: min(92vw, 900px); padding: .75rem; background-color: var(--wp--preset--color--surface-container-lowest); border-radius: var(--am-r-lg); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.cert-lightbox-img { display: block; width: auto; height: auto; max-width: 100%; max-height: 82vh; border-radius: var(--am-r-sm); }
.cert-lightbox-close { position: absolute; top: -.85rem; right: -.85rem; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background-color: var(--wp--preset--color--inverse-surface); color: var(--wp--preset--color--inverse-on-surface); font-size: 1.6rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.cert-lightbox-close:hover, .cert-lightbox-close:focus-visible { background-color: var(--wp--preset--color--carnelian); color: var(--wp--preset--color--on-carnelian); }

/* ============================================================
   10. READER'S COMPANION (BetterDocs) — Material skin
   ============================================================ */
/* Sticky wayfinding strip below the app bar */
.amarna-companion-sticky {
	position: sticky; top: var(--am-appbar-h); z-index: 30;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 88%, transparent);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	padding: .6rem 1.5rem !important; margin-top: 1rem !important;
	border-bottom: 1px solid var(--wp--preset--color--outline-variant);
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem;
}
body.admin-bar .amarna-companion-sticky { top: calc(var(--am-appbar-h) + 32px); }
.amarna-companion-sticky > * { margin: 0 !important; }
.amarna-companion-nav, .amarna-companion-nav p {
	font-family: var(--wp--preset--font-family--sans); font-size: .85rem; font-weight: 600; text-transform: none; letter-spacing: 0;
	color: var(--wp--preset--color--on-surface-variant); margin: 0; text-align: left;
}
.amarna-companion-nav a { color: var(--wp--preset--color--on-surface); text-decoration: none; padding: .35rem .7rem; border-radius: var(--am-r-full); background: var(--wp--preset--color--surface-container); display: inline-block; margin: .1rem 0; }
.amarna-companion-nav a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); text-decoration: none; }

/* Breadcrumb */
.betterdocs-breadcrumb { background: transparent !important; padding: 0 !important; margin: 0 !important; font-family: var(--wp--preset--font-family--sans); font-size: .85rem; }
.betterdocs-breadcrumb-list { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem; }
.betterdocs-breadcrumb .bread-link, .betterdocs-breadcrumb a { color: var(--wp--preset--color--on-surface-variant) !important; text-decoration: none; font-weight: 600; }
.betterdocs-breadcrumb a:hover { color: var(--wp--preset--color--malachite) !important; }
.betterdocs-breadcrumb .item-current span, .betterdocs-breadcrumb-item.current span { color: var(--wp--preset--color--on-surface) !important; font-weight: 600; }
.betterdocs-breadcrumb .icon-container, .betterdocs-breadcrumb svg { color: var(--wp--preset--color--outline); width: 12px; height: 12px; }

/* Doc body — the plugin hard-codes a grey text colour on .betterdocs-content; follow the theme */
.am-docbody { padding-top: 1.5rem; }
.am-main--docs .betterdocs-content, .am-main--docs .betterdocs-entry-content, .betterdocs-entry-content .betterdocs-content { color: var(--wp--preset--color--on-surface); }
.betterdocs-entry-content { background: transparent !important; max-width: 42rem; margin-inline: auto; float: none !important; width: auto !important; }
.betterdocs-entry-content .betterdocs-content-heading .batterdocs-anchor { color: var(--wp--preset--color--gold-fixed); text-decoration: none; margin-left: .4rem; opacity: 0; transition: opacity var(--am-short); }
.betterdocs-entry-content .betterdocs-content-heading:hover .batterdocs-anchor { opacity: .9; }
.amarna-doc-related { font-family: var(--wp--preset--font-family--sans); font-size: .95rem !important; line-height: 1.7; background: var(--wp--preset--color--surface-container-low); border-radius: var(--am-r-lg); padding: 1.1rem 1.4rem; margin-top: 2.5rem; }
.amarna-doc-related a { text-decoration: none !important; padding: .15rem .55rem; border-radius: var(--am-r-xs); background: var(--wp--preset--color--surface-container-high); color: var(--wp--preset--color--on-surface); display: inline-block; margin: .15rem .1rem; }
.amarna-doc-related a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.am-updated { max-width: 42rem; margin: 2rem auto 0; gap: .4rem !important; font-family: var(--wp--preset--font-family--sans); font-size: .85rem; color: var(--wp--preset--color--on-surface-variant); }
.am-updated p, .am-updated .wp-block-post-date { margin: 0; font-size: .85rem; text-transform: none; letter-spacing: 0; font-weight: 600; }
.betterdocs-updated-date-wrapper { display: none !important; } /* theme renders its own */

/* Prev / next docs → two cards */
.docs-navigation { max-width: 42rem; margin: 1.25rem auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.docs-navigation a { display: flex; align-items: center; gap: .5rem; padding: 1rem 1.2rem; border-radius: var(--am-r-lg); background: var(--wp--preset--color--surface-container-low); color: var(--wp--preset--color--on-surface) !important; text-decoration: none !important; font-family: var(--wp--preset--font-family--sans); font-weight: 600; font-size: .92rem; line-height: 1.35; transition: background-color var(--am-short); }
.docs-navigation a[rel="next"] { justify-content: flex-end; text-align: right; }
.docs-navigation a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container) !important; }
.docs-navigation svg { width: 16px; height: 16px; flex: none; }
@media (max-width: 600px) { .docs-navigation { grid-template-columns: 1fr; } }

/* Category grid on /companion/ — strip the plugin's white inner panel so the
   theme's tonal card (and dark mode) shows through */
.betterdocs-category-grid-wrapper { max-width: 80rem; margin-inline: auto; }
.betterdocs-single-category-inner,
.betterdocs-single-category-inner .betterdocs-category-header,
.betterdocs-single-category-inner .betterdocs-category-header-inner,
.betterdocs-single-category-inner .betterdocs-body,
.betterdocs-single-category-inner .betterdocs-footer { background: transparent !important; box-shadow: none !important; }
.betterdocs-single-category-inner { padding: 0 !important; }
.betterdocs-single-category-inner .betterdocs-category-header-inner { border-bottom: 1px solid var(--wp--preset--color--outline-variant) !important; }
.betterdocs-category-items-counts, .betterdocs-category-items-counts span { background: var(--wp--preset--color--surface-container-high) !important; color: var(--wp--preset--color--on-surface) !important; font-family: var(--wp--preset--font-family--sans); font-weight: 700; }
.betterdocs-category-items-counts span { background: transparent !important; }
.betterdocs-single-category-wrapper.category-grid {
	background: var(--wp--preset--color--surface-container-low) !important; border: 0 !important; box-shadow: none !important;
	border-radius: var(--am-r-xl) !important; padding: 1.5rem !important;
	transition: background-color var(--am-short), transform var(--am-long) var(--am-spring), border-radius var(--am-medium) var(--am-ease);
}
.betterdocs-single-category-wrapper.category-grid:hover { background: var(--wp--preset--color--surface-container-high) !important; transform: translateY(-3px); border-radius: var(--am-r-md) !important; }
.betterdocs-category-title { font-family: var(--wp--preset--font-family--display) !important; font-weight: 400 !important; font-size: 1.3rem !important; letter-spacing: .03em; color: var(--wp--preset--color--on-surface) !important; }
.betterdocs-category-icon-img { filter: grayscale(1) opacity(.5); }
.betterdocs-category-items-counts { font-family: var(--wp--preset--font-family--sans); color: var(--wp--preset--color--on-surface-variant) !important; }
.betterdocs-articles-list li { font-family: var(--wp--preset--font-family--sans); font-size: .95rem; }
.betterdocs-articles-list li a { color: var(--wp--preset--color--on-surface) !important; text-decoration: none; }
.betterdocs-articles-list li a:hover { color: var(--wp--preset--color--malachite) !important; }
.betterdocs-articles-list li i { color: var(--wp--preset--color--outline) !important; }
a.docs-cat-link-btn, .betterdocs-category-link-btn {
	background: var(--wp--preset--color--malachite-container) !important; border: 0 !important; border-radius: var(--am-r-full) !important;
	color: var(--wp--preset--color--on-malachite-container) !important; font-family: var(--wp--preset--font-family--sans) !important; font-weight: 600;
	font-size: .88rem !important; text-transform: none; letter-spacing: 0; text-decoration: none !important; box-shadow: none !important; padding: .6rem 1.1rem !important;
}
a.docs-cat-link-btn:hover, .betterdocs-category-link-btn:hover { background: var(--wp--preset--color--malachite) !important; color: var(--wp--preset--color--on-malachite) !important; }
a.docs-cat-link-btn i { color: inherit !important; }

/* Category archive list */
.betterdocs-content-area.block-archive-list, .betterdocs-content-area.block-archive-list .betterdocs-content-inner-area { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.betterdocs-content-area.block-archive-list .betterdocs-entry-title { display: none; } /* hero already shows title + description */
.betterdocs-content-area.block-archive-list .betterdocs-articles-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.betterdocs-content-area.block-archive-list .betterdocs-articles-list li { background: var(--wp--preset--color--surface-container-low); border-radius: var(--am-r-lg); padding: 0; }
.betterdocs-content-area.block-archive-list .betterdocs-articles-list li a { display: block; padding: 1rem 1.3rem; border-radius: inherit; font-size: 1.05rem; }
.betterdocs-content-area.block-archive-list .betterdocs-articles-list li:hover { background: var(--wp--preset--color--malachite-container); }
.betterdocs-content-area.block-archive-list .betterdocs-articles-list li:hover a { color: var(--wp--preset--color--on-malachite-container) !important; }
.betterdocs-content-area.block-archive-list .betterdocs-articles-list li i { display: none; }

/* Any other plugin panel that hard-codes a white background follows the theme surface */
.am-main--docs :is(.betterdocs-content-inner-area, .betterdocs-entry-content, .betterdocs-related-articles-container-front, .betterdocs-article-summary, .betterdocs-attachment-wrapper, .betterdocs-social-share, .feedback-update-form) { background: transparent !important; box-shadow: none !important; }
/* Glossary index docs: letter groups, entries, sticky A–Z tools */
.amarna-glossary-letterhead { font-family: var(--wp--preset--font-family--display); color: var(--wp--preset--color--malachite); font-size: 1.5rem; letter-spacing: .08em; border-bottom: 1px solid var(--wp--preset--color--outline-variant); padding-bottom: .3rem; margin: 2.5rem 0 1rem; scroll-margin-top: 12rem; }
.amarna-glossary-entry { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--medium); line-height: 1.7; margin-bottom: 1rem; scroll-margin-top: 12rem; }
.amarna-glossary-entry a { color: var(--wp--preset--color--link); }
.amarna-glossary-entry .amarna-glossary-seealso { font-style: italic; color: var(--wp--preset--color--on-surface-variant); }
.amarna-glossary-tools { position: sticky; top: calc(var(--am-appbar-h) + 3.2rem); z-index: 20; background: var(--wp--preset--color--surface); padding: .8rem 0 .6rem; border-bottom: 1px solid var(--wp--preset--color--outline-variant); margin-bottom: 1rem; }
body.admin-bar .amarna-glossary-tools { top: calc(var(--am-appbar-h) + 3.2rem + 32px); }
.amarna-glossary-alpha { text-align: center; font-family: var(--wp--preset--font-family--sans); font-size: .85rem; font-weight: 700; letter-spacing: .05em; display: flex; flex-wrap: wrap; justify-content: center; gap: .15rem; }
.amarna-glossary-alpha a { color: var(--wp--preset--color--on-surface); text-decoration: none; padding: .25rem .45rem; border-radius: var(--am-r-xs); min-width: 1.8rem; text-align: center; display: inline-block; }
.amarna-glossary-alpha a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); text-decoration: none; }
.amarna-glossary-alpha span { color: var(--wp--preset--color--outline); opacity: .5; padding: .25rem .45rem; min-width: 1.8rem; text-align: center; display: inline-block; }

/* Glossary tooltips (BetterDocs Pro) — Material tooltip on the inverse surface,
   so it reads in both light and dark mode (the plugin hard-codes a white panel
   and lets the text colour inherit, which fails in dark mode). */
.glossary-tooltip-container > a { text-decoration: underline dotted var(--wp--preset--color--malachite) !important; text-underline-offset: 3px; }
.glossary-tooltip-overlay, p.glossary-tooltip-overlay {
	background-color: var(--wp--preset--color--inverse-surface) !important;
	color: var(--wp--preset--color--inverse-on-surface) !important;
	font-family: var(--wp--preset--font-family--sans) !important; font-size: .92rem !important; line-height: 1.5 !important;
	border-radius: 12px !important; padding: .8rem 1rem !important;
	box-shadow: 0 12px 32px -8px rgba(0,0,0,.45) !important;
	min-width: 16rem; max-width: 22rem;
}
.glossary-tooltip-overlay::before { border-color: var(--wp--preset--color--inverse-surface) transparent transparent !important; }
.glossary-tooltip-overlay .tooltip-title { color: inherit; font-family: var(--wp--preset--font-family--display); font-weight: 400; letter-spacing: .03em; }
.glossary-tooltip-overlay a, .glossary-tooltip-overlay .tooltip-learn-more { color: var(--wp--preset--color--gold-fixed) !important; }
html[data-theme="dark"] .glossary-tooltip-overlay a, html[data-theme="dark"] .glossary-tooltip-overlay .tooltip-learn-more { color: var(--wp--preset--color--gold-dark) !important; }

/* No search UI on any Companion surface (Director ruling, 24 July 2026) */
#betterdocs-search-modal, .betterdocs-search-modal-layout-1, .betterdocs-search-form-wrapper, .betterdocs-live-search, .betterdocs-searchform { display: none !important; }

/* ---- Encyclopedia + glossary term pages (BetterDocs Pro PHP layout) ---- */
/* These pages render the header/footer parts without WP's generated layout CSS,
   so the app bar and footer carry explicit layout rules above. */
body.tax-glossaries .betterdocs-wrapper { background: transparent !important; }
body.tax-glossaries .betterdocs-single-wrapper { background: transparent !important; max-width: 80rem; margin-inline: auto; padding: 0 1.5rem 3rem; box-sizing: border-box; }
body.tax-glossaries .encyclopedia-alphabets { display: none !important; }
body.tax-glossaries .betterdocs-entry-header {
	background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container);
	max-width: 80rem; margin: .75rem auto 1.5rem; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5.5rem); border-radius: var(--am-r-xxl);
}
body.tax-glossaries h1.betterdocs-entry-title { font-family: var(--wp--preset--font-family--display) !important; color: inherit !important; text-transform: none; letter-spacing: .02em; text-align: left; font-weight: 400 !important; font-size: var(--wp--preset--font-size--display) !important; line-height: 1.02; margin: 0; }
body.tax-glossaries .reading-time { display: none !important; }
body.tax-glossaries #betterdocs-sidebar-right, body.tax-glossaries .betterdocs-sidebar { display: none !important; }
body.tax-glossaries .betterdocs-content-wrapper { display: block !important; }
body.tax-glossaries .betterdocs-content-area { width: auto !important; max-width: none !important; }
body.tax-glossaries .betterdocs-entry-content { max-width: 42rem; margin: 0 auto; float: none !important; width: auto !important; }
body.tax-glossaries .term-description, body.tax-glossaries .term-description p { font-family: var(--wp--preset--font-family--body) !important; font-size: var(--wp--preset--font-size--medium) !important; line-height: 1.72 !important; color: var(--wp--preset--color--on-surface) !important; }
body.tax-glossaries .betterdocs-breadcrumb { max-width: 80rem; margin: 1rem auto .5rem !important; padding: 0 .25rem !important; }
body.tax-glossaries .amarna-term-context { margin-top: 2.25rem; text-align: left; font-family: var(--wp--preset--font-family--sans); font-size: .9rem !important; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.tax-glossaries .amarna-term-context a { color: var(--wp--preset--color--on-surface) !important; text-decoration: none; padding: .45rem .9rem; border-radius: var(--am-r-full); background: var(--wp--preset--color--surface-container); display: inline-block; margin: .15rem .15rem .15rem 0; }
body.tax-glossaries .amarna-term-context a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container) !important; text-decoration: none; }
body.tax-glossaries .amarna-term-context a.amarna-term-back { font-size: .9rem !important; }
/* Encyclopedia A–Z listing skin */
.betterdocs-encyclopedia-wrapper { background: transparent !important; font-family: var(--wp--preset--font-family--sans); }
.encyclopedia-alphabets { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.encyclopedia-alphabet-list .alphabet-list-item a { font-family: var(--wp--preset--font-family--sans); font-weight: 700; color: var(--wp--preset--color--on-surface); text-decoration: none; border-radius: var(--am-r-xs); }
.encyclopedia-alphabet-list .alphabet-list-item a:hover { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.encyclopedia-alphabet-list .alphabet-list-item a.letter-has-no-docs { color: var(--wp--preset--color--outline); opacity: .5; }
.letter-start.alphabet-big-round-view { background: var(--wp--preset--color--malachite-container) !important; border: 0; box-shadow: none !important; }
.letter-start.alphabet-big-round-view span { font-family: var(--wp--preset--font-family--display); color: var(--wp--preset--color--on-malachite-container); }
.betterdocs-encyclopedia .tools-card { background: var(--wp--preset--color--surface-container-low) !important; border: 0 !important; border-radius: var(--am-r-lg) !important; box-shadow: none !important; transition: background-color var(--am-short); }
.betterdocs-encyclopedia .tools-card:hover { background: var(--wp--preset--color--surface-container-high) !important; transform: none !important; }
.tools-card__title-text { font-family: var(--wp--preset--font-family--display) !important; text-transform: none; letter-spacing: .03em; font-weight: 400 !important; color: var(--wp--preset--color--on-surface) !important; }
.tools-card__sample-text { font-family: var(--wp--preset--font-family--body) !important; color: var(--wp--preset--color--on-surface-variant) !important; }
.tools-card .text-style-link { font-family: var(--wp--preset--font-family--sans); font-size: .85rem; font-weight: 700; color: var(--wp--preset--color--malachite) !important; text-decoration: none; }
.encyclopedia-item:has(a[href*="/encyclopedia/amarna-world-glossary"]),
.encyclopedia-item:has(a[href*="/encyclopedia/season-1922"]) { display: none !important; }

/* ============================================================
   10b. PATTERN COMPONENTS (new Material patterns)
   ============================================================ */
.am-section { padding-block: clamp(2rem, 5vw, 3.5rem); }
.am-sechead { gap: 1rem 2rem; margin-bottom: 1.5rem; }
.am-sechead .am-eyebrow { margin-bottom: .5rem; }
.am-display, h2.am-display { font-size: clamp(2rem, 4.5vw, 3.4rem) !important; line-height: 1.08; letter-spacing: .02em; margin: 0; border: 0 !important; padding: 0 !important; }
.am-timeline { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.25rem; }
.am-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .1rem; }
.am-dot + .am-dot { margin-left: -.5rem; }
.am-dot--gold { background: var(--wp--preset--color--gold); }
.am-dot--carnelian { background: var(--wp--preset--color--carnelian); }
.am-dot--malachite { background: var(--wp--preset--color--malachite); }
.am-dot--lapis { background: var(--wp--preset--color--lapis); }
.am-dot--obsidian { background: var(--wp--preset--color--on-surface); }
.am-chip--solid { box-shadow: none; background: color-mix(in srgb, currentColor 14%, transparent); }

/* Hero (home pattern) */
.am-hero--home { min-height: min(78vh, 720px); display: flex; align-items: center; margin-top: .75rem !important; }
.am-main--home > .wp-block-pullquote { margin-top: 0; }
.am-hero--home .am-hero__cols { gap: 2.5rem; width: 100%; margin: 0; }
.am-hero--home h1 { color: #F5ECD6; }
.am-hero--home .am-dek { color: rgba(245,236,214,.78); max-width: 34ch; }
.am-hero__actions { margin-top: 1.75rem; gap: .75rem; }
.am-hero__actions .wp-block-button__link { padding: 1.05rem 1.9rem; font-size: 1.02rem; }
.am-hero--obsidian .is-style-outlined .wp-block-button__link { color: var(--wp--preset--color--on-obsidian) !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); }

/* Cover fan */
.am-fan { position: relative; height: 440px; }
.am-fan__c {
	position: absolute; left: 50%; top: 50%; width: 190px; height: auto; border-radius: 6px;
	box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 20px 40px -18px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.3);
	transform-origin: 50% 120%; transition: transform var(--am-long) var(--am-spring);
}
.am-fan__c1 { transform: translate(-50%,-50%) rotate(-22deg) translateX(-145px); z-index: 5; }
.am-fan__c2 { transform: translate(-50%,-50%) rotate(-11deg) translateX(-72px); z-index: 4; }
.am-fan__c3 { transform: translate(-50%,-50%) rotate(0deg); z-index: 3; }
.am-fan__c4 { transform: translate(-50%,-50%) rotate(11deg) translateX(72px); z-index: 2; }
.am-fan__c5 { transform: translate(-50%,-50%) rotate(22deg) translateX(145px); z-index: 1; }
.am-fan:hover .am-fan__c1 { transform: translate(-50%,-50%) rotate(-30deg) translateX(-185px); }
.am-fan:hover .am-fan__c2 { transform: translate(-50%,-50%) rotate(-15deg) translateX(-92px); }
.am-fan:hover .am-fan__c4 { transform: translate(-50%,-50%) rotate(15deg) translateX(92px); }
.am-fan:hover .am-fan__c5 { transform: translate(-50%,-50%) rotate(30deg) translateX(185px); }
@media (max-width: 980px) { .am-fan { height: 340px; } .am-fan__c { width: 140px; } }
@media (max-width: 600px) { .am-fan { height: 260px; } .am-fan__c { width: 105px; } .am-fan__c1 { transform: translate(-50%,-50%) rotate(-22deg) translateX(-85px); } .am-fan__c2 { transform: translate(-50%,-50%) rotate(-11deg) translateX(-42px); } .am-fan__c4 { transform: translate(-50%,-50%) rotate(11deg) translateX(42px); } .am-fan__c5 { transform: translate(-50%,-50%) rotate(22deg) translateX(85px); } }

/* Bento of books */
.am-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
.am-bcard {
	position: relative; overflow: hidden; border-radius: var(--am-r-xl); padding: 1.75rem; display: grid; gap: 1rem; align-content: start;
	grid-column: span 2;
	transition: border-radius var(--am-medium) var(--am-ease), transform var(--am-long) var(--am-spring), box-shadow var(--am-medium);
}
.am-bcard:hover { border-radius: var(--am-r-md) var(--am-r-xxl) var(--am-r-md) var(--am-r-xxl); transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(0,0,0,.35); }
.am-bcard--feature { grid-column: span 6; grid-template-columns: auto 1fr; align-items: center; gap: 2.25rem; padding: 2.25rem; }
.am-bcard--wide { grid-column: span 6; grid-template-columns: auto 1fr auto; align-items: center; gap: 2.25rem; }
.am-bcard--gold { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); }
.am-bcard--carnelian { background: var(--wp--preset--color--carnelian-container); color: var(--wp--preset--color--on-carnelian-container); }
.am-bcard--malachite { background: var(--wp--preset--color--malachite-container); color: var(--wp--preset--color--on-malachite-container); }
.am-bcard--lapis { background: var(--wp--preset--color--lapis-container); color: var(--wp--preset--color--on-lapis-container); }
.am-bcard--obsidian { background: var(--wp--preset--color--obsidian); color: var(--wp--preset--color--on-obsidian); }
.am-bcard :is(h2, h3) { color: inherit; margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.am-bcard--feature h3 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.am-bcard :is(h2, h3) a { color: inherit; text-decoration: none; }
.am-bcard :is(h2, h3) a::after { content: ""; position: absolute; inset: 0; }
.am-bcard p { margin: 0; color: inherit; font-family: var(--wp--preset--font-family--sans); font-size: 1rem; line-height: 1.55; }
.am-bcard--feature .am-bcard__body > p:not(.am-bcard__meta):not(.am-bcard__link) { font-size: 1.1rem; max-width: 52ch; }
.am-bcard__meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.am-bcard__body { display: grid; gap: .9rem; }
.am-bcard__cover { margin: 0; }
.am-bcard__cover img { width: min(220px, 30vw); height: auto; border-radius: 6px; box-shadow: 0 20px 40px -18px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.25); transition: transform var(--am-long) var(--am-spring); }
.am-bcard__cover--sm img { width: 120px; }
.am-bcard:hover .am-bcard__cover img { transform: rotate(-3deg) translateY(-4px); }
.am-bcard__link a { font-family: var(--wp--preset--font-family--sans); font-weight: 700; text-decoration: none; color: inherit; }
.am-bcard__link a::before { content: "→ "; }
.am-bcard--obsidian a { color: var(--wp--preset--color--gold-fixed); }
.am-hours { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; width: min(300px, 30vw); }
.am-hours i { aspect-ratio: 1; border-radius: 3px; background: linear-gradient(135deg, var(--wp--preset--color--gold-fixed), #8A6A1C); opacity: .25; }
.am-hours i:nth-child(-n+4) { opacity: .9; }
.am-hours i:nth-child(n+5):nth-child(-n+8) { opacity: .55; }
@media (max-width: 980px) {
	.am-bcard { grid-column: span 6; }
	.am-bcard--feature, .am-bcard--wide { grid-template-columns: 1fr; }
	.am-hours { width: 100%; }
}

/* Explore: pillar cards + topic chips */
.am-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin-top: 1.5rem; }
.am-pcard { position: relative; border-radius: var(--am-r-xl); padding: 1.75rem; background: var(--wp--preset--color--surface-container-low); display: grid; gap: .6rem; align-content: start; min-height: 13rem; transition: background-color var(--am-short), transform var(--am-long) var(--am-spring), border-radius var(--am-medium) var(--am-ease); }
.am-pcard:hover { background: var(--wp--preset--color--surface-container-high); transform: translateY(-3px); border-radius: var(--am-r-md); }
.am-pcard__num { font-family: var(--wp--preset--font-family--display); font-size: 2.4rem; line-height: 1; color: var(--wp--preset--color--gold); margin: 0 0 .25rem; }
.am-pcard h3 { margin: 0; font-size: 1.35rem; }
.am-pcard h3 a { color: var(--wp--preset--color--on-surface); text-decoration: none; }
.am-pcard h3 a::after { content: ""; position: absolute; inset: 0; }
.am-pcard p { margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: 1rem; line-height: 1.5; color: var(--wp--preset--color--on-surface-variant); }
.am-topics { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.25rem 0 0; }
.am-topics a { display: inline-block; padding: .6rem 1rem; border-radius: var(--am-r-full); background: var(--wp--preset--color--surface-container); color: var(--wp--preset--color--on-surface); font-family: var(--wp--preset--font-family--sans); font-size: .9rem; font-weight: 600; text-decoration: none; transition: background-color var(--am-short), transform var(--am-medium) var(--am-spring); }
.am-topics a:hover { background: var(--wp--preset--color--gold-container); color: var(--wp--preset--color--on-gold-container); transform: scale(1.04); }
@media (max-width: 900px) { .am-pillars { grid-template-columns: 1fr; } }

/* The Restoration Trilogy — Books Two to Four grouped inside the bento */
.am-trilogy { grid-column: span 6; display: grid; gap: .9rem; padding: .9rem; border-radius: calc(var(--am-r-xxl) - 4px); box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--outline-variant); }
.am-trilogy__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: .5rem .9rem 0; }
.am-trilogy__title { margin: 0 !important; font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; letter-spacing: .04em; color: var(--wp--preset--color--on-surface); display: flex; align-items: center; gap: .6rem; }
.am-trilogy__title .am-dot { width: 10px; height: 10px; }
.am-trilogy__meta { margin: 0 !important; display: flex; flex-wrap: wrap; gap: .4rem; }
.am-trilogy__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; align-items: stretch; }
/* Equal-height cards; the blurb row absorbs the slack so every cover sits on the same baseline */
.am-trilogy__grid > .am-bcard { grid-column: auto; align-content: stretch; grid-template-rows: auto auto 1fr auto; min-height: 100%; }
.am-trilogy__grid > .am-bcard > .am-bcard__cover { align-self: end; }
/* WordPress "flow" layout adds block-start margins to siblings; inside CSS grids the gap already handles spacing */
.am-bento > *, .am-trilogy > *, .am-trilogy__grid > *, .am-pillars > *, .am-cardgrid > *, .am-bcard > *, .am-bcard__body > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
@media (max-width: 980px) { .am-trilogy__grid { grid-template-columns: 1fr; } }

/* CTA */
.am-cta { margin-top: 2rem !important; }
.am-cta .am-dek { margin-bottom: 1.5rem; }
.am-btn--lapis .wp-block-button__link { background: var(--wp--preset--color--lapis) !important; color: var(--wp--preset--color--on-lapis) !important; }

/* Card grid for research clusters */
.am-cardgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: .9rem; margin-top: 1.5rem; }
.am-cardgrid .amarna-card { display: grid; gap: .5rem; align-content: start; min-height: 11rem; }
.am-cardgrid .amarna-card .am-label { margin: 0; font-size: .7rem; }
.am-cardgrid .amarna-card h3 { font-size: 1.15rem; }
.am-postlist__items--3 { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); margin-top: 1.5rem; }

/* ------------------------------------------------------------
   11. Footer
   ------------------------------------------------------------ */
.am-footer {
	margin-top: clamp(3rem, 8vw, 6rem) !important;
	border-radius: var(--am-r-xxl) var(--am-r-xxl) 0 0;
}
.am-footer > * { max-width: 80rem; margin-inline: auto; }
.am-footer__grid { display: flex; flex-wrap: wrap; gap: 2rem; margin-bottom: 2.5rem; }
.am-footer__grid > .wp-block-column { flex: 1 1 10rem; }
.am-footer .am-brand { color: var(--wp--preset--color--on-obsidian); margin-bottom: .9rem; font-size: 1rem; }
.am-footer .am-brand a { color: inherit; }
.am-footer__blurb { font-family: var(--wp--preset--font-family--sans); font-size: .95rem; line-height: 1.55; opacity: .65; max-width: 34ch; margin: 0; }
.am-footer__h { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--nav); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .6; color: inherit; margin: 0 0 .9rem; }
.am-footer__links { list-style: none; padding: 0; margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: .95rem; }
.am-footer__links li { margin: 0; padding: .25rem 0; }
.am-footer a { color: inherit; text-decoration: none; opacity: .85; }
.am-footer a:hover { opacity: 1; color: var(--wp--preset--color--gold-fixed); }
.am-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1); opacity: .6; }
.am-footer__bottom p { margin: 0; }
@media (max-width: 782px) { .am-footer__grid > .wp-block-column:first-child { flex-basis: 100%; } }

/* ------------------------------------------------------------
   12. Reveal-on-scroll (cards only; JS adds .am-reveal / .is-in)
   ------------------------------------------------------------ */
.am-reveal { opacity: 0; transform: translateY(18px); transition: opacity var(--am-long) var(--am-ease), transform var(--am-long) var(--am-ease); }
.am-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.am-reveal { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ------------------------------------------------------------
   13. Editor parity (Site/Post editor canvas)
   ------------------------------------------------------------ */
.editor-styles-wrapper .am-rail { display: none; }
.editor-styles-wrapper .wp-site-blocks, .editor-styles-wrapper.wp-site-blocks { display: block; min-height: 0; }
.editor-styles-wrapper .am-appbar__inner { padding-inline: 1.5rem; }

/* ------------------------------------------------------------
   14. Print
   ------------------------------------------------------------ */
@media print {
	.am-appbar, .am-footer, .am-rail, .amarna-companion-sticky, .am-theme-toggle { display: none !important; }
	.am-hero, .basalt-texture { background: none !important; color: #000 !important; border: 1px solid #999; }
}
