/**
 * Felix Theme — Typography.
 *
 * Editorial typography refinements layered over theme.json defaults.
 * Type scale and families are defined in theme.json (see DESIGN_SYSTEM.md).
 *
 * @package Felix_Theme
 */

/* -------------------------------------------------------------------------
   Long-form content rhythm
   ------------------------------------------------------------------------- */

.entry-content {
	font-size: var(--wp--preset--font-size--felix-base);
	line-height: 1.65;
}

.entry-content p {
	margin-block-start: 0;
	margin-block-end: var(--felix-sp-s);
}

.entry-content ul,
.entry-content ol {
	margin-block-start: 0;
	margin-block-end: var(--felix-sp-s);
	padding-inline-start: var(--felix-sp-s);
}

.entry-content li {
	margin-block-end: var(--felix-sp-2xs);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin-block-start: var(--felix-sp-m);
	margin-block-end: var(--felix-sp-s);
	scroll-margin-top: var(--felix-sp-l);
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child {
	margin-block-start: 0;
}

/* -------------------------------------------------------------------------
   Links
   ------------------------------------------------------------------------- */

.entry-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.entry-content a:hover {
	text-decoration-thickness: 2px;
}

/* -------------------------------------------------------------------------
   Code and quotes
   ------------------------------------------------------------------------- */

code,
kbd,
samp,
pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
}

.entry-content blockquote {
	font-size: var(--wp--preset--font-size--felix-h5);
	line-height: 1.5;
}

/* -------------------------------------------------------------------------
   Captions and meta
   ------------------------------------------------------------------------- */

.wp-block-image figcaption,
.wp-caption-text,
.entry-meta {
	font-size: var(--wp--preset--font-size--felix-sm);
	line-height: 1.5;
	color: var(--felix-color-border-focus);
}

/* -------------------------------------------------------------------------
   Component typography refinements
   ------------------------------------------------------------------------- */

.felix-hero-home__headline {
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-block-end: var(--felix-sp-m);
	font-family: var(--felix-font-heading);
	font-weight: 700;
}

.felix-hero-home__subheadline {
	font-size: var(--wp--preset--font-size--felix-lg);
	line-height: 1.7;
	margin-block-end: var(--felix-sp-m);
	max-width: 560px;
}

.felix-hero-about__heading {
	font-size: var(--wp--preset--font-size--felix-h1);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-block-end: var(--felix-sp-s);
}

.felix-cta-contact__heading {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.felix-portfolio-section__header h2 {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-block-end: var(--felix-sp-2xs);
}

.felix-speaking-section__header h2 {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-block-end: var(--felix-sp-2xs);
}

.felix-resources-section__header h2 {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-block-end: var(--felix-sp-2xs);
}

.felix-timeline__header h2 {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-block-end: var(--felix-sp-2xs);
}

.felix-testimonials-section__header h2 {
	font-size: var(--wp--preset--font-size--felix-h2);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin-block-end: var(--felix-sp-2xs);
}
