/* ==========================================================================
   Blocksy Child - Editorial (Prototype)
   Bold/minimal, tim.blog-inspired restyle of the existing page content.
   Self-contained palette (no --cud-* variables shared with blocksy-child).
   ========================================================================== */

:root {
	--ed-ink: #0e1a2b;
	--ed-muted: #5b6472;
	--ed-bg: #ffffff;
	--ed-bg-soft: #faf8f9;
	--ed-dark: #0b1526;
	--ed-blue: #1e5fbf;
	--ed-blue-dark: #16478f;
	--ed-gold: #f0b93d;
	--ed-border: #e6e8ec;
}

body {
	font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--ed-ink);
	background: var(--ed-bg-soft);
}

h1, h2, h3, h4,
.wp-block-heading {
	font-family: Inter, sans-serif;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.05;
	color: var(--ed-ink);
}

p { color: var(--ed-muted); line-height: 1.65; font-size: 1.05rem; }

/* ---- Header ---- */
#header.ct-header {
	background: var(--ed-bg) !important;
	background-color: var(--ed-bg) !important;
	border-bottom: 1px solid var(--ed-border);
	box-shadow: none;
	backdrop-filter: none;
}
#header.ct-header [data-row="middle"] {
	background: var(--ed-bg) !important;
	background-color: var(--ed-bg) !important;
	background-image: none !important;
}
#header.ct-header .site-title-container::before {
	content: none;
}
#header.ct-header .site-title a {
	color: var(--ed-ink) !important;
	font-weight: 900;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}
#header.ct-header .header-menu-1 .ct-menu-link {
	color: var(--ed-ink) !important;
	font-weight: 600;
	font-size: 0.92rem;
	text-transform: none;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	transition: color .2s ease, text-decoration-color .2s ease;
}
#header.ct-header .header-menu-1 .ct-menu-link:hover,
#header.ct-header .header-menu-1 .current-menu-item .ct-menu-link {
	color: var(--ed-blue) !important;
	text-decoration-color: var(--ed-blue);
}

/* ---- Eyebrow label ---- */
.cud-eyebrow {
	color: var(--ed-blue);
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: -0.01em;
	margin-bottom: 0 !important;
}

/* ---- Hero ---- */
.cud-hero {
	background: var(--ed-dark);
	border-radius: 28px;
	padding: clamp(48px, 7vw, 96px) clamp(28px, 5vw, 64px);
	margin-bottom: 56px;
}
/* The dark background stays full-bleed, but the content inside it (the
   wp:columns block) is capped and centered as its own unit - otherwise on
   a wide viewport the text just hugs the left edge instead of reading as a
   balanced, intentionally centered hero. */
.cud-hero > .wp-block-columns,
.cud-hero > .cud-quote {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.cud-hero > .cud-quote {
	margin-top: 32px;
}
.cud-hero h1,
.cud-hero .wp-block-heading {
	color: #fff;
	font-size: clamp(2.4rem, 4.6vw, 4rem);
	margin-bottom: 24px;
}
.cud-hero p {
	color: rgba(255, 255, 255, .78);
	font-size: 1.08rem;
	font-weight: 500;
}
.cud-hero .cud-book-cover img {
	border-radius: 10px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .5);
}
/* Columns stack in source order on mobile (text column first, image
   second), which dumps the book cover at the very bottom of the hero
   below all the buttons/newsletter/quote content. Flip it to the top of
   the stack visually via flex order, without touching the desktop layout
   or the underlying column order in markup. */
@media (max-width: 781px) {
	.cud-hero > .wp-block-columns > .wp-block-column:last-child {
		order: -1;
	}
}

/* ---- Buttons ----
   .cud-btn (bare / [cud_buy] output) = solid pill, primary CTA.
   .cud-btn-secondary on a light card = navy outline pill.
   .cud-hero .cud-btn-secondary (dark bg) = white/gold outline pill. */
