/* Faber IA editorial system. Webfonts stay local-only until licences/files are supplied. */
:root {
	--faber-navy: #0f1f33;
	--faber-yellow: #f2b705;
	--faber-cream: #f6f3ed;
	--faber-sky: #ddebf4;
	--faber-ink: #172438;
	--faber-line: rgba(15, 31, 51, 0.22);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.wp-site-blocks { min-height: 100vh; }

.site-header-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 18px 28px;
	border-bottom: 1px solid rgba(15, 31, 51, 0.16);
	align-items: center;
}

.wp-site-blocks > header {
	position: relative;
	z-index: 10;
	background: var(--faber-cream);
}

.wp-block-navigation__container { gap: 22px; }
.wp-block-navigation-item__content { text-decoration: none; }

.wp-block-button__link,
.faber-chat-trigger {
	padding: 15px 21px !important;
	border: 0 !important;
	border-radius: 3px;
	box-shadow: 4px 4px 0 var(--faber-navy);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-button__link:hover,
.faber-chat-trigger:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--faber-navy);
}

.navy .wp-block-button__link,
.faber-footer .wp-block-button__link { box-shadow: 4px 4px 0 #fff; }

.eyebrow,
.faber-eyebrow {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.eyebrow::before,
.faber-eyebrow::before {
	display: inline-block;
	width: 28px;
	height: 2px;
	background: var(--faber-yellow);
	content: "";
	flex: 0 0 auto;
}

.faber-section.has-global-padding {
	box-sizing: border-box;
	padding-top: clamp(76px, 10vw, 136px);
	padding-right: max(28px, calc((100vw - 1280px) / 2));
	padding-bottom: clamp(76px, 10vw, 136px);
	padding-left: max(28px, calc((100vw - 1280px) / 2));
}

.faber-section.navy { background: var(--faber-navy); color: #fff; }
.faber-section.sky { background: var(--faber-sky); }
.faber-section.navy a { color: #fff; }
.faber-section.navy .wp-block-button__link { color: var(--faber-navy); }

.faber-section.hero-faber {
	min-height: 640px;
	padding-top: clamp(80px, 12vw, 160px);
	padding-bottom: clamp(80px, 10vw, 130px);
}

.hero-title {
	max-width: 960px;
	margin: 0.25em 0;
	font-size: clamp(3.4rem, 8vw, 8.5rem);
}

.hero-title em,
.section-title em {
	font-family: "Instrument Serif", Georgia, serif;
	font-weight: 400;
	letter-spacing: -0.04em;
}

.hero-lead,
.section-lead,
.course-intro {
	max-width: 760px;
	font-size: clamp(1.15rem, 2vw, 1.35rem);
}

.hero-location {
	margin-top: 32px;
	font-size: 0.84rem;
	font-weight: 600;
}


/* Native Gutenberg Columns keep their Flex behavior. Core then stacks them
   at its responsive breakpoint instead of fighting a custom display mode. */
.hero-grid.wp-block-columns {
	gap: 72px;
	align-items: center !important;
}

.hero-grid.wp-block-columns > .wp-block-column:first-child {
	flex: 1.35 1 0;
	min-width: 0;
}

.hero-grid.wp-block-columns > .wp-block-column:last-child {
	flex: 0.65 1 280px;
	min-width: 280px;
}

.hero-note {
	padding: 42px 34px;
	background: var(--faber-navy);
	color: #fff;
	box-shadow: 14px 16px 0 var(--faber-sky);
	transform: rotate(1deg);
}

.hero-note .note-title {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.1;
}

.hero-note mark { background: transparent; color: var(--faber-yellow); }
.hero-note p:not(:first-child) { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.22); }
.hero-note strong { margin-right: 12px; color: var(--faber-yellow); }

/* Homepage V1.2: concrete, paced editorial content without changing the
   visual language used by the rest of the site. */
body.home .faber-section { padding-top: clamp(56px, 6vw, 88px); padding-bottom: clamp(56px, 6vw, 88px); }
body.home .faber-section.hero-faber { min-height: 0; padding-top: clamp(64px, 7vw, 104px); padding-bottom: clamp(64px, 7vw, 96px); }
body.home .faber-section:has(.home-final-cta) { padding-top: clamp(52px, 5vw, 72px); padding-bottom: clamp(52px, 5vw, 72px); }
body.home .hero-title,
body.home .section-title,
body.home .home-example summary,
body.home .home-offer-title,
body.home .home-agent-name,
body.home .home-compare-title {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
	text-wrap: balance;
}
body.home .home-hero-title { max-width: 900px; margin: .18em 0 .28em; font-family: Inter, system-ui, sans-serif; font-size: clamp(4rem, 5vw, 5.125rem); font-weight: 800; letter-spacing: -.052em; line-height: .98; }
body.home .home-hero-title em { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
body.home .home-hero-serif { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: 1.04em; font-style: italic; font-weight: 400; letter-spacing: -.045em; line-height: .91; }
body.home .section-title { max-width: 19ch; font-size: clamp(2.625rem, 3.1vw, 3rem); line-height: 1.02; }
body.home .home-why-grid .section-title,
body.home .faber-section:has(.home-examples) .section-title,
body.home .faber-section:has(.home-offers) .section-title,
body.home .faber-section:has(.home-agents) .section-title { font-size: clamp(3.25rem, 3.75vw, 3.75rem); }
body.home .faber-section:has(.home-compare) .section-title,
body.home .faber-section:has(.control-list) .section-title,
body.home .home-local .section-title { max-width: 20ch; font-size: clamp(2.625rem, 3.1vw, 3rem); }
body.home p { max-width: 66ch; font-size: clamp(1.125rem, 1.22vw, 1.25rem); line-height: 1.56; }
body.home .eyebrow,
body.home .num,
body.home .home-agent-status,
body.home .home-services-ticker-track { max-width: none; }
body.home .hero-lead { max-width: 58ch; }
body.home .home-location { max-width: 68ch; margin: 0 0 1.4rem; color: rgba(15,31,51,.72); font-size: clamp(.78rem, .9vw, .9rem); font-weight: 650; line-height: 1.35; }
body.home .home-hero-grid { gap: clamp(48px, 5vw, 76px) !important; align-items: start !important; }
body.home .home-hero-grid > .wp-block-column:last-child { padding-top: 42px; }
body.home .home-impact { max-width: none; margin-top: 1.45rem; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(1.65rem, 2.2vw, 2.15rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
body.home .home-impact strong { font-weight: 400; }
body.home .wp-block-button__link,
body.home .faber-chat-trigger { padding: 13px 18px !important; box-shadow: 3px 3px 0 var(--faber-navy); }
.home-secondary-link { margin-top: 22px; }
.home-secondary-link a { text-decoration-thickness: 2px; text-underline-offset: 4px; }
body.home .home-hero-note { padding: 30px 29px; box-shadow: 8px 9px 0 var(--faber-sky); }
body.home .home-hero-note .note-title { margin-bottom: 20px; font-size: clamp(1.55rem, 1.9vw, 1.9rem); line-height: 1.08; }
body.home .home-hero-steps { margin: 0; padding: 0; list-style: none; counter-reset: hero-steps; }
body.home .home-hero-steps li { padding: 8px 0; border-top: 1px solid rgba(255,255,255,.22); font-size: .9rem; line-height: 1.35; counter-increment: hero-steps; }
.home-hero-steps strong { display: inline-block; min-width: 30px; color: var(--faber-yellow); font-size: .74rem; letter-spacing: .08em; }
body.home .home-note-end { margin-bottom: 0; padding-top: 14px; border-top: 2px solid var(--faber-yellow); font-size: .88rem; font-weight: 700; line-height: 1.4; }

.home-services-ticker { overflow: hidden; padding: 17px 0; background: var(--faber-yellow); color: var(--faber-navy); }
.home-services-ticker-track { width: max-content; margin: 0; padding-left: 2vw; font-size: .78rem; font-weight: 900; letter-spacing: .13em; line-height: 1; text-transform: uppercase; white-space: nowrap; animation: faber-ticker 34s linear infinite; }
.home-services-ticker-track span { margin: 0 1.25rem; }
@keyframes faber-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

body.home .home-why-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); column-gap: clamp(50px, 8vw, 116px); align-items: start; }
body.home .home-why-grid .eyebrow { grid-column: 1 / -1; margin-bottom: 18px; }
body.home .home-why-grid .section-title { grid-column: 1; max-width: 15ch; margin: 0; }
body.home .home-why-copy { display: block; grid-column: 2; align-self: start; max-width: 60ch; }
body.home .home-why-copy > p { margin: 0 0 clamp(16px, 1.5vw, 24px); }
body.home .home-why-copy .home-impact { margin-top: 0; margin-bottom: 0; }
body.home .home-examples { max-width: none; margin-top: clamp(26px, 3.5vw, 46px); border-top: 2px solid var(--faber-navy); }
.home-example { margin: 0; padding: 0; border-top: 0; border-bottom: 1px solid var(--faber-navy); }
body.home .home-example summary { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 20px 0; font-size: clamp(1.45rem, 1.8vw, 1.85rem); line-height: 1.14; }
body.home .home-example summary > span:first-child { color: #8d6800; font-size: .76rem; font-weight: 900; letter-spacing: .1em; line-height: 1.6; }
body.home .home-example-label { color: var(--faber-navy); font-size: inherit; font-weight: inherit; letter-spacing: normal; line-height: inherit; }
body.home .home-example-label small { display: block; margin-top: 7px; color: rgba(15,31,51,.72); font-size: .9rem; font-weight: 500; letter-spacing: normal; line-height: 1.4; }
body.home .home-example p { max-width: 62ch; margin: 0 0 24px 60px; }
body.home .home-compare { gap: 0 !important; max-width: 1050px; margin-top: 28px; border-top: 1px solid var(--faber-navy); border-left: 1px solid var(--faber-navy); }
body.home .home-compare > .wp-block-column { padding: 24px clamp(22px,4vw,46px); border-right: 1px solid var(--faber-navy); border-bottom: 1px solid var(--faber-navy); }
body.home .home-compare > .wp-block-column:first-child { padding-left: clamp(22px,4vw,46px); }
body.home .home-compare > .wp-block-column:last-child { border-right: 1px solid var(--faber-navy); }
body.home .home-compare-title { font-size: clamp(1.75rem, 2.2vw, 2rem); line-height: 1.08; }
body.home .home-flow { padding-top: 16px; border-top: 2px solid var(--faber-yellow); }

.home-offers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.45); border-left: 1px solid rgba(255,255,255,.45); }
body.home .home-offer { min-height: 0; padding: 28px 22px 31px; border-right: 1px solid rgba(255,255,255,.45); border-bottom: 1px solid rgba(255,255,255,.45); }
body.home .home-offer:last-child { border-right: 1px solid rgba(255,255,255,.45); }
body.home .home-offer-title { margin: 14px 0 12px; font-size: clamp(1.65rem, 2vw, 2rem); line-height: 1.08; }

.home-agents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 42px; border-top: 1px solid var(--faber-navy); border-left: 1px solid var(--faber-navy); }
body.home .home-agent { min-height: 0; padding: 26px 24px 30px; border-right: 1px solid var(--faber-navy); border-bottom: 1px solid var(--faber-navy); }
body.home .home-agent:last-child { border-right: 1px solid var(--faber-navy); }
body.home .home-agent-status { display: block; margin: 5px 0 9px; padding: 0; background: transparent; color: #8d6800; font-family: Inter, system-ui, sans-serif; font-size: .8rem; font-weight: 750; letter-spacing: 0; line-height: 1.25; text-transform: none; }
body.home .home-agent-name { margin-bottom: 12px; font-size: clamp(1.85rem, 2.4vw, 2.35rem); line-height: 1; }
body.home .home-agent-workflow { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; margin-top: 34px; padding: 20px 0; border-top: 2px solid var(--faber-navy); border-bottom: 2px solid var(--faber-navy); font-size: .84rem; font-weight: 800; text-transform: uppercase; }
.home-agent-workflow span { padding: 5px 0; }
.home-agent-workflow b { color: #8d6800; font-size: 1.3rem; }
.home-agent-workflow small { font-size: .64rem; letter-spacing: .08em; }
body.home .home-workflow-break { flex-basis: 100%; height: 0; padding: 0; }
body.home .home-caution { max-width: 68ch; margin-top: 21px; font-size: .88rem; }
body.home .home-local { padding-top: clamp(48px, 5vw, 72px); padding-bottom: clamp(48px, 5vw, 72px); }
body.home .home-local .section-title { margin-bottom: 18px; }
body.home .home-local > p:not(.eyebrow) { max-width: 62ch; }
body.home .home-final-cta { align-items: end !important; }

.section-title {
	max-width: 860px;
	font-size: clamp(2.8rem, 6vw, 6rem);
}


.split-editorial.wp-block-columns {
	gap: clamp(38px, 8vw, 128px);
}

.split-editorial.wp-block-columns > .wp-block-column:first-child {
	flex: 0.78 1 0;
	min-width: 0;
}

.split-editorial.wp-block-columns > .wp-block-column:last-child {
	flex: 1.22 1 0;
	min-width: 0;
}

/* Direct alignwide children use the available section width. Core still
   applies theme.json's 1280px wide-size cap. */
.faber-section > .alignwide {
	width: 100%;
}

.editorial-list,
.workflow-list,
.control-list {
	margin: 0;
	padding: 0;
	border-top: 2px solid currentColor;
	list-style: none;
	counter-reset: faber-list;
}

.editorial-list li,
.workflow-list li,
.control-list li {
	position: relative;
	padding: 24px 0 24px 64px;
	border-bottom: 1px solid currentColor;
	font-size: 1.12rem;
	counter-increment: faber-list;
}

.editorial-list li::before,
.workflow-list li::before,
.control-list li::before {
	position: absolute;
	left: 0;
	top: 26px;
	color: #8d6800;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	content: counter(faber-list, decimal-leading-zero);
}

.navy .workflow-list li::before,
.navy .control-list li::before,
.navy .editorial-list li::before { color: var(--faber-yellow); }

.answer-strip {
	margin-top: 42px;
	padding: 26px;
	border-left: 5px solid var(--faber-yellow);
	background: var(--faber-sky);
}

.two-doors { gap: 0 !important; }

.door {
	box-sizing: border-box;
	min-height: 420px;
	padding: clamp(38px, 6vw, 86px);
	border: 1px solid rgba(255, 255, 255, 0.24);
}

.door:first-child { background: #fff; color: var(--faber-navy); }
.door h2 { font-size: clamp(3rem, 5vw, 5rem); }
.door p { max-width: 430px; }

.case-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 !important;
	border-top: 1px solid currentColor;
	border-left: 1px solid currentColor;
}

.case-item,
.case-grid > .wp-block-column {
	box-sizing: border-box;
	min-height: 220px;
	padding: 34px 25px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
}

.case-item:first-child { background: var(--faber-yellow); color: var(--faber-navy); }
.case-title { font-size: 1.65rem; line-height: 1.15; }
.num { color: var(--faber-yellow); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; }
.sky .case-item:first-child .num { color: var(--faber-navy); }

.method-line,
.training-grid { gap: 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.4); border-left: 1px solid rgba(255, 255, 255, 0.4); }
.method-line > .wp-block-column,
.training-grid > .wp-block-column { padding: 25px; border-right: 1px solid rgba(255, 255, 255, 0.4); border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
.method-title { font-size: 1.4rem; }

.founder-placeholder {
	padding: 56px 30px;
	border: 2px dashed rgba(15, 31, 51, 0.55);
	background: #ebe7de;
	font-weight: 700;
}

.formation-single { max-width: 1280px; margin-right: auto; margin-left: auto; padding: 80px max(28px, calc((100vw - 1280px) / 2)) 110px; }
.formation-single > .wp-block-post-title { max-width: 1050px; }

.faber-formation-meta {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 40px 0 70px;
	border-top: 1px solid var(--faber-navy);
	border-bottom: 1px solid var(--faber-navy);
}

.faber-formation-meta div { padding: 20px 16px; border-right: 1px solid var(--faber-line); }
.faber-formation-meta div:last-child { border-right: 0; }
.faber-formation-meta dt { margin-bottom: 8px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.faber-formation-meta dd { margin: 0; font-size: 0.95rem; }

.faber-agent-list { border-top: 1px solid var(--faber-navy); }
.faber-agent-list article { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--faber-navy); }
.faber-agent-list article > span { color: #8d6800; font-size: 0.8rem; font-weight: 800; }
.faber-agent-list h3 { margin: 0 0 6px; font-size: 1.65rem; }

.resource-query .wp-block-post-template { gap: 0; border-top: 1px solid var(--faber-navy); }
.resource-item { min-height: 230px; padding: 28px; border-right: 1px solid var(--faber-navy); border-bottom: 1px solid var(--faber-navy); }

.faber-form { max-width: 720px; }
.faber-form label { display: block; margin-top: 18px; font-weight: 700; }
.faber-form input:not([type="checkbox"]),
.faber-form textarea,
.faber-form select {
	box-sizing: border-box;
	width: 100%;
	margin-top: 6px;
	padding: 13px;
	border: 1px solid var(--faber-navy);
	border-radius: 0;
	background: #fff;
	font: inherit;
}

.faber-form input[type="checkbox"] { width: 20px; height: 20px; margin-right: 8px; vertical-align: middle; }
.faber-consent { font-size: 0.9rem; font-weight: 500 !important; }
.faber-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.faber-form-status { margin-bottom: 24px; padding: 16px; border-left: 4px solid #28734f; background: #e4f3eb; color: var(--faber-navy); }
.faber-form-status.is-error,
.faber-config-notice { border-left: 4px solid #a3462f; background: #f8e8e3; color: var(--faber-navy); }
.faber-config-notice { padding: 16px; }

.faber-chat-trigger { display: inline-flex; gap: 12px; align-items: center; cursor: pointer; }

.wp-block-details { padding: 16px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.wp-block-details summary { cursor: pointer; font-weight: 800; }

.faber-footer {
	padding: 70px max(28px, calc((100vw - 1280px) / 2)) 28px;
	background: var(--faber-navy);
	color: #fff;
}
.faber-footer a,
.faber-footer .wp-block-navigation-item__content { color: #fff; }
.faber-footer .faber-brand-logo { display: block; width: min(175px, 72vw); height: auto; margin-bottom: 22px; }
.faber-footer-contact { line-height: 2; }

/* Internal pages: calmer editorial hierarchy, shared with the validated
   homepage palette and grid while keeping each page readable on its own. */
.inner-hero { min-height: 0 !important; padding-top: clamp(68px, 8vw, 112px) !important; padding-bottom: clamp(58px, 6vw, 88px) !important; }
body:not(.home) .faber-section.has-global-padding:not(.inner-hero) {
	padding-top: clamp(72px, 7.5vw, 116px);
	padding-bottom: clamp(72px, 7.5vw, 116px);
}
.inner-hero-title,
.faber-section .section-title,
.internal-grid-title {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
	text-wrap: balance;
}
.inner-hero-title { max-width: 18ch; margin: .16em 0 .3em; font-size: clamp(3.25rem, 4.35vw, 4.35rem); line-height: .99; }
.inner-hero-lead { max-width: 64ch; margin-bottom: 1rem; font-size: clamp(1.125rem, 1.35vw, 1.25rem); line-height: 1.56; }
.inner-hero-accent { max-width: 28ch; margin-top: 1.35rem; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(1.65rem, 2.25vw, 2.25rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.08; }
body:not(.home) .faber-section:not(.hero-faber) > p:not(.eyebrow):not(.num),
body:not(.home) .faber-section:not(.hero-faber) .wp-block-column > p:not(.num) { max-width: 66ch; line-height: 1.56; }
body:not(.home) .faber-section:not(.hero-faber) .section-title { max-width: 22ch; font-size: clamp(2.3rem, 3.25vw, 3.15rem); line-height: 1.03; }

.internal-grid.wp-block-columns { gap: 0 !important; margin-top: clamp(28px, 4vw, 48px); border-top: 1px solid currentColor; border-left: 1px solid currentColor; }
.internal-grid.wp-block-columns > .wp-block-column { box-sizing: border-box; min-width: 0; padding: 26px 24px 29px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.internal-grid.wp-block-columns > .wp-block-column:last-child { border-right: 1px solid currentColor; }
.internal-grid-title { margin: 12px 0 12px; font-size: clamp(1.55rem, 2vw, 1.9rem); line-height: 1.08; }
.internal-grid-meta { margin-top: 20px; color: inherit; font-size: .86rem !important; font-weight: 750; line-height: 1.35 !important; }
.navy .internal-grid-meta { color: var(--faber-yellow); }
.agent-grid .internal-grid-meta { color: #8d6800; font-size: .82rem !important; font-weight: 750; letter-spacing: 0; text-transform: none; }
.practical-grid .internal-grid-title { font-size: 1.1rem; }
.resource-topics.wp-block-columns { flex-wrap: wrap !important; }
.resource-topics.wp-block-columns > .wp-block-column { flex: 0 0 33.333%; }
.four-columns.wp-block-columns > .wp-block-column { flex: 0 0 25%; }
.three-columns.wp-block-columns > .wp-block-column { flex: 0 0 33.333%; }
.two-columns.wp-block-columns > .wp-block-column { flex: 0 0 50%; }
.editorial-two-column > .wp-block-heading,
.editorial-two-column > p { max-width: 66ch; }

/* Shared internal-page components: the content stays in Gutenberg while the
   layout is deliberately editorial rather than a stack of generic blocks. */
.internal-hero-split.wp-block-columns {
	align-items: flex-start;
	gap: clamp(42px, 7vw, 104px);
	margin-bottom: 0;
}
.internal-hero-split.wp-block-columns > .wp-block-column { min-width: 0; }
.internal-hero-split.wp-block-columns > .wp-block-column:first-child { flex: 0 1 52%; }
.internal-hero-split.wp-block-columns > .wp-block-column:last-child { flex: 0 1 44%; }
.internal-hero-split .inner-hero-title { max-width: 12.5ch; margin-top: .12em; }
.internal-hero-split .inner-hero-lead { max-width: 62ch; }
.faber-cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 28px;
}
.faber-cta-row > .wp-block-buttons,
.faber-cta-row > .wp-block-shortcode { margin: 0; }
.faber-cta-row .wp-block-buttons { margin: 0; }
.faber-cta-row .faber-chat-trigger { margin: 0; }
.faber-cta-row > :nth-child(n+2) .wp-block-button__link,
.faber-cta-row > :nth-child(n+2).faber-chat-trigger {
	padding-right: 4px !important;
	padding-left: 4px !important;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--faber-navy);
}
.faber-cta-row > :nth-child(n+2) .wp-block-button__link:hover,
.faber-cta-row > :nth-child(n+2).faber-chat-trigger:hover { transform: none; box-shadow: none; }
.navy .faber-cta-row > :nth-child(n+2) .wp-block-button__link,
.navy .faber-cta-row > :nth-child(n+2).faber-chat-trigger { color: #fff; }
.aligned-cta > .wp-block-column:last-child { display: flex; align-items: flex-end; }
.aligned-cta .faber-cta-row { margin-top: 0; }
.cta-supporting-copy { margin-top: 18px; font-size: .94rem; }
.alice-label { margin-top: 20px; color: #8d6800; font-size: .9rem; font-weight: 750; }
.navy .alice-label { color: var(--faber-yellow); }
.alice-callout { position: relative; }
.alice-callout::after { position: absolute; top: 0; right: max(28px, calc((100vw - 1280px) / 2)); width: 22%; border-top: 2px solid var(--faber-yellow); content: ""; }

.internal-grid.wp-block-columns,
.four-columns.wp-block-columns,
.three-columns.wp-block-columns,
.two-columns.wp-block-columns,
.feature-grid-3x2.wp-block-columns,
.editorial-timeline.wp-block-columns { flex-wrap: wrap !important; }
.feature-grid-3x2.wp-block-columns > .wp-block-column { flex: 0 0 33.333%; }
.editorial-timeline.wp-block-columns { gap: 0; margin-top: clamp(30px, 4vw, 54px); }
.editorial-timeline.wp-block-columns > .wp-block-column { box-sizing: border-box; min-width: 0; flex: 0 0 25%; padding: 4px 24px 0; border-left: 1px solid var(--faber-navy); }
.editorial-timeline.wp-block-columns > .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.editorial-timeline .num { margin: 0 0 7px; color: #8d6800; font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.editorial-timeline .timeline-year { margin: 0 0 20px; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(1.75rem, 2.2vw, 2.25rem); line-height: 1; }
.editorial-timeline .internal-grid-title { margin-top: 0; }
.editorial-timeline p:not(.num) { max-width: 34ch; }
.compact-cta { padding-top: clamp(74px, 7vw, 98px) !important; padding-bottom: clamp(74px, 7vw, 98px) !important; }
.contact-form-split { align-items: flex-start; }

.faber-form { max-width: 100%; }
.faber-form label { max-width: 66ch; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--faber-yellow);
	outline-offset: 3px;
}

@media (max-width: 1120px) {
	.site-header-inner > .wp-block-buttons { display: none; }
	.wp-block-navigation__responsive-container-open { display: flex !important; }
	.wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) { display: none !important; }
}

@media (max-width: 900px) {
	.site-header-inner { padding: 13px 18px; }
	.site-header-inner > .wp-block-buttons { display: none; }
	.hero-grid.wp-block-columns,
	.split-editorial.wp-block-columns { gap: 42px; }
	.hero-title { font-size: clamp(3.2rem, 15vw, 5.5rem); }
	.hero-note { max-width: 360px; margin-left: auto; }
	.two-doors,
	.method-line,
	.training-grid { flex-direction: column; }
	.case-grid { grid-template-columns: 1fr 1fr; }
	.home-offers { grid-template-columns: 1fr 1fr; }
	.home-offer:nth-child(2) { border-right: 0; }
	.home-agent { min-height: 0; }
	.home-agents { grid-template-columns: 1fr; }
	.home-agent { border-right: 0; }
	.four-columns.wp-block-columns > .wp-block-column,
	.three-columns.wp-block-columns > .wp-block-column,
	.practical-grid.wp-block-columns > .wp-block-column,
	.resource-topics.wp-block-columns > .wp-block-column,
	.feature-grid-3x2.wp-block-columns > .wp-block-column,
	.editorial-timeline.wp-block-columns > .wp-block-column { flex: 0 0 50%; }
	.three-columns.wp-block-columns > .wp-block-column:last-child:nth-child(odd),
	.practical-grid.wp-block-columns > .wp-block-column:last-child:nth-child(odd),
	.resource-topics.wp-block-columns > .wp-block-column:last-child:nth-child(odd) { flex-basis: 100%; }
	.editorial-timeline.wp-block-columns > .wp-block-column:nth-child(odd) { padding-left: 0; border-left: 0; }
	.internal-hero-split.wp-block-columns { gap: 28px; }
	.internal-hero-split.wp-block-columns > .wp-block-column:first-child,
	.internal-hero-split.wp-block-columns > .wp-block-column:last-child { flex-basis: 100%; }
	.internal-hero-split .inner-hero-title { max-width: 14ch; }
	body.home .home-why-grid { display: block; }
	body.home .home-why-grid .eyebrow { margin-bottom: 16px; }
	body.home .home-why-grid .section-title { max-width: 16ch; margin-bottom: 26px; }
	body.home .home-why-copy { max-width: 64ch; }
	body.home .home-offer:nth-child(2),
	body.home .home-agent { border-right: 1px solid currentColor; }
	body.home .home-hero-grid > .wp-block-column:last-child { padding-top: 0; }
	.faber-formation-meta { grid-template-columns: 1fr 1fr; }
	.faber-formation-meta div { border-bottom: 1px solid var(--faber-line); }
	.wp-block-navigation__responsive-container-open { display: flex !important; }
	.wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) { display: none !important; }
}

@media (max-width: 1100px) and (min-width: 901px) {
	body.home .home-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.home .home-offer:nth-child(2) { border-right: 1px solid rgba(255,255,255,.45); }
}

@media (max-width: 600px) {
	.faber-section.has-global-padding { padding-right: 24px; padding-left: 24px; }
	.faber-section.hero-faber { min-height: auto; }
	.section-title { font-size: clamp(2.8rem, 13vw, 4.5rem); }
	.case-grid { grid-template-columns: 1fr; }
	.case-grid { border-right: 1px solid currentColor; }
	.case-item { border-right: 0; }
	.door { min-height: 300px; }
	.faber-formation-meta { grid-template-columns: 1fr; }
	.faber-formation-meta div { border-right: 0; }
	.wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
	body.home .home-hero-title { font-size: clamp(3rem, 13vw, 4rem); }
	body.home .home-hero-note { padding: 28px 22px; }
	.home-services-ticker { padding: 15px 0; }
	.home-services-ticker-track { width: max-content; padding-left: 24px; white-space: nowrap; line-height: 1; animation: faber-ticker 32s linear infinite; }
	.home-services-ticker-track span { margin: 0 .45rem; }
	.home-example summary { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 20px 0; font-size: 1.23rem; }
	.home-example p { margin-left: 0; }
	body.home .home-compare > .wp-block-column { padding: 26px 22px; border-right: 1px solid var(--faber-navy); border-bottom: 1px solid var(--faber-navy); }
	.home-offers { grid-template-columns: 1fr; }
	body.home .home-offer { min-height: 0; padding: 25px 22px; border-right: 1px solid rgba(255,255,255,.45); }
	.home-agent-workflow { gap: 8px; font-size: .7rem; }
	body.home .home-why-grid .section-title { font-size: clamp(2.45rem, 11vw, 3rem); }
	body.home .home-examples { margin-top: 22px; }
	.inner-hero { padding-top: 58px !important; padding-bottom: 52px !important; }
	.inner-hero-title { font-size: clamp(2.8rem, 12vw, 3.55rem); }
	body:not(.home) .faber-section:not(.hero-faber) .section-title { font-size: clamp(2.2rem, 10.5vw, 2.7rem); }
	.internal-grid.wp-block-columns > .wp-block-column,
	.four-columns.wp-block-columns > .wp-block-column,
	.three-columns.wp-block-columns > .wp-block-column,
	.two-columns.wp-block-columns > .wp-block-column,
	.resource-topics.wp-block-columns > .wp-block-column { flex-basis: 100%; padding: 23px 22px; }
	.feature-grid-3x2.wp-block-columns > .wp-block-column,
	.editorial-timeline.wp-block-columns > .wp-block-column { flex-basis: 100%; }
	.editorial-timeline.wp-block-columns > .wp-block-column,
	.editorial-timeline.wp-block-columns > .wp-block-column:nth-child(odd) { padding: 22px 0 0 22px; border-left: 1px solid var(--faber-navy); }
	.editorial-timeline.wp-block-columns > .wp-block-column:first-child { padding-top: 0; }
	.faber-cta-row { align-items: stretch; }
	.faber-cta-row > .wp-block-buttons { flex: 1 1 100%; }
	.faber-cta-row > .wp-block-shortcode { flex: 1 1 100%; width: 100%; }
	.faber-cta-row .wp-block-button,
	.faber-cta-row .wp-block-button__link,
	.faber-cta-row .faber-chat-trigger { display: flex; width: 100%; box-sizing: border-box; justify-content: center; }
	.faber-cta-row > :nth-child(n+2) .wp-block-button__link,
	.faber-cta-row > :nth-child(n+2).faber-chat-trigger { padding-right: 15px !important; padding-left: 15px !important; }
	.aligned-cta > .wp-block-column:last-child { display: block; }
	.aligned-cta .faber-cta-row { margin-top: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}
