/**
 * FINCAP institutional typography correction.
 *
 * This file intentionally loads after site.css. Selectors are scoped to the
 * generated FINCAP pages so theme and Elementor global styles cannot make
 * dark-section headings unreadable or oversized.
 */

.fincap-elementor-page {
	--fincap-heading-white: #fff;
	--fincap-heading-gold: #e2c293;
	--fincap-support-copy: #94a3b8;
}

/* Restrained institutional scale. */
.fincap-elementor-page main h1 {
	font-size: clamp(32px, 3.2vw, 44px) !important;
	line-height: 1.15 !important;
	letter-spacing: -.025em !important;
}

.fincap-elementor-page main h2 {
	font-size: clamp(26px, 2.5vw, 36px) !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
}

.fincap-elementor-page main h3 {
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}

/* Crisp headings on every dark FINCAP surface. */
.fincap-elementor-page .home-hero h1,
.fincap-elementor-page .home-hero h2,
.fincap-elementor-page .home-hero h3,
.fincap-elementor-page .page-hero h1,
.fincap-elementor-page .page-hero h2,
.fincap-elementor-page .page-hero h3,
.fincap-elementor-page .section--dark h1,
.fincap-elementor-page .section--dark h2,
.fincap-elementor-page .section--dark h3,
.fincap-elementor-page .section--void h1,
.fincap-elementor-page .section--void h2,
.fincap-elementor-page .section--void h3,
.fincap-elementor-page .fincap-dark h1,
.fincap-elementor-page .fincap-dark h2,
.fincap-elementor-page .fincap-dark h3,
.fincap-elementor-page [data-fincap-theme="dark"] h1,
.fincap-elementor-page [data-fincap-theme="dark"] h2,
.fincap-elementor-page [data-fincap-theme="dark"] h3 {
	color: var(--fincap-heading-white) !important;
}