a.cud-btn,
span.cud-btn,
button.cud-btn,
.wp-block-button.cud-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 14px 26px;
	font-weight: 700;
	font-size: .95rem;
	background: var(--cud-btn-color, var(--ed-gold));
	color: var(--ed-dark);
	border: 2px solid var(--cud-btn-color, var(--ed-gold));
	text-decoration: none;
	transition: transform .2s ease;
}
.wp-block-button.cud-btn {
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}
a.cud-btn:hover,
span.cud-btn:hover,
button.cud-btn:hover,
.wp-block-button.cud-btn .wp-block-button__link:hover {
	transform: translateY(-1px);
}
.wp-block-button.cud-btn-secondary .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 13px 24px;
	font-weight: 700;
	font-size: .95rem;
	background: transparent;
	color: var(--ed-ink);
	border: 2px solid var(--ed-ink);
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.wp-block-button.cud-btn-secondary .wp-block-button__link:hover {
	background: var(--ed-ink);
	color: #fff;
}
.cud-hero .wp-block-button.cud-btn-secondary .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, .5);
}
.cud-hero .wp-block-button.cud-btn-secondary .wp-block-button__link:hover {
	background: #fff;
	color: var(--ed-dark);
}
span.cud-btn-disabled {
	background: transparent;
	color: var(--ed-muted);
	border-color: var(--ed-border);
	cursor: default;
}

/* ---- Section headings ---- */
h2.wp-block-heading {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	margin-top: 8px;
}

/* ---- Cards ---- */
.cud-card {
	background: var(--ed-bg);
	border: 1px solid var(--ed-border);
	border-radius: 16px;
	padding: 30px;
	height: 100%;
}
/* Staggered two-column card sections (tim.blog-style bento layout) - cards
   keep their own natural height instead of stretching to match each other,
   so two cards with different amounts of content visibly stagger rather
   than reading as one uniform row. */
.cud-stagger-columns.wp-block-columns {
	align-items: flex-start;
}
.cud-stagger-columns .cud-card {
	height: auto;
}
/* First card: left-justified (the default), sits at the top of the row.
   Second card: right-justified and stepped down, so the pair reads as an
   actual staggered offset, not just two unequal-height cards lined up flat. */
.cud-stagger-columns > .wp-block-column:nth-child(2) {
	margin-top: 56px;
}
.cud-stagger-columns > .wp-block-column:nth-child(2) .cud-card {
	text-align: right;
}
/* direction:rtl (not list-style-position) is what actually moves the
   marker to the right edge - the text itself still reads normal English
   left-to-right within each line, since Latin-script runs stay LTR inside
   an RTL paragraph per the Unicode bidi algorithm; only the line's overall
   alignment and the bullet's side flip, which is exactly the "mirror of
   the left card" effect asked for. */
.cud-stagger-columns > .wp-block-column:nth-child(2) .cud-card ul {
	direction: rtl;
	list-style-position: outside;
}
@media (max-width: 782px) {
	.cud-stagger-columns > .wp-block-column:nth-child(2) {
		margin-top: 0;
	}
}
.cud-card h3 {
	font-size: 1.3rem;
	margin-top: 6px;
}
.cud-card > p:first-child,
.cud-card strong {
	color: var(--ed-blue);
	font-weight: 700;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ---- Quote ---- */
.cud-quote {
	background: var(--ed-bg);
	border: 1px solid var(--ed-border);
	border-radius: 20px;
	padding: 36px 40px;
}
.cud-hero .cud-quote {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .14);
}
.cud-quote p:first-child {
	color: var(--ed-ink);
	font-weight: 700;
	font-size: 1.35rem;
	line-height: 1.35;
	margin-top: 0;
}
.cud-hero .cud-quote p:first-child {
	color: #fff;
}
.cud-quote p:last-child {
	color: var(--ed-muted);
	font-weight: 600;
	font-size: .9rem;
}
.cud-hero .cud-quote p:last-child {
	color: rgba(255, 255, 255, .6);
}

