/*
Theme Name: Magister Digital
Theme URI: https://magisterdigital.ai
Author: Magister Digital
Author URI: https://magisterdigital.ai
Description: Editorial-authority block theme for Magister Digital. AI-powered marketing for service businesses. Founder-operator credibility, Modern Magister visual system, CWV-budgeted, AI-crawler-safe, zero-dead-space dense layouts.
Version: 0.3.1
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: magister-digital
Tags: block-theme, full-site-editing, editorial, agency, custom-colors, custom-logo, block-styles
*/

/* ============================================================
   MAGISTER DIGITAL: main stylesheet
   Design tokens: theme.json. CSS here extends theme.json with
   things the block editor cannot express.

   STANDING RULES (do not violate without explicit Brian sign-off):

   1. ZERO DEAD SPACE. Every section's horizontal real estate is
      100% used. If a layout needs ~60% width for primary content,
      the remaining ~40% gets functional content (mini-FAQ, stats,
      pull-quote, related teaser, CTA tile). Never decorative
      whitespace. Right-column emptiness = fail.

   2. NEVER body text below 16px on any breakpoint. Default body
      is 18px desktop / 17px mobile.

   3. Editorial typography hierarchy but DENSE composition. We
      borrow Stripe Press typography, not their airy spacing.

   4. AI-crawler-safe. No JS-rendered content. No content gated
      behind animation that starts hidden.

   5. Em-dash budget: ZERO in any visible copy.

   6. CTA copy locked: "Book a Free Strategy Call". Never "Learn
      More" or "Get Started" or "Contact Us".
   ============================================================ */

/* ---------------- Reset + Base ---------------- */
*, *::before, *::after { box-sizing: border-box; }
:where(img, video, svg) { max-width: 100%; height: auto; display: block; }

body {
	background: var(--wp--preset--color--ivory);
	color: var(--wp--preset--color--inkwell);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
@media (min-width: 768px) { body { font-size: 18px; } }

h1, h2, h3, h4 {
	font-family: var(--wp--preset--font-family--playfair);
	font-variation-settings: "SOFT" 0, "WONK" 0, "opsz" 144;
	letter-spacing: -0.012em;
	line-height: 1.15;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 0.5em;
}
h1 { font-weight: 700; }
h2, h3 { font-weight: 600; }
h4 { font-weight: 500; }
p { margin: 0 0 1em; }

a { color: var(--wp--preset--color--seal-oxblood); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }

/* Magister-namespaced typographic primitives */
.magister-h1 { font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: clamp(38px, 5.5vw, 68px); line-height: 1.05; letter-spacing: -0.02em; color: var(--wp--preset--color--magister-navy); margin: 0 0 24px; }
.magister-h2 { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: clamp(32px, 4vw, 48px); line-height: 1.12; letter-spacing: -0.015em; color: var(--wp--preset--color--magister-navy); margin: 0 0 20px; }
.magister-h2-light { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: clamp(32px, 4vw, 48px); line-height: 1.12; letter-spacing: -0.015em; color: var(--wp--preset--color--ivory); margin: 0 0 20px; }
.magister-h3 { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; color: var(--wp--preset--color--magister-navy); margin: 0 0 12px; }

/* Eyebrow on LIGHT = gold-ink #6E561A (hint of gold, ~5:1). Gold-on-white fails;
   the "-light" variant below re-asserts gold on dark bands. */
.magister-eyebrow { font-family: var(--wp--preset--font-family--inter); font-size: 13px; letter-spacing: 0.11em; text-transform: uppercase; color: #6E561A; font-weight: 700; margin-bottom: 20px; }
/* "-light" eyebrow always sits on a dark band → blue-on-dark #D4AF37 (~6:1).
   Use the doubled-class selector to beat .magister-eyebrow (cobalt) specificity. */
.magister-eyebrow.magister-eyebrow-light,
.magister-eyebrow-light { color: #D4AF37 !important; }

.magister-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; color: var(--wp--preset--color--inkwell); margin: 0 0 28px; }
.magister-lead-tight { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.5; color: var(--wp--preset--color--inkwell); margin: 0 0 24px; max-width: 760px; }
.magister-lead-light { color: var(--wp--preset--color--ivory); opacity: 0.95; }

/* ---------------- Section padding ---------------- */
.magister-section { padding: 56px 24px; }
@media (min-width: 768px)  { .magister-section { padding: 88px 32px; } }
@media (min-width: 1280px) { .magister-section { padding: 112px 40px; } }

.magister-bg-ivory  { background: var(--wp--preset--color--ivory); }
.magister-bg-vellum { background: var(--wp--preset--color--vellum); }
.magister-bg-navy   { background: var(--wp--preset--color--magister-navy); color: var(--wp--preset--color--ivory); }
.magister-bg-navy h1, .magister-bg-navy h2, .magister-bg-navy h3, .magister-bg-navy h4 { color: var(--wp--preset--color--ivory); }

/* ---------------- Buttons / CTAs ---------------- */
.wp-block-button__link.is-style-magister-primary,
.is-style-magister-primary.wp-element-button {
	background: var(--wp--preset--color--magister-navy);
	color: var(--wp--preset--color--ivory);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.005em;
	padding: 18px 32px;
	border-radius: 4px;
	border: 0;
	min-height: 56px;
	text-decoration: none;
	display: inline-block;
	transition: background 180ms ease, transform 180ms ease;
}
.wp-block-button__link.is-style-magister-primary:hover { background: #A8842A; transform: translateY(-1px); }

/* Primary "Book a strategy call" CTA = CORAL fill + white bold label
   (Ink·Signal·Ember action color, the ONLY warm color on the page). */
.wp-block-button__link.is-style-magister-gold,
.is-style-magister-gold.wp-element-button {
	background: #D4AF37;
	color: #0F1115;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 17px;
	padding: 18px 32px;
	border-radius: 4px;
	border: 0;
	min-height: 56px;
	text-decoration: none;
	display: inline-block;
}
.wp-block-button__link.is-style-magister-gold:hover { background: #E3C24E; }

.magister-cta-microline { display: block; margin-top: 14px; color: var(--wp--preset--color--footnote-gray); font-size: 15px; line-height: 1.5; max-width: 520px; }
.magister-cta-microline-light { color: rgba(247, 247, 245, 0.85); }

/* Oxblood vertical accent bar for pull quotes */
.magister-accent-bar { border-left: 3px solid var(--wp--preset--color--seal-oxblood); padding-left: 22px; margin: 26px 0; }
.magister-accent-bar.is-gold { border-left-color: var(--wp--preset--color--gold-leaf); }

/* ============================================================
   01 HERO. Variant C. Dense grid, no dead space on right.
   ============================================================ */
.magister-hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
	align-items: start;
}
@media (min-width: 1024px) {
	.magister-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr); gap: 64px; }
}

.magister-hero-copy { display: flex; flex-direction: column; }
.magister-hero-cta { margin: 8px 0 32px; }
.magister-hero-microproof {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px 28px;
	padding-top: 24px;
	border-top: 1px solid rgba(22, 23, 26, 0.14);
	margin-top: 8px;
}
@media (min-width: 768px) { .magister-hero-microproof { grid-template-columns: repeat(4, 1fr); } }
.magister-hero-microproof > div { font-size: 14px; line-height: 1.4; color: var(--wp--preset--color--footnote-gray); }
.magister-hero-microproof strong { display: block; font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: 32px; color: var(--wp--preset--color--magister-navy); line-height: 1; margin-bottom: 6px; letter-spacing: -0.02em; }

.magister-hero-visual { display: flex; flex-direction: column; gap: 24px; }
.magister-hero-figure { margin: 0; }
.magister-hero-image { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 10px 30px rgba(22, 23, 26, 0.12); aspect-ratio: 4/5; object-fit: cover; }
.magister-hero-caption { font-family: var(--wp--preset--font-family--inter); font-style: italic; font-size: 14px; color: var(--wp--preset--color--footnote-gray); margin-top: 10px; line-height: 1.5; }

.magister-hero-aside {
	background: var(--wp--preset--color--vellum);
	border-left: 3px solid var(--wp--preset--color--gold-leaf);
	padding: 20px 22px 22px;
	border-radius: 0 4px 4px 0;
}
.magister-aside-label { font-family: var(--wp--preset--font-family--inter); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--seal-oxblood); font-weight: 700; margin-bottom: 12px; }
.magister-aside-list { list-style: none; padding: 0; margin: 0 0 14px; columns: 2; column-gap: 24px; font-size: 14px; line-height: 1.7; color: var(--wp--preset--color--inkwell); }
.magister-aside-list li { break-inside: avoid; }
.magister-aside-link { display: inline-block; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--seal-oxblood); text-decoration: none; }
.magister-aside-link:hover { text-decoration: underline; }

/* ============================================================
   03 SERVICES INTERACTIVE. Radio-CSS tab swap. Zero JS.
   ============================================================ */
.magister-services .msvc-input { position: absolute; opacity: 0; pointer-events: none; }

.magister-services-wrap { max-width: 1280px; margin: 0 auto; }
.magister-services-header { margin-bottom: 40px; max-width: 880px; }

.magister-services-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 1024px) {
	.magister-services-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: start; }
}

.magister-services-panels { position: relative; min-height: 460px; background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 6px; padding: 36px 40px; box-shadow: 0 2px 10px rgba(22, 23, 26, 0.04); }
.msvc-panel { display: none; }
.msvc-panel h3 { font-size: 28px; margin: 0 0 16px; color: var(--wp--preset--color--magister-navy); }
.msvc-panel-num { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: 48px; color: var(--wp--preset--color--gold-leaf); line-height: 1; margin-bottom: 8px; }
.msvc-panel p { font-size: 17px; line-height: 1.6; color: var(--wp--preset--color--inkwell); }
.msvc-bullets { list-style: none; padding: 0; margin: 18px 0 24px; }
.msvc-bullets li { padding: 8px 0 8px 24px; position: relative; font-size: 16px; line-height: 1.55; border-bottom: 1px dashed #E3E4E2; }
.msvc-bullets li:last-child { border-bottom: 0; }
.msvc-bullets li::before { content: "+"; position: absolute; left: 0; top: 8px; color: var(--wp--preset--color--gold-leaf); font-weight: 700; font-family: var(--wp--preset--font-family--playfair); font-size: 18px; }
.msvc-stat { background: var(--wp--preset--color--vellum); border-left: 3px solid var(--wp--preset--color--seal-oxblood); padding: 14px 18px; font-size: 15px; line-height: 1.5; border-radius: 0 4px 4px 0; }
.msvc-stat strong { color: var(--wp--preset--color--magister-navy); }

/* Radio-driven panel visibility */
#msvc-1:checked  ~ .magister-services-grid .msvc-panel-1,
#msvc-2:checked  ~ .magister-services-grid .msvc-panel-2,
#msvc-3:checked  ~ .magister-services-grid .msvc-panel-3,
#msvc-4:checked  ~ .magister-services-grid .msvc-panel-4,
#msvc-5:checked  ~ .magister-services-grid .msvc-panel-5,
#msvc-6:checked  ~ .magister-services-grid .msvc-panel-6,
#msvc-7:checked  ~ .magister-services-grid .msvc-panel-7,
#msvc-8:checked  ~ .magister-services-grid .msvc-panel-8,
#msvc-9:checked  ~ .magister-services-grid .msvc-panel-9,
#msvc-10:checked ~ .magister-services-grid .msvc-panel-10 { display: block; }

/* Tiles */
.magister-services-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.msvc-tile { display: flex; align-items: center; gap: 10px; padding: 16px 18px; background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; cursor: pointer; transition: background 160ms ease, border-color 160ms ease, transform 120ms ease; user-select: none; min-height: 64px; }
.msvc-tile:hover { background: var(--wp--preset--color--vellum); border-color: var(--wp--preset--color--seal-oxblood); transform: translateY(-1px); }
.msvc-tile-num { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: 16px; color: var(--wp--preset--color--gold-leaf); width: 28px; flex-shrink: 0; letter-spacing: -0.01em; }
.msvc-tile-name { font-family: var(--wp--preset--font-family--inter); font-weight: 600; font-size: 15px; color: var(--wp--preset--color--inkwell); line-height: 1.3; }

/* Selected tile state */
#msvc-1:checked  ~ .magister-services-grid .msvc-tile-1,
#msvc-2:checked  ~ .magister-services-grid .msvc-tile-2,
#msvc-3:checked  ~ .magister-services-grid .msvc-tile-3,
#msvc-4:checked  ~ .magister-services-grid .msvc-tile-4,
#msvc-5:checked  ~ .magister-services-grid .msvc-tile-5,
#msvc-6:checked  ~ .magister-services-grid .msvc-tile-6,
#msvc-7:checked  ~ .magister-services-grid .msvc-tile-7,
#msvc-8:checked  ~ .magister-services-grid .msvc-tile-8,
#msvc-9:checked  ~ .magister-services-grid .msvc-tile-9,
#msvc-10:checked ~ .magister-services-grid .msvc-tile-10 {
	background: var(--wp--preset--color--magister-navy);
	border-color: var(--wp--preset--color--magister-navy);
	transform: translateY(0);
}
#msvc-1:checked  ~ .magister-services-grid .msvc-tile-1  .msvc-tile-name,
#msvc-2:checked  ~ .magister-services-grid .msvc-tile-2  .msvc-tile-name,
#msvc-3:checked  ~ .magister-services-grid .msvc-tile-3  .msvc-tile-name,
#msvc-4:checked  ~ .magister-services-grid .msvc-tile-4  .msvc-tile-name,
#msvc-5:checked  ~ .magister-services-grid .msvc-tile-5  .msvc-tile-name,
#msvc-6:checked  ~ .magister-services-grid .msvc-tile-6  .msvc-tile-name,
#msvc-7:checked  ~ .magister-services-grid .msvc-tile-7  .msvc-tile-name,
#msvc-8:checked  ~ .magister-services-grid .msvc-tile-8  .msvc-tile-name,
#msvc-9:checked  ~ .magister-services-grid .msvc-tile-9  .msvc-tile-name,
#msvc-10:checked ~ .magister-services-grid .msvc-tile-10 .msvc-tile-name { color: var(--wp--preset--color--ivory); }
#msvc-1:checked  ~ .magister-services-grid .msvc-tile-1  .msvc-tile-num,
#msvc-2:checked  ~ .magister-services-grid .msvc-tile-2  .msvc-tile-num,
#msvc-3:checked  ~ .magister-services-grid .msvc-tile-3  .msvc-tile-num,
#msvc-4:checked  ~ .magister-services-grid .msvc-tile-4  .msvc-tile-num,
#msvc-5:checked  ~ .magister-services-grid .msvc-tile-5  .msvc-tile-num,
#msvc-6:checked  ~ .magister-services-grid .msvc-tile-6  .msvc-tile-num,
#msvc-7:checked  ~ .magister-services-grid .msvc-tile-7  .msvc-tile-num,
#msvc-8:checked  ~ .magister-services-grid .msvc-tile-8  .msvc-tile-num,
#msvc-9:checked  ~ .magister-services-grid .msvc-tile-9  .msvc-tile-num,
#msvc-10:checked ~ .magister-services-grid .msvc-tile-10 .msvc-tile-num { color: var(--wp--preset--color--gold-leaf); }