/* Preserve accessible dark type on light cards and sections. */
.fincap-elementor-page .section--paper h1,
.fincap-elementor-page .section--paper h2,
.fincap-elementor-page .section--paper h3,
.fincap-elementor-page .section--ivory h1,
.fincap-elementor-page .section--ivory h2,
.fincap-elementor-page .section--ivory h3,
.fincap-elementor-page .section--void .founder-card h1,
.fincap-elementor-page .section--void .founder-card h2,
.fincap-elementor-page .section--void .founder-card h3,
.fincap-elementor-page .cta-band h1,
.fincap-elementor-page .cta-band h2,
.fincap-elementor-page .cta-band h3 {
	color: var(--dark-text, #171a21) !important;
}

.fincap-elementor-page .section--paper .coord-card--featured h3 {
	color: var(--fincap-heading-white) !important;
}

.fincap-elementor-page main h1 em,
.fincap-elementor-page main h2 em,
.fincap-elementor-page main h3 em,
.fincap-elementor-page .fincap-heading-accent {
	color: var(--fincap-heading-gold) !important;
	font-style: italic !important;
	font-weight: 400 !important;
}

.fincap-elementor-page .cta-band h1 em,
.fincap-elementor-page .cta-band h2 em,
.fincap-elementor-page .cta-band h3 em {
	color: #6d5436 !important;
}

/* Shared centered eyebrow treatment. */
.fincap-elementor-page .eyebrow,
.fincap-elementor-page .fincap-eyebrow {
	display: flex !important;
	width: fit-content !important;
	max-width: 680px !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto 16px !important;
	text-align: center !important;
}

/* Existing page and section-header patterns. */
.fincap-elementor-page .hero-copy,
.fincap-elementor-page .page-hero-grid > :first-child,
.fincap-elementor-page .section-heading,
.fincap-elementor-page .calculator-intro,
.fincap-elementor-page .process-aside,
.fincap-elementor-page .contact-copy,
.fincap-elementor-page .disclosure-section,
.fincap-elementor-page .narrow,
.fincap-elementor-page .lifecycle-card,
.fincap-elementor-page .detail-section > :first-child,
.fincap-elementor-page .process-step,
.fincap-elementor-page .cta-layout > div,
.fincap-elementor-page .fincap-section-header {
	text-align: center !important;
}

.fincap-elementor-page .hero-copy h1,
.fincap-elementor-page .page-hero-grid h1,
.fincap-elementor-page .section-heading h1,
.fincap-elementor-page .section-heading h2,
.fincap-elementor-page .section-heading h3,
.fincap-elementor-page .calculator-intro h1,
.fincap-elementor-page .process-aside h1,
.fincap-elementor-page .contact-copy h1,
.fincap-elementor-page .disclosure-section h2,
.fincap-elementor-page .narrow h2,
.fincap-elementor-page .lifecycle-card h2,
.fincap-elementor-page .detail-section h2,
.fincap-elementor-page .process-step h2,
.fincap-elementor-page .cta-layout h2,
.fincap-elementor-page .fincap-section-title {
	width: auto !important;
	max-width: 860px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

/* Supporting copy uses one measured line length and one muted colour. */
.fincap-elementor-page .lede,
.fincap-elementor-page .section-heading > p,
.fincap-elementor-page .page-hero-copy > p,
.fincap-elementor-page .calculator-intro > p,
.fincap-elementor-page .process-aside > p,
.fincap-elementor-page .contact-copy > p,
.fincap-elementor-page .disclosure-section > p,
.fincap-elementor-page .narrow > p:not(.eyebrow),
.fincap-elementor-page .lifecycle-card > p:not(.eyebrow),
.fincap-elementor-page .process-step > p,
.fincap-elementor-page .cta-layout > div > p:not(.eyebrow),
.fincap-elementor-page .fincap-section-copy {
	max-width: 680px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	font-size: clamp(15px, 1.1vw, 17px) !important;
	line-height: 1.7 !important;
	text-align: center !important;
}

.fincap-elementor-page .home-hero .lede,
.fincap-elementor-page .page-hero-copy > p,
.fincap-elementor-page .section--dark .section-heading > p,
.fincap-elementor-page .section--void .section-heading > p,
.fincap-elementor-page .calculator-intro > p,
.fincap-elementor-page .process-aside > p,
.fincap-elementor-page .contact-copy > p,
.fincap-elementor-page .disclosure-section > p,
.fincap-elementor-page .section--dark .narrow > p:not(.eyebrow),
.fincap-elementor-page .section--void .lifecycle-card > p:not(.eyebrow),
.fincap-elementor-page .process-step > p {
	color: var(--fincap-support-copy) !important;
}

/* Stack split header copy so the title and description share one axis. */
.fincap-elementor-page .section-heading,
.fincap-elementor-page .calculator-intro {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 18px !important;
	width: min(960px, 100%) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.fincap-elementor-page .page-hero-grid {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 28px !important;
	width: min(1040px, 100%) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.fincap-elementor-page .page-hero-copy {
	width: min(680px, 100%) !important;
	max-width: 680px !important;
	margin: 0 auto !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--line) !important;
	border-left: 0 !important;
	text-align: center !important;
}

.fincap-elementor-page .hero-actions,
.fincap-elementor-page .hero-trust,
.fincap-elementor-page .detail-tags,
.fincap-elementor-page .process-chip-row {
	justify-content: center !important;
}

.fincap-elementor-page .cta-layout {
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	text-align: center !important;
}

/* Elementor utility classes: add these under Advanced > CSS Classes. */
.fincap-elementor-page .fincap-section-header .elementor-heading-title,
.fincap-elementor-page .fincap-section-title.elementor-heading-title,
.fincap-elementor-page .fincap-section-title .elementor-heading-title {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

.fincap-elementor-page .fincap-dark .elementor-heading-title,
.fincap-elementor-page [data-fincap-theme="dark"] .elementor-heading-title {
	color: var(--fincap-heading-white) !important;
}

.fincap-elementor-page .fincap-section-copy,
.fincap-elementor-page .fincap-section-copy .elementor-widget-container {
	max-width: 680px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	color: var(--fincap-support-copy) !important;
	font-size: clamp(15px, 1.1vw, 17px) !important;
	line-height: 1.7 !important;
	text-align: center !important;
}

@media (max-width: 767px) {
	.fincap-elementor-page .page-hero,
	.fincap-elementor-page .section {
		text-wrap: pretty;
	}

	.fincap-elementor-page .process-step h2 {
		margin-top: 48px !important;
	}
}
