/*
Theme Name: Daniel Erbe (GeneratePress Child)
Theme URI: https://danielerbeinternational.com/
Description: Child theme for the Daniel Erbe website rebuild. Governs the GLOBAL header, navigation, footer, and shared brand styling (colors, typography, buttons, editorial chapter system) on top of GeneratePress Free. Individual page CONTENT is built separately in Elementor Free — this stylesheet intentionally contains no page-specific rules, so every page inherits one consistent header/footer, with no per-page overrides.
Author:
Template: generatepress
Version: 1.2
Text Domain: daniel-erbe-child
*/

/* ==========================================================================
   1. BRAND DESIGN TOKENS
   ========================================================================== */
:root {
	--de-navy: #1B2340;
	--de-navy-soft: #33406B;
	--de-accent: #3E4A9E;
	--de-gold: #B4923F;
	--de-gold-light: #E9CE8A;
	--de-olive: #3B4630;
	--de-bg: #FFFFFF;
	--de-bg-soft: #F7F6F2;
	--de-text: #55554F;
	--de-rule: #E6E2D8;
}

/* ==========================================================================
   2. GLOBAL TYPOGRAPHY
   ========================================================================== */
body {
	font-family: 'Inter', sans-serif;
	color: var(--de-text);
	background: var(--de-bg);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: 'Playfair Display', serif !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}
/* Force navy color everywhere EXCEPT pages that intentionally set their
   own heading colors natively (e.g. white/gold text on a dark background).
   Without this exclusion, the global !important below would always beat
   Elementor's own per-widget title_color setting, no matter what color
   was configured on that widget. */
body:not(.page-id-186):not(.page-id-286) h1,
body:not(.page-id-186):not(.page-id-286) h2,
body:not(.page-id-186):not(.page-id-286) h3,
body:not(.page-id-186):not(.page-id-286) h4,
body:not(.page-id-186):not(.page-id-286) h5,
body:not(.page-id-186):not(.page-id-286) h6,
body:not(.page-id-186):not(.page-id-286) .elementor-heading-title {
	color: var(--de-navy) !important;
}

/* Global link/accent color — except Executive Coaching page (ID 186),
   where Elementor controls its own white/gold link and button colors. */
body:not(.page-id-186):not(.page-id-286) a {
	color: var(--de-accent) !important;
}

body:not(.page-id-186):not(.page-id-286) em {
	color: var(--de-accent) !important;
	font-style: italic;
}

body.page-id-186 em {
	font-style: italic;
}

/* ==========================================================================
   3. GLOBAL HEADER
   ========================================================================== */
.site-header {
	background: var(--de-bg);
	border-bottom: 1px solid var(--de-rule);
}
.site-header .inside-header {
	padding-top: 14px;
	padding-bottom: 14px;
}
.site-header .site-logo img {
	max-height: 56px;
	width: auto;
}
.site-header .main-title,
.site-header .site-description {
	font-family: 'Playfair Display', serif;
}

/* ==========================================================================
   4. NAVIGATION
   ========================================================================== */
.main-navigation .main-nav ul li a,
.main-navigation .menu > li > a {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--de-navy);
	padding-top: 10px;
	padding-bottom: 10px;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus {
	color: var(--de-gold);
}
.menu-toggle {
	color: var(--de-navy);
	background: transparent;
}


/* ==========================================================================
   5. GLOBAL FOOTER
   Per the approved Website Corrections doc: ONE simple, compact footer,
   everywhere. Content injected via the generate_copyright filter in
   functions.php (see de_child_footer_content()). Deliberately NOT a
   multi-column layout — "That's enough. It does not need to be huge."
   ========================================================================== */
.site-footer {
	background: var(--de-navy);
}
.site-footer .site-info,
.site-footer .inside-site-info {
	border-top: none;
	padding: 0;
}
.de-footer-wrap {
	text-align: center;
	padding: 46px 20px 34px;
}
.de-footer-name {
	font-family: 'Playfair Display', serif;
	font-weight: 600;
	color: #FFFFFF;
	font-size: 1.2rem;
}
.de-footer-tag {
	color: var(--de-gold-light);
	font-size: 0.85rem;
	margin-top: 6px;
	letter-spacing: 0.03em;
}
.de-footer-nav {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
}
.de-footer-nav a {
	color: #D8DCEA;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
}
.de-footer-nav a:hover {
	color: var(--de-gold-light);
}
.de-footer-email {
	margin-top: 16px;
}
.de-footer-email a {
	color: var(--de-gold-light);
	font-size: 0.85rem;
}
.de-footer-social {
	margin-top: 14px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}
.de-footer-social a {
	color: #D8DCEA;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 50%;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.de-footer-social a svg {
	display: block;
}
.de-footer-social a:hover {
	color: var(--de-navy);
	background: var(--de-gold-light);
	border-color: var(--de-gold-light);
}
.de-footer-bottom {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.12);
	font-size: 0.75rem;
	color: #8890AC;
}

#footer-widgets:empty {
	display: none;
}