/* Focus ring on tiles for keyboard users (radio inputs are hidden) */
.msvc-input:focus-visible + .magister-services-grid .msvc-tile,
.msvc-input:focus + .magister-services-grid .msvc-tile { outline: 2px solid var(--wp--preset--color--gold-leaf); outline-offset: 2px; }

/* ============================================================
   05 INTEGRATED ENGINE. 3-stage dense flow on Navy.
   ============================================================ */
.magister-engine-wrap { max-width: 1280px; margin: 0 auto; }
.magister-engine-header { max-width: 920px; margin-bottom: 48px; }
.magister-engine-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 900px)  { .magister-engine-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } }

.magister-engine-stage {
	background: rgba(247, 247, 245, 0.06);
	border: 1px solid rgba(168, 132, 42, 0.3);
	border-radius: 6px;
	padding: 28px 28px 24px;
	display: flex;
	flex-direction: column;
}
.magister-stage-marker { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.magister-stage-num { font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: 44px; color: var(--wp--preset--color--gold-leaf); line-height: 1; letter-spacing: -0.02em; }
.magister-stage-label { font-family: var(--wp--preset--font-family--inter); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--gold-leaf); font-weight: 700; }
.magister-stage-title { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: 22px; line-height: 1.25; color: var(--wp--preset--color--ivory); margin: 0 0 12px; }
.magister-stage-copy { font-size: 15px; line-height: 1.55; color: rgba(247, 247, 245, 0.9); margin: 0 0 16px; }
.magister-stage-mechanics { list-style: none; padding: 0; margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: rgba(247, 247, 245, 0.85); }
.magister-stage-mechanics li { padding: 6px 0; border-bottom: 1px dashed rgba(247, 247, 245, 0.18); }
.magister-stage-mechanics li:last-child { border-bottom: 0; }
.magister-stage-mechanics strong { color: var(--wp--preset--color--gold-leaf); font-weight: 600; }
.magister-stage-output { font-family: var(--wp--preset--font-family--playfair); font-style: italic; font-size: 15px; color: var(--wp--preset--color--ivory); padding-top: 14px; margin-top: auto; border-top: 1px solid rgba(168, 132, 42, 0.4); line-height: 1.45; }

.magister-engine-footer {
	margin-top: 56px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	padding-top: 48px;
	border-top: 1px solid rgba(168, 132, 42, 0.3);
}
@media (min-width: 900px) { .magister-engine-footer { grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: center; } }
.magister-engine-quote { font-family: var(--wp--preset--font-family--playfair); font-style: italic; font-size: clamp(20px, 2vw, 26px); line-height: 1.4; color: var(--wp--preset--color--ivory); }
.magister-engine-quote cite { display: block; margin-top: 12px; font-family: var(--wp--preset--font-family--inter); font-style: normal; font-size: 14px; color: var(--wp--preset--color--gold-leaf); }
.magister-engine-cta { text-align: left; }
@media (min-width: 900px) { .magister-engine-cta { text-align: right; } }

/* ============================================================
   08 FAQ. Two-column dense accordion. Native <details>.
   ============================================================ */
.magister-faq-wrap { max-width: 1280px; margin: 0 auto; }
.magister-faq-header { max-width: 880px; margin-bottom: 40px; }
.magister-faq-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 900px) { .magister-faq-grid { grid-template-columns: 1fr 1fr; gap: 16px 32px; } }

.magister-faq-item { background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 18px 22px; margin-bottom: 12px; transition: border-color 160ms ease; }
.magister-faq-item:hover { border-color: var(--wp--preset--color--seal-oxblood); }
.magister-faq-item[open] { border-color: var(--wp--preset--color--seal-oxblood); background: var(--wp--preset--color--vellum); }
.magister-faq-item summary { cursor: pointer; font-family: var(--wp--preset--font-family--inter); font-weight: 600; font-size: 16px; line-height: 1.4; color: var(--wp--preset--color--magister-navy); display: flex; align-items: baseline; gap: 12px; list-style: none; }
.magister-faq-item summary::-webkit-details-marker { display: none; }
.magister-faq-item summary::after { content: "+"; margin-left: auto; font-family: var(--wp--preset--font-family--playfair); font-size: 26px; color: var(--wp--preset--color--gold-leaf); line-height: 0.6; transition: transform 200ms ease; }
.magister-faq-item[open] summary::after { content: "−"; }
.magister-faq-num { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; color: var(--wp--preset--color--gold-leaf); font-size: 15px; flex-shrink: 0; }
.magister-faq-answer { padding-top: 12px; margin-top: 12px; border-top: 1px dashed #E3E4E2; font-size: 16px; line-height: 1.6; color: var(--wp--preset--color--inkwell); }
.magister-faq-answer p { margin: 0; }

.magister-faq-footer { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; padding: 20px 24px; background: var(--wp--preset--color--vellum); border-left: 3px solid var(--wp--preset--color--gold-leaf); border-radius: 0 4px 4px 0; }
.magister-faq-footer-text { font-size: 16px; color: var(--wp--preset--color--inkwell); }
.magister-faq-footer-link { font-weight: 700; color: var(--wp--preset--color--seal-oxblood); text-decoration: none; font-size: 16px; }
.magister-faq-footer-link:hover { text-decoration: underline; }

/* ============================================================
   Pull quote + metric (reused from earlier patterns)
   ============================================================ */
.magister-pullquote { font-family: var(--wp--preset--font-family--playfair); font-weight: 500; font-size: clamp(22px, 3vw, 32px); line-height: 1.3; letter-spacing: -0.005em; }
.magister-pullquote cite { display: block; margin-top: 16px; font-family: var(--wp--preset--font-family--inter); font-style: italic; font-size: 15px; font-weight: 400; color: var(--wp--preset--color--footnote-gray); }
.magister-metric { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: clamp(36px, 5vw, 64px); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: lining-nums; }

/* ============================================================
   Verticals card (reused)
   ============================================================ */
.magister-vertical-card { background: var(--wp--preset--color--page-white); padding: 32px; border: 1px solid #E3E4E2; border-radius: 6px; transition: transform 180ms ease, box-shadow 180ms ease; height: 100%; display: flex; flex-direction: column; }
.magister-vertical-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(22, 23, 26, 0.08); }
.magister-vertical-card h3 { font-size: 26px; margin: 0 0 12px; }

/* ============================================================
   Founder section (reused)
   ============================================================ */
.magister-founder-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 900px) { .magister-founder-grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.magister-founder h3 { font-size: 28px; margin: 0 0 4px; }
.magister-founder-title { font-family: var(--wp--preset--font-family--inter); font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--seal-oxblood); font-weight: 700; margin-bottom: 20px; }

/* ============================================================
   HEADER. Large logo, standard nav, persistent CTA.
   ============================================================ */
.magister-header { background: var(--wp--preset--color--ivory); border-bottom: 1px solid rgba(22, 23, 26, 0.12); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(8px); }
.magister-header-inner { max-width: 1320px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; gap: 24px; }
.magister-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.magister-logo-mark { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: var(--wp--preset--color--magister-navy); color: var(--wp--preset--color--gold-leaf); font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: 24px; border-radius: 4px; letter-spacing: -0.02em; }
.magister-logo-wordmark { font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: 24px; color: var(--wp--preset--color--magister-navy); letter-spacing: -0.015em; line-height: 1; }
.magister-nav { display: none; gap: 4px; margin-left: 24px; flex: 1; }
@media (min-width: 1024px) { .magister-nav { display: flex; } }
.magister-nav-link { color: var(--wp--preset--color--inkwell); text-decoration: none; font-size: 15px; font-weight: 500; padding: 10px 14px; border-radius: 3px; transition: background 140ms ease, color 140ms ease; }
.magister-nav-link:hover { background: var(--wp--preset--color--vellum); color: var(--wp--preset--color--magister-navy); }
.magister-header-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.magister-header-phone { display: none; color: var(--wp--preset--color--magister-navy); text-decoration: none; font-weight: 600; font-size: 15px; }
@media (min-width: 768px) { .magister-header-phone { display: inline; } }
/* Header action = secondary, brand BLUE (coral stays reserved for the page's
   primary "Book a strategy call" CTA). */
