/* Copper Lantern Visual Refinement Pilot 1.1 — 125%-friendly editorial rhythm. */

.clt-site {
	--clt-refine-heading: clamp(32px, 2.75vw, 44px);
	--clt-refine-lead: clamp(16px, 1.05vw, 17px);
	--clt-refine-copy: #485853;
	--clt-refine-muted: #5b6864;
	--clt-refine-rule: rgba(94, 73, 54, .2);
}

.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading, .clt-prose) {
	font-kerning: normal;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading, .clt-prose) :is(h2, h3, h4) {
	font-kerning: normal;
	font-synthesis: none;
	text-wrap: balance;
}

.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading, .clt-prose) :is(p, li) {
	text-wrap: pretty;
}

/* One calm hierarchy for theme-owned section introductions. */
.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading) h2 {
	font-family: "Cinzel CLT", "Cinzel", Georgia, serif;
	font-size: var(--clt-refine-heading);
	font-weight: 400;
	letter-spacing: -.008em;
	line-height: 1.08;
	text-transform: none;
}

/* Retire the enlarged first-cap treatment; it caused uneven title baselines. */
.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading) h2::first-letter {
	font-size: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

.clt-site main .clt-section-heading {
	position: relative;
	padding-top: 21px;
	border-top: 1px solid var(--clt-refine-rule);
}

.clt-site main .clt-section-heading::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 68px;
	height: 2px;
	background: var(--clt-copper, #ba7d44);
}

.clt-site main .clt-section-heading > p,
.clt-site main .clt-editorial-intro > p:not(.clt-eyebrow),
.clt-site main .clt-heading > p:not(.clt-eyebrow) {
	max-width: 64ch;
	color: var(--clt-refine-copy);
	font-size: var(--clt-refine-lead);
	line-height: 1.72;
}

.clt-site main .clt-section-heading > p {
	margin-bottom: 0;
}

.clt-site main .clt-prose {
	color: var(--clt-refine-copy);
}

.clt-site main .clt-prose :is(p, li) {
	font-size: clamp(16px, 1.02vw, 17px);
	line-height: 1.78;
}

.clt-site main .clt-prose :is(h2, h3) {
	margin-top: 1.55em;
	margin-bottom: .55em;
}

.clt-site main .clt-prose > :first-child {
	margin-top: 0;
}

/* Content CTAs remain crisp without changing any hero buttons. */
.clt-site main :is(
	.clt-section,
	.clt-final-cta,
	.clt-printable-category-showcase,
	.clt-printable-browser,
	.clt-printable-finder,
	.clt-planning-official,
	.clt-printable-note
) .clt-button {
	min-height: 48px;
	padding: 12px 24px;
	font-family: "Quicksand", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .055em;
	line-height: 1.15;
}

.clt-site main :is(
	.clt-section,
	.clt-final-cta,
	.clt-printable-category-showcase,
	.clt-printable-browser,
	.clt-printable-finder,
	.clt-planning-official,
	.clt-printable-note
) :is(.clt-button, .clt-text-link):focus-visible {
	outline: 2px solid var(--clt-copper, #ba7d44);
	outline-offset: 4px;
}

@media (min-width: 1101px) and (max-width: 1600px) {
	.clt-site {
		--clt-refine-heading: clamp(32px, 2.55vw, 41px);
	}
}

@media (max-width: 760px) {
	.clt-site {
		--clt-refine-heading: clamp(29px, 8.5vw, 38px);
		--clt-refine-lead: 16px;
	}

	.clt-site main .clt-section-heading {
		gap: 18px;
		padding-top: 18px;
	}

	.clt-site main .clt-section-heading::before {
		width: 54px;
	}
}
