/* ==========================================================================
   Global typography — centered layout, Raleway headings, Inter body
   ========================================================================== */

/* Headings — display font, balanced lines */
h1, h2, h3, h4, h5, h6,
.wcz-section-title,
.wcz-hero-title,
.wcz-hero-live-title,
.wcz-page-hero-banner-title,
.wcz-portfolio-hero-title,
.wcz-service-live-subtitle,
.wcz-service-live-split-title,
.wcz-process-timeline-heading,
.wcz-process-rail-heading {
	font-family: var(--wcz-font-display);
	font-weight: 700;
	text-wrap: balance;
	letter-spacing: 0.02em;
}

h1 { font-size: var(--wcz-h1); line-height: 1.15; }
h2 { font-size: var(--wcz-h2); line-height: 1.2; }
h3 { font-size: var(--wcz-h3); line-height: 1.25; }
h4 { font-size: var(--wcz-h4); line-height: 1.3; }
h5 { font-size: var(--wcz-h5); line-height: 1.35; }
h6 { font-size: var(--wcz-h6); line-height: 1.4; }

p,
li,
.wcz-section-desc,
.wcz-hero-desc,
.wcz-service-live-text p,
.wcz-service-live-split-text {
	font-family: var(--wcz-font);
	font-size: var(--wcz-text-base);
	line-height: var(--wcz-leading-body);
	color: var(--wcz-text-muted);
}

/* --------------------------------------------------------------------------
   Center only h1, h2, and p in main content
   -------------------------------------------------------------------------- */
#wcz-main h1,
#wcz-main h2 {
	text-align: center;
}

#wcz-main p {
	text-align: center;
	max-width: var(--wcz-prose-width);
	margin-left: auto;
	margin-right: auto;
}

#wcz-main .wcz-hero-cta-strip h4,
#wcz-main .wcz-hero-cta-strip p {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

/* Forms, contact, and functional UI stay left-aligned */
#wcz-main .wcz-contact-live,
#wcz-main .wcz-contact-live h1,
#wcz-main .wcz-contact-live h2,
#wcz-main .wcz-contact-live p,
#wcz-main .wcz-cf7-wrap,
#wcz-main .wcz-cf7-wrap p,
#wcz-main .wcz-quote-live,
#wcz-main .wcz-quote-live h1,
#wcz-main .wcz-quote-live h2,
#wcz-main .wcz-quote-live p,
#wcz-main .wcz-page-main--legal,
#wcz-main .wcz-page-main--legal h1,
#wcz-main .wcz-page-main--legal h2,
#wcz-main .wcz-page-main--legal p {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

.wcz-header,
.wcz-topbar,
.wcz-nav,
.wcz-nav-list,
.wcz-dropdown,
.wcz-mobile-nav,
input,
textarea,
select,
.wpcf7-form-control,
.wpcf7-not-valid-tip,
.wcz-cf7-form label,
.wcz-pricing-card ul {
	text-align: left;
}

/* Creative section titles */
.wcz-section-title,
.wcz-section-title--live,
.wcz-max-title-heading {
	font-family: var(--wcz-font-display);
	font-size: var(--wcz-section-title-size);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wcz-text-heading);
}

.wcz-section-title strong,
.wcz-section-title--live strong,
.wcz-max-title-heading strong,
.wcz-service-live-cta-title strong {
	font-weight: 800;
	background: var(--wcz-gradient-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.wcz-section-desc {
	font-size: var(--wcz-text-md);
	color: var(--wcz-text-dim);
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* Intro blocks — larger, softer body */
.wcz-service-live-intro--centered .wcz-service-live-subtitle {
	font-family: var(--wcz-font-display);
	font-size: clamp(1.375rem, 2.8vw, 1.875rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.03em;
	color: var(--wcz-text-heading);
	margin-bottom: 1rem;
}

.wcz-service-live-intro--centered .wcz-service-live-text p {
	font-size: var(--wcz-text-md);
	line-height: 1.85;
	color: #64748b;
	max-width: 46rem;
	margin-left: auto;
	margin-right: auto;
}

/* Card & include titles */
.wcz-service-live-card h3,
.wcz-service-live-include h4,
.wcz-service-live-point h3,
.wcz-process-icons-item h3,
.wcz-process-timeline-step h3,
.wcz-process-rail-copy h3 {
	font-family: var(--wcz-font-display);
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--wcz-text-heading);
}

.wcz-process-icons--live .wcz-process-icons-item h3 {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
}

/* Footer — centered columns */
.wcz-footer-live .wcz-footer-col,
.wcz-footer-live .wcz-footer-newsletter {
	text-align: center;
}

.wcz-footer-live .wcz-footer-col h4 {
	font-family: var(--wcz-font-display);
	font-size: var(--wcz-text-md);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wcz-footer-live .wcz-footer-links {
	display: inline-block;
	text-align: center;
}

.wcz-footer-live .wcz-footer-links li {
	text-align: center;
}

.wcz-footer-live .wcz-footer-about-text,
.wcz-footer-live .wcz-footer-contact-item {
	font-size: var(--wcz-text-base);
	line-height: 1.75;
	max-width: 22rem;
	margin-left: auto;
	margin-right: auto;
}

.wcz-footer-live .wcz-footer-dmca {
	display: flex;
	justify-content: center;
}

@media (max-width: 768px) {
	:root {
		--wcz-text-base: 0.9375rem;
		--wcz-text-md: 1rem;
		--wcz-section-title-size: clamp(1.25rem, 5vw, 1.625rem);
	}
}