.magister-header-cta { display: inline-block; background: #D4AF37; color: var(--wp--preset--color--ivory); font-family: var(--wp--preset--font-family--inter); font-weight: 700; font-size: 14px; padding: 11px 20px; border-radius: 4px; text-decoration: none; transition: background 160ms ease; }
.magister-header-cta:hover { background: #E3C24E; color: var(--wp--preset--color--ivory); }

/* ============================================================
   FOOTER. Brighter, dense 5-col, no dead space.
   ============================================================ */
.magister-footer { background: var(--wp--preset--color--magister-navy); color: var(--wp--preset--color--ivory); }

/* Final-CTA strip = charcoal band so the coral booking button is the one
   warm element that pops (was a gold gradient with ink text). */
.magister-footer-cta-strip { background: #0F1115; color: #F7F7F5; padding: 28px 24px; }
.magister-footer-cta-inner { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 18px; align-items: center; }
@media (min-width: 900px) { .magister-footer-cta-inner { grid-template-columns: 1.6fr 1fr; gap: 32px; } }
.magister-footer-cta-eyebrow { font-family: var(--wp--preset--font-family--inter); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: #D4AF37; margin-bottom: 6px; }
.magister-footer-cta-headline { font-family: var(--wp--preset--font-family--playfair); font-weight: 700; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.2; color: #F7F7F5; }
.magister-footer-cta-sub { font-size: 15px; color: rgba(247, 247, 245, 0.85); margin-top: 6px; }
.magister-footer-cta-action { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
@media (min-width: 900px) { .magister-footer-cta-action { align-items: flex-end; } }
/* Primary booking CTA = gold fill + graphite #0F1115 bold label (~8.5:1). */
.magister-footer-cta-btn { background: #D4AF37; color: #0F1115; font-family: var(--wp--preset--font-family--inter); font-weight: 700; font-size: 16px; padding: 16px 26px; border-radius: 4px; text-decoration: none; min-height: 52px; display: inline-flex; align-items: center; }
.magister-footer-cta-btn:hover { background: #E3C24E; color: #0F1115; }
.magister-footer-cta-phone { color: var(--wp--preset--color--magister-navy); font-weight: 600; font-size: 14px; text-decoration: none; }

.magister-footer-main { padding: 64px 24px 48px; }
.magister-footer-grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 700px)  { .magister-footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .magister-footer-grid { grid-template-columns: 1.4fr repeat(4, 1fr); gap: 40px 32px; } }
.magister-footer-col-brand .magister-footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.magister-footer-col-brand .magister-logo-wordmark { color: var(--wp--preset--color--ivory); font-size: 22px; }
.magister-footer-col-brand .magister-logo-mark { background: var(--wp--preset--color--gold-leaf); color: var(--wp--preset--color--magister-navy); }
.magister-footer-blurb { font-size: 15px; line-height: 1.55; color: rgba(247, 247, 245, 0.85); max-width: 340px; margin: 0 0 24px; }
.magister-footer-social { display: flex; gap: 16px; }
.magister-footer-social a { color: var(--wp--preset--color--gold-leaf); text-decoration: none; font-size: 14px; font-weight: 600; }
.magister-footer-social a:hover { color: var(--wp--preset--color--ivory); }

.magister-footer-col h4 { font-family: var(--wp--preset--font-family--inter); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--wp--preset--color--gold-leaf); margin: 0 0 16px; }
.magister-footer-h4-spaced { margin-top: 28px !important; }
.magister-footer-col ul { list-style: none; padding: 0; margin: 0; }
.magister-footer-col li { padding: 5px 0; }
.magister-footer-col a { color: rgba(247, 247, 245, 0.9); text-decoration: none; font-size: 15px; line-height: 1.5; transition: color 140ms ease; }
.magister-footer-col a:hover { color: var(--wp--preset--color--gold-leaf); text-decoration: underline; }

.magister-footer-col-contact .magister-footer-contact-block { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.magister-footer-phone { color: var(--wp--preset--color--ivory); text-decoration: none; font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: 22px; letter-spacing: -0.01em; line-height: 1.1; }
.magister-footer-phone:hover { color: var(--wp--preset--color--gold-leaf); }
.magister-footer-email { color: rgba(247, 247, 245, 0.9); text-decoration: none; font-size: 15px; }
.magister-footer-email:hover { color: var(--wp--preset--color--gold-leaf); text-decoration: underline; }
.magister-footer-hours { font-size: 14px; color: rgba(247, 247, 245, 0.75); margin-bottom: 18px; }
.magister-footer-hours-line { line-height: 1.6; }
.magister-footer-mini-cta { color: var(--wp--preset--color--gold-leaf); font-weight: 700; text-decoration: none; font-size: 15px; }
.magister-footer-mini-cta:hover { text-decoration: underline; }

.magister-footer-bottom { background: rgba(0, 0, 0, 0.18); padding: 18px 24px; }
.magister-footer-bottom-inner { max-width: 1320px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; font-size: 14px; }
.magister-footer-copy { color: rgba(247, 247, 245, 0.75); }
.magister-footer-legal { display: flex; gap: 18px; }
.magister-footer-legal a { color: rgba(247, 247, 245, 0.85); text-decoration: none; font-size: 14px; }
.magister-footer-legal a:hover { color: var(--wp--preset--color--gold-leaf); text-decoration: underline; }

/* ============================================================
   AKA FRAMEWORK — Authority Hub, Knowledge, Answer templates
   All layouts: zero dead space, full-width grids, body >= 16px.
   ============================================================ */

/* --- Shared breadcrumb bar --- */
.magister-breadcrumb-bar { background: var(--wp--preset--color--vellum); border-bottom: 1px solid #E3E4E2; }
.magister-breadcrumb-inner { max-width: 1280px; margin: 0 auto; padding: 10px 24px; }
.magister-breadcrumb { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 14px; color: var(--wp--preset--color--footnote-gray); }
.magister-breadcrumb a { color: var(--wp--preset--color--seal-oxblood); text-decoration: none; }
.magister-breadcrumb a:hover { text-decoration: underline; }
.magister-breadcrumb-sep { color: var(--wp--preset--color--footnote-gray); padding: 0 2px; }
.magister-breadcrumb-current { color: var(--wp--preset--color--inkwell); font-weight: 500; }
.magister-eyebrow-hub-link { color: var(--wp--preset--color--seal-oxblood); text-decoration: none; font-weight: 700; }
.magister-eyebrow-hub-link:hover { text-decoration: underline; }
.magister-eyebrow-sep { color: var(--wp--preset--color--footnote-gray); }

/* --- Shared quick-answer box --- */
.magister-quick-answer { background: var(--wp--preset--color--vellum); border-left: 3px solid var(--wp--preset--color--gold-leaf); padding: 18px 22px; border-radius: 0 4px 4px 0; margin: 24px 0 0; }
.magister-quick-answer-featured { border-left-color: var(--wp--preset--color--seal-oxblood); background: var(--wp--preset--color--page-white); box-shadow: 0 2px 8px rgba(22, 23, 26,0.06); }
.magister-quick-answer-label { font-family: var(--wp--preset--font-family--inter); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--seal-oxblood); font-weight: 700; margin-bottom: 10px; }
.magister-quick-answer-text { font-size: 17px; line-height: 1.6; color: var(--wp--preset--color--inkwell); margin: 0; }

/* --- Shared sidebar cards --- */
.magister-sidebar-card { background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 20px 22px; margin-bottom: 16px; }
.magister-sidebar-card-vellum { background: var(--wp--preset--color--vellum); border-color: #E3E4E2; }
.magister-sidebar-card-navy { background: var(--wp--preset--color--magister-navy); border-color: var(--wp--preset--color--magister-navy); }
.magister-sidebar-links { list-style: none; padding: 0; margin: 0; }
.magister-sidebar-links li { padding: 6px 0; border-bottom: 1px dashed #E3E4E2; font-size: 15px; line-height: 1.45; }
.magister-sidebar-links li:last-child { border-bottom: 0; }
.magister-sidebar-links a { color: var(--wp--preset--color--seal-oxblood); text-decoration: none; }
.magister-sidebar-links a:hover { text-decoration: underline; }
.magister-sidebar-links-answer li::before { content: "Q: "; font-weight: 700; color: var(--wp--preset--color--footnote-gray); font-size: 12px; }
.magister-sidebar-current { display: flex; align-items: baseline; gap: 8px; }
.magister-sidebar-badge { font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--ivory); background: var(--wp--preset--color--seal-oxblood); padding: 2px 7px; border-radius: 2px; white-space: nowrap; flex-shrink: 0; }
.magister-sidebar-hub-link { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.magister-sidebar-hub-label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--seal-oxblood); font-weight: 700; }
.magister-sidebar-hub-title { font-family: var(--wp--preset--font-family--playfair); font-weight: 600; font-size: 18px; color: var(--wp--preset--color--magister-navy); line-height: 1.25; }
.magister-sidebar-hub-title:hover { text-decoration: underline; }
.magister-sidebar-sticky { position: sticky; top: 80px; }

/* --- Shared content sections --- */
.magister-content-section { margin-bottom: 48px; }
.magister-content-section h2 { margin-bottom: 16px; }
.magister-content-section h3 { margin: 24px 0 10px; }
.magister-content-section p { font-size: 17px; line-height: 1.65; margin-bottom: 1em; }
.magister-content-section ul, .magister-content-section ol { font-size: 17px; line-height: 1.65; padding-left: 1.4em; margin-bottom: 1em; }
.magister-content-section li { margin-bottom: 0.4em; }

/* --- Shared bottom CTA grid --- */
.magister-bottom-cta-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
@media (min-width: 900px) { .magister-bottom-cta-grid { grid-template-columns: 1.5fr 1fr; gap: 64px; } }
.magister-bottom-cta-proof { list-style: none; padding: 0; margin: 20px 0 0; font-size: 15px; line-height: 1.6; color: rgba(247, 247, 245,0.85); }
.magister-bottom-cta-proof li { padding: 4px 0 4px 18px; position: relative; }
.magister-bottom-cta-proof li::before { content: "+"; position: absolute; left: 0; color: var(--wp--preset--color--gold-leaf); font-weight: 700; }
.magister-bottom-cta-action { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
@media (min-width: 900px) { .magister-bottom-cta-action { align-items: flex-end; } }
.magister-bottom-cta-secondary { color: rgba(247, 247, 245,0.85); font-size: 15px; text-decoration: none; font-weight: 600; }
.magister-bottom-cta-secondary:hover { color: var(--wp--preset--color--gold-leaf); }

/* --- Shared related grid --- */
.magister-related-wrap { max-width: 1280px; margin: 0 auto; }
.magister-related-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
@media (min-width: 640px) { .magister-related-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .magister-related-grid { grid-template-columns: repeat(3, 1fr); } }
.magister-related-card { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 16px 18px; text-decoration: none; transition: border-color 160ms ease, transform 140ms ease; }
.magister-related-card:hover { border-color: var(--wp--preset--color--seal-oxblood); transform: translateY(-2px); }
.magister-related-card-knowledge { background: var(--wp--preset--color--vellum); }
.magister-related-card-type { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--footnote-gray); font-weight: 700; display: block; margin-bottom: 4px; }
.magister-related-card-q { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--magister-navy); line-height: 1.4; flex: 1; }
.magister-related-card-arrow { color: var(--wp--preset--color--seal-oxblood); font-size: 18px; flex-shrink: 0; }
.magister-related-footer { margin-top: 28px; }

/* ============================================================
   AUTHORITY HUB — page-authority-hub.html
   ============================================================ */
.magister-authority-hero-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-authority-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr); gap: 64px; } }
.magister-authority-hero-cta { margin: 24px 0 0; }
.magister-authority-trust-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(22, 23, 26,0.12); }
@media (min-width: 768px) { .magister-authority-trust-bar { grid-template-columns: repeat(4, 1fr); } }
.magister-trust-item { font-size: 14px; line-height: 1.45; color: var(--wp--preset--color--footnote-gray); }
.magister-trust-item strong { display: block; font-family: var(--wp--preset--font-family--inter); font-weight: 700; font-size: 14px; color: var(--wp--preset--color--magister-navy); margin-bottom: 4px; }
.magister-authority-hero-right { display: flex; flex-direction: column; gap: 16px; }
.magister-toc-card { background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 20px 22px; }
.magister-toc-list { list-style: decimal; padding-left: 1.2em; margin: 8px 0 0; font-size: 15px; line-height: 1.5; }
.magister-toc-list li { padding: 4px 0; }
.magister-toc-list a { color: var(--wp--preset--color--seal-oxblood); text-decoration: none; }
.magister-toc-list a:hover { text-decoration: underline; }
.magister-qualifier-box { background: var(--wp--preset--color--vellum); border-left: 3px solid var(--wp--preset--color--gold-leaf); border-radius: 0 4px 4px 0; padding: 18px 22px; }
.magister-qualifier-list { list-style: none; padding: 0; margin: 8px 0 14px; font-size: 15px; line-height: 1.6; color: var(--wp--preset--color--inkwell); }
.magister-qualifier-list li { padding: 4px 0 4px 18px; position: relative; }
.magister-qualifier-list li::before { content: "+"; position: absolute; left: 0; color: var(--wp--preset--color--gold-leaf); font-weight: 700; }

/* Authority body: 2-col, content + sticky sidebar */
.magister-authority-body-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-authority-body-grid { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); gap: 64px; } }
.magister-authority-sidebar { display: none; }
@media (min-width: 1024px) { .magister-authority-sidebar { display: block; } }

/* Metrics row inside body sections */
.magister-authority-metrics-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 28px 0; padding: 24px; background: var(--wp--preset--color--vellum); border-radius: 4px; }
.magister-authority-metric-item { display: flex; flex-direction: column; gap: 6px; }
.magister-metric-label { font-size: 14px; color: var(--wp--preset--color--footnote-gray); line-height: 1.4; }

