/*
Theme Name: Daigle Frontier
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: daigle-frontier
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* === self-hosted brand fonts === */
@font-face {
	font-family: "1822 GLC Caslon Pro";
	src: url("/wp-content/uploads/2026/08/Fonts/1822%20Caslon%20Pro/1822%20GLC%20Caslon%20Pro-Normal.woff") format("woff"),
	     url("/wp-content/uploads/2026/08/Fonts/1822%20Caslon%20Pro/1822%20GLC%20Caslon%20Pro-Normal.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "1822 GLC Caslon Pro";
	src: url("/wp-content/uploads/2026/08/Fonts/1822%20Caslon%20Pro/1822%20GLC%20Caslon%20Pro-Italic.woff") format("woff"),
	     url("/wp-content/uploads/2026/08/Fonts/1822%20Caslon%20Pro/1822%20GLC%20Caslon%20Pro-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Darkford";
	src: url("/wp-content/uploads/2026/08/Fonts/Darkford/Darkford.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Rumbleside";
	src: url("/wp-content/uploads/2026/08/Fonts/Rumbleside/Rumbleside.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "EB Garamond";
	src: url("/wp-content/uploads/2026/08/Fonts/EB_Garamond/static/EBGaramond-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "EB Garamond";
	src: url("/wp-content/uploads/2026/08/Fonts/EB_Garamond/static/EBGaramond-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "EB Garamond";
	src: url("/wp-content/uploads/2026/08/Fonts/EB_Garamond/static/EBGaramond-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "EB Garamond";
	src: url("/wp-content/uploads/2026/08/Fonts/EB_Garamond/static/EBGaramond-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "EB Garamond";
	src: url("/wp-content/uploads/2026/08/Fonts/EB_Garamond/static/EBGaramond-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* WordPress inserts margin-block-start: var(--wp--style--block-gap) between the
   template's top-level sections (header part, main, footer part) — a gap that
   exists even when no markup asks for it. Zero it so sections butt edge-to-edge
   and own their vertical rhythm via padding; this does not affect block gaps
   inside nested layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

:root {
	--c-navy: var(--wp--preset--color--contrast);
	--c-navy-deep: var(--wp--preset--color--contrast-2);
	--c-ivory: var(--wp--preset--color--base);
	--c-ivory-panel: var(--wp--preset--color--base-2);
	--c-gold: var(--wp--preset--color--accent-gold);
	--c-gold-soft: var(--wp--preset--color--accent-gold-soft);
	--c-green: var(--wp--preset--color--cypress-green);
	--c-blue: var(--wp--preset--color--cypress-blue);
	--c-red: var(--wp--preset--color--cypress-red);
	--c-purple: var(--wp--preset--color--cypress-purple);
	--f-label: var(--wp--preset--font-family--label);
	--f-heading: var(--wp--preset--font-family--heading);
	--f-body: var(--wp--preset--font-family--body);
}

/* === reset === */
*, *::before, *::after { box-sizing: border-box; }
body { background: var(--c-ivory); }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }
.wp-block-group { border: none; }

/* === typography === */
h1, h2, h3, h4, h5, h6, .wp-block-heading {
	letter-spacing: -0.01em;
}
h1, .has-xx-large-font-size {
	letter-spacing: -0.02em;
}
.has-label-font-family {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-weight: 500;
}
.eyebrow {
	font-family: var(--f-label);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: clamp(0.9rem, 0.35vw + 0.8rem, 1rem);
	color: var(--c-gold);
	display: inline-block;
	margin-bottom: 0.9em;
}
.rule-gold {
	width: 64px;
	height: 1px;
	background: var(--c-gold);
	border: none;
	margin: 0 0 1.5em 0;
}
.rule-gold.is-centered { margin-inline: auto; }
.content-placeholder {
	border: 1px dashed var(--c-gold-soft);
	padding: 0.9em 1.1em;
	font-style: italic;
	opacity: 0.75;
	font-size: 0.95rem;
}
.wp-block-button__link.content-placeholder {
	/* Keep placeholder buttons the same size as real buttons — only the
	   dashed border and italic label signal "needs a link." */
	padding: 1em 2.2em;
}
.page-header { padding: 3.4rem 0; padding-inline: clamp(1.25rem, 5vw, 3rem) !important; }
.page-header__title { margin: 0; font-size: clamp(2.2rem, 4vw, 3.2rem); }
.page-cypress-run .page-header { background-color: var(--c-green) !important; }
.page-cypress-tide .page-header { background-color: var(--c-blue) !important; }
.page-cypress-blood .page-header { background-color: var(--c-red) !important; }
.page-cypress-crown .page-header { background-color: var(--c-purple) !important; }
.hero, .quartet, .about, .other-works, .audiobooks, .gazette, .news,
.site-header__inner, .site-footer__top, .site-footer__rule, .site-footer__copyright,
.quartet-intro, .book-feature, .about-page-bio, .about-facts, .about-cta,
.other-works-intro, .audiobooks-intro, .audio-editions,
.book-detail, .book-detail-excerpt, .book-detail-cta,
.book-description, .book-cta, .book-cta-free, .book-cta-audio, .book-meta, .testimonials,
.book-actions, .the-vibe, .book-colophon, .book-get-panel, .contact-intro, .contact-form-band,
.story-hero, .story-reading, .story-cta {
	padding-inline: clamp(1.25rem, 5vw, 3rem) !important;
}
/* === site-header === */
.site-header {
	border-bottom: 1px solid var(--c-gold-soft);
	padding-top: 1.6rem;
	padding-bottom: 1.6rem;
}
.site-header__inner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	align-items: center;
}
.site-header__brand { gap: 0.35rem !important; }
.site-header__wordmark { margin: 0; }
.site-header__wordmark img { display: block; height: 62px; width: auto; }
.site-header__title a {
	color: var(--c-ivory);
	font-size: 1.7rem;
	text-decoration: none;
}
.site-header__tagline {
	font-size: 0.68rem;
	color: var(--c-gold);
	margin: 0;
}
.site-header__nav ul { gap: 1.8rem !important; }
.site-header__nav a {
	color: var(--c-ivory);
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-decoration: none;
	position: relative;
	padding-bottom: 4px;
	border-bottom: 1px solid transparent;
}
.site-header__nav a:hover { color: var(--c-gold); border-bottom-color: var(--c-gold); }
/* === hero === */
.hero { padding: 5.5rem 0 6rem; }
.hero__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 4rem !important; }
.hero__title { font-size: clamp(2.8rem, 5vw, 4.4rem); margin: 0 0 0.6rem; }
.hero__tagline { font-size: 0.85rem; margin: 0 0 1.6rem; color: var(--c-gold); }
.hero__lede { font-size: 1.15rem; opacity: 0.85; max-width: 34em; margin-bottom: 2rem; }
.hero__actions { gap: 1rem !important; }
.hero__secondary .wp-block-button__link { color: var(--c-ivory); border-color: var(--c-gold-soft); }
.hero__secondary .wp-block-button__link:hover { color: var(--c-navy); background: var(--c-gold); border-color: var(--c-gold); }
.hero__art-col { display: flex; justify-content: center; }
.hero__art {
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
}
.hero__art img { width: 100%; height: auto; display: block; filter: drop-shadow(0 24px 32px rgba(0,0,0,0.45)); }
/* === quartet === */
.quartet { padding: 5.5rem 0; }
.quartet__head { text-align: left; margin-bottom: 3rem; }
.eyebrow.is-dark { color: var(--c-gold-soft); }
.section-title { font-size: clamp(2rem, 3.5vw, 2.8rem); margin: 0 0 0.7rem; }
.section-dek { max-width: 46em; font-size: 1.1rem; opacity: 0.75; margin: 0; }
.quartet__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 0 !important; }
.book-card {
	padding: 2.4rem 1.8rem;
	color: var(--c-ivory);
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	text-align: center;
	align-items: center;
}
.book-card--green { background: var(--c-green); }
.book-card--blue { background: var(--c-blue); }
.book-card--red { background: var(--c-red); }
.book-card--purple { background: var(--c-purple); }
.book-card__cover { max-width: 140px; margin: 0 auto 1.2rem; }
.book-card__cover img { width: 100%; height: auto; display: block; border: 1px solid rgba(244,241,234,0.5); box-shadow: 0 12px 20px rgba(0,0,0,0.35); }
.book-card__num { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.7rem; color: var(--c-gold); margin: 0; text-align: center; }
.book-card__title { color: var(--c-ivory); font-size: 1.5rem; margin: 0; line-height: 1.2; text-align: center; }
.book-card__blurb { font-size: 0.95rem; opacity: 0.85; margin: 0; flex-grow: 1; }
.book-card__cta .wp-block-button__link { color: var(--c-ivory); border-color: rgba(244,241,234,0.4); font-size: 0.68rem; padding: 0.8em 1.6em; }
.book-card__cta .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); border-color: var(--c-gold); }
.quartet-intro { padding: 4.5rem 0 3rem; text-align: center; }
.quartet-intro .eyebrow.is-dark { display: block; }
.book-feature { padding: 4rem 0; }
.book-feature__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 3.5rem !important; }
.book-feature__row--reverse { flex-direction: row-reverse; }
.book-feature__plate {
	aspect-ratio: 3/4;
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
	color: var(--c-ivory);
	padding: 2rem;
}
.book-feature__plate--green { background: var(--c-green); }
.book-feature__plate--blue { background: var(--c-blue); }
.book-feature__plate--red { background: var(--c-red); }
.book-feature__plate--purple { background: var(--c-purple); }
.book-feature__plate-num { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-gold); margin: 0 0 0.6rem; }
.book-feature__plate-title { font-family: var(--wp--preset--font-family--display-darkford); font-size: 2rem; color: var(--c-ivory); margin: 0; letter-spacing: 0.06em; }
.book-feature__cover { max-width: 250px; margin: 0 auto; }
.book-feature__cover img { width: 100%; height: auto; display: block; border: 1px solid var(--c-gold); box-shadow: 0 20px 30px rgba(0,0,0,0.3); }
.book-feature__tagline { font-family: var(--wp--preset--font-family--display-darkford); font-size: 1.3rem; margin: 0.4rem 0 1.2rem; letter-spacing: 0.02em; }
.book-feature__tagline--green { color: var(--c-green); }
.book-feature__tagline--blue { color: var(--c-blue); }
.book-feature__tagline--red { color: var(--c-red); }
.book-feature__tagline--purple { color: var(--c-purple); }
.book-detail { padding: 2.2rem 0 1.6rem; }
.book-detail__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 3rem !important; }
.book-detail__row .wp-block-column:last-child { --wp--style--block-gap: 10px; }
.book-hero__genre { font-family: var(--f-heading); font-size: 1rem; opacity: 0.75; margin: 0 0 0.8rem; }
.book-purchase-choices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}
.book-purchase-choice {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	border: 1px solid rgba(196, 151, 52, 0.45);
	background: rgba(234, 228, 214, 0.35);
	text-align: center;
}
.book-purchase-choice__label {
	font-family: var(--f-label);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.68rem;
	color: var(--c-gold);
	margin: 0 0 0.65rem;
}
.book-purchase-choice__description { font-size: 0.9rem; line-height: 1.4; margin: 0 0 1rem; }
.book-purchase-choice .wp-block-buttons { display: flex; justify-content: center; margin-top: auto; }
.book-purchase-choice .wp-block-button__link { font-size: 0.66rem; padding: 0.75em 1.25em; }
.book-purchase-choice .content-placeholder { pointer-events: none; opacity: 0.55; }
.book-trope-pills { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 0.9rem; padding: 0; }
.book-trope-pills li { font-family: var(--f-label); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-navy); background: rgba(200,164,77,0.16); border: 1px solid rgba(200,164,77,0.4); border-radius: 999px; padding: 0.32rem 0.75rem; margin: 0; }
.book-get-panel { padding: 2.4rem 0; text-align: center; }
.book-get-panel__title-row { margin-bottom: 1.8rem; gap: 1rem !important; }
.book-get-panel__title-row .rule-gold { width: 44px; margin: 0; background: var(--c-gold-soft); }
.book-get-panel__title { font-family: var(--f-heading); color: var(--c-ivory); font-size: 1.15rem; letter-spacing: 0.03em; margin: 0; white-space: nowrap; }
.book-get-panel__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto 1.8rem !important; gap: 2.5rem !important; }
.book-get-panel__row--secondary { margin-bottom: 0 !important; padding-top: 1.6rem; border-top: 1px solid rgba(244,241,234,0.15); }
.book-get-panel__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.7rem; color: var(--c-gold-soft); margin: 0 0 0.9rem; }
.book-get-panel__note { color: var(--c-ivory); opacity: 0.75; font-size: 0.85rem; margin: 0 0 0.9rem; }
.book-get-panel .wp-block-buttons { justify-content: center; gap: 0.6rem !important; }
.book-get-panel .wp-block-button__link { color: var(--c-ivory); border-color: rgba(244,241,234,0.4); }
.book-get-panel .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); border-color: var(--c-gold); }
.book-get-panel__buy { margin-bottom: 1.8rem; }
.book-get-panel__buy .wp-block-buttons { flex-wrap: wrap; }
.book-detail-excerpt { padding: 2rem 0; text-align: center; }
.book-flavor-quote__line { font-size: 1.25rem; color: var(--c-ivory); line-height: 1.4; max-width: 34em; margin: 0 auto 0.7rem; }
.book-flavor-quote__line:last-child { margin-bottom: 0; }
.book-flavor-quote__action { font-size: 0.85rem; font-style: italic; color: var(--c-ivory); opacity: 0.75; margin: 0 0 0.6rem; }
.book-detail-excerpt--green { background: var(--c-green); }
.book-detail-excerpt--blue { background: var(--c-blue); }
.book-detail-excerpt--red { background: var(--c-red); }
.book-detail-excerpt--purple { background: var(--c-purple); }
.book-detail-excerpt .eyebrow { color: var(--c-gold); }
.book-detail-excerpt__quote { font-family: var(--wp--preset--font-family--display-rumbleside); font-size: 1.7rem; color: var(--c-ivory); border-color: rgba(244,241,234,0.4); max-width: 34em; margin-inline: auto; line-height: 1.5; }
.book-detail-cta { padding: 2rem 0; }
.book-detail-cta .wp-block-buttons { justify-content: center; gap: 1rem !important; }
.book-actions { padding: 2rem 0; text-align: center; }
.book-actions__buy { margin: 0 auto 1.2rem; }
.book-actions__buy .wp-block-buttons { gap: 0.7rem !important; flex-wrap: wrap; }
.book-actions__panels { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 1.2rem !important; }
.book-actions__panel { padding: 1.2rem 1.4rem !important; text-align: center; }
.book-actions__panel-title { font-family: var(--f-heading); font-size: 1.05rem; margin: 0 0 0.4rem; }
.book-actions__panel .wp-block-buttons { justify-content: center; margin-top: 0.4rem; }
.book-actions__panel.has-contrast-background-color .book-actions__panel-title,
.book-actions__panel.has-contrast-background-color p { color: var(--c-ivory); }
.the-vibe { padding: 1.8rem 0; }
.the-vibe__copy { font-size: 1.1rem; line-height: 1.5; opacity: 0.85; margin: 0.6rem 0 0; text-align: left !important; }
.the-vibe .book-trope-pills {
	border-top: 1px solid rgba(196, 151, 52, 0.55);
	padding-top: 1.5rem;
	margin-top: 1.7rem;
}
.book-reader-resources {
	max-width: 760px;
	margin: 0 auto;
	padding: 3.5rem var(--wp--style--root--padding-right);
	text-align: center;
	background: var(--c-ivory);
}
.book-reader-resources .eyebrow.is-dark { display: block; }
.book-reader-resources h2 { margin: 0.4rem 0 0.7rem; }
.book-reader-resources > p:not(.eyebrow) { max-width: 34em; margin: 0 auto; opacity: 0.78; }
.book-reader-resources__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem !important; margin-top: 1.6rem; }
.book-colophon { padding: 2.2rem 0; }
.book-meta-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.4rem 2.2rem; max-width: 42em; margin: 0 auto; }
.book-meta-grid__item { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.book-meta-grid__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.65rem; color: var(--c-gold); opacity: 0.85; }
.book-meta-grid__value { font-size: 0.85rem; opacity: 0.85; }
.book-meta-grid__value a { color: inherit; text-decoration: underline; text-decoration-color: rgba(14,26,43,0.35); }
.book-resources__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.65rem; color: var(--c-gold); margin: 1.8rem 0 1rem; }
.book-resources__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 1.2rem !important; }
.book-resources__item { font-size: 0.85rem; text-align: center; }
.book-resources__item-title { font-family: var(--f-heading); font-size: 1rem; margin: 0 0 0.4rem; }
.book-resources__item-desc { opacity: 0.75; margin: 0 0 0.4rem; }
.book-resources__item-tag { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.62rem; opacity: 0.6; }
.book-description { padding: 1.6rem 0 1.8rem; }
.book-description__hook { font-family: var(--f-label); font-size: 1.05rem; letter-spacing: 0.02em; line-height: 1.4; margin: 0 0 0.35rem; }
.book-description__hook:last-of-type { margin-bottom: 1.1rem; }
.book-description__body { font-size: 1.08rem; line-height: 1.55; opacity: 0.9; margin: 0 0 0.85rem; }
.book-description__note { font-size: 1rem; opacity: 0.75; border-top: 1px solid rgba(14,26,43,0.15); padding-top: 0.9rem; margin: 1rem 0 0; }
.book-description__wink { font-family: var(--f-heading); color: var(--c-gold); font-size: 1.15rem; text-align: center; margin: 1rem 0 0; }
.book-cta { padding: 4.5rem 0 3.5rem; text-align: center; }
.book-cta__buy { margin: 0 auto 2.2rem; }
.book-cta__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.75rem; color: var(--c-gold); margin: 0 0 1.1rem; }
.book-cta__buy .wp-block-buttons { gap: 1rem !important; flex-wrap: wrap; }
.book-cta__retailer { margin: 0 auto; }
.book-cta__or { font-style: italic; opacity: 0.6; font-size: 0.9rem; margin: 0 0 1rem; }
.book-cta-free { padding: 3.5rem 0; text-align: center; }
.book-cta-free__label { color: var(--c-ivory); font-family: var(--f-heading); font-size: 1.2rem; margin: 0 0 1.2rem; }
.book-cta-free__button .wp-element-button { color: var(--c-green); border-color: var(--c-green); background: var(--c-ivory); }
.book-cta-free__button .wp-element-button:hover { background: var(--c-green); color: var(--c-ivory); border-color: var(--c-green); }
.book-cta-audio { padding: 3.5rem 0; text-align: center; }
.book-cta-audio .wp-block-buttons { justify-content: center; margin-top: 1.2rem; }
.book-meta { padding: 3.5rem 0; text-align: center; }
.book-meta__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 1.5rem !important; padding-top: 1.6rem; border-top: 1px solid rgba(14,26,43,0.12); }
.book-meta__item { text-align: left; }
.book-meta__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.66rem; color: var(--c-gold); opacity: 0.9; margin: 0 0 0.35rem; }
.book-meta__value { margin: 0; font-size: 0.95rem; opacity: 0.85; }
.book-meta__genre { font-style: italic; opacity: 0.65; margin: 2rem 0 0; font-size: 0.95rem; }
.testimonials { padding: 2.5rem 0; }
.testimonials__head { margin: 0 auto 1.4rem; text-align: center; }
.testimonials__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 1.8rem !important; }
.testimonial-card { background: var(--c-ivory); padding: 1.5rem 1.6rem; border-top: 2px solid var(--c-gold); }
.testimonial-card__quote { margin: 0; border: none; padding: 0; }
.testimonial-card__quote p { font-family: var(--f-heading); font-style: italic; font-size: 1.1rem; line-height: 1.55; margin: 0 0 1rem; color: var(--c-navy); }
.testimonial-card__quote cite { font-family: var(--f-label); font-style: normal; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.68rem; color: var(--c-gold-soft); }
.other-works-intro { padding: 4.5rem 0 1rem; text-align: center; }
.other-works-intro .eyebrow.is-dark { display: block; }
.audiobooks-intro { padding: 4rem 0; }
.audio-editions { padding: 4rem 0 5rem; text-align: center; }
.audio-editions > .eyebrow.is-dark { display: block; margin-bottom: 2rem; }
.audio-editions__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto 3rem; gap: 1.5rem !important; }
.audio-editions__item { padding: 2rem 1.2rem; color: var(--c-ivory); }
.audio-editions__item--green { background: var(--c-green); }
.audio-editions__item--blue { background: var(--c-blue); }
.audio-editions__item--red { background: var(--c-red); }
.audio-editions__item--purple { background: var(--c-purple); }
.audio-editions__title { color: var(--c-ivory); font-size: 1.2rem; margin: 0 0 0.6rem; }
.audio-editions__item .content-placeholder { border-color: rgba(244,241,234,0.35); color: var(--c-ivory); font-size: 0.85rem; }
.quartet__more { margin-top: 3rem; }
.news__more { margin-top: 3rem; }
.news__more .wp-block-button__link { color: var(--c-ivory); border-color: rgba(244,241,234,0.4); }
.news__more .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); border-color: var(--c-gold); }
/* === about === */
.about { padding: 6rem 0; }
.about__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 4rem !important; }
.about__photo-frame {
	aspect-ratio: 3/4;
	width: 100%;
	position: relative;
	border: 1px solid var(--c-gold-soft);
	background: var(--c-navy-deep);
	display: flex;
	align-items: center;
	justify-content: center;
}
.about__photo-frame::before, .about__photo-frame::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	border: 1px solid var(--c-gold);
}
.about__photo-frame::before { top: 10px; left: 10px; border-right: none; border-bottom: none; z-index: 2; }
.about__photo-frame::after { bottom: 10px; right: 10px; border-left: none; border-top: none; z-index: 2; }
.about__photo-frame .about__photo-img { width: 100%; height: 100%; margin: 0; }
.about__photo-frame .about__photo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about__photo-label { font-family: var(--f-label); color: var(--c-gold-soft); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.75rem; margin: 0; }
.about__bio { font-size: 1.1rem; opacity: 0.85; max-width: 38em; }
.about .about__photo-frame { max-width: 220px; }
.about-page-bio { padding: 5rem 0; }
.about-page-bio .about__photo-frame.alignleft { float: left; width: 300px; margin: 0.4rem 2.5rem 1.5rem calc((100% - var(--wp--style--global--content-size, 720px)) / 2); }
.about-facts { padding: 4rem 0; }
.about-facts > .eyebrow { display: block; margin-bottom: 2rem; }
.about-facts__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto; }
/* Every fact row inside the band gets the SAME width, whether or not the
   columns block carries the .about-facts__grid class. Without this, an
   unclassed row falls back to the constrained layout's 720px contentSize
   while a classed row uses the 1240px wideSize, and the two rows stagger. */