/* ---- Testimonial / social proof card ---- */
.cud-testimonial {
	position: relative;
	max-width: 820px;
	margin: 48px auto;
	background: linear-gradient(60deg, #09203f 0%, #537895 100%);
	border-top: 6px solid var(--ed-gold);
	border-radius: 24px;
	padding: clamp(32px, 5vw, 56px);
	box-shadow: 0 30px 80px rgba(14, 26, 43, .35), 0 8px 20px rgba(14, 26, 43, .15);
}
.cud-testimonial::before {
	content: "\201C";
	position: absolute;
	top: -12px;
	left: clamp(24px, 5vw, 40px);
	font-family: Georgia, serif;
	font-size: 6rem;
	font-weight: 900;
	line-height: 1;
	color: var(--ed-gold);
	opacity: .45;
}
.cud-testimonial h3 {
	position: relative;
	color: #fff;
	font-size: 1.6rem;
	margin-top: 0;
	margin-bottom: 20px;
}
.cud-testimonial p {
	position: relative;
	color: rgba(255, 255, 255, .82);
}
.cud-testimonial-attribution {
	color: var(--ed-gold) !important;
	font-weight: 800;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-top: 28px !important;
	margin-bottom: 0 !important;
}

/* ---- Band ---- */
.cud-band {
	background: var(--ed-bg);
	border-radius: 24px;
	padding: clamp(32px, 5vw, 56px);
	margin: 56px 0;
	text-align: center;
}

/* ---- Module/product comparison table ---- */
.cud-module-table {
	margin: 32px 0;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--ed-border);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}
.cud-module-table table {
	width: 100%;
	border-collapse: collapse;
	background: var(--ed-bg);
}
.cud-module-table thead th {
	text-align: left;
	padding: 16px 24px;
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ed-muted);
	background: var(--ed-bg-soft);
	border-bottom: 1px solid var(--ed-border);
}
.cud-module-table tbody td {
	padding: 18px 24px;
	border-bottom: 1px solid var(--ed-border);
	vertical-align: middle;
	color: var(--ed-ink);
}
.cud-module-table tbody tr:last-child td {
	border-bottom: none;
}
.cud-module-table tbody tr:nth-child(even) {
	background: var(--ed-bg-soft);
}
/* The "depth between rows" ask: each row lifts on hover with its own
   shadow (rather than just a flat color change), reinforcing the same
   card-elevation language used everywhere else on this theme. */
.cud-module-table tbody tr {
	position: relative;
	transition: background .15s ease, box-shadow .15s ease;
}
.cud-module-table tbody tr:hover {
	background: var(--ed-bg);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
	z-index: 1;
}
.cud-module-table tbody td:first-child {
	font-weight: 700;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}
.cud-module-table tr.cud-track-a td:first-child {
	color: var(--ed-blue);
}
.cud-module-table tbody td:nth-child(2) {
	font-weight: 600;
}
.cud-module-table tbody td:last-child {
	text-align: right;
}
.cud-module-table .cud-btn,
.cud-module-table span.cud-btn {
	padding: 8px 18px;
	font-size: .85rem;
}
@media (max-width: 600px) {
	.cud-module-table thead {
		display: none;
	}
	.cud-module-table tbody td {
		display: block;
		padding: 6px 20px;
		border-bottom: none;
	}
	.cud-module-table tbody tr {
		padding: 14px 0;
		border-bottom: 1px solid var(--ed-border);
	}
	.cud-module-table tbody td:last-child {
		text-align: left;
		padding-top: 10px;
	}
}

/* ---- FAQ accordion ---- */
.cud-faq-group {
	max-width: 820px;
	margin: 32px auto 0;
}
.cud-faq-item {
	border-bottom: 1px solid var(--ed-border);
	padding: 20px 0;
}
.cud-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--ed-ink);
	list-style: none;
}
.cud-faq-question::-webkit-details-marker { display: none; }
.cud-faq-icon {
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: var(--ed-bg);
	position: relative;
	margin-left: 16px;
}
.cud-faq-icon::before,
.cud-faq-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--ed-ink);
	transform: translate(-50%, -50%);
}
.cud-faq-icon::before { width: 10px; height: 2px; }
.cud-faq-icon::after { width: 2px; height: 10px; }
.cud-faq-item[open] .cud-faq-icon::after { display: none; }
.cud-faq-answer {
	padding-top: 14px;
	color: var(--ed-muted);
	line-height: 1.65;
}

/* ---- Modal ([cud_modal_trigger]) - light card over a dark backdrop,
   matching this theme's white/bordered card language rather than
   blocksy-child's dark hero-gradient dialog. ---- */