/* Internal linking section */
.magister-linking-wrap { max-width: 1280px; margin: 0 auto; }
.magister-linking-header { margin-bottom: 40px; }
.magister-linking-section { margin-bottom: 40px; }
.magister-linking-section-label { font-family: var(--wp--preset--font-family--inter); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--footnote-gray); font-weight: 700; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid #E3E4E2; }
.magister-linking-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .magister-linking-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .magister-linking-grid { grid-template-columns: repeat(3, 1fr); } }
.magister-link-card { display: flex; flex-direction: column; gap: 4px; background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 16px 18px; text-decoration: none; transition: border-color 160ms ease, transform 140ms ease; }
.magister-link-card:hover { border-color: var(--wp--preset--color--seal-oxblood); transform: translateY(-2px); }
.magister-link-card-knowledge { background: var(--wp--preset--color--page-white); }
.magister-link-card-answer { background: var(--wp--preset--color--vellum); }
.magister-link-card-type { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--footnote-gray); font-weight: 700; }
.magister-link-card-title { font-family: var(--wp--preset--font-family--inter); font-weight: 600; font-size: 15px; color: var(--wp--preset--color--magister-navy); line-height: 1.4; }
.magister-link-card-meta { font-size: 13px; color: var(--wp--preset--color--footnote-gray); line-height: 1.4; }

/* FAQ section (authority) */
.magister-faq-section .magister-faq-grid { max-width: 1280px; margin: 0 auto; }
.magister-authority-bottom-cta { padding-top: 72px; padding-bottom: 72px; }

/* ============================================================
   KNOWLEDGE — page-knowledge.html
   ============================================================ */
.magister-knowledge-hero-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-knowledge-hero-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.85fr); gap: 56px; } }

/* Knowledge body: 2-col, content + sidebar */
.magister-knowledge-body-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-knowledge-body-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 56px; } }
.magister-knowledge-sidebar { display: none; }
@media (min-width: 1024px) { .magister-knowledge-sidebar { display: block; } }

/* Knowledge FAQ: embedded inside main column, single-col on knowledge pages */
.magister-knowledge-faq .magister-faq-grid { grid-template-columns: 1fr; gap: 12px; }

/* Related grid (knowledge) */
.magister-knowledge-related .magister-related-wrap { max-width: 1280px; margin: 0 auto; }
.magister-knowledge-bottom-cta { padding-top: 72px; padding-bottom: 72px; }

/* ============================================================
   ANSWER — page-answer.html
   ============================================================ */
.magister-answer-hero-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-answer-hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); gap: 56px; } }

/* Answer body: 2-col, narrower than knowledge (1000 words fits tighter) */
.magister-answer-body-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 1024px) { .magister-answer-body-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 56px; } }
.magister-answer-sidebar { display: none; }
@media (min-width: 1024px) { .magister-answer-sidebar { display: block; } }

/* What to do next section */
.magister-answer-next-grid { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1280px; margin: 0 auto; align-items: start; }
@media (min-width: 900px) { .magister-answer-next-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; } }
.magister-next-steps-list { font-size: 17px; line-height: 1.65; padding-left: 1.4em; margin: 16px 0 0; }
.magister-next-steps-list li { margin-bottom: 0.5em; }
.magister-next-cta-card { background: var(--wp--preset--color--page-white); border: 1px solid #E3E4E2; border-radius: 4px; padding: 24px 26px; }
.magister-answer-bottom-cta { padding-top: 72px; padding-bottom: 72px; }

/* ============================================================
   Mobile bottom CTA
   ============================================================ */
.magister-mobile-cta { display: none; }
@media (max-width: 1023px) {
	.magister-mobile-cta { display: flex; gap: 10px; position: fixed; bottom: 0; left: 0; right: 0; background: var(--wp--preset--color--magister-navy); padding: 10px 12px; z-index: 60; box-shadow: 0 -2px 14px rgba(0,0,0,0.22); }
	.magister-mobile-cta a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-align: center; padding: 13px 8px; border-radius: 8px; font-weight: 700; text-decoration: none; min-height: 52px; line-height: 1.2; font-size: 19px; }
	/* Sticky mobile bar: both = gold action fill + graphite #0F1115 label (~8.5:1). */
	.magister-mobile-cta__call { flex: 1.15; background: #D4AF37; color: #0F1115; }
	.magister-mobile-cta__book { background: #D4AF37; color: #0F1115; border: 0; }
	.magister-mobile-cta a svg { flex: none; }
	body { padding-bottom: 84px; }
}

/* ============================================================
   Accessibility, focus, reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
:focus-visible { outline: 2px solid var(--wp--preset--color--gold-leaf); outline-offset: 3px; border-radius: 2px; }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--wp--preset--color--magister-navy); color: var(--wp--preset--color--ivory); padding: 12px 20px; z-index: 100; text-decoration: none; }
.skip-link:focus { left: 0; }

/* === WAVE 5 AGENT B: HOMEPAGE + NAV PAGES === */
/* Owner: Wave 5 Agent B. Scope: front-page, /home-services, /medical, /legal, /about, /contact.
   Repairs unstyled classes used across the internal templates (btn-primary, pillars-grid,
   verticals-grid, vertical-card, proof-stats, problem-wrap, founders-grid, final-cta-wrap, etc.)
   and adds the premium agency-level polish: 18-19px body, 1.65 line-height, 64-72ch paragraph
   max-widths, generous section padding, confident button hierarchy, zero-dead-space rhythm.
   Higher specificity than the legacy rules above; no edits to existing CSS outside this block. */

/* ---- Body baseline lift (newspaper-density, agency-quality readability) ---- */
body.wp-singular { font-size: 17px; line-height: 1.65; }
@media (min-width: 768px) { body.wp-singular { font-size: 18px; } }
@media (min-width: 1280px) { body.wp-singular { font-size: 19px; line-height: 1.7; } }

/* ---- Primary CTA: btn-primary alias was never styled. Repair. ---- */
a.btn-primary,
.btn-primary {
	display: inline-block;
	background: var(--wp--preset--color--magister-navy);
	color: var(--wp--preset--color--ivory) !important;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.005em;
	padding: 18px 32px;
	border-radius: 4px;
	border: 0;
	min-height: 56px;
	text-decoration: none !important;
	line-height: 1.2;
	transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
	box-shadow: 0 2px 6px rgba(22, 23, 26, 0.12);
}
a.btn-primary:hover,
.btn-primary:hover {
	background: #0F1115;
	color: var(--wp--preset--color--ivory) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(22, 23, 26, 0.22);
}
a.btn-primary:focus-visible { outline: 2px solid var(--wp--preset--color--gold-leaf); outline-offset: 3px; }

/* ---- Section wraps used by internal templates ---- */
.problem-wrap,
.proof-wrap,
.founders-wrap,
.final-cta-wrap {
	max-width: 1100px;
	margin: 0 auto;
}
.final-cta-wrap { max-width: 820px; text-align: center; }
.final-cta-wrap > p,
.final-cta-wrap > .magister-h2 { text-align: center; }
.final-cta-wrap h2 { margin-left: auto; margin-right: auto; max-width: 760px; }
.proof-wrap { max-width: 1280px; }
.founders-wrap { max-width: 1200px; }

/* ---- Problem section: pull-quote upgrade ---- */
.problem-wrap .magister-eyebrow { margin-bottom: 18px; }
.problem-wrap > h2.magister-h2 { margin-bottom: 24px; max-width: 820px; }
.problem-wrap > p { font-size: clamp(17px, 1.6vw, 19px); line-height: 1.65; max-width: 70ch; margin-bottom: 18px; color: var(--wp--preset--color--inkwell); }
blockquote.problem-quote {
	margin: 40px 0 0;
	padding: 24px 28px;
	background: var(--wp--preset--color--page-white);
	border-radius: 0 4px 4px 0;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.4;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--magister-navy);
}
blockquote.problem-quote cite { display: block; margin-top: 16px; font-family: var(--wp--preset--font-family--inter); font-style: italic; font-size: 15px; font-weight: 400; color: var(--wp--preset--color--footnote-gray); }

/* ---- Pillars (3-column) used on every vertical page ---- */
.pillars-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	max-width: 1280px;
	margin: 0 auto;
}
@media (min-width: 768px) { .pillars-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; } }
@media (min-width: 1024px) { .pillars-grid { grid-template-columns: repeat(3, 1fr); gap: 48px; } }

.pillars-grid .pillar {
	display: flex;
	flex-direction: column;
	padding: 36px 32px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 6px;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.pillars-grid .pillar:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(22, 23, 26, 0.08);
	border-color: var(--wp--preset--color--gold-leaf);
}
.pillars-grid .pillar-num {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 56px;
	line-height: 1;
	color: var(--wp--preset--color--gold-leaf);
	letter-spacing: -0.025em;
	margin-bottom: 18px;
}
.pillars-grid .pillar h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(22px, 2.1vw, 26px);
	line-height: 1.2;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 14px;
}
.pillars-grid .pillar p {
	font-size: 16px;
	line-height: 1.65;
	color: var(--wp--preset--color--inkwell);
	margin: 0;
}

/* ---- Proof stats (Navy section, 4-up) ---- */
.proof-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px 28px;
	margin-top: 40px;
	padding-top: 36px;
	border-top: 1px solid rgba(168, 132, 42, 0.35);
}
@media (min-width: 900px) { .proof-stats { grid-template-columns: repeat(4, 1fr); gap: 36px; } }
.proof-stats > div { display: flex; flex-direction: column; gap: 8px; }
.proof-stat-num {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(40px, 4.5vw, 56px);
	line-height: 1;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--gold-leaf);
}
.proof-stat-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	line-height: 1.45;
	color: rgba(247, 247, 245, 0.85);
}

/* ---- Verticals grid (services cards on vertical pages, sister brands on about) ---- */
.verticals-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin: 0;
}
@media (min-width: 700px)  { .verticals-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (min-width: 1100px) { .verticals-grid { grid-template-columns: repeat(3, 1fr); gap: 32px; } }

.vertical-card {
	display: flex;
	flex-direction: column;
	padding: 32px 30px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 6px;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	height: 100%;
}
.vertical-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(22, 23, 26, 0.08);
	border-color: var(--wp--preset--color--seal-oxblood);
}
.vertical-card-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--seal-oxblood);
	margin-bottom: 14px;
}
.vertical-card h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.2;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 12px;
}
.vertical-card > p {
	font-size: 16px;
	line-height: 1.65;
	color: var(--wp--preset--color--inkwell);
	margin: 0 0 16px;
}
.vertical-card ul {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}
.vertical-card ul li {
	position: relative;
	padding: 8px 0 8px 22px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--wp--preset--color--inkwell);
	border-bottom: 1px dashed #E3E4E2;
}
.vertical-card ul li:last-child { border-bottom: 0; }
.vertical-card ul li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 8px;
	color: var(--wp--preset--color--gold-leaf);
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 16px;
}
.vertical-card-link {
	margin-top: auto;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 14px;
	color: var(--wp--preset--color--seal-oxblood);
	text-decoration: none;
	padding-top: 8px;
	border-top: 1px solid #E3E4E2;
	display: inline-block;
	width: fit-content;
	letter-spacing: 0.01em;
}
.vertical-card-link:hover { text-decoration: underline; color: var(--wp--preset--color--magister-navy); }

/* ---- Founders (about page, 2-column) ---- */
.founders-wrap > h2.magister-h2 { max-width: 880px; margin-bottom: 20px; }
.founders-wrap > p { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.65; max-width: 72ch; margin-bottom: 56px; color: var(--wp--preset--color--inkwell); }
.founders-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
}
@media (min-width: 960px) { .founders-grid { grid-template-columns: 1fr 1fr; gap: 64px; } }

.founders-grid .founder {
	display: flex;
	flex-direction: column;
	padding: 36px 36px 40px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 6px;
	border-top: 4px solid var(--wp--preset--color--gold-leaf);
}
.founders-grid .founder h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(28px, 2.8vw, 36px);
	line-height: 1.1;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 6px;
	letter-spacing: -0.015em;
}
.founders-grid .founder-title {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--seal-oxblood);
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px dashed #E3E4E2;
}
.founders-grid .founder p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	margin: 0 0 14px;
	max-width: none;
}
.founders-grid .founder p:last-child { margin-bottom: 0; }

/* ---- Page-level eyebrow margin (used on internal pages) ---- */
section .magister-eyebrow { margin-bottom: 18px; }

/* ---- Hero + visual aside left-padding on inner pages: ensure microproof readability ---- */
.magister-hero-microproof > div { font-size: 13px; line-height: 1.5; }
.magister-hero-microproof strong { font-size: clamp(28px, 3vw, 36px); }