.about-facts .wp-block-columns { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.about-facts .wp-block-columns + .wp-block-columns { margin-top: 2.5rem; }
.about-facts__item { text-align: center; border-left: 1px solid rgba(244,241,234,0.15); padding-left: 1.5rem; }
.about-facts__item:first-child { border-left: none; }
.about-facts__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.68rem; color: var(--c-gold); margin: 0 0 0.5rem; }
.about-facts__value { color: var(--c-ivory); margin: 0; }
.about-cta { padding: 4.5rem 0; text-align: center; }
.about-cta .section-dek { margin: 0 auto 1.5rem; }
/* The About-page CTA currently follows the facts band as a standalone
   columns block. Keep its ivory background full-width, but anchor the
   three calls to action to a comfortable reading measure on wide screens. */
.about-facts + .about-facts__grid {
	box-sizing: border-box;
	width: calc(100% - clamp(2.5rem, 10vw, 6rem));
	max-width: 960px;
	margin: 0 auto;
	padding-block: 4rem;
}
/* === other-works === */
.other-works { padding: 6rem 0; }
.other-works__head { margin: 0 auto 2.5rem; }
.other-works__list { margin: 0 auto; }
.work-row { padding: 1.8rem 0; align-items: flex-start !important; gap: 1.6rem !important; }
.work-row__cover { flex-shrink: 0; width: 100px; margin: 0; }
.work-row__cover img { width: 100%; height: auto; display: block; border: 1px solid var(--c-gold-soft); box-shadow: 0 10px 18px rgba(0,0,0,0.25); }
.work-row__main { gap: 0.4rem !important; max-width: 600px; flex: 1; }
.work-row__tag { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.68rem; color: var(--c-gold-soft); margin: 0; }
.work-row__title { font-size: 1.5rem; margin: 0.1rem 0; }
.work-row__desc { opacity: 0.75; margin: 0; }
.work-row__title a { color: inherit; text-decoration: none; }
.work-row__title a:hover,
.work-row__title a:focus-visible { color: var(--c-gold); text-decoration: underline; text-underline-offset: 0.18em; }
.work-row__cover a { display: block; }
.work-row__cover a:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 4px; }
.work-row__cta { margin-top: 0.75rem; }
.work-row__cta .wp-block-button__link { padding: 0.65em 1.2em; font-size: 0.68rem; }
.short-fiction-listing {
	padding: 5rem clamp(1.25rem, 5vw, 3rem) 5.5rem;
	background: var(--c-navy);
	color: var(--c-ivory);
}
.short-fiction-listing__inner { max-width: var(--wp--style--global--wide-size); margin: 0 auto; text-align: center; }
.short-fiction-listing__inner > h2 { color: var(--c-ivory); margin: 0.45rem 0 0.8rem; font-size: clamp(2rem, 3.5vw, 2.8rem); }
.short-fiction-listing__inner > .section-dek { margin: 0 auto 2.6rem; color: var(--c-ivory); }
.short-fiction-carousel { position: relative; }
.short-fiction-carousel__controls { display: none; justify-content: flex-end; gap: 0.65rem; margin: 0 0 1rem; }
.short-fiction-carousel.is-ready .short-fiction-carousel__controls { display: flex; }
.short-fiction-carousel__button { display: inline-grid; width: 2.75rem; height: 2.75rem; padding: 0; place-items: center; border: 1px solid var(--c-gold); border-radius: 50%; background: transparent; color: var(--c-gold); font-size: 1.25rem; line-height: 1; cursor: pointer; transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease; }
.short-fiction-carousel__button:hover,
.short-fiction-carousel__button:focus-visible { background: var(--c-gold); color: var(--c-navy); }
.short-fiction-carousel__button:focus-visible { outline: 2px solid var(--c-ivory); outline-offset: 3px; }
.short-fiction-carousel__button:disabled { cursor: default; opacity: 0.3; }
.short-fiction-listing__grid { display: flex; gap: 1.5rem; padding: 0.35rem 0 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-color: var(--c-gold) rgba(255,255,255,0.12); scrollbar-width: thin; text-align: left; }
.short-fiction-card { display: flex; flex: 0 0 calc((100% - 3rem) / 3); min-width: 0; flex-direction: column; scroll-snap-align: start; background: var(--c-ivory); color: var(--c-navy); border-top: 3px solid var(--story-accent, var(--c-gold)); box-shadow: 0 14px 30px rgba(0,0,0,0.2); }
.short-fiction-card__visual { display: block; aspect-ratio: 2 / 3; background: var(--story-accent, var(--c-green)); color: var(--c-ivory); overflow: hidden; }
.short-fiction-card__visual img { width: 100%; height: 100%; object-fit: cover; }
.short-fiction-card__visual:focus-visible { outline: 3px solid var(--c-gold); outline-offset: 3px; }
.short-fiction-card__placeholder { display: flex; min-height: 100%; padding: 1.25rem 0.9rem; flex-direction: column; align-items: center; justify-content: center; gap: 0.8rem; text-align: center; border: 1px solid rgba(196,151,52,0.55); }
.short-fiction-card__placeholder span { font-family: var(--f-label); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-gold-soft); }
.short-fiction-card__placeholder strong { font-family: var(--f-heading); font-size: 1.25rem; font-weight: 400; line-height: 1.25; }
.short-fiction-card__body { display: flex; flex-direction: column; padding: 1.5rem; }
.short-fiction-card__label { margin: 0 0 0.45rem; font-family: var(--f-label); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--story-accent, var(--c-green)); }
.short-fiction-card h3 { margin: 0 0 0.5rem; font-size: 1.65rem; }
.short-fiction-card h3 a { color: inherit; }
.short-fiction-card h3 a:hover,
.short-fiction-card h3 a:focus-visible { color: var(--story-accent, var(--c-green)); text-decoration: underline; text-underline-offset: 0.16em; }
.short-fiction-card__meta { margin: 0 0 0.9rem; font-size: 0.86rem; font-style: italic; opacity: 0.72; }
.short-fiction-card__summary { margin: 0 0 1.1rem; line-height: 1.55; opacity: 0.82; }
.short-fiction-card__link { margin: auto 0 0; }
.short-fiction-card__link a { font-family: var(--f-label); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--story-accent, var(--c-green)); }
.short-fiction-card__link a:hover,
.short-fiction-card__link a:focus-visible { color: var(--c-gold); text-decoration: underline; text-underline-offset: 0.18em; }
.short-fiction-index { margin-top: clamp(3.5rem, 6vw, 5rem); padding: clamp(2rem, 4vw, 3rem); background: rgba(255,255,255,0.055); border-top: 1px solid rgba(196,151,52,0.6); text-align: center; }
.short-fiction-index > h3 { margin: 0.4rem 0 2rem; color: var(--c-ivory); font-size: clamp(1.8rem, 3vw, 2.45rem); }
.short-fiction-index__groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); text-align: left; }
.short-fiction-index__group { min-width: 0; }
.short-fiction-index__group h4 { margin: 0 0 0.8rem; color: var(--c-gold); font-family: var(--f-label); font-size: 0.82rem; font-weight: 500; letter-spacing: 0.11em; text-transform: uppercase; }
.short-fiction-index__group ul { margin: 0; padding: 0; list-style: none; }
.short-fiction-index__group li { padding: 0.7rem 0; border-top: 1px solid rgba(255,255,255,0.14); }
.short-fiction-index__group a { display: inline-block; color: var(--c-ivory); font-family: var(--f-heading); font-size: 1.2rem; text-decoration: none; }
.short-fiction-index__group a:hover,
.short-fiction-index__group a:focus-visible { color: var(--c-gold); text-decoration: underline; text-underline-offset: 0.16em; }
.short-fiction-index__group li span { display: block; margin-top: 0.15rem; color: rgba(255,255,255,0.68); font-size: 0.82rem; font-style: italic; }
@media (min-width: 781px) and (max-width: 1050px) {
	.short-fiction-card { flex-basis: calc((100% - 1.5rem) / 2); }
}
.more-reader-resources { padding: 4.5rem var(--wp--style--root--padding-right); text-align: center; }
.more-reader-resources__title { margin: 0.45rem 0 0.8rem; }
.more-reader-resources__copy { max-width: 38em; margin: 0 auto 1.5rem; opacity: 0.85; }
.more-reader-resources .wp-block-buttons { justify-content: center; }
.more-recipes { padding: 4.5rem var(--wp--style--root--padding-right); text-align: center; }
.more-recipes__title { margin: 0.45rem 0 0.8rem; font-size: clamp(2.2rem, 5vw, 3.5rem); }
.more-recipes__copy { max-width: 38em; margin: 0 auto 1.5rem; }
.more-recipes .wp-block-buttons { justify-content: center; }
.interactive-fiction {
	padding: 5.5rem var(--wp--style--root--padding-right) 6rem;
	background: var(--c-ivory);
	color: var(--c-navy);
}
.interactive-fiction__inner {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	text-align: center;
}
.interactive-fiction__inner > h2 { margin: 0.45rem 0 0.8rem; }
.interactive-fiction__inner > .section-dek { max-width: 680px; margin: 0 auto 2.6rem; }
.interactive-fiction__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	text-align: left;
}
.interactive-story {
	display: flex;
	flex-direction: column;
	padding: clamp(1.7rem, 3vw, 2.5rem);
	border: 1px solid rgba(196, 151, 52, 0.55);
	background: rgba(255, 255, 255, 0.34);
}
.interactive-story h3 { margin: 0 0 1rem; font-size: clamp(1.55rem, 2.6vw, 2rem); }
.interactive-story p { margin: 0 0 1.75rem; line-height: 1.7; }
.interactive-story .wp-block-buttons { display: flex; margin-top: auto; }
/* === reader resources === */
.reader-resources-intro { padding: 4.5rem 0 3.5rem; text-align: center; }
.reader-resources-intro .eyebrow.is-dark { display: block; }
.reader-resources-intro__note {
	max-width: 680px;
	margin: 1.25rem auto 0;
	font-size: 0.95rem;
	font-style: italic;
	opacity: 0.72;
}
.reader-resources { padding: 1rem 0 6rem; }
.reader-resource-book {
	--resource-accent: var(--c-gold);
	scroll-margin-top: 2rem;
	max-width: 820px;
	margin: 2rem auto 0;
	padding: clamp(1.6rem, 4vw, 2.6rem);
	border-top: 4px solid var(--resource-accent);
	background: var(--c-ivory);
	box-shadow: 0 12px 28px rgba(14, 26, 43, 0.06);
}
.reader-resource-book--green { --resource-accent: var(--c-green); }
.reader-resource-book--blue { --resource-accent: var(--c-blue); }
.reader-resource-book--red { --resource-accent: var(--c-red); }
.reader-resource-book--purple { --resource-accent: var(--c-purple); }
.reader-resource-book__number {
	font-family: var(--f-label);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-gold);
	margin: 0 0 0.35rem;
}
.reader-resource-book__title { margin: 0 0 1.5rem; }
.reader-resource__accordion {
	scroll-margin-top: 2rem;
	border: 1px solid rgba(14, 26, 43, 0.18);
	background: var(--c-cream);
	margin: 0;
}
.reader-resource__accordion + .reader-resource__warning { margin-top: 1.7rem; }
.reader-resource__accordion summary {
	font-family: var(--f-heading);
	font-size: 1.12rem;
	color: var(--c-navy);
	cursor: pointer;
	padding: 1rem 1.2rem;
}
.reader-resource__accordion summary:hover { color: var(--resource-accent); }
.reader-resource__accordion[open] summary { border-bottom: 1px solid rgba(14, 26, 43, 0.12); }
.reader-resource__accordion > :not(summary) { margin-left: 1.2rem; margin-right: 1.2rem; }
.reader-resource__accordion > :last-child { margin-bottom: 1.2rem; }
.reader-resource__placeholder { padding: 0.4rem 0; opacity: 0.62; }
.reader-resource__warning {
	font-size: 0.88rem;
	line-height: 1.5;
	font-style: italic;
	opacity: 0.72;
	margin-bottom: 0.65rem;
}
.reader-resource__bonus {
	margin-top: 1.8rem;
	padding-top: 1.5rem;
	border-top: 1px solid color-mix(in srgb, var(--resource-accent) 48%, transparent);
	text-align: center;
}
.reader-resource__bonus-label {
	margin: 0 0 0.3rem;
	font-family: var(--f-label);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--resource-accent);
}
.reader-resource__bonus h3 { margin: 0 0 0.45rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.reader-resource__bonus > p:not(.reader-resource__bonus-label) { margin: 0 auto 1rem; opacity: 0.76; }
.reader-resource__bonus .wp-block-buttons { display: flex; justify-content: center; }
.reader-resource__bonus .wp-block-button__link { padding: 0.75em 1.4em; font-size: 0.68rem; }
.rule-gold-full { border: none; height: 1px; background: rgba(14,26,43,0.15); margin: 0; }
/* === audiobooks === */
.audiobooks { padding: 6rem 0; }
.audiobooks__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 3rem !important; }
.audiobooks__copy { font-size: 1.1rem; opacity: 0.85; max-width: 36em; }
.audiobooks__wave { width: 100%; max-width: 260px; fill: var(--c-gold); }
.audiobooks__wave rect { animation: wave 1.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.audiobooks__wave rect:nth-child(odd) { animation-delay: -0.6s; }
.audiobooks__wave rect:nth-child(3n) { animation-delay: -1.1s; }
@keyframes wave { 0%, 100% { transform: scaleY(0.5); } 50% { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .audiobooks__wave rect { animation: none; } }
/* Native audiobook samples: paired on wide screens, comfortably stacked on
   smaller ones. The art and player share a single visual card. */
.audio-samples {
	width: 100%;
	max-width: 1040px;
	margin: 2rem auto 0;
	gap: 2rem !important;
}
.audio-sample-card {
	min-width: 0;
	padding: 1rem;
	background: rgba(8, 17, 32, 0.55);
	border: 1px solid rgba(200, 164, 77, 0.35);
}
.audio-sample-card .wp-block-image {
	margin: 0;
}
.audio-sample-card .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}
.audio-sample-card__title {
	margin: 1rem 0 0.75rem;
	color: var(--c-ivory);
	font-size: 1.35rem;
	text-align: center;
}
.audio-sample-card .wp-block-audio {
	margin: 0;
}
.audio-sample-card audio {
	display: block;
	width: 100%;
}
@media (max-width: 900px) {
	.audio-samples {
		flex-direction: column;
	}
	.audio-samples > .wp-block-column {
		flex-basis: 100% !important;
	}
}
/* === shop === */
.shop-hero,
.shop-catalog {
	padding-inline: clamp(1.25rem, 5vw, 3rem) !important;
}
.shop-hero {
	padding-block: clamp(4rem, 8vw, 6.5rem);
	text-align: center;
}
.shop-hero .eyebrow {
	display: block;
}
.shop-hero__title {
	margin: 0.65rem 0 1rem;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
}
.shop-hero__dek {
	max-width: 38rem;
	margin: 0 auto;
	opacity: 0.82;
}
.shop-catalog {
	padding-block: clamp(4rem, 7vw, 6rem);
}
.shop-grid {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	gap: 1.5rem !important;
	align-items: stretch !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.shop-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.25rem;
	color: var(--c-ivory);
	border-top: 4px solid var(--c-gold);
}
.shop-card--green { background: var(--c-green); }
.shop-card--blue { background: var(--c-blue); }
.shop-card--gold { background: var(--c-navy); }
.shop-product-card { position: relative; background: var(--shop-card-color, var(--c-navy)); scroll-margin-top: 2rem; }
.shop-product-card__badge { position: absolute; z-index: 2; top: 0.8rem; right: 0.8rem; margin: 0; padding: 0.45rem 0.7rem; background: var(--c-gold); color: var(--c-navy); font-family: var(--f-label); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; }
.shop-product-card .shop-card__title a { color: inherit; }
.shop-product-card .shop-card__title a:hover,
.shop-product-card .shop-card__title a:focus-visible { color: var(--c-gold-soft); text-decoration: underline; text-underline-offset: 0.15em; }
.shop-card .wp-block-image {
	margin: 0 0 1.35rem;
	overflow: hidden;
}
.shop-card .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: contain;
	transition: transform 220ms ease;
}
.shop-card .wp-block-image a:hover img {
	transform: scale(1.025);
}
.shop-card__kicker {
	margin: 0 0 0.35rem;
	font-family: var(--f-label);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-gold);
}
.shop-card__title {
	margin: 0;
	color: var(--c-ivory);
	font-size: clamp(1.65rem, 2.5vw, 2rem);
}
.shop-card__copy {
	margin: 0.75rem 0 1.4rem;
	opacity: 0.82;
}
.shop-card__formats {
	display: grid;
	gap: 0.6rem;
	margin-top: auto;
}
.shop-buy-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	font-family: var(--f-label);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-decoration: none;
	color: var(--c-navy) !important;
	background: var(--c-gold);
	transition: background-color 160ms ease, color 160ms ease;
}
.shop-buy-row:hover,
.shop-buy-row:focus-visible {
	color: var(--c-gold) !important;
	background: var(--c-navy-deep);
}
.shop-buy-row strong {
	font-weight: 600;
	white-space: nowrap;
}
.shop-buy-row--unavailable { cursor: default; opacity: 0.7; }
.shop-buy-row--unavailable:hover { color: var(--c-navy) !important; background: var(--c-gold); }
.shop-note {
	margin: clamp(4rem, 7vw, 6rem) auto 0;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(14, 26, 43, 0.18);
	text-align: center;
}
@media (max-width: 900px) {
	.shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
	.shop-grid { grid-template-columns: 1fr; }
}
/* === gazette === */
.gazette { padding: 5.5rem 0; }
.gazette__box { margin: 0 auto; text-align: center; }
.gazette__title { font-size: clamp(1.9rem, 3vw, 2.4rem); margin: 0.6rem 0 1rem; }
.gazette__copy { max-width: 40em; margin: 0 auto 1.8rem; opacity: 0.8; font-size: 1.05rem; }
.gazette .rule-gold { margin-bottom: 1.2rem; }
.gazette .wp-block-separator.is-centered { margin-top: 1.8rem; margin-bottom: 0; }
.gazette-signup { width: 100%; max-width: 480px; margin: 1.5rem auto 0; }
.gazette-signup iframe { display: block; width: 100%; max-width: 480px; height: 320px; border: 1px solid rgba(14,26,43,0.14); background: #fff; }
.news-feed__grid { align-items: stretch; }
.news-feed__card { display: flex; flex-direction: column; color: var(--c-ivory); }
.news-feed__card .news-card__title,
.news-feed__card .news-card__title a { color: var(--c-ivory) !important; text-decoration: none; }
.news-feed__card .news-card__title a:hover,
.news-feed__card .news-card__title a:focus-visible { color: var(--c-gold) !important; text-decoration: underline; text-underline-offset: 0.18em; }
.news-feed__card .news-card__desc { flex: 1; color: var(--c-ivory); opacity: 0.82; }
.news-feed__read { align-self: flex-start; margin-top: 1rem; color: var(--c-gold-soft); font-family: var(--f-label); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
.news-feed__read:hover,
.news-feed__read:focus-visible { color: var(--c-ivory); text-decoration: underline; text-underline-offset: 0.2em; }
.news-feed__fallback { max-width: 680px; margin: 2rem auto 0; text-align: center; color: var(--c-ivory); }
.news-feed__fallback .wp-block-buttons { justify-content: center; margin-top: 1.5rem; }
/* === latest-news === */
.news { padding: 6rem 0; color: var(--c-ivory); }
.news .section-title { color: var(--c-ivory); }
.news__head { max-width: var(--wp--style--global--wide-size); margin: 0 auto 2.5rem; }
.news__grid { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 3rem !important; }
.news-card { border-top: 1px solid var(--c-gold-soft); padding-top: 1.5rem; }
.news-card__date { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.68rem; color: var(--c-gold); margin: 0 0 0.6rem; }
.news-card__title { font-size: 1.35rem; margin: 0 0 0.6rem; }
.news-card__desc { opacity: 0.75; margin: 0 0 0.8rem; }
.news-card__link a { font-family: var(--f-label); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-gold); text-decoration: none; }
.news-card__link a:hover { color: var(--c-ivory); }
/* === footer === */
.site-footer { padding: 4rem 0 2rem; }
.site-footer__top { max-width: var(--wp--style--global--wide-size); margin: 0 auto; gap: 3rem !important; padding-bottom: 2.5rem; align-items: flex-start !important; }
.site-footer__col { gap: 0.9rem !important; min-width: 200px; }
.site-footer__label {
	font-size: 0.72rem;
	color: var(--c-gold);
	margin: 0;
}
.site-footer__nav a, .site-footer__social a {
	color: var(--c-ivory);
	opacity: 0.85;
}
.site-footer__nav a:hover, .site-footer__social a:hover { color: var(--c-gold); opacity: 1; }
.site-footer__nav ul { gap: 0.6rem !important; }
.site-footer__press { font-size: 0.95rem; opacity: 0.75; max-width: 260px; }
.site-footer__press a { color: inherit; text-decoration: underline; text-underline-offset: 0.18em; }
.site-footer__press a:hover,
.site-footer__press a:focus-visible { color: var(--c-gold); opacity: 1; }
.site-footer__rule { max-width: var(--wp--style--global--wide-size); opacity: 0.4; }
.site-footer__copyright {
	text-align: center;
	font-size: 0.68rem;
	opacity: 0.6;
	margin: 1.5rem 0 0;
}
.site-footer__copyright a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.site-footer__copyright a:hover,
.site-footer__copyright a:focus-visible { color: var(--c-gold); opacity: 1; }

/* === privacy policy === */
.privacy-policy-intro { padding: 4rem clamp(1.25rem, 5vw, 3rem); text-align: center; }
.privacy-policy-body { max-width: 780px; padding: 3.5rem clamp(1.25rem, 5vw, 3rem) 5rem; }
.privacy-policy-body h2 { margin-top: 2.4rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.privacy-policy-body h2:first-child { margin-top: 0; }
.privacy-policy-body p,
.privacy-policy-body li { line-height: 1.75; }
.privacy-policy-body a { color: var(--c-blue); text-decoration: underline; text-underline-offset: 0.16em; }

/* === Scribomancer Guild Press === */
.press-hero { padding: clamp(4rem, 8vw, 6.5rem) clamp(1.25rem, 5vw, 3rem); text-align: center; color: var(--c-ivory); }
.press-hero__inner { max-width: 790px; margin: 0 auto; }
.press-hero h1 { margin: 0.35rem 0 0.6rem; color: var(--c-ivory); font-size: clamp(2.7rem, 6vw, 4.8rem); }
.press-hero__tagline { margin: 0 0 1.5rem; color: var(--c-gold); font-family: var(--f-heading); font-size: clamp(1.35rem, 2.7vw, 1.9rem); }
.press-hero__copy { font-size: 1.12rem; line-height: 1.75; opacity: 0.9; }
.press-hero__welcome { margin: 1.8rem 0 0; color: var(--c-gold-soft); font-family: var(--f-label); font-size: 1rem; letter-spacing: 0.14em; text-transform: uppercase; }
.press-section { padding: clamp(3.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 3rem); }
.press-section__inner { max-width: 820px; margin: 0 auto; }
.press-section h2 { margin: 0.35rem 0 1.4rem; font-size: clamp(2rem, 4vw, 3rem); }
.press-section p { font-size: 1.08rem; line-height: 1.75; }
.press-section .wp-block-buttons { margin-top: 1.8rem; }
.press-section--dark { background: var(--c-green); color: var(--c-ivory); }
.press-section--dark h2 { color: var(--c-ivory); }
.press-questions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.press-question { margin: 0 !important; padding: 1.25rem; border-top: 2px solid var(--c-gold); background: rgba(14,26,43,0.28); color: var(--c-ivory); font-family: var(--f-heading); font-size: 1.12rem !important; font-style: italic; }
.press-guidance__topics { color: var(--c-green); font-family: var(--f-label); font-size: 0.9rem !important; letter-spacing: 0.08em; line-height: 1.8 !important; text-transform: uppercase; }
.press-guidance__promise { margin-top: 1.5rem; padding-left: 1rem; border-left: 3px solid var(--c-gold); font-family: var(--f-heading); font-size: 1.3rem !important; }
.press-closing { padding: clamp(4rem, 7vw, 6rem) clamp(1.25rem, 5vw, 3rem); text-align: center; color: var(--c-ivory); }
.press-closing__inner { max-width: 760px; margin: 0 auto; }
.press-closing h2 { margin: 0 0 1rem; color: var(--c-ivory); font-size: clamp(2.2rem, 5vw, 3.7rem); }
.press-closing p { font-size: 1.12rem; line-height: 1.7; }
.press-closing__location { margin-top: 2rem; color: var(--c-gold-soft); }
.press-closing .wp-block-buttons { justify-content: center; margin-top: 1.6rem; }
.guild-contact-intro { padding: clamp(3.5rem, 7vw, 5rem) clamp(1.25rem, 5vw, 3rem); text-align: center; }
.guild-contact-intro h1 { color: var(--c-ivory); }
.guild-contact-intro p:not(.eyebrow) { max-width: 650px; margin-inline: auto; color: var(--c-ivory); opacity: 0.88; }
@media (max-width: 620px) {
	.press-questions { grid-template-columns: 1fr; }
}

/* === Publishing Guidance === */
.guidance-hero { padding: clamp(4rem, 8vw, 6.5rem) clamp(1.25rem, 5vw, 3rem); text-align: center; color: var(--c-ivory); }
.guidance-hero__inner { max-width: 820px; margin: 0 auto; }
.guidance-hero h1 { margin: 0.4rem 0 0.7rem; color: var(--c-ivory); font-size: clamp(2.5rem, 6vw, 4.6rem); }
.guidance-hero__tagline { color: var(--c-gold); font-family: var(--f-heading); font-size: clamp(1.3rem, 2.8vw, 1.9rem); font-style: italic; }
.guidance-hero__promise { margin: 1.7rem auto; max-width: 700px; font-family: var(--f-heading); font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.45; }
.guidance-hero__intro { max-width: 690px; margin: 0 auto; font-size: 1.08rem; line-height: 1.75; opacity: 0.88; }
.guidance-hero__ownership { margin: 1.8rem 0 0; color: var(--c-gold-soft); font-family: var(--f-label); font-size: 0.96rem; letter-spacing: 0.12em; text-transform: uppercase; }
.guidance-services { padding: clamp(3.5rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 3rem); }
.guidance-services__inner { max-width: var(--wp--style--global--wide-size); margin: 0 auto; text-align: center; }
.guidance-services__inner > h2 { margin: 0.4rem 0 2.2rem; font-size: clamp(2.1rem, 4vw, 3.1rem); }
.guidance-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; text-align: left; }
.guidance-card { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.1rem); border-top: 3px solid var(--c-gold); background: var(--c-ivory); box-shadow: 0 12px 28px rgba(14,26,43,0.08); }
.guidance-card__number { margin: 0 0 0.45rem; color: var(--c-green); font-family: var(--f-label); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; }
.guidance-card h3 { margin: 0 0 0.85rem; font-size: clamp(1.45rem, 2.6vw, 1.9rem); line-height: 1.25; }
.guidance-card__price { color: var(--c-green); white-space: nowrap; }
.guidance-card__dek { margin: 0 0 1rem; font-size: 1.03rem; line-height: 1.55; }
.guidance-card ul { margin: auto 0 0; padding-left: 1.2rem; }
.guidance-card li { margin: 0.35rem 0; line-height: 1.5; }
.guidance-addons { padding: clamp(3.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 3rem); color: var(--c-ivory); }
.guidance-addons__inner { max-width: var(--wp--style--global--wide-size); margin: 0 auto; text-align: center; }
.guidance-addons h2 { margin: 0.4rem 0 2rem; color: var(--c-ivory); font-size: clamp(2rem, 4vw, 2.8rem); }
.guidance-addon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 1rem; text-align: left; }
.guidance-addon { padding: 1.35rem; border: 1px solid rgba(196,151,52,0.55); background: rgba(14,26,43,0.25); }
.guidance-addon h3 { margin: 0 0 0.65rem; color: var(--c-ivory); font-size: 1.18rem; line-height: 1.3; }
.guidance-addon__price { color: var(--c-gold-soft); white-space: nowrap; }
.guidance-addon p { margin: 0; line-height: 1.55; opacity: 0.86; }
.guidance-philosophy { padding: clamp(3.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 3rem); text-align: center; }
.guidance-philosophy__card { max-width: 820px; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem); border: 1px solid rgba(196,151,52,0.55); border-top: 4px solid var(--c-gold); background: var(--c-ivory); box-shadow: 0 14px 32px rgba(14,26,43,0.08); }
.guidance-philosophy h2 { margin: 0 0 1.2rem; font-size: clamp(2.2rem, 5vw, 3.4rem); }
.guidance-philosophy p { font-size: 1.12rem; line-height: 1.75; }
.guidance-philosophy__closer { margin: 1.8rem 0 0 !important; color: var(--c-green); font-family: var(--f-label); font-size: 0.95rem !important; letter-spacing: 0.12em; text-transform: uppercase; }
.guidance-cta { padding: clamp(4rem, 7vw, 6rem) clamp(1.25rem, 5vw, 3rem); text-align: center; color: var(--c-ivory); }
.guidance-cta h2 { max-width: 760px; margin: 0 auto 1.6rem; color: var(--c-ivory); font-size: clamp(2.2rem, 5vw, 3.6rem); }
.guidance-cta .wp-block-buttons { justify-content: center; }
@media (max-width: 760px) {
	.guidance-card-grid { grid-template-columns: 1fr; }
}
/* === contact page === */
.contact-intro { padding: 4.5rem 0 1rem; text-align: center; }
.contact-intro .eyebrow.is-dark { display: block; }
.contact-form-band { padding: 4rem 0 5.5rem; }
.contact-form { max-width: 600px; margin: 0 auto; }
.contact-form .wp-block-jetpack-contact-form > div { margin-bottom: 1.3rem; }
.contact-form label {
	font-family: var(--f-label);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.86rem;
	color: var(--c-gold-soft);
	display: block;
	margin-bottom: 0.5rem;
}
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea {
	width: 100%;
	box-sizing: border-box;
	background: var(--c-ivory);
	border: 1px solid rgba(244,241,234,0.25);
	color: var(--c-navy);
	font-family: var(--f-body);
	font-size: 1rem;
	padding: 0.7rem 0.9rem;
	border-radius: 0;
}
.contact-form textarea { min-height: 140px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--c-gold); outline-offset: 1px; }
.contact-form__submit { margin-top: 0.5rem; }
.contact-form__note { margin: 1.8rem 0 0; opacity: 0.7; font-size: 0.95rem; color: var(--c-ivory); }
/* === story template === */
.story-hero { padding: 4.5rem 0 3.5rem; text-align: center; }
.story-hero__label { display: block; margin-bottom: 0.9rem; }
.story-hero__label { color: var(--story-accent, var(--c-gold-soft)) !important; }
.story-hero__title { margin: 0 0 1.1rem; font-size: clamp(2.4rem, 4.5vw, 3.6rem); }
.story-hero__meta {
	font-family: var(--f-body);
	font-size: 0.95rem;
	color: var(--c-ivory);
	opacity: 0.75;
	margin: 0 0 2rem;
}
.story-hero__meta .content-placeholder { border-color: rgba(244,241,234,0.35); color: var(--c-ivory); opacity: 1; font-size: 0.85rem; }
.story-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.8rem !important;
}
.story-hero__secondary .wp-block-button__link { color: var(--c-ivory); border: 1px solid rgba(244,241,234,0.4); background: transparent; }
.story-hero__secondary .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); border-color: var(--c-gold); }
.story-hero__secondary .content-placeholder { opacity: 0.7; }
.story-hero__actions .content-placeholder,
.story-cta__grid .content-placeholder {
	pointer-events: none;
	cursor: default;
}
.story-reading { padding: 4.5rem 0 3rem; }
.story-cover { max-width: 420px; margin: 0 auto 3rem; }
.story-cover img { display: block; width: 100%; height: auto; box-shadow: 0 12px 30px rgba(7, 21, 38, 0.18); }
.story-reading .wp-block-post-content { max-width: 640px; margin: 0 auto; }
.story-reading p {
	font-family: var(--f-body);
	font-size: 1.2rem;
	line-height: 1.9;
	margin: 0 0 1.7em;
}
.story-reading .wp-block-post-content > p:first-of-type::first-letter {
	font-family: var(--f-heading);
	float: left;
	font-size: 3.4em;
	line-height: 0.82;
	padding-right: 0.09em;
	color: var(--c-gold);
}
.story-intro p {
	font-style: italic;
	color: rgba(10, 27, 46, 0.78);
}
.story-boundary {
	border: 0;
	border-top: 1px solid rgba(196, 151, 52, 0.65);
	width: min(100%, 640px);
	margin: 2.75rem auto;
	background: none;
}
.story-boundary { border-top-color: var(--story-accent, var(--c-gold)); }
.story-reading .wp-block-separator {
	border: none;
	height: auto;
	text-align: center;
	margin: 2.6rem auto;
	background: none;
	opacity: 1;
}
.story-reading .wp-block-separator::after {
	content: "";
	display: block;
	width: clamp(9rem, 30vw, 14rem);
	aspect-ratio: 1002 / 126;
	margin: 0 auto;
	background: url("assets/images/scene-break.png") center / contain no-repeat;
}
.story-cta { padding: 4.5rem 0; }
.story-closing {
	max-width: 680px;
	margin: 0 auto;
	text-align: center;
	color: var(--c-ivory);
}
.story-closing .story-boundary { margin-top: 0; border-top-color: rgba(196, 151, 52, 0.8); }
.story-closing > p { font-family: var(--f-body); font-size: 1.1rem; line-height: 1.75; }
.story-closing h2 { color: var(--c-gold-soft); margin: 2rem 0 0.75rem; }
.story-closing__tagline { font-style: italic; opacity: 0.88; }
.story-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem !important; margin-top: 1.8rem; }
.story-closing__continuation { margin-top: 2.5rem; }
.story-closing__continuation .wp-block-buttons { display: flex; justify-content: center; }
.story-closing__label {
	font-family: var(--f-label);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-gold-soft);
	margin: 0 0 0.8rem;
}
.story-closing__next .wp-block-button__link { color: var(--c-ivory); border: 1px solid rgba(244,241,234,0.4); background: transparent; }
.story-closing__next .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); }
.story-cta__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3rem;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	text-align: center;
}
.story-cta__item { flex: 1 1 220px; max-width: 300px; }
.story-cta__label { font-family: var(--f-label); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.7rem; color: var(--c-gold-soft); margin: 0 0 0.9rem; }
.story-cta__item .wp-block-buttons { display: flex; justify-content: center; }
.story-cta__item .wp-block-button__link { color: var(--c-ivory); border-color: rgba(244,241,234,0.4); }
.story-cta__item .wp-block-button__link:hover { background: var(--c-gold); color: var(--c-navy); border-color: var(--c-gold); }
.story-cta__item .content-placeholder { border-color: rgba(244,241,234,0.35); color: var(--c-ivory); }
.excerpt-closing { max-width: 680px; margin: 0 auto; text-align: center; color: var(--c-ivory); }
.excerpt-closing .eyebrow { color: var(--c-gold-soft); }
.excerpt-closing h2 { color: var(--c-ivory); margin: 0.55rem 0 0.8rem; }
.excerpt-closing > p:not(.eyebrow) { font-size: 1.1rem; opacity: 0.85; }
.excerpt-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem !important; margin-top: 1.7rem; }
.excerpt-closing__actions .is-style-outline .wp-block-button__link { color: var(--c-ivory); border-color: rgba(244,241,234,0.45); }
/* === responsive === */
/* === Cypress Run Cookhouse & Saloon === */
.recipe-archive-hero,.recipe-hero{padding:clamp(3.75rem,7vw,6rem) clamp(1.25rem,5vw,3rem);text-align:center;background:var(--recipe-accent,var(--c-green));color:var(--c-ivory)}
.recipe-archive-hero .eyebrow,.recipe-hero .eyebrow{display:block;color:var(--c-gold);margin:0 0 .8rem}
.recipe-archive-hero h1,.recipe-hero h1{max-width:980px;margin:0 auto;color:var(--c-ivory);font-size:clamp(2.7rem,6.5vw,5rem)}
.recipe-archive-hero>p:last-child,.recipe-hero__summary{max-width:700px;margin:1.1rem auto 0;font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.6}
.recipe-archive{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,3rem)}
.recipe-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1.5rem;max-width:1180px;margin:0 auto}
.recipe-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(14,26,43,.12);border-top:3px solid var(--recipe-accent,var(--c-green));background:var(--c-ivory);box-shadow:0 12px 28px rgba(14,26,43,.08)}
.recipe-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:var(--recipe-accent,var(--c-green));color:var(--c-gold);font-size:2.2rem;text-decoration:none}
.recipe-card__image img{width:100%;height:100%;object-fit:cover}
.recipe-card__body{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.recipe-card__book{margin:0 0 .55rem;font-family:var(--f-label);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gold-soft)}
.recipe-card__book a{color:inherit}
.recipe-card h2{margin:0 0 .75rem;font-size:clamp(1.7rem,3vw,2.2rem)}
.recipe-card h2 a{color:var(--c-navy);text-decoration:none}
.recipe-card__body>p:not(.recipe-card__book){margin:.1rem 0 1.2rem;line-height:1.55}
.recipe-card__link{margin-top:auto;font-family:var(--f-label);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.recipe-archive__empty{max-width:720px;margin:0 auto;padding:3rem;border:1px solid rgba(200,164,77,.45);text-align:center;background:var(--c-ivory)}
.recipe-archive__empty h2{margin-top:0;font-size:2.2rem}
.recipe-page__body{max-width:900px;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,3rem)}
.recipe-page__image{max-width:760px;margin:0 auto 2.25rem}
.recipe-page__image img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;box-shadow:0 14px 32px rgba(14,26,43,.14)}
.recipe-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:0;margin:0 auto 2.5rem;border-block:1px solid rgba(200,164,77,.55)}
.recipe-facts>div{padding:1rem;text-align:center}
.recipe-facts dt{font-family:var(--f-label);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gold-soft)}
.recipe-facts dd{margin:.3rem 0 0;font-size:1.05rem}
.recipe-headnote{max-width:720px;margin:0 auto 2.75rem;font-size:1.15rem;line-height:1.75}
.recipe-method{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,5rem);padding-top:1rem}
.recipe-method h2,.recipe-notes h2{margin:0 0 1rem;font-size:clamp(2rem,4vw,2.8rem)}
.recipe-method ul,.recipe-method ol{margin:0;padding-left:1.35rem}
.recipe-method li{margin-bottom:.85rem;line-height:1.6;padding-left:.3rem}
.recipe-method li::marker{color:var(--c-gold-soft);font-family:var(--f-label)}
.recipe-component-heading{margin:1.65rem 0 .65rem;padding-bottom:.35rem;border-bottom:1px solid color-mix(in srgb,var(--recipe-accent,var(--c-green)) 45%,transparent);color:var(--recipe-accent,var(--c-green));font-family:var(--f-label);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.recipe-method h2+.recipe-component-heading{margin-top:.25rem}
.recipe-notes{margin:3rem 0 0;padding:1.7rem 2rem;border-left:4px solid var(--c-gold);background:var(--c-ivory)}
.recipe-notes h2{font-size:1.8rem}
.recipe-sheriff-notes{position:relative;margin:2.25rem 0 0;padding:1.8rem 2rem;border:1px solid rgba(200,164,77,.55);background:var(--c-green);color:var(--c-ivory)}
.recipe-sheriff-notes:before{content:"✦";position:absolute;top:1rem;right:1.25rem;color:var(--c-gold);font-size:1.2rem}
.recipe-sheriff-notes .eyebrow{margin:0 0 .35rem;color:var(--c-gold)}
.recipe-sheriff-notes h2{margin:0 0 .85rem;color:var(--c-ivory);font-size:clamp(1.8rem,4vw,2.4rem)}
.recipe-sheriff-notes p:not(.eyebrow){margin:.65rem 0 0;font-size:1.08rem;line-height:1.7}
.recipe-history{padding:clamp(3.5rem,6vw,5rem) clamp(1.25rem,5vw,3rem);background:var(--recipe-accent,var(--c-navy));color:var(--c-ivory)}
.recipe-history>div{max-width:760px;margin:0 auto}
.recipe-history .eyebrow{color:var(--c-gold)}
.recipe-history h2{margin:.5rem 0 1.2rem;color:var(--c-ivory);font-size:clamp(2.2rem,5vw,3.4rem)}
.recipe-history p{font-size:1.1rem;line-height:1.75}
.recipe-footer{display:flex;justify-content:space-between;gap:1.5rem;padding:2rem clamp(1.25rem,5vw,3rem);background:var(--recipe-accent,var(--c-green))}
.recipe-footer a{font-family:var(--f-label);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-gold);text-decoration:none}
@media(max-width:700px){.recipe-method{grid-template-columns:1fr}.recipe-footer{flex-direction:column;text-align:center}.recipe-facts{grid-template-columns:repeat(2,1fr)}}
/* === reusable book template === */
.book-template-page{background:var(--c-cream);color:var(--c-navy)}
.book-template__header{padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,3rem);text-align:center;background:var(--book-accent);color:var(--c-ivory)}
.book-template__header .eyebrow{color:var(--c-gold);margin:.85rem 0 0}.book-template__header h1{margin:0;color:var(--c-ivory);font-size:clamp(3rem,8vw,5.8rem)}
.book-template__hero,.book-template__reviews,.book-template__vibe,.book-template__details{padding:clamp(2.75rem,4.5vw,4rem) clamp(1.25rem,5vw,3rem)}
.book-template__hero{padding-bottom:1.25rem}
.book-template__hero-grid{display:grid;grid-template-columns:minmax(230px,360px) minmax(0,1fr);gap:clamp(2.5rem,6vw,5.5rem);max-width:1000px;margin:auto;align-items:center}
.book-template__cover{display:block;grid-column:1;grid-row:1;width:100%;height:auto;border:1px solid var(--c-gold);box-shadow:0 18px 36px rgba(14,26,43,.2)}
.book-template__hero-copy{grid-column:2;grid-row:1;min-width:0}
.book-template__tagline{font-family:var(--f-heading);font-size:clamp(1.8rem,4vw,3rem);line-height:1.15;color:var(--book-accent);margin:0 0 1rem}
.book-template__genres,.book-template__tropes{display:flex;flex-wrap:wrap;gap:.45rem}.book-template__genres span,.book-template__tropes span{padding:.34rem .75rem;border:1px solid rgba(200,164,77,.42);border-radius:999px;background:rgba(200,164,77,.14);font-family:var(--f-label);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.book-template__hooks{margin:2rem 0;padding-left:1.4rem;border-left:3px solid var(--c-gold)}.book-template__hooks p{font-family:var(--f-heading);font-size:1.35rem;margin:.5rem 0}
.book-template__description{max-width:760px;margin:0 auto;padding:clamp(2.75rem,4.5vw,4rem) clamp(1.25rem,5vw,3rem);box-sizing:content-box}.book-template__description:before{content:"";display:block;border-top:1px solid rgba(200,164,77,.5);margin-bottom:clamp(1.5rem,3vw,2.25rem)}.book-template__synopsis p,.book-template__sinker p,.book-template__vibe-copy p{font-size:1.12rem;line-height:1.75}.book-template__sinker{margin-top:1.5rem;font-style:italic}
.book-template__purchase{padding:1rem clamp(1.25rem,5vw,3rem) clamp(2rem,3.5vw,3rem);background:var(--c-ivory)}
.book-purchase-choices--template{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:1080px;margin:auto}
.book-template__record{padding:clamp(2.75rem,4.5vw,4rem) clamp(1.25rem,5vw,3rem);background:var(--book-accent);color:var(--c-ivory)}.book-template__record>div{max-width:820px;margin:auto}.book-template__record .eyebrow{text-align:center;color:var(--c-gold)}.book-template__record p:not(.eyebrow){font-size:1.3rem;line-height:1.65}
.book-template__reviews{text-align:center;background:var(--c-ivory)}.book-template__reviews h2,.book-template__vibe h2,.book-template__details h2{font-size:clamp(2.2rem,5vw,3.5rem);margin:0 0 .35rem}.book-template__section-subtitle{margin:0 0 1.8rem;font-family:var(--f-label);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold-soft)}
.book-template__reviews{padding-bottom:2rem}.book-template__vibe{padding-top:2rem;padding-bottom:2.75rem}.book-template__details{padding-top:2.5rem;padding-bottom:3rem}
.book-template__review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;max-width:1180px;margin:auto;text-align:left;align-items:stretch}.book-template__review-grid blockquote{display:flex;flex-direction:column;min-height:190px;box-sizing:border-box;margin:0;padding:clamp(1.5rem,3vw,2rem);border:1px solid rgba(14,26,43,.1);border-top:3px solid var(--c-gold);background:var(--c-cream);box-shadow:0 10px 24px rgba(14,26,43,.07)}.book-template__review-grid blockquote p{font-size:1.12rem;font-style:italic;line-height:1.6;margin:0 0 1.5rem}.book-template__review-grid cite{margin-top:auto;font-family:var(--f-label);font-style:normal;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gold-soft)}
.book-template__review-links{margin:2rem auto 0}.book-template__review-links>p{margin:0 0 .8rem;font-style:italic;opacity:.72}.book-template__review-links .wp-block-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem}.book-template__review-links .wp-block-button__link{padding:.7em 1.3em;font-size:.68rem}
.book-template__vibe>div,.book-template__details{max-width:1050px;margin:auto}.book-template__vibe-copy{text-align:left;max-width:780px}.book-template__vibe hr{border:0;border-top:1px solid rgba(200,164,77,.55);margin:2.5rem 0}.book-template__tropes{margin-top:1rem}
.book-template__section-heading{margin:0 0 1rem;font-size:clamp(1.65rem,3vw,2.15rem);color:var(--book-accent);text-align:center}
.book-template__resources{text-align:center;padding:clamp(2.5rem,4vw,3.5rem) clamp(1.25rem,5vw,3rem);background:var(--c-ivory)}.book-template__resources h2{font-size:clamp(2.2rem,4.5vw,3.25rem);margin:0 0 .35rem}.book-template__resources .book-template__resources-subtitle{margin:0 auto .75rem;font-family:var(--f-label);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold-soft)}.book-template__resources p:not(.book-template__resources-subtitle){margin:.7rem auto 1.25rem;max-width:620px}.book-template__resources .wp-block-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem}
.book-template__details{text-align:center}.book-template__details .book-meta-grid{margin-top:2rem}.book-template__nav{display:flex;justify-content:space-between;gap:2rem;padding:2rem clamp(1.25rem,5vw,3rem);background:var(--book-accent)}.book-template__nav a{font-family:var(--f-label);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-gold);text-decoration:none}.book-template__nav a:hover{color:var(--c-ivory)}
.book-template__details .book-meta-grid__label{color:var(--book-accent);opacity:1;font-weight:600}
@media(max-width:780px){.book-template__hero,.book-template__reviews,.book-template__vibe,.book-template__details{padding-block:2.5rem}.book-template__hero{padding-bottom:1.25rem}.book-template__purchase{padding-top:1rem}.book-template__hero-grid{grid-template-columns:1fr;align-items:start;gap:2rem}.book-template__cover{grid-column:1;grid-row:1;max-width:300px;margin:auto}.book-template__hero-copy{grid-column:1;grid-row:2}.book-template__description{padding-block:2.5rem}.book-template__nav{flex-direction:column;text-align:center}.book-template__nav span{display:none}}
@media (max-width: 780px) {
	.hero__row, .about__row, .audiobooks__row { flex-direction: column; gap: 2.5rem !important; }
	.hero__row .wp-block-column, .about__row .wp-block-column, .audiobooks__row .wp-block-column { flex-basis: 100% !important; }
	.about__photo-col { order: 2; max-width: 220px; margin: 0 auto; }
	.quartet__grid, .news__grid { flex-direction: column; }
	.work-row { flex-direction: column; align-items: flex-start !important; }
	.work-row__cta { align-self: flex-start; }
	.short-fiction-card { flex-basis: 86%; }
	.short-fiction-card__body { padding: 1.25rem; }
	.interactive-fiction__grid { grid-template-columns: 1fr; }
	.reader-resources-intro { padding-top: 3.5rem; }
	.reader-resources { padding-bottom: 4rem; }
	.reader-resource-book { margin-top: 1.25rem; }
	.site-header__inner { flex-wrap: wrap; gap: 1rem !important; }
	.story-hero__actions { flex-direction: column; align-items: center; }
	.story-cta__grid { flex-direction: column; gap: 2.5rem; }
	.story-reading p:first-of-type::first-letter { font-size: 2.6em; }
	.site-footer__top { gap: 2rem !important; }
	.book-detail__row { flex-direction: column; gap: 2rem !important; }
	.book-detail__row .wp-block-column { flex-basis: 100% !important; }
	.book-purchase-choices { grid-template-columns: 1fr; }
	.book-meta__row, .testimonials__grid { flex-direction: column; }
	.book-cta__buy .wp-block-buttons { flex-direction: column; align-items: center; }
	.about-page-bio .about__photo-frame.alignleft { float: none; width: 220px; margin: 0 auto 1.5rem; }
	/* Columns stack here, so the vertical rule between facts has nothing to divide. */
	.about-facts__item { border-left: none; padding-left: 0; }
	.about-facts .wp-block-columns + .wp-block-columns { margin-top: 0; }
}