/* ==========================================================================
   DANIEL ERBE — ABOUT PAGE STYLES
   Scoped to the ".de-story-page" marker class (present on every top-level
   section of the About page's Elementor content), NOT to a specific post
   ID — so this works regardless of which page the content is imported
   onto, and never affects any other page on the site. Header, footer,
   and navigation are untouched by this file.
   ========================================================================== */

:root {
	--de-navy-deep: #0F1730;
	--de-navy: #1B2340;
	--de-accent: #3E4A9E;
	--de-gold: #B4923F;
	--de-gold-light: #E9CE8A;
	--de-olive: #3B4630;
	--de-cream: #F7F6F2;
	--de-white: #FFFFFF;
	--de-body: #55554F;
	--de-rule: #E6E2D8;
}

/* ---------- Full browser width, no boxed side margins ----------
   Covers BOTH Elementor layout systems: classic Sections (older) and
   the newer Container/Flexbox system (.e-con) — this install uses
   Containers, confirmed via the live _elementor_data. */
body:has(.de-story-page) {
	overflow-x: hidden;
}
.de-story-page {
	width: 100vw !important;
	max-width: 100vw !important;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
}
.de-story-page.e-con,
.de-story-page > .elementor-container,
.de-story-page > .e-con-inner {
	max-width: 1180px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(20px, 5vw, 80px);
	padding-right: clamp(20px, 5vw, 80px);
	box-sizing: border-box;
}

/* ---------- Base typography ---------- */
.de-story-page h1, .de-story-page h2, .de-story-page h3, .de-story-page h4,
.de-story-page .elementor-heading-title {
	font-family: 'Playfair Display', serif !important;
	font-weight: 600 !important;
	color: var(--de-navy) !important;
	letter-spacing: -0.01em;
	margin: 0;
}
.de-story-page p, .de-story-page .elementor-text-editor {
	font-family: 'Inter', sans-serif;
	color: var(--de-body);
	line-height: 1.7;
}
.de-story-page em {
	color: var(--de-accent) !important;
	font-style: italic;
}

/* ---------- Eyebrow (gold label with tie-line) ---------- */
.de-eyebrow, .de-eyebrow .elementor-heading-title {
	font-size: 0.72rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--de-gold) !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center;
}
.de-eyebrow:before, .de-eyebrow .elementor-heading-title:before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 1px;
	background: currentColor;
	margin-right: 10px;
	flex-shrink: 0;
}

/* ---------- Dark sections: Hero + Final CTA ---------- */
.de-dark-section {
	position: relative;
	display: flex;
	align-items: center;
}
.de-dark-section:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15,23,48,0.50) 0%, rgba(15,23,48,0.82) 70%, rgba(15,23,48,0.95) 100%);
	z-index: 1;
	pointer-events: none;
}
.de-dark-section > .elementor-container,
.de-dark-section > .e-con-inner,
.de-dark-section.e-con {
	position: relative;
	z-index: 2;
}
.de-dark-section h1, .de-dark-section h2, .de-dark-section h3,
.de-dark-section .elementor-heading-title {
	color: #FFFFFF !important;
}
.de-dark-section p, .de-dark-section .elementor-text-editor {
	color: #D8DCEA !important;
	font-size: 1.05rem;
	max-width: 60ch;
}
.de-dark-section em, .de-dark-section .elementor-heading-title em {
	color: var(--de-gold-light) !important;
}

/* Hero specific */
.de-dark-section:not(.de-dark-section-cta) {
	min-height: 78vh;
}
.de-dark-section:not(.de-dark-section-cta) > .elementor-container,
.de-dark-section:not(.de-dark-section-cta) > .e-con-inner,
.de-dark-section:not(.de-dark-section-cta).e-con {
	max-width: 820px !important;
	margin-left: 0 !important;
	padding-top: 120px;
	padding-bottom: 70px;
}
.de-dark-section:not(.de-dark-section-cta) h1,
.de-dark-section:not(.de-dark-section-cta) h1.elementor-heading-title {
	font-size: clamp(2.1rem, 5vw, 3.9rem) !important;
	line-height: 1.1 !important;
	margin-top: 16px !important;
}