/* ---- About page: mid-CTA centered headline weight ---- */
.magister-bg-vellum > [style*="text-align:center"] p[style*="playfair"] {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

/* ---- Pull-quote bank (about page) ---- */
.magister-bg-vellum blockquote.magister-accent-bar {
	transition: transform 180ms ease, box-shadow 180ms ease, border-left-width 180ms ease;
}
.magister-bg-vellum blockquote.magister-accent-bar:hover {
	transform: translateX(2px);
	box-shadow: 0 8px 24px rgba(22, 23, 26, 0.08);
}

/* ---- Nav active state. Uses WP body classes (page-template-page-X, home) ---- */
.magister-nav-link.is-current,
.magister-nav-link[aria-current="page"],
body.home                              .magister-nav .magister-nav-link[href="/"],
body.page-template-page-home-services  .magister-nav .magister-nav-link[href="/home-services/"],
body.page-template-page-medical        .magister-nav .magister-nav-link[href="/medical-dental/"],
body.page-template-page-legal          .magister-nav .magister-nav-link[href="/legal/"],
body.page-template-page-about          .magister-nav .magister-nav-link[href="/about/"],
body.page-template-page-contact        .magister-nav .magister-nav-link[href="/contact/"] {
	color: var(--wp--preset--color--magister-navy);
	background: var(--wp--preset--color--vellum);
	font-weight: 700;
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--gold-leaf);
}

/* ---- Engagement (4-up) on vertical pages: tighten ---- */
section.magister-bg-vellum .magister-engine-grid {
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 700px) { section.magister-bg-vellum .magister-engine-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (min-width: 1100px) { section.magister-bg-vellum .magister-engine-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
section.magister-bg-vellum .magister-engine-stage {
	padding: 26px 24px 24px;
	background: var(--wp--preset--color--page-white) !important;
	border: 1px solid #E3E4E2 !important;
	border-top: 3px solid var(--wp--preset--color--seal-oxblood) !important;
	border-radius: 0 0 6px 6px;
}
section.magister-bg-vellum .magister-engine-stage .magister-stage-num {
	font-size: 38px;
}
section.magister-bg-vellum .magister-engine-stage .magister-stage-title {
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 10px;
}
section.magister-bg-vellum .magister-engine-stage .magister-stage-copy {
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 12px;
}
section.magister-bg-vellum .magister-engine-stage .magister-stage-mechanics { font-size: 13px; line-height: 1.5; }
section.magister-bg-vellum .magister-engine-stage .magister-stage-mechanics li { padding: 5px 0; border-bottom: 1px dashed #E3E4E2; }
section.magister-bg-vellum .magister-engine-stage .magister-stage-mechanics li:last-child { border-bottom: 0; }

/* ---- Operating Principles (about page, Navy 6-up) ---- */
.magister-bg-navy .magister-engine-grid { grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 700px)  { .magister-bg-navy .magister-engine-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (min-width: 1100px) { .magister-bg-navy .magister-engine-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; } }

/* ---- Standing medical disclaimer ---- */
.magister-bg-navy + div[style*="vellum"][style*="text-align:center"] {
	padding: 24px 32px !important;
	font-size: 13px !important;
}

/* ---- Internal page hero microproof: full-width tightening ---- */
.magister-section .magister-hero-microproof { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .magister-section .magister-hero-microproof { grid-template-columns: repeat(4, 1fr); gap: 18px 24px; } }

/* ---- Mid-page CTA blocks: centered button alignment + better spacing ---- */
section.magister-section[style*="padding-top:72px"] > div[style*="text-align:center"] a.btn-primary,
section.magister-section[style*="padding-top:80px"] > div[style*="text-align:center"] a.btn-primary {
	margin-top: 8px;
}

/* ---- Final CTA section: enforce 820px center alignment + spacing ---- */
section[id="book-call"] .final-cta-wrap > .magister-eyebrow,
section[id="book-call"] .final-cta-wrap > h2,
section[id="book-call"] .final-cta-wrap > p,
section[id="book-call"] .final-cta-wrap > a.btn-primary {
	margin-left: auto;
	margin-right: auto;
}
section[id="book-call"] .final-cta-wrap > h2 { text-align: center; max-width: 760px; }
section[id="book-call"] .final-cta-wrap > p { text-align: center; max-width: 720px; }
section[id="book-call"] .final-cta-wrap > a.btn-primary { display: inline-block; }

/* ---- Contact page (real layout) ---- */
.magister-contact-page {
	padding: 0 !important;
	max-width: none;
	margin: 0;
	font-size: inherit;
}
.magister-contact-hero {
	background: var(--wp--preset--color--ivory);
	padding: 80px 24px 64px;
	border-bottom: 1px solid rgba(22, 23, 26, 0.08);
}
@media (min-width: 1024px) { .magister-contact-hero { padding: 120px 40px 88px; } }
.magister-contact-hero-inner { max-width: 1200px; margin: 0 auto; }
.magister-contact-hero h1 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(40px, 5.5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 20px;
	max-width: 18ch;
}
.magister-contact-hero p.lead {
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.6;
	color: var(--wp--preset--color--inkwell);
	max-width: 64ch;
	margin: 0;
}
.magister-contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 24px 96px;
	align-items: start;
}
@media (min-width: 960px) { .magister-contact-grid { grid-template-columns: 1.3fr 1fr; gap: 64px; padding: 96px 40px 120px; } }

.magister-contact-block { margin-bottom: 48px; }
.magister-contact-block:last-child { margin-bottom: 0; }
.magister-contact-block-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6E561A;            /* gold-ink on light (gold-on-white fails) */
	margin-bottom: 14px;
}
.magister-contact-block h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.15;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 16px;
	letter-spacing: -0.015em;
}
.magister-contact-block p {
	font-size: 17px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	max-width: 60ch;
	margin: 0 0 12px;
}
.magister-contact-channels {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-top: 24px;
}
@media (min-width: 600px) { .magister-contact-channels { grid-template-columns: 1fr 1fr; gap: 16px; } }
.magister-contact-channel {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 22px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 6px;
	text-decoration: none;
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.magister-contact-channel:hover {
	border-color: var(--wp--preset--color--seal-oxblood);
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(22, 23, 26, 0.08);
}
.magister-contact-channel-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6E561A;            /* gold-ink on light (gold-on-white fails) */
}
.magister-contact-channel-value {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--magister-navy);
}
.magister-contact-channel-meta {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	color: var(--wp--preset--color--footnote-gray);
	line-height: 1.4;
	margin-top: 4px;
}

.magister-contact-aside {
	position: sticky;
	top: 96px;
	background: var(--wp--preset--color--magister-navy);
	color: var(--wp--preset--color--ivory);
	border-radius: 8px;
	padding: 36px 32px 40px;
}
.magister-contact-aside .magister-eyebrow { color: var(--wp--preset--color--gold-leaf); margin-bottom: 14px; }
.magister-contact-aside h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 1.2;
	color: var(--wp--preset--color--ivory);
	margin: 0 0 14px;
	letter-spacing: -0.012em;
}
.magister-contact-aside p {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(247, 247, 245, 0.9);
	margin: 0 0 24px;
}
.magister-contact-aside ul {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(247, 247, 245, 0.92);
}
.magister-contact-aside ul li {
	position: relative;
	padding: 6px 0 6px 22px;
	border-bottom: 1px dashed rgba(168, 132, 42, 0.3);
}
.magister-contact-aside ul li:last-child { border-bottom: 0; }
.magister-contact-aside ul li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 6px;
	color: var(--wp--preset--color--gold-leaf);
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
}
.magister-contact-aside .magister-aside-cta {
	display: inline-block;
	background: #D4AF37;
	color: #0F1115;          /* graphite label on gold (~8.5:1) */
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 19px;
	padding: 14px 24px;
	border-radius: 4px;
	text-decoration: none;
	min-height: 48px;
	transition: background 180ms ease, transform 180ms ease;
}
.magister-contact-aside .magister-aside-cta:hover { background: #E3C24E; transform: translateY(-1px); }
.magister-contact-aside-microline {
	display: block;
	margin-top: 14px;
	font-size: 13px;
	color: rgba(247, 247, 245, 0.7);
	line-height: 1.5;
}

/* ---- Contact page strip (vertical reach-out band, full-bleed) ---- */
.magister-contact-verticals {
	background: var(--wp--preset--color--vellum);
	padding: 64px 24px 72px;
	border-top: 1px solid rgba(22, 23, 26, 0.08);
}
@media (min-width: 1024px) { .magister-contact-verticals { padding: 96px 40px 104px; } }
.magister-contact-verticals-inner { max-width: 1200px; margin: 0 auto; }
.magister-contact-verticals h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.15;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 12px;
	max-width: 760px;
}
.magister-contact-verticals p {
	font-size: 17px;
	line-height: 1.65;
	color: var(--wp--preset--color--inkwell);
	max-width: 66ch;
	margin: 0 0 40px;
}
.magister-contact-verticals-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 700px)  { .magister-contact-verticals-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.magister-contact-vertical {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 26px 26px 24px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-left: 4px solid var(--wp--preset--color--gold-leaf);
	border-radius: 0 6px 6px 0;
	text-decoration: none;
	transition: border-left-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.magister-contact-vertical:hover {
	border-left-color: var(--wp--preset--color--seal-oxblood);
	transform: translateX(2px);
	box-shadow: 0 8px 22px rgba(22, 23, 26, 0.08);
}
.magister-contact-vertical-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6E561A;            /* gold-ink on light (gold-on-white fails) */
}
.magister-contact-vertical-name {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.2;
	color: var(--wp--preset--color--magister-navy);
	letter-spacing: -0.01em;
}
.magister-contact-vertical-meta {
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--footnote-gray);
	margin-top: 2px;
}

/* ---- Make WP post-title h1 inherit Playfair Display on default page template (used for fallback contact rendering) ---- */
main.magister-section > h1.wp-block-post-title {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(40px, 5vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--magister-navy);
}

/* ---- Trim em-dash-shaped dashes from older nav copy: not applicable, but ensure smooth wrap on long microproof labels ---- */
.magister-hero-microproof > div { word-break: normal; overflow-wrap: anywhere; }

/* === END WAVE 5 AGENT B === */

/* === WAVE 5 AGENT C: AUTHORITY HUB === */

/* ================================================================
   Authority Hub long-form article styling.
   Scope: any page rendering through wp-block-post-content INSIDE
   main.magister-section. Currently only the Hub 1 URL hits this DOM
   shape. Other templates (homepage, about) do not use post-content,
   so this is effectively scoped to authority/knowledge/answer URLs
   that fall through to the generic page.html template until their
   custom templates are assigned in WP.

   Goal: turn a bare wp-post-title + wp-post-content render into a
   premium 4,000-word reading experience with:
   - reading progress indicator (CSS-only)
   - eyebrow + meta strip under H1
   - generous H2 rhythm + decorative section dividers
   - drop cap on intro paragraph
   - styled inline <code> as data-citation chip
   - promoted <strong> mini-headings in body
   - end-of-article CTA card
   - smooth-scroll anchor offset for any in-page jumps
   ================================================================ */

/* Smooth scrolling + offset for any future anchor links */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Reading progress indicator (CSS-only) ---------- */
/* Uses position:fixed + a CSS scroll-driven animation. Falls back
   silently on browsers without scroll-timeline support. */
body:has(main .wp-block-post-content)::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
	background: linear-gradient(90deg,
		var(--wp--preset--color--seal-oxblood) 0%,
		var(--wp--preset--color--gold-leaf) 100%);
	transform-origin: 0 50%;
	transform: scaleX(0);
	z-index: 90;
	pointer-events: none;
	animation: magister-reading-progress linear;
	animation-timeline: scroll(root);
}
@keyframes magister-reading-progress {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
	body:has(main .wp-block-post-content)::before { display: none; }
}

/* ---------- Main article container ---------- */
main.magister-section:has(.wp-block-post-content) {
	background: var(--wp--preset--color--ivory);
	padding: 64px 24px 96px;
}
@media (min-width: 768px) {
	main.magister-section:has(.wp-block-post-content) { padding: 80px 32px 120px; }
}
@media (min-width: 1024px) {
	main.magister-section:has(.wp-block-post-content) { padding: 96px 40px 140px; }
}

/* ---------- H1 + meta strip ---------- */
main.magister-section .wp-block-post-title {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(36px, 5.2vw, 64px);
	line-height: 1.04;
	letter-spacing: -0.022em;
	color: var(--wp--preset--color--magister-navy);
	max-width: 18ch;
	margin: 0 auto 12px !important;
	padding: 0;
	position: relative;
}

/* Eyebrow placed via ::before on H1 — Authority / Hub label */
main.magister-section .wp-block-post-title::before {
	content: "Authority Guide";
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	margin-bottom: 18px;
}

/* Meta strip after H1: read time / sections / positioning. */
main.magister-section .wp-block-post-title::after {
	content: "16-minute read  ·  12 sections  ·  Operator-grade playbook";
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--footnote-gray);
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(22, 23, 26,0.10);
	max-width: 760px;
}