.cud-modal[hidden] { display: none; }
.cud-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}
.cud-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}
.cud-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .7);
}
.cud-modal-dialog {
	position: relative;
	background: var(--ed-dark);
	color: #fff;
	border-radius: 20px;
	padding: 40px;
	max-width: 480px;
	width: calc(100% - 32px);
	max-height: calc(100vh - 64px);
	overflow-y: auto;
	/* Layered contact + wide falloff shadow, same "lightbox" treatment used
	   elsewhere on the site, so the dialog reads as clearly lifted off the
	   page rather than just outlined. */
	box-shadow:
		0 8px 16px rgba(0, 0, 0, .35),
		0 30px 70px rgba(0, 0, 0, .55),
		0 60px 120px rgba(0, 0, 0, .35);
	transform: translateY(12px);
	transition: transform .2s ease;
}
.cud-modal.is-open .cud-modal-dialog {
	transform: translateY(0);
}
.cud-modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: rgba(255, 255, 255, .65);
}
.cud-modal-close:hover { color: #fff; }
.cud-modal-title {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 1.6rem;
	color: #fff;
}
body.cud-modal-lock { overflow: hidden; }
.cud-modal-dialog .wpcf7-form label {
	display: block;
	margin-bottom: 14px;
	font-weight: 600;
	color: #fff;
}
.cud-modal-dialog .wpcf7-form input[type="text"],
.cud-modal-dialog .wpcf7-form input[type="email"],
.cud-modal-dialog .wpcf7-form input[type="number"],
.cud-modal-dialog .wpcf7-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 10px;
	font: inherit;
	color: #fff;
	background: rgba(255, 255, 255, .1);
	box-sizing: border-box;
}
.cud-modal-dialog .wpcf7-form input[type="text"]::placeholder,
.cud-modal-dialog .wpcf7-form input[type="email"]::placeholder,
.cud-modal-dialog .wpcf7-form input[type="number"]::placeholder,
.cud-modal-dialog .wpcf7-form textarea::placeholder {
	color: rgba(255, 255, 255, .55);
}
.cud-modal-dialog .wpcf7-form textarea { min-height: 100px; resize: vertical; }
.cud-modal-dialog .wpcf7-form input:focus,
.cud-modal-dialog .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--ed-gold);
	background: rgba(255, 255, 255, .16);
}
.cud-modal-dialog .wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 8px;
	border-radius: 999px;
	padding: 13px 24px;
	font: inherit;
	font-weight: 700;
	background: var(--cud-btn-color, var(--ed-gold));
	color: var(--ed-dark);
	border: 2px solid var(--cud-btn-color, var(--ed-gold));
	cursor: pointer;
	transition: transform .2s ease;
}
.cud-modal-dialog .wpcf7-form .wpcf7-submit:hover { transform: translateY(-1px); }

/* ---- Hero variants (Board/Employee Academy) ---- */
.cud-hero.cud-hero-board { background: linear-gradient(135deg, var(--ed-dark), var(--ed-blue-dark)); }
.cud-hero.cud-hero-employee { background: linear-gradient(135deg, #3a2f0e, var(--ed-dark)); }

/* ---- Module list (Board/Employee Academy module cards) ---- */
.cud-module-number {
	display: inline-block;
	border-radius: 999px;
	background: var(--ed-bg);
	color: var(--ed-ink);
	padding: 6px 14px;
	font-weight: 800;
	font-size: .8rem;
	margin-bottom: 10px;
}

/* ---- Bio card (About page) ---- */
.cud-bio-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--ed-bg);
	border: 1px solid var(--ed-border);
	border-radius: 24px;
	padding: 40px;
	max-width: 640px;
	margin: 0 auto 56px;
}
.cud-avatar-photo img {
	width: 140px;
	height: 140px;
	object-fit: cover;
	border-radius: 999px;
	margin-bottom: 20px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .18);
}
.cud-bio-card h2 { font-size: 1.5rem; margin-bottom: 4px; }
.cud-bio-title {
	color: var(--ed-blue);
	font-weight: 700;
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
	margin-bottom: 16px !important;
}
@media (max-width: 600px) {
	.cud-bio-title { white-space: normal; }
}
.cud-linkedin-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff;
	margin-top: 16px;
}
.cud-linkedin-icon:hover { background: var(--ed-blue); }