/* Final CTA specific */
.de-dark-section-cta {
	min-height: 52vh;
	justify-content: center;
	text-align: center;
	background-color: var(--de-navy-deep);
}
.de-dark-section-cta:before {
	background: linear-gradient(180deg, rgba(15,23,48,0.70), rgba(15,23,48,0.92));
}
.de-dark-section-cta > .elementor-container,
.de-dark-section-cta > .e-con-inner,
.de-dark-section-cta.e-con {
	max-width: 680px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.de-dark-section-cta h2, .de-dark-section-cta h2.elementor-heading-title {
	font-size: clamp(1.9rem, 4.2vw, 3.1rem) !important;
	line-height: 1.1 !important;
}
.de-dark-section-cta p {
	margin: 18px 0 32px !important;
	font-size: 1.02rem !important;
}
.de-center, .de-center .elementor-widget-container, .de-center .elementor-heading-title, .de-center p {
	text-align: center;
}
.de-center .elementor-button-wrapper {
	display: flex;
	justify-content: center;
}

/* ---------- Editorial intro ---------- */
.de-intro-lead {
	font-family: 'Playfair Display', serif !important;
	font-weight: 500 !important;
	font-size: clamp(1.2rem, 2.2vw, 1.55rem) !important;
	line-height: 1.55 !important;
	color: var(--de-navy) !important;
	max-width: 52ch;
}

/* ---------- Chapter system ---------- */
.de-chapter-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
.de-chapter-node {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1px solid var(--de-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	color: var(--de-gold);
	font-size: 1.05rem;
	flex-shrink: 0;
	position: relative;
}
.de-chapter-node:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 100%;
	width: 1px;
	height: 34px;
	background: linear-gradient(180deg, var(--de-gold), transparent);
	transform: translateX(-50%);
}
.de-chapter-label {
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #A19D8F;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
}
.de-chapter-title, .de-chapter-title.elementor-heading-title {
	font-size: clamp(1.55rem, 2.9vw, 2.2rem) !important;
	line-height: 1.15 !important;
	margin: 10px 0 20px !important;
	max-width: 20ch;
	color: var(--de-navy) !important;
}
.de-pull, .de-pull .elementor-text-editor, .de-pull p {
	font-family: 'Playfair Display', serif !important;
	font-style: italic;
	font-weight: 600 !important;
	color: var(--de-accent) !important;
	font-size: 1.15rem !important;
	line-height: 1.4;
	margin-top: 20px !important;
	max-width: 46ch;
}

/* Chapter Four star watermark */
.de-star-chapter {
	position: relative !important;
	overflow: hidden;
}
.de-star-glyph {
	position: absolute !important;
	top: 50%;
	left: calc(50% + 20px);
	width: min(60vw, 560px);
	height: min(60vw, 560px);
	transform: translate(-50%, -50%);
	opacity: 0.06;
	color: var(--de-gold);
	z-index: 0;
	pointer-events: none;
}
.de-star-content {
	position: relative !important;
	z-index: 1;
}

/* Chapter photos */
.de-photo-box img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover !important;
	border: 1px solid var(--de-rule);
	border-radius: 2px;
}
.de-photo-box.de-photo-wide img {
	aspect-ratio: 16 / 10 !important;
}

/* ---------- Experience: two-column credential grid ---------- */
.de-bg-soft {
	background: var(--de-cream) !important;
}
.de-bg-soft.de-story-page {
	border-top: 1px solid var(--de-rule);
	border-bottom: 1px solid var(--de-rule);
}
.de-exp-grid {
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--de-rule);
}
.de-exp-grid li {
	font-family: 'Playfair Display', serif;
	font-size: 1.04rem;
	color: var(--de-navy);
	padding: 16px 4px;
	border-bottom: 1px solid var(--de-rule);
}
.de-exp-grid li:nth-child(odd) {
	border-right: 1px solid var(--de-rule);
	padding-right: 22px;
}

/* ---------- Philosophy ---------- */
.de-philosophy > .elementor-container,
.de-philosophy > .e-con-inner,
.de-philosophy.e-con {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.de-phil-intro {
	font-family: 'Playfair Display', serif !important;
	font-size: 1.25rem !important;
	color: var(--de-navy) !important;
	margin-top: 16px !important;
}
.de-belief {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.1rem, 2vw, 1.4rem) !important;
	color: var(--de-navy) !important;
	padding: 15px 0;
	border-bottom: 1px solid var(--de-rule);
}
.de-belief:first-of-type {
	border-top: 1px solid var(--de-rule);
}
.de-belief.de-accent {
	color: var(--de-accent) !important;
}

/* ---------- Pathways ---------- */
.de-pathways-row {
	display: flex;
}
.de-pathway-title, .de-pathway-title.elementor-heading-title {
	font-size: 1.35rem !important;
	margin: 6px 0 0 !important;
}

/* ---------- Buttons ---------- */
.de-btn, .elementor-button.de-btn, a.de-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 15px 30px !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	border-radius: 2px !important;
	background: var(--de-olive) !important;
	color: #FFFFFF !important;
	border: 1px solid transparent !important;
	transition: background 0.2s ease;
}
.de-btn:hover, .elementor-button.de-btn:hover {
	background: #2C3524 !important;
}
.de-btn-gold, .elementor-button.de-btn-gold {
	background: var(--de-gold-light) !important;
	color: var(--de-navy) !important;
}
.de-btn-gold:hover {
	background: #F0DBA6 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 800px) {
	.de-chapter-node { width: 40px; height: 40px; font-size: 0.85rem; }
	.de-exp-grid { grid-template-columns: 1fr; }
	.de-exp-grid li:nth-child(odd) { border-right: none; padding-right: 4px; }
	.de-pathways-row .elementor-column { width: 100% !important; }
	.de-dark-section:not(.de-dark-section-cta) > .elementor-container { max-width: 100% !important; }
}