/* ---------- Article content container ---------- */
main.magister-section .wp-block-post-content {
	max-width: 760px;
	margin: 48px auto 0 !important;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 18px;
	line-height: 1.72;
	color: var(--wp--preset--color--inkwell);
	counter-reset: magister-section-counter;
}

/* Body paragraphs: premium reading rhythm */
main.magister-section .wp-block-post-content > p {
	font-size: 18px;
	line-height: 1.72;
	margin: 0 0 24px;
	color: var(--wp--preset--color--inkwell);
	max-width: 70ch;
}

/* Drop-cap on the first paragraph */
main.magister-section .wp-block-post-content > p:first-of-type::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 80px;
	line-height: 0.85;
	color: var(--wp--preset--color--seal-oxblood);
	padding: 8px 14px 0 0;
	margin-top: 6px;
}
@media (max-width: 640px) {
	main.magister-section .wp-block-post-content > p:first-of-type::first-letter {
		font-size: 60px;
		padding: 4px 10px 0 0;
	}
}

/* ---------- H2 section rhythm + numbered divider ---------- */
main.magister-section .wp-block-post-content > h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--magister-navy);
	margin: 88px 0 24px !important;
	padding-top: 56px;
	position: relative;
	max-width: 24ch;
}

/* Decorative divider + section counter above each H2.
   CSS counters auto-number without HTML changes. */
main.magister-section .wp-block-post-content > h2::before {
	counter-increment: magister-section-counter;
	content: "Section " counter(magister-section-counter, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	padding-bottom: 16px;
	width: 100%;
	border-top: 1px solid rgba(22, 23, 26,0.14);
	padding-top: 18px;
}
/* Gold underline accent on every H2 */
main.magister-section .wp-block-post-content > h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--wp--preset--color--gold-leaf);
	margin: 18px 0 0;
}

@media (min-width: 1024px) {
	main.magister-section .wp-block-post-content > h2 {
		margin-top: 112px !important;
		padding-top: 64px;
	}
}

/* ---------- H3 subheads ---------- */
main.magister-section .wp-block-post-content > h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(22px, 2.2vw, 28px);
	line-height: 1.25;
	color: var(--wp--preset--color--magister-navy);
	margin: 48px 0 14px !important;
}

/* ---------- Promote <strong> at start of paragraph into mini-heading ---------- */
main.magister-section .wp-block-post-content > p > strong:first-child {
	display: inline-block;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--magister-navy);
	background: linear-gradient(180deg, transparent 60%, rgba(168, 132, 42,0.22) 60%);
	padding: 0 2px;
	margin-right: 4px;
}

/* ---------- Inline <code> as data-citation chip ---------- */
main.magister-section .wp-block-post-content code {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.86em;
	font-weight: 600;
	color: var(--wp--preset--color--seal-oxblood);
	background: rgba(124,45,45,0.06);
	border: 1px solid rgba(124,45,45,0.14);
	border-radius: 2px;
	padding: 1px 7px;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

/* ---------- Lists ---------- */
main.magister-section .wp-block-post-content > ul,
main.magister-section .wp-block-post-content > ol {
	font-size: 18px;
	line-height: 1.7;
	max-width: 70ch;
	padding-left: 0;
	margin: 0 0 24px;
	list-style: none;
}
main.magister-section .wp-block-post-content > ul > li,
main.magister-section .wp-block-post-content > ol > li {
	position: relative;
	padding: 6px 0 6px 32px;
	margin: 0;
	border-bottom: 1px dashed rgba(22, 23, 26,0.08);
}
main.magister-section .wp-block-post-content > ul > li:last-child,
main.magister-section .wp-block-post-content > ol > li:last-child {
	border-bottom: 0;
}
main.magister-section .wp-block-post-content > ul > li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 17px;
	width: 14px;
	height: 2px;
	background: var(--wp--preset--color--gold-leaf);
}
main.magister-section .wp-block-post-content > ol { counter-reset: list-counter; }
main.magister-section .wp-block-post-content > ol > li { counter-increment: list-counter; }
main.magister-section .wp-block-post-content > ol > li::before {
	content: counter(list-counter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 6px;
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--seal-oxblood);
	letter-spacing: 0.04em;
}

/* ---------- Inline links inside article ---------- */
main.magister-section .wp-block-post-content a:not(.wp-element-button) {
	color: var(--wp--preset--color--seal-oxblood);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(124,45,45,0.32);
	transition: text-decoration-color 160ms ease, color 160ms ease;
}
main.magister-section .wp-block-post-content a:not(.wp-element-button):hover {
	text-decoration-color: var(--wp--preset--color--seal-oxblood);
}

/* ---------- LAST PARAGRAPH styled as in-line CTA promo ---------- */
/* The article's final <p> is <strong>Schedule a Private Consultation...</strong>.
   Promote that final strong-only paragraph into an inline CTA panel. */
main.magister-section .wp-block-post-content > p:last-of-type:has(> strong:only-child) {
	display: block;
	margin: 56px 0 0;
	padding: 32px 36px;
	background: var(--wp--preset--color--magister-navy);
	color: var(--wp--preset--color--ivory);
	border-left: 4px solid var(--wp--preset--color--gold-leaf);
	border-radius: 2px;
	max-width: none;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.35;
	letter-spacing: -0.01em;
}
main.magister-section .wp-block-post-content > p:last-of-type:has(> strong:only-child) strong {
	color: var(--wp--preset--color--ivory);
	background: none;
	padding: 0;
}

/* ---------- Pull-quote support if Agent A adds <blockquote> later ---------- */
main.magister-section .wp-block-post-content > blockquote {
	margin: 48px 0;
	padding: 28px 0 28px 32px;
	border-left: 3px solid var(--wp--preset--color--gold-leaf);
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.35;
	color: var(--wp--preset--color--magister-navy);
	letter-spacing: -0.01em;
	max-width: 70ch;
}

/* ---------- AUTHORITY HUB TEMPLATE FIXES ----------
   These rules tighten the page-authority-hub.html template DOM
   (when WP actually assigns the template). Scoped under
   .magister-authority-* so they cannot affect other templates. */

.magister-authority-main h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.12;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--magister-navy);
	margin: 0 0 20px;
}
.magister-authority-main h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(22px, 2.2vw, 28px);
	line-height: 1.22;
	color: var(--wp--preset--color--magister-navy);
	margin: 32px 0 12px;
}
.magister-authority-main p {
	font-size: 18px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	max-width: 70ch;
	margin: 0 0 22px;
}
.magister-authority-main ul,
.magister-authority-main ol {
	font-size: 18px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	max-width: 70ch;
	margin: 0 0 24px;
}

.magister-authority-main { counter-reset: magister-auth-section; }
.magister-authority-main .magister-content-section {
	margin-bottom: 80px;
	padding-top: 56px;
	border-top: 1px solid rgba(22, 23, 26,0.12);
	counter-increment: magister-auth-section;
	position: relative;
}
.magister-authority-main .magister-content-section:first-of-type {
	padding-top: 0;
	border-top: 0;
}
.magister-authority-main .magister-content-section:first-of-type::before { display: none; }
.magister-authority-main .magister-content-section::before {
	content: "Section " counter(magister-auth-section, decimal-leading-zero);
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	margin: 0 0 14px;
}
.magister-authority-main .magister-content-section h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--wp--preset--color--gold-leaf);
	margin: 16px 0 28px;
}

/* Authority pull-quote */
.magister-authority-main .magister-accent-bar {
	margin: 36px 0;
	padding: 28px 0 28px 32px;
	border-left: 3px solid var(--wp--preset--color--gold-leaf);
	background: linear-gradient(90deg, rgba(168, 132, 42,0.06), transparent 60%);
}
.magister-authority-main .magister-accent-bar p {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.35;
	color: var(--wp--preset--color--magister-navy);
	letter-spacing: -0.01em;
	margin: 0;
}

/* Authority metrics row — premium statistic display */
.magister-authority-main .magister-authority-metrics-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: 36px 0;
	padding: 32px 28px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 4px;
	position: relative;
}
.magister-authority-main .magister-authority-metric-item {
	padding: 0 24px;
	border-right: 1px solid rgba(22, 23, 26,0.10);
}
.magister-authority-main .magister-authority-metric-item:first-child { padding-left: 0; }
.magister-authority-main .magister-authority-metric-item:last-child  { padding-right: 0; border-right: 0; }
.magister-authority-main .magister-metric {
	display: block;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(36px, 4.6vw, 56px);
	line-height: 1;
	color: var(--wp--preset--color--seal-oxblood);
	letter-spacing: -0.02em;
}
.magister-authority-main .magister-metric-label {
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	line-height: 1.45;
	color: var(--wp--preset--color--footnote-gray);
	margin-top: 8px;
}
@media (max-width: 768px) {
	.magister-authority-main .magister-authority-metrics-row {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 24px;
	}
	.magister-authority-main .magister-authority-metric-item {
		padding: 0 0 24px;
		border-right: 0;
		border-bottom: 1px solid rgba(22, 23, 26,0.10);
	}
	.magister-authority-main .magister-authority-metric-item:last-child { padding-bottom: 0; border-bottom: 0; }
}

/* Sidebar polish */
.magister-authority-sidebar .magister-sidebar-card {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 4px;
	padding: 24px 22px;
	margin-bottom: 16px;
}
.magister-authority-sidebar .magister-sidebar-card-vellum {
	background: var(--wp--preset--color--vellum);
	border-color: #E3E4E2;
}
.magister-authority-sidebar .magister-sidebar-links {
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
}
.magister-authority-sidebar .magister-sidebar-links li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(22, 23, 26,0.08);
}
.magister-authority-sidebar .magister-sidebar-links li:last-child { border-bottom: 0; }
.magister-authority-sidebar .magister-sidebar-links a {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--magister-navy);
	line-height: 1.4;
	text-decoration: none;
	display: block;
}
.magister-authority-sidebar .magister-sidebar-links a:hover {
	color: var(--wp--preset--color--seal-oxblood);
	text-decoration: underline;
}

.magister-toc-card .magister-toc-list li { padding: 6px 0; border-bottom: 1px dashed rgba(22, 23, 26,0.10); }
.magister-toc-card .magister-toc-list li:last-child { border-bottom: 0; }

.magister-authority-hero { padding-top: 56px; padding-bottom: 72px; }
@media (min-width: 1024px) {
	.magister-authority-hero { padding-top: 80px; padding-bottom: 96px; }
}
.magister-authority-trust-bar { margin-top: 36px; padding-top: 28px; }

.magister-authority-bottom-cta .magister-bottom-cta-grid { gap: 48px; }
.magister-authority-bottom-cta .magister-bottom-cta-proof { font-size: 15px; line-height: 1.65; }

/* ---------- Mobile typography for long-form ---------- */
@media (max-width: 640px) {
	main.magister-section .wp-block-post-title {
		font-size: 32px;
		line-height: 1.08;
	}
	main.magister-section .wp-block-post-title::before { font-size: 11px; margin-bottom: 14px; }
	main.magister-section .wp-block-post-title::after { font-size: 12px; padding-top: 14px; margin-top: 14px; }
	main.magister-section .wp-block-post-content { font-size: 17px; line-height: 1.65; }
	main.magister-section .wp-block-post-content > p { font-size: 17px; line-height: 1.65; margin-bottom: 20px; }
	main.magister-section .wp-block-post-content > h2 {
		font-size: 26px;
		margin-top: 64px !important;
		padding-top: 40px;
	}
	main.magister-section .wp-block-post-content > h2::before {
		font-size: 11px;
		padding-top: 14px;
		padding-bottom: 12px;
	}
	main.magister-section .wp-block-post-content > h3 { font-size: 20px; margin-top: 32px !important; }
	main.magister-section .wp-block-post-content > p:last-of-type:has(> strong:only-child) {
		padding: 24px 24px;
		font-size: 18px;
	}
}

/* === END WAVE 5 AGENT C === */

/* === WAVE 5 AGENT D: KNOWLEDGE === */
/* ============================================================
   KNOWLEDGE GUIDE — premium long-form editorial styling.
   Targets BOTH the template (.magister-knowledge-body) AND the
   live page-template-default flow (body.page-child .entry-content)
   so fixes apply whether content renders via template HTML or via
   the_content() blob.
   Standing rules: 18-19px body, 1.65-1.7 line-height, max ~70ch,
   zero dead space, no clichés, Playfair Display 600/700.
   ============================================================ */

/* --- Live page flow: editorial layout for parent-pageid-12 children --- */
body.page-child.parent-pageid-12 main#main {
	padding: 0;
	max-width: 100%;
	background: var(--wp--preset--color--ivory);
}