/* ---- Timeline (About page) ---- */
.cud-timeline {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	padding-left: 32px;
	border-left: 2px solid var(--ed-border);
}
.cud-timeline-item {
	position: relative;
	padding-bottom: 40px;
}
.cud-timeline-item-last,
.cud-timeline-capstone { padding-bottom: 0; }
.cud-timeline-marker {
	position: absolute;
	left: -43px;
	top: 0;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff;
	font-weight: 800;
	font-size: .75rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cud-timeline-marker-end { background: var(--ed-gold); color: var(--ed-dark); }
.cud-timeline-era {
	color: var(--ed-blue);
	font-weight: 700;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 4px !important;
}
.cud-timeline-content h3 { font-size: 1.15rem; margin-top: 0; }
.cud-timeline-capstone .cud-timeline-content {
	background: var(--ed-bg);
	border-radius: 16px;
	padding: 24px 28px;
}

/* ---- Page name label toggle - same Blocksy-parent selector as blocksy-child. */
body.cud-hide-page-label .hero-section[data-type="type-1"] {
	display: none;
}

/* ---- Section corners toggle. ---- */
body.cud-corners-squared .cud-hero,
body.cud-corners-squared .cud-band {
	border-radius: 0 !important;
}

/* ---- Forced nav color toggle (independent of this theme's default
   always-light header). ---- */
body.cud-nav-dark #header.ct-header,
body.cud-nav-dark #header.ct-header [data-row="middle"] {
	background: var(--ed-dark) !important;
	background-color: var(--ed-dark) !important;
	background-image: none !important;
}
body.cud-nav-dark #header.ct-header .site-title a,
body.cud-nav-dark #header.ct-header .header-menu-1 .ct-menu-link {
	color: #fff !important;
}
body.cud-nav-dark #header.ct-header .header-menu-1 .ct-menu-link:hover,
body.cud-nav-dark #header.ct-header .header-menu-1 .current-menu-item .ct-menu-link {
	color: var(--ed-gold) !important;
	text-decoration-color: var(--ed-gold);
}

/* ---- Content width (Appearance -> CUD Theme Options -> "Content width").
   Ported from blocksy-child's mechanism - it targets Blocksy's own parent
   markup (#main article, [data-vertical-spacing], .is-width-constrained),
   not anything theme-specific, so it transfers as-is. .cud-hero/.cud-band
   go full-bleed; everything else (including .cud-faq-group) keeps its own
   inset so text/lists don't run flush to the browser edge. */
body.cud-layout-full #main article {
	--theme-block-width: 100% !important;
	--theme-block-max-width: 100% !important;
	--theme-block-wide-max-width: 100% !important;
	--theme-boxed-content-max-width: 100% !important;
	--theme-container-width: 100% !important;
	--wp--style--global--content-size: 100% !important;
	--wp--style--global--wide-size: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}
body.cud-layout-full #main [data-vertical-spacing] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.cud-layout-full #main .is-width-constrained {
	width: 100% !important;
	max-width: 100% !important;
}
body.cud-layout-full #main .entry-content > *:not(.cud-hero):not(.cud-band) {
	padding-left: clamp(20px, 5vw, 64px) !important;
	padding-right: clamp(20px, 5vw, 64px) !important;
	box-sizing: border-box !important;
}
body.cud-layout-full .cud-hero,
body.cud-layout-full .cud-band {
	border-radius: 0;
}

/* ---- Footer ---- */
#footer.ct-footer {
	background: var(--ed-bg) !important;
	border-top: 1px solid var(--ed-border);
	padding: 40px 0;
}
#footer.ct-footer,
#footer.ct-footer [data-row] {
	background: var(--ed-bg) !important;
	color: var(--ed-muted);
}
#footer.ct-footer .ct-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
#footer #footer-menu.menu-container .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
}
#footer #footer-menu.menu-container .menu .ct-menu-link {
	color: var(--ed-ink);
	font-weight: 600;
	font-size: .88rem;
	border-bottom: 1px solid transparent;
	padding-bottom: 4px;
	text-decoration: none;
	transition: color .2s ease, border-color .2s ease;
}
#footer #footer-menu.menu-container .menu .ct-menu-link:hover,
#footer #footer-menu.menu-container .menu .current-menu-item .ct-menu-link {
	color: var(--ed-blue);
	border-bottom-color: var(--ed-blue);
}
#footer .ct-footer-copyright {
	width: 100%;
	max-width: 340px;
	margin: 0 auto;
	padding-top: 16px;
	border-top: 1px solid var(--ed-border);
	text-align: center;
	color: var(--ed-muted);
	font-size: .8rem;
}