/* ==========================================================================
   ABOUT PAGE — CORRECTIONS PATCH (v2)
   Applied per the reviewer's punch-list. Every rule here is scoped to the
   .de-story-page / .de-dark-section / .de-pathways-row / .de-philosophy
   classes already used by the imported content — nothing here touches the
   global header, footer, or any other page.
   ========================================================================== */

/* ---------- HERO: kill any boxed/white-frame background on inner wrappers,
   force the dark gradient to cover the FULL section edge-to-edge ---------- */
.de-dark-section,
.de-dark-section .elementor-column,
.de-dark-section .elementor-widget-wrap,
.de-dark-section .elementor-element-populated,
.de-dark-section .elementor-container {
	background-color: transparent !important;
	box-shadow: none !important;
	border: none !important;
}
.de-dark-section {
	position: relative !important;
	overflow: hidden;
}
.de-dark-section:before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, rgba(15,23,48,0.55) 0%, rgba(15,23,48,0.85) 65%, rgba(15,23,48,0.96) 100%) !important;
	z-index: 1 !important;
	pointer-events: none !important;
}
.de-dark-section > .elementor-container,
.de-dark-section > .e-con-inner,
.de-dark-section.e-con,
.de-dark-section .elementor-column {
	position: relative !important;
	z-index: 2 !important;
}
/* Force full-bleed regardless of theme content-width wrapping */
.de-dark-section:not(.de-dark-section-cta) {
	min-height: 86vh !important;
	display: flex !important;
	align-items: center !important;
}
.de-dark-section:not(.de-dark-section-cta) > .elementor-container {
	max-width: 760px !important;
	margin-left: 0 !important;
	padding-top: 100px !important;
	padding-bottom: 60px !important;
}
/* Text contrast: white heading, gold italic accent, light supporting copy */
.de-dark-section h1, .de-dark-section h2, .de-dark-section h3,
.de-dark-section .elementor-heading-title {
	color: #FFFFFF !important;
}
.de-dark-section .elementor-heading-title em,
.de-dark-section h1 em, .de-dark-section h2 em {
	color: var(--de-gold-light) !important;
	font-style: italic !important;
}
.de-dark-section p, .de-dark-section .elementor-text-editor,
.de-dark-section .elementor-text-editor p {
	color: #E7E9F3 !important;
}
.de-eyebrow, .de-eyebrow .elementor-heading-title {
	color: var(--de-gold) !important;
}