/* Breadcrumb strip above title for live pages */
body.page-child.parent-pageid-12 main#main::before {
	content: "Home  /  Home Services Lead Generation";
	display: block;
	background: var(--wp--preset--color--vellum);
	border-bottom: 1px solid #E3E4E2;
	padding: 10px 24px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	color: var(--wp--preset--color--footnote-gray);
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 main#main::before {
		padding-left: 40px;
		padding-right: 40px;
	}
}

body.page-child.parent-pageid-12 main#main > h1.wp-block-post-title {
	display: block;
	max-width: 1180px;
	margin: 0 auto;
	padding: 56px 24px 8px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: clamp(36px, 5vw, 60px);
	line-height: 1.06;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--magister-navy);
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 main#main > h1.wp-block-post-title {
		padding: 72px 40px 8px;
	}
}
body.page-child.parent-pageid-12 main#main > h1.wp-block-post-title::before {
	content: "Home Services Lead Generation";
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	margin-bottom: 18px;
}

body.page-child.parent-pageid-12 .entry-content {
	display: block;
	max-width: 1180px;
	margin: 0 auto;
	padding: 8px 24px 96px;
	font-family: var(--wp--preset--font-family--inter);
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 .entry-content {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/* Body paragraph typography */
body.page-child.parent-pageid-12 .entry-content > p {
	font-size: 18px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	max-width: 70ch;
	margin: 0 0 1.15em;
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 .entry-content > p { font-size: 19px; }
}
body.page-child.parent-pageid-12 .entry-content > p:first-of-type {
	font-size: 21px;
	line-height: 1.55;
	color: var(--wp--preset--color--magister-navy);
	font-weight: 500;
	max-width: 68ch;
	margin-bottom: 1.4em;
	padding-bottom: 28px;
	border-bottom: 1px solid rgba(22, 23, 26,0.12);
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 .entry-content > p:first-of-type { font-size: 23px; }
}

/* H2 sectioning with gold accent rule */
body.page-child.parent-pageid-12 .entry-content > h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--magister-navy);
	margin: 64px 0 20px;
	padding-top: 8px;
	max-width: 28ch;
}
body.page-child.parent-pageid-12 .entry-content > h2::before {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--wp--preset--color--gold-leaf);
	margin-bottom: 18px;
}

body.page-child.parent-pageid-12 .entry-content > h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.25;
	color: var(--wp--preset--color--magister-navy);
	margin: 36px 0 12px;
	max-width: 50ch;
}

body.page-child.parent-pageid-12 .entry-content > h4 {
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	margin: 32px 0 12px;
}

/* Premium lists */
body.page-child.parent-pageid-12 .entry-content > ul,
body.page-child.parent-pageid-12 .entry-content > ol {
	list-style: none;
	padding: 0;
	margin: 8px 0 1.5em;
	font-size: 18px;
	line-height: 1.7;
	color: var(--wp--preset--color--inkwell);
	max-width: 70ch;
	counter-reset: mglist;
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 .entry-content > ul,
	body.page-child.parent-pageid-12 .entry-content > ol { font-size: 19px; }
}
body.page-child.parent-pageid-12 .entry-content > ul > li,
body.page-child.parent-pageid-12 .entry-content > ol > li {
	position: relative;
	padding: 10px 0 10px 36px;
	margin: 0;
	border-bottom: 1px solid rgba(22, 23, 26,0.06);
}
body.page-child.parent-pageid-12 .entry-content > ul > li:last-child,
body.page-child.parent-pageid-12 .entry-content > ol > li:last-child {
	border-bottom: 0;
}
body.page-child.parent-pageid-12 .entry-content > ul > li::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 22px;
	width: 14px;
	height: 2px;
	background: var(--wp--preset--color--seal-oxblood);
}
body.page-child.parent-pageid-12 .entry-content > ol > li { counter-increment: mglist; }
body.page-child.parent-pageid-12 .entry-content > ol > li::before {
	content: counter(mglist, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 11px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 16px;
	color: var(--wp--preset--color--gold-leaf);
}

/* Inline emphasis, code, links */
body.page-child.parent-pageid-12 .entry-content strong {
	color: var(--wp--preset--color--magister-navy);
	font-weight: 700;
}
body.page-child.parent-pageid-12 .entry-content em {
	font-style: italic;
	color: var(--wp--preset--color--seal-oxblood);
}
body.page-child.parent-pageid-12 .entry-content code {
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.88em;
	background: var(--wp--preset--color--vellum);
	color: var(--wp--preset--color--seal-oxblood);
	padding: 2px 7px;
	border-radius: 3px;
	border: 1px solid #E3E4E2;
}
body.page-child.parent-pageid-12 .entry-content a {
	color: var(--wp--preset--color--seal-oxblood);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font-weight: 500;
}
body.page-child.parent-pageid-12 .entry-content a:hover {
	color: var(--wp--preset--color--magister-navy);
	text-decoration-thickness: 2px;
}

/* Blockquote pull-quote */
body.page-child.parent-pageid-12 .entry-content > blockquote {
	margin: 32px 0;
	padding: 22px 28px;
	border-left: 4px solid var(--wp--preset--color--gold-leaf);
	background: var(--wp--preset--color--vellum);
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.45;
	color: var(--wp--preset--color--magister-navy);
	font-style: italic;
	max-width: 60ch;
}
body.page-child.parent-pageid-12 .entry-content > blockquote p { margin: 0; font-size: inherit; line-height: inherit; max-width: none; }

/* Tables */
body.page-child.parent-pageid-12 .entry-content table {
	border-collapse: collapse;
	width: 100%;
	max-width: 760px;
	margin: 28px 0;
	font-size: 16px;
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
}
body.page-child.parent-pageid-12 .entry-content th {
	background: var(--wp--preset--color--vellum);
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--magister-navy);
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid var(--wp--preset--color--gold-leaf);
}
body.page-child.parent-pageid-12 .entry-content td {
	padding: 12px 16px;
	border-bottom: 1px solid #E3E4E2;
	line-height: 1.55;
}

/* Details/FAQ */
body.page-child.parent-pageid-12 .entry-content > details {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-left: 3px solid var(--wp--preset--color--seal-oxblood);
	border-radius: 0 4px 4px 0;
	padding: 16px 22px;
	margin-bottom: 10px;
	max-width: 760px;
}
body.page-child.parent-pageid-12 .entry-content > details > summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 18px;
	color: var(--wp--preset--color--magister-navy);
	list-style: none;
	padding-right: 28px;
	position: relative;
}
body.page-child.parent-pageid-12 .entry-content > details > summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -2px;
	color: var(--wp--preset--color--seal-oxblood);
	font-size: 22px;
}
body.page-child.parent-pageid-12 .entry-content > details[open] > summary::after { content: "−"; }
body.page-child.parent-pageid-12 .entry-content > details > p {
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--wp--preset--color--inkwell);
	max-width: none;
}

/* === Template-side refinements (page-knowledge.html) === */
.magister-knowledge-hero { padding-top: 48px; padding-bottom: 48px; }
@media (min-width: 768px) { .magister-knowledge-hero { padding-top: 64px; padding-bottom: 56px; } }
@media (min-width: 1280px) { .magister-knowledge-hero { padding-top: 80px; padding-bottom: 64px; } }

.magister-knowledge-hero .magister-h1 {
	font-size: clamp(36px, 5vw, 60px);
	line-height: 1.06;
	margin: 0 0 20px;
	max-width: 22ch;
}
.magister-knowledge-hero .magister-lead {
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.55;
	margin: 0 0 28px;
	max-width: 60ch;
}
.magister-knowledge-hero .magister-quick-answer {
	background: var(--wp--preset--color--page-white);
	border-left: 4px solid var(--wp--preset--color--gold-leaf);
	box-shadow: 0 1px 4px rgba(22, 23, 26,0.06);
	padding: 22px 26px;
	margin-top: 28px;
}
.magister-knowledge-hero .magister-quick-answer-text {
	font-size: 19px;
	line-height: 1.6;
}

/* Author / read-time chip */
.magister-meta-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--footnote-gray);
	margin: 0 0 24px;
}
.magister-meta-chip strong { color: var(--wp--preset--color--magister-navy); font-weight: 600; }
.magister-meta-chip-sep { color: rgba(22, 23, 26,0.25); }

/* Table of contents card */
.magister-knowledge-toc {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-radius: 4px;
	padding: 22px 24px;
	margin: 0 0 16px;
}
.magister-knowledge-toc-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	font-weight: 700;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E3E4E2;
}
.magister-knowledge-toc ol {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: tocnum;
}
.magister-knowledge-toc li {
	counter-increment: tocnum;
	padding: 8px 0 8px 32px;
	position: relative;
	font-size: 15px;
	line-height: 1.45;
	border-bottom: 1px dashed #E3E4E2;
}
.magister-knowledge-toc li:last-child { border-bottom: 0; }
.magister-knowledge-toc li::before {
	content: counter(tocnum, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 9px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 13px;
	color: var(--wp--preset--color--gold-leaf);
}
.magister-knowledge-toc a {
	color: var(--wp--preset--color--magister-navy);
	text-decoration: none;
	font-weight: 500;
}
.magister-knowledge-toc a:hover {
	color: var(--wp--preset--color--seal-oxblood);
	text-decoration: underline;
}

/* Knowledge body content sections */
.magister-knowledge-body .magister-content-section p {
	font-size: 19px;
	line-height: 1.7;
	max-width: 68ch;
	margin-bottom: 1.15em;
}
.magister-knowledge-body .magister-content-section h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--magister-navy);
	margin: 48px 0 22px;
	padding-top: 16px;
	max-width: 28ch;
	position: relative;
}
.magister-knowledge-body .magister-content-section h2::before {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--wp--preset--color--gold-leaf);
	margin-bottom: 18px;
}
.magister-knowledge-body .magister-content-section:first-child h2 { margin-top: 0; }
.magister-knowledge-body .magister-content-section h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.25;
	color: var(--wp--preset--color--magister-navy);
	margin: 32px 0 12px;
}
.magister-knowledge-body .magister-content-section ul,
.magister-knowledge-body .magister-content-section ol {
	list-style: none;
	padding: 0;
	font-size: 19px;
	line-height: 1.7;
	margin: 8px 0 1.5em;
	max-width: 68ch;
	counter-reset: knlist;
}
.magister-knowledge-body .magister-content-section ul li,
.magister-knowledge-body .magister-content-section ol li {
	position: relative;
	padding: 10px 0 10px 36px;
	border-bottom: 1px solid rgba(22, 23, 26,0.06);
	margin: 0;
}
.magister-knowledge-body .magister-content-section ul li:last-child,
.magister-knowledge-body .magister-content-section ol li:last-child { border-bottom: 0; }
.magister-knowledge-body .magister-content-section ul li::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 22px;
	width: 14px;
	height: 2px;
	background: var(--wp--preset--color--seal-oxblood);
}
.magister-knowledge-body .magister-content-section ol li { counter-increment: knlist; }
.magister-knowledge-body .magister-content-section ol li::before {
	content: counter(knlist, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 11px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 16px;
	color: var(--wp--preset--color--gold-leaf);
}

/* Pull-quote / accent bar */
.magister-accent-bar {
	margin: 32px 0;
	padding: 22px 28px;
	border-left: 4px solid var(--wp--preset--color--gold-leaf);
	background: var(--wp--preset--color--vellum);
	max-width: 60ch;
}
.magister-accent-bar p {
	font-family: var(--wp--preset--font-family--playfair) !important;
	font-weight: 500 !important;
	font-size: 22px !important;
	line-height: 1.45 !important;
	color: var(--wp--preset--color--magister-navy) !important;
	font-style: italic;
	margin: 0 !important;
	max-width: none !important;
}

/* FAQ accordion (knowledge template) */
.magister-knowledge-faq h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(28px, 3.2vw, 36px);
	color: var(--wp--preset--color--magister-navy);
	margin: 8px 0 24px;
}
.magister-faq-item {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-left: 3px solid var(--wp--preset--color--seal-oxblood);
	border-radius: 0 4px 4px 0;
	padding: 18px 24px;
	margin-bottom: 10px;
	transition: box-shadow 180ms ease;
}
.magister-faq-item:hover { box-shadow: 0 4px 14px rgba(22, 23, 26,0.06); }
.magister-faq-item summary {
	cursor: pointer;
	display: flex;
	align-items: baseline;
	gap: 14px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 19px;
	color: var(--wp--preset--color--magister-navy);
	line-height: 1.3;
	list-style: none;
	position: relative;
	padding-right: 32px;
}
.magister-faq-item summary::-webkit-details-marker { display: none; }
.magister-faq-num {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 13px;
	color: var(--wp--preset--color--gold-leaf);
	letter-spacing: 0.04em;
	flex-shrink: 0;
}
.magister-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: -4px;
	color: var(--wp--preset--color--seal-oxblood);
	font-size: 24px;
	font-weight: 300;
}
.magister-faq-item[open] summary::after { content: "−"; }
.magister-faq-answer {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed #E3E4E2;
}
.magister-faq-answer p {
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: var(--wp--preset--color--inkwell) !important;
	max-width: 68ch;
	margin: 0 !important;
}