/* ---- Lead capture ([convertkit form]) - pill-merged name/email/button
   bar, matching tim.blog's newsletter capture. Kit's inline embed renders
   real form markup (not an iframe, unlike their modal/slide-in formats),
   using their "formkit-*" class names, which is what's targeted below.
   Field placeholder text and the button label are set on the form itself
   in the Kit dashboard - CSS only controls layout/color here. */
:is(.cud-lead-capture, .convertkit-form){
	max-width: 720px;
	margin: 32px auto 0;
}
/* !important throughout this block deliberately: Kit's embed script injects
   its own default stylesheet client-side, after our CSS has already loaded,
   so on any tied specificity Kit's rule would otherwise win just by being
   later in the cascade. This forces ours to win regardless of load order -
   the actual fix on Kit's side is to disable their default styles in the
   form's Design settings on kit.com, which these overrides don't depend on. */
:is(.cud-lead-capture, .convertkit-form) .formkit-form,
:is(.cud-lead-capture, .convertkit-form) .formkit-fields {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	font-family: inherit !important;
}
:is(.cud-lead-capture, .convertkit-form) .formkit-field {
	flex: 1 1 160px !important;
	margin: 0 !important;
	padding: 0 !important;
}
:is(.cud-lead-capture, .convertkit-form) input.formkit-input {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: none !important;
	border-radius: 999px !important;
	font: inherit !important;
	font-size: .95rem !important;
	line-height: normal !important;
	color: var(--ed-ink) !important;
	background: #fff !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}
:is(.cud-lead-capture, .convertkit-form) input.formkit-input::placeholder {
	color: var(--ed-muted) !important;
	opacity: 1 !important;
}
:is(.cud-lead-capture, .convertkit-form) button.formkit-submit {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 28px !important;
	border: none !important;
	border-radius: 999px !important;
	font: inherit !important;
	font-weight: 700 !important;
	font-size: .95rem !important;
	line-height: normal !important;
	color: var(--ed-dark) !important;
	background: var(--cud-btn-color, var(--ed-gold)) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-transform: none !important;
	cursor: pointer;
	transition: transform .2s ease;
	white-space: nowrap;
}
:is(.cud-lead-capture, .convertkit-form) button.formkit-submit:hover { transform: translateY(-1px); }
:is(.cud-lead-capture, .convertkit-form) button.formkit-submit:hover,
:is(.cud-lead-capture, .convertkit-form) button.formkit-submit:focus {
	background: var(--cud-btn-color, var(--ed-gold)) !important;
	color: var(--ed-dark) !important;
}
:is(.cud-lead-capture, .convertkit-form) .formkit-alert {
	width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	color: rgba(255, 255, 255, .8) !important;
	font-size: .85rem !important;
}

/* Home hero instance - sits on the dark hero background already, so no
   extra wrapper styling needed beyond the base rules above. */

/* Site-wide footer band ([get_footer] hook) - its own full-bleed dark
   section directly above the actual footer links, same idea as tim.blog's
   newsletter band living before its footer rather than inside it. */
.cud-lead-capture-band:is(.cud-lead-capture, .convertkit-form){
	max-width: none;
	margin: 0;
	background: var(--ed-dark);
	padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 64px);
}
.cud-lead-capture-band .formkit-form {
	max-width: 720px !important;
	margin: 0 auto !important;
}

/* Kit's "Built with Kit" attribution badge - hidden so the form reads as
   part of the site, not a visibly branded third-party widget. */
:is(.cud-lead-capture, .convertkit-form) .formkit-powered-by-convertkit-container {
	display: none !important;
}