/* ---------- GLOBAL SPACING: normalize section padding, remove huge gaps ---------- */
.de-story-page {
	padding-top: 90px !important;
	padding-bottom: 90px !important;
}
.de-dark-section:not(.de-dark-section-cta) { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ---------- INTRO: reduce excess whitespace before Chapter One ---------- */
.de-intro-lead {
	margin-bottom: 0 !important;
}

/* ---------- CHAPTERS: tighten column gaps, avoid clipped bottom text ---------- */
.de-story-page .elementor-column-gap-default > .elementor-column,
.de-story-page .elementor-row {
	column-gap: 50px !important;
}
.de-chapter-title, .de-chapter-title.elementor-heading-title {
	margin-bottom: 14px !important;
}
.de-story-page .elementor-widget-text-editor {
	overflow: visible !important;
}

/* ---------- PHILOSOPHY: widen content area, it's currently too narrow ---------- */
.de-philosophy > .elementor-container,
.de-philosophy > .e-con-inner,
.de-philosophy.e-con {
	max-width: 880px !important;
}
.de-belief {
	padding: 12px 0 !important;
}

/* ---------- PATHWAYS: replace olive blocks / green buttons with premium cards ---------- */
.de-pathways-row {
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}
.de-pathways-row .elementor-column {
	background: #FFFFFF !important;
	border: 1px solid var(--de-rule) !important;
	border-radius: 4px !important;
	padding: 36px 30px !important;
	box-shadow: 0 2px 10px rgba(27,35,64,0.05) !important;
}
.de-pathways-row .elementor-widget-wrap {
	background: transparent !important;
}
/* Buttons: force navy/gold, kill any default olive/green full-width block */
.de-pathways-row .elementor-widget-button,
.de-pathways-row .elementor-button-wrapper {
	display: block !important;
	text-align: left !important;
	margin-top: 18px !important;
	background: transparent !important;
}
.de-pathways-row a.de-btn,
.de-pathways-row .elementor-button.de-btn {
	display: inline-flex !important;
	width: auto !important;
	background: var(--de-navy) !important;
	color: #FFFFFF !important;
	border: 1px solid var(--de-navy) !important;
}
.de-pathways-row a.de-btn:hover {
	background: var(--de-gold) !important;
	border-color: var(--de-gold) !important;
	color: var(--de-navy) !important;
}

/* ---------- FINAL CTA: fix low-contrast navy-on-navy ---------- */
.de-dark-section-cta {
	padding-top: 90px !important;
	padding-bottom: 90px !important;
}
.de-dark-section-cta h1, .de-dark-section-cta h2, .de-dark-section-cta h3,
.de-dark-section-cta .elementor-heading-title {
	color: #FFFFFF !important;
}
.de-dark-section-cta p, .de-dark-section-cta .elementor-text-editor {
	color: #E7E9F3 !important;
}
.de-dark-section-cta a.de-btn,
.de-dark-section-cta .elementor-button.de-btn {
	background: var(--de-gold-light) !important;
	color: var(--de-navy) !important;
	border: none !important;
}
.de-dark-section-cta a.de-btn:hover {
	background: #F0DBA6 !important;
}

/* ---------- Responsive: keep the above sane on tablet/mobile ---------- */
@media (max-width: 900px) {
	.de-dark-section:not(.de-dark-section-cta) { min-height: 70vh !important; }
	.de-pathways-row .elementor-column { margin-bottom: 20px !important; }
	.de-philosophy > .elementor-container { max-width: 100% !important; padding: 0 20px !important; }
}

/* ==========================================================================
   ABOUT PAGE — POSITIONAL FIX (v3)
   ROOT CAUSE FOUND: this site runs Elementor FREE, and "CSS Classes" (the
   Advanced-tab field used throughout about-page-elementor-import.json) is
   an Elementor PRO-only feature. On import, every custom class in that file
   (de-story-page, de-dark-section, de-pathways-row, de-philosophy, etc.)
   was silently dropped. None of the class-based rules above this comment
   have ever applied to this page — this section replaces them using
   Elementor's own generated structure instead, scoped to THIS page only
   via .elementor-86 (the live page's real Elementor post ID).

   Section order on this page (1-indexed, matches the JSON's content array):
   1 Hero  2 Intro  3 Chapter1  4 Chapter2  5 Chapter3  6 Chapter4
   7 Chapter5  8 Experience  9 Philosophy  10 (spacer/bg-soft)
   11 Pathways  12 Final CTA
   ========================================================================== */

/* ---------- 9) PHILOSOPHY: widen from cramped column ---------- */
.elementor-86 > .elementor-section:nth-of-type(8) .elementor-container {
	max-width: 880px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* Fix double-line look: each belief statement is showing two thin rules
   very close together instead of one. Hide every second divider widget
   in this section so only one line separates each statement. */
.elementor-86 > .elementor-section:nth-of-type(8) .elementor-widget-divider:nth-of-type(even) {
	display: none !important;
}
.elementor-86 > .elementor-section:nth-of-type(8) .elementor-divider-separator {
	opacity: 0.6;
}

/* ---------- 11) PATHWAYS: replace olive blocks/green buttons with cards ---------- */
.elementor-86 > .elementor-section:nth-of-type(10) {
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}
.elementor-86 > .elementor-section:nth-of-type(10) > .elementor-container,
.elementor-86 > .elementor-section:nth-of-type(10) > .elementor-container > .elementor-row {
	align-items: stretch !important;
}
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-column {
	background: #FFFFFF !important;
	border: 1px solid #E6E2D8 !important;
	border-radius: 4px !important;
	padding: 36px 30px !important;
	box-shadow: 0 2px 10px rgba(27,35,64,0.05) !important;
	display: flex !important;
	flex-direction: column !important;
}
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-widget-wrap {
	background: transparent !important;
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}
/* Push the button to the bottom of every card, regardless of text length above it */
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-widget-text-editor {
	flex-grow: 1 !important;
}
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-widget-button {
	margin-top: auto !important;
}
/* Flatten the double-box: kill the native olive wrapper background entirely */
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-button-wrapper,
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-widget-button .elementor-widget-container {
	background: transparent !important;
	background-color: transparent !important;
	padding: 0 !important;
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
}
/* Single clean gold button, no wrap, consistent across all three, centered */
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #B4923F !important;
	background-color: #B4923F !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 2px !important;
	text-transform: uppercase !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.08em !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	text-align: center !important;
	padding: 14px 10px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.elementor-86 > .elementor-section:nth-of-type(10) .elementor-button:hover {
	background: #1B2340 !important;
	background-color: #1B2340 !important;
	color: #FFFFFF !important;
}

/* ---------- 12) FINAL CTA: fix navy-on-navy contrast ---------- */
.elementor-86 > .elementor-section:nth-of-type(11) {
	padding-top: 90px !important;
	padding-bottom: 90px !important;
	background-color: #0F1730 !important;
}
.elementor-86 > .elementor-section:nth-of-type(11) h1,
.elementor-86 > .elementor-section:nth-of-type(11) h2,
.elementor-86 > .elementor-section:nth-of-type(11) .elementor-heading-title {
	color: #FFFFFF !important;
}
.elementor-86 > .elementor-section:nth-of-type(11) p,
.elementor-86 > .elementor-section:nth-of-type(11) .elementor-text-editor {
	color: #E7E9F3 !important;
}
.elementor-86 > .elementor-section:nth-of-type(11) .elementor-button {
	background: #E9CE8A !important;
	color: #1B2340 !important;
	border: none !important;
}

/* ---------- CHAPTER GUTTERS (v4): sections had gap:"no" baked into the
   JSON, so image/text columns had zero built-in space between them —
   this was always going to depend on the dropped classes. Fixed here
   with symmetric column padding on every two-column chapter section. ---------- */
.elementor-86 > .elementor-section:nth-of-type(2) > .elementor-container > .elementor-row > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(3) > .elementor-container > .elementor-row > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(4) > .elementor-container > .elementor-row > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(6) > .elementor-container > .elementor-row > .elementor-column {
	padding-left: 28px !important;
	padding-right: 28px !important;
}
/* fallback selector in case Elementor doesn't render an inner .elementor-row wrapper */
.elementor-86 > .elementor-section:nth-of-type(2) > .elementor-container > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(3) > .elementor-container > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(4) > .elementor-container > .elementor-column,
.elementor-86 > .elementor-section:nth-of-type(6) > .elementor-container > .elementor-column {
	padding-left: 28px !important;
	padding-right: 28px !important;
}
/* extra fallback: any nesting depth, in case Chapter Five's structure differs */
.elementor-86 > .elementor-section:nth-of-type(6) .elementor-column {
	padding-left: 30px !important;
	padding-right: 30px !important;
}

/* ---------- REINFORCED HORIZONTAL-SCROLLBAR FIX ----------
   The 100vw full-bleed technique on the hero can overshoot the true
   viewport width by the scrollbar's own width, causing a persistent
   horizontal scrollbar site-wide. Belt-and-suspenders fix: ---------- */
html {
	overflow-x: hidden !important;
	width: 100% !important;
}
body {
	overflow-x: hidden !important;
	width: 100% !important;
	position: relative !important;
}
.site.grid-container {
	overflow-x: hidden !important;
}

/* ---------- CHAPTER TIMELINE LINE (v5): reference design has a thin gold
   vertical rule running down the left edge of the text column, threading
   through the Roman-numeral circle. Added per chapter using the same
   positional technique — text column varies by layout (left vs right). ---------- */
.elementor-86 > .elementor-section:nth-of-type(2) > .elementor-container > .elementor-row > .elementor-column:first-child,
.elementor-86 > .elementor-section:nth-of-type(4) > .elementor-container > .elementor-row > .elementor-column:first-child,
.elementor-86 > .elementor-section:nth-of-type(2) > .elementor-container > .elementor-column:first-child,
.elementor-86 > .elementor-section:nth-of-type(4) > .elementor-container > .elementor-column:first-child {
	border-left: 1px solid #B4923F !important;
	padding-left: 26px !important;
}
.elementor-86 > .elementor-section:nth-of-type(3) > .elementor-container > .elementor-row > .elementor-column:last-child,
.elementor-86 > .elementor-section:nth-of-type(6) > .elementor-container > .elementor-row > .elementor-column:last-child,
.elementor-86 > .elementor-section:nth-of-type(3) > .elementor-container > .elementor-column:last-child,
.elementor-86 > .elementor-section:nth-of-type(6) > .elementor-container > .elementor-column:last-child {
	border-left: 1px solid #B4923F !important;
	padding-left: 26px !important;
}

/* ==========================================================================
   SITE-WIDE — REMOVE SIDEBAR COLUMN (v8 — GLOBAL, no longer page-specific)
   Was previously scoped to body.page-id-86 only, meaning every NEW page
   (like Contact) hit this exact same narrow-column bug again, since each
   page has its own ID. GeneratePress uses CSS Grid for this layout, not
   floats, so this overrides the grid template directly, site-wide, so it
   never needs to be re-added per page again.
   ========================================================================== */
.site.grid-container {
	grid-template-columns: 100% !important;
	grid-template-areas: "content" !important;
}
.content-area {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}
#right-sidebar,
.widget-area {
	display: none !important;
}

/* ==========================================================================
   SITE-WIDE — FIX GENERATEPRESS ".container" MAX-WIDTH (v11 — HIGH SPECIFICITY)
   v10 targeted plain ".container" — didn't fully work, most likely because
   GeneratePress applies its own max-width via a MORE SPECIFIC selector
   (e.g. "body.separate-containers .container"), and CSS breaks ties
   between competing !important rules by specificity, not by which file
   loads last. This version uses multiple higher-specificity selectors —
   including html body compounds and an ID+class combo — to guarantee this
   wins over whatever GeneratePress's own core stylesheet is using, for
   the header, content wrapper (#page), and footer together in one rule.
   ========================================================================== */
/* ==========================================================================
   GLOBAL CONTENT-WIDTH FIX (v13 — PERMANENT, EXCLUDES ABOUT)
   Applies full browser width to main page content on every Elementor page
   SITE-WIDE, so this problem does not need re-solving per page (Home,
   Contact, Speaking, Vocal Performance, Executive Coaching, etc.).

   Explicitly excludes body.page-id-86 (the About page), which already has
   its own working full-bleed structure via .de-story-page (see the "ABOUT
   PAGE STYLES" section earlier in this file) — that CSS is untouched and
   this rule cannot override it, since About is excluded entirely via the
   :not(.page-id-86) selector below.

   Does NOT touch .site-header or .site-footer — those keep their current
   design exactly as-is on every page, including About.

   No JavaScript. No 100vw/negative-margin hacks. Plain max-width/width
   overrides on GeneratePress's own standard, documented wrapper chain
   (#primary, .content-area, .site-main, .entry-content) plus Elementor's
   content class and the #page wrapper itself.

   NOTE: this assumes About's page ID is still 86 — if that page's ID ever
   changes (e.g. rebuilt on a new page), this exclusion must be updated to
   match, or About will be affected by this rule too.
   ========================================================================== */
body:not(.page-id-86) #page.site.grid-container.container,
body:not(.page-id-86) #primary,
body:not(.page-id-86) .content-area,
body:not(.page-id-86) .site-main,
body:not(.page-id-86) article,
body:not(.page-id-86) .entry-content,
body:not(.page-id-86) .elementor {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ==========================================================================
   VOCAL PERFORMANCE — PAGE 286 FINAL POLISH
   Scoped ONLY to page 286. Does not alter About (86), Executive Coaching
   (186), the global header, or the global footer.
   ========================================================================== */

/* Elementor owns page-286 heading/link/emphasis colors. The global typography
   rules above explicitly exclude page 286, so white/gold text on dark sections
   remains readable. */

/* HERO — keep the approved video treatment and make desktop CTAs sit together. */
body.page-id-286 .elementor-element-5acd6e9f .elementor-column > .elementor-widget-wrap {
    align-content: flex-end;
}
body.page-id-286 .elementor-element-5acd6e9f .elementor-widget-button {
    display: inline-block !important;
    width: auto !important;
    margin-right: 12px !important;
    vertical-align: top;
}
body.page-id-286 .elementor-element-5acd6e9f .elementor-button {
    min-height: 50px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* STORY — right image fills the complete visual height of the left story copy. */
body.page-id-286 .elementor-element-263159c8 > .elementor-container,
body.page-id-286 .elementor-element-263159c8 > .elementor-container > .elementor-row {
    align-items: stretch !important;
}
body.page-id-286 .elementor-element-263159c8 .elementor-element-53e6bb9a {
    align-self: stretch !important;
    min-height: 720px !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* PERFORMANCE HIGHLIGHTS — consistent 3 x 2 editorial grid. */
body.page-id-286 .elementor-element-d1359ff1 > .elementor-container > .elementor-row,
body.page-id-286 .elementor-element-c3925e38 > .elementor-container > .elementor-row {
    align-items: stretch !important;
}
body.page-id-286 .elementor-element-d1359ff1 .elementor-column,
body.page-id-286 .elementor-element-c3925e38 .elementor-column {
    display: flex !important;
}
body.page-id-286 .elementor-element-d1359ff1 .elementor-widget-wrap,
body.page-id-286 .elementor-element-c3925e38 .elementor-widget-wrap {
    width: 100% !important;
    align-content: flex-start !important;
}
body.page-id-286 .elementor-element-d1359ff1 .elementor-widget-image img,
body.page-id-286 .elementor-element-c3925e38 .elementor-widget-image img {
    width: 100% !important;
    height: 285px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}
/* Presidential & National Events intentionally uses a navy/gold graphic. */
body.page-id-286 .elementor-element-c3925e38 .elementor-widget-html {
    width: 100% !important;
}
body.page-id-286 .elementor-element-c3925e38 .elementor-widget-html .elementor-widget-container {
    min-height: 285px !important;
}

/* EXPERIENCE — force intended contrast over photography. */
body.page-id-286 .elementor-element-4cdaf23d h1,
body.page-id-286 .elementor-element-4cdaf23d h2,
body.page-id-286 .elementor-element-4cdaf23d h3,
body.page-id-286 .elementor-element-4cdaf23d .elementor-heading-title {
    color: #FFFFFF !important;
}
body.page-id-286 .elementor-element-4cdaf23d p {
    color: #FFFFFF !important;
}
body.page-id-286 .elementor-element-4cdaf23d em {
    color: #E9CE8A !important;
}

/* BOOKING CTA — replace the accidental olive/blue appearance. */
body.page-id-286 .elementor-element-76f3a052 .elementor-widget-button .elementor-button {
    background: #B4923F !important;
    background-color: #B4923F !important;
    color: #FFFFFF !important;
    border: 1px solid #B4923F !important;
    border-radius: 2px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    padding: 15px 28px !important;
}
body.page-id-286 .elementor-element-76f3a052 .elementor-widget-button .elementor-button:hover,
body.page-id-286 .elementor-element-76f3a052 .elementor-widget-button .elementor-button:focus {
    background: #1B2340 !important;
    background-color: #1B2340 !important;
    border-color: #1B2340 !important;
    color: #FFFFFF !important;
}
body.page-id-286 .elementor-element-76f3a052 {
    padding-bottom: 65px !important;
}

/* FINAL CTA — preserve white/cream contrast if this section is present. */
body.page-id-286 .elementor-element-fa0077ef h1,
body.page-id-286 .elementor-element-fa0077ef h2,
body.page-id-286 .elementor-element-fa0077ef .elementor-heading-title {
    color: #FFFFFF !important;
}
body.page-id-286 .elementor-element-fa0077ef p {
    color: #D8DCEA !important;
}
body.page-id-286 .elementor-element-fa0077ef .elementor-button {
    background: #E9CE8A !important;
    color: #1B2340 !important;
}

@media (max-width: 767px) {
    body.page-id-286 .elementor-element-5acd6e9f .elementor-widget-button {
        display: block !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 12px !important;
    }
    body.page-id-286 .elementor-element-263159c8 .elementor-element-53e6bb9a {
        min-height: 520px !important;
    }
    body.page-id-286 .elementor-element-d1359ff1 .elementor-widget-image img,
    body.page-id-286 .elementor-element-c3925e38 .elementor-widget-image img {
        height: 260px !important;
    }
}


/* ==========================================================================
   VOCAL PERFORMANCE — TWO LAYOUT FIXES ONLY — 2026-09-06
   1) Performance Highlights: equal image areas / clean 3 x 2 alignment.
   2) Experience: move background upward to show Daniel's head/upper body.
   No color, typography, button, header, footer, or other section changes.
   ========================================================================== */

/* 1) PERFORMANCE HIGHLIGHTS — force every visual to the same height. */
body.page-id-286 .elementor-element-25825b47 .elementor-widget-container,
body.page-id-286 .elementor-element-2052699c .elementor-widget-container,
body.page-id-286 .elementor-element-6d8fa99f .elementor-widget-container,
body.page-id-286 .elementor-element-aee1bbda .elementor-widget-container,
body.page-id-286 .elementor-element-3451ec1c .elementor-widget-container {
    height: 285px !important;
    overflow: hidden !important;
}

body.page-id-286 .elementor-element-25825b47 img,
body.page-id-286 .elementor-element-2052699c img,
body.page-id-286 .elementor-element-6d8fa99f img,
body.page-id-286 .elementor-element-aee1bbda img,
body.page-id-286 .elementor-element-3451ec1c img {
    width: 100% !important;
    height: 100% !important;
    min-height: 285px !important;
    max-height: 285px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

/* The intentionally graphic Presidential & National Events tile matches images. */
body.page-id-286 .elementor-element-1e5e1a38,
body.page-id-286 .elementor-element-1e5e1a38 .elementor-widget-container,
body.page-id-286 .elementor-element-1e5e1a38 .elementor-widget-container > div {
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
}

/* Keep both highlight rows as equal thirds and align content from the top. */
body.page-id-286 .elementor-element-d1359ff1 > .elementor-container > .elementor-row,
body.page-id-286 .elementor-element-c3925e38 > .elementor-container > .elementor-row {
    display: flex !important;
    align-items: stretch !important;
}
body.page-id-286 .elementor-element-d1359ff1 .elementor-column,
body.page-id-286 .elementor-element-c3925e38 .elementor-column {
    width: 33.3333% !important;
    flex: 0 0 33.3333% !important;
    align-self: stretch !important;
}
body.page-id-286 .elementor-element-d1359ff1 .elementor-widget-wrap,
body.page-id-286 .elementor-element-c3925e38 .elementor-widget-wrap {
    align-content: flex-start !important;
}

/* 2) EXPERIENCE — show upper body/head rather than the lower-body crop. */
body.page-id-286 .elementor-element-4cdaf23d {
    background-position: center 18% !important;
}

@media (max-width: 767px) {
    body.page-id-286 .elementor-element-d1359ff1 > .elementor-container > .elementor-row,
    body.page-id-286 .elementor-element-c3925e38 > .elementor-container > .elementor-row {
        display: block !important;
    }
    body.page-id-286 .elementor-element-d1359ff1 .elementor-column,
    body.page-id-286 .elementor-element-c3925e38 .elementor-column {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
    body.page-id-286 .elementor-element-25825b47 .elementor-widget-container,
    body.page-id-286 .elementor-element-2052699c .elementor-widget-container,
    body.page-id-286 .elementor-element-6d8fa99f .elementor-widget-container,
    body.page-id-286 .elementor-element-aee1bbda .elementor-widget-container,
    body.page-id-286 .elementor-element-3451ec1c .elementor-widget-container,
    body.page-id-286 .elementor-element-1e5e1a38,
    body.page-id-286 .elementor-element-1e5e1a38 .elementor-widget-container,
    body.page-id-286 .elementor-element-1e5e1a38 .elementor-widget-container > div {
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
    }
    body.page-id-286 .elementor-element-4cdaf23d {
        background-position: center top !important;
    }
}