/* Sidebar refinements */
.magister-knowledge-sidebar .magister-sidebar-card { padding: 22px 24px; }
.magister-knowledge-sidebar .magister-sidebar-links li {
	padding: 9px 0;
	font-size: 15px;
	line-height: 1.45;
}

/* Related grid */
.magister-knowledge-related .magister-h2 {
	font-size: clamp(28px, 3vw, 36px);
	margin-bottom: 32px;
}
.magister-knowledge-related .magister-related-card {
	padding: 22px 24px;
	min-height: 96px;
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.magister-knowledge-related .magister-related-card:hover {
	border-color: var(--wp--preset--color--seal-oxblood);
	box-shadow: 0 6px 20px rgba(22, 23, 26,0.08);
	transform: translateY(-3px);
}
.magister-knowledge-related .magister-related-card-q {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.35;
}
/* === END KNOWLEDGE === */

/* === WAVE 5 AGENT D: ANSWER === */
/* ============================================================
   ANSWER PAGE — focused Q+A. The Quick Answer callout is the
   defining hero feature. Live pages where <h2>Quick Answer</h2>
   is the FIRST child of .entry-content get auto-elevated.
   ============================================================ */

/* When H2 is the very first child of entry-content → Answer hero (live) */
body.page-child.parent-pageid-12 .entry-content > h2:first-child {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-left: 5px solid var(--wp--preset--color--seal-oxblood);
	box-shadow: 0 8px 28px rgba(22, 23, 26,0.10);
	padding: 28px 32px 14px;
	margin: 32px 0 0 !important;
	max-width: 880px;
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	line-height: 1.4;
	border-radius: 0 6px 0 0;
}
/* Override the gold accent rule for the hero H2 (replace with dot indicator) */
body.page-child.parent-pageid-12 .entry-content > h2:first-child::before {
	content: "" !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50%;
	background: var(--wp--preset--color--seal-oxblood);
	margin: 0 10px 2px 0 !important;
	vertical-align: middle;
	padding: 0 !important;
}

/* The paragraph immediately after the hero H2 = the actual answer */
body.page-child.parent-pageid-12 .entry-content > h2:first-child + p {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-top: 0;
	border-left: 5px solid var(--wp--preset--color--seal-oxblood);
	box-shadow: 0 8px 28px rgba(22, 23, 26,0.10);
	padding: 4px 32px 32px;
	margin: 0 0 64px;
	max-width: 880px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.55;
	color: var(--wp--preset--color--magister-navy);
	border-radius: 0 0 6px 0;
}
@media (min-width: 1024px) {
	body.page-child.parent-pageid-12 .entry-content > h2:first-child + p {
		font-size: 24px;
		padding: 4px 40px 36px;
	}
	body.page-child.parent-pageid-12 .entry-content > h2:first-child {
		padding: 32px 40px 14px;
	}
}

/* === Template-side refinements (page-answer.html) === */
.magister-answer-hero { padding-top: 48px; padding-bottom: 32px; }
@media (min-width: 1280px) { .magister-answer-hero { padding-top: 72px; padding-bottom: 40px; } }

.magister-answer-hero .magister-h1 {
	font-size: clamp(32px, 4.4vw, 52px);
	line-height: 1.1;
	max-width: 24ch;
	margin: 0 0 28px;
}

/* Hero quick-answer callout */
.magister-answer-hero .magister-quick-answer-featured {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-left: 5px solid var(--wp--preset--color--seal-oxblood);
	border-radius: 0 6px 6px 0;
	box-shadow: 0 8px 28px rgba(22, 23, 26,0.10);
	padding: 30px 36px 32px;
	margin: 12px 0 0;
	position: relative;
	overflow: hidden;
}
.magister-answer-hero .magister-quick-answer-featured::before {
	content: "";
	position: absolute;
	top: 0; right: 0;
	width: 110px;
	height: 110px;
	background: radial-gradient(circle at top right, rgba(212, 175, 55,0.12) 0%, transparent 65%);
	pointer-events: none;
}
.magister-answer-hero .magister-quick-answer-label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--seal-oxblood);
	font-weight: 700;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.magister-answer-hero .magister-quick-answer-label::before {
	content: "";
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--seal-oxblood);
}
.magister-answer-hero .magister-quick-answer-text {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 500;
	font-size: clamp(20px, 2.1vw, 26px);
	line-height: 1.45;
	color: var(--wp--preset--color--magister-navy);
	margin: 0;
}
.magister-answer-hero .magister-quick-answer-text strong { font-weight: 500; color: inherit; }

/* "Who this is for" qualifier pills */
.magister-answer-qualifier {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 24px 0 0;
}
.magister-answer-qualifier-pill {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--magister-navy);
	background: var(--wp--preset--color--vellum);
	border: 1px solid #E3E4E2;
	padding: 6px 12px;
	border-radius: 999px;
	font-weight: 600;
}
.magister-answer-qualifier-pill strong { color: var(--wp--preset--color--seal-oxblood); }

/* Answer body */
.magister-answer-body .magister-content-section p {
	font-size: 18px;
	line-height: 1.68;
	max-width: 66ch;
	margin-bottom: 1.05em;
}
@media (min-width: 1024px) {
	.magister-answer-body .magister-content-section p { font-size: 19px; }
}
.magister-answer-body .magister-content-section h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: clamp(26px, 2.8vw, 36px);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--magister-navy);
	margin: 40px 0 18px;
	padding-top: 8px;
	max-width: 28ch;
	position: relative;
}
.magister-answer-body .magister-content-section h2::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	background: var(--wp--preset--color--gold-leaf);
	margin-bottom: 16px;
}
.magister-answer-body .magister-content-section:first-child h2 { margin-top: 0; }
.magister-answer-body .magister-content-section ul,
.magister-answer-body .magister-content-section ol {
	list-style: none;
	padding: 0;
	font-size: 18px;
	line-height: 1.65;
	margin: 8px 0 1.4em;
	max-width: 66ch;
	counter-reset: anslist;
}
.magister-answer-body .magister-content-section ul li,
.magister-answer-body .magister-content-section ol li {
	position: relative;
	padding: 9px 0 9px 34px;
	border-bottom: 1px solid rgba(22, 23, 26,0.06);
}
.magister-answer-body .magister-content-section ul li:last-child,
.magister-answer-body .magister-content-section ol li:last-child { border-bottom: 0; }
.magister-answer-body .magister-content-section ul li::before {
	content: "";
	position: absolute;
	left: 4px; top: 21px;
	width: 14px; height: 2px;
	background: var(--wp--preset--color--seal-oxblood);
}
.magister-answer-body .magister-content-section ol li { counter-increment: anslist; }
.magister-answer-body .magister-content-section ol li::before {
	content: counter(anslist, decimal-leading-zero);
	position: absolute;
	left: 0; top: 10px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 15px;
	color: var(--wp--preset--color--gold-leaf);
}

/* "What to do next" block */
.magister-answer-next .magister-h2 {
	font-size: clamp(28px, 3vw, 38px);
	margin-bottom: 16px;
}
.magister-answer-next .magister-next-steps-list {
	list-style: none;
	counter-reset: nextstep;
	padding: 0;
	margin: 20px 0 0;
	max-width: 64ch;
}
.magister-answer-next .magister-next-steps-list li {
	counter-increment: nextstep;
	padding: 16px 0 16px 56px;
	position: relative;
	font-size: 18px;
	line-height: 1.6;
	border-bottom: 1px solid rgba(22, 23, 26,0.1);
}
.magister-answer-next .magister-next-steps-list li:last-child { border-bottom: 0; }
.magister-answer-next .magister-next-steps-list li::before {
	content: counter(nextstep, decimal-leading-zero);
	position: absolute;
	left: 0; top: 12px;
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	font-size: 26px;
	color: var(--wp--preset--color--seal-oxblood);
	line-height: 1;
	width: 44px;
	border-right: 2px solid var(--wp--preset--color--gold-leaf);
}

.magister-answer-next .magister-next-cta-card {
	background: var(--wp--preset--color--page-white);
	border: 1px solid #E3E4E2;
	border-top: 4px solid var(--wp--preset--color--gold-leaf);
	border-radius: 0 0 4px 4px;
	padding: 28px 28px 24px;
	box-shadow: 0 4px 18px rgba(22, 23, 26,0.06);
}

/* Related grid */
.magister-answer-related .magister-h2 {
	font-size: clamp(28px, 3vw, 36px);
	margin-bottom: 32px;
}
.magister-answer-related .magister-related-card {
	padding: 22px 24px;
	min-height: 96px;
}
.magister-answer-related .magister-related-card-q {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.35;
}
.magister-answer-related .magister-related-card:hover {
	border-color: var(--wp--preset--color--seal-oxblood);
	box-shadow: 0 6px 20px rgba(22, 23, 26,0.08);
	transform: translateY(-3px);
}

.magister-answer-sidebar .magister-sidebar-card { padding: 22px 24px; }
/* === END ANSWER === */

/* ============================================================
   AUTHORITY / ANSWER HUB — gold-on-light contrast remediation (Wave 1)
   page-authority-hub + page-answer + page-knowledge + cost pages only.
   seal-oxblood (#D4AF37) / gold-leaf read correctly on DARK but fail
   ~1.8-2.1:1 as TEXT on the light canvases here (#FFF / #EEEEEB vellum /
   #F7F7F5). Re-point ONLY these on-light TEXT usages to gold-ink #6E561A
   (~5.5-6:1 on light; matches .magister-eyebrow at line 84). Each rule's
   specificity is set to BEAT the original (several are 0,2,0 / 0,2,1, which
   a single-class override could not). Container classes here are used ONLY
   by the 8 authority templates (verified: 0 core templates use them), so
   the 16 core pages stay untouched. Decorative gold borders/buttons are
   intentionally left bright gold. Verified by redesign-audit.js -> 0.
   ============================================================ */
/* 1. breadcrumb links + schema name spans on the vellum bar */
.magister-breadcrumb a,
.magister-breadcrumb a span { color: #6E561A; }

/* 2. table-of-contents links (classless <a> in <li>) — beats line 536 */
.magister-toc-list a,
.magister-toc-card a { color: #6E561A; }

/* 3. metric value — beats .magister-authority-main .magister-metric (1728) */
.magister-authority-main .magister-metric,
.magister-answer-main .magister-metric,
.magister-metric { color: #6E561A; }

/* 4. quick-answer label — beats .magister-answer-hero ... (2525, 0,2,0) */
.magister-answer-hero .magister-quick-answer-label,
.magister-quick-answer-featured .magister-quick-answer-label,
.magister-quick-answer-label { color: #6E561A; }

/* 5. qualifier-pill / qualifier-box emphasis — beats line 2573 */
.magister-answer-qualifier-pill strong,
.magister-qualifier-box strong { color: #6E561A; }

/* 6. "or call" tel link in the next-step CTA card — EXCLUDE the gold button
      (its label is graphite-on-gold and must stay graphite) */
.magister-next-cta-card a:not(.wp-element-button),
.magister-answer-next-cta a:not(.wp-element-button) { color: #6E561A; }

/* 7. remaining single-class gold-on-light labels/links/eyebrows
      (none of these classes appear on the 16 core templates) */
.magister-aside-label,
.magister-aside-link,
.magister-eyebrow-hub-link,
.magister-sidebar-hub-label,
.magister-faq-num,
.magister-faq-footer-link { color: #6E561A; }

/* 8. prose links + their nested bold/span -> gold-ink; standalone prose
      bold -> dark body ink (readable, not gold) */
.magister-authority-main a, .magister-answer-main a,
.magister-content-section a, .magister-faq-answer a,
.magister-authority-sidebar a, .magister-answer-sidebar a,
.magister-sidebar-card a, .magister-sidebar-links a { color: #6E561A; }
.magister-content-section p strong,
.magister-content-section li strong { color: var(--wp--preset--color--magister-navy); }
.magister-content-section a strong, .magister-content-section a span { color: inherit; }

/* 9. sidebar badge: ivory-on-gold fails -> gold-ink fill keeps ivory legible (>6:1) */
.magister-sidebar-badge { background: #6E561A; color: #F7F7F5; }
