/**
 * CHIBET typography system 2.1.1.
 * Intrepid-inspired hierarchy adapted for readable international travel pages.
 * This layer changes type only; layout, components and content remain unchanged.
 */
:root {
	--chibet-type-ink: #121821;
	--chibet-type-body: #28384a;
	--chibet-type-muted: #5f6d7a;
	--chibet-type-accent: #b51632;
	--chibet-type-display: clamp(2.25rem, 3.7vw, 3rem);
	--chibet-type-page-h1: clamp(2.125rem, 3.2vw, 2.625rem);
	--chibet-type-article-h1: clamp(2rem, 3vw, 2.375rem);
	--chibet-type-h2: clamp(1.6875rem, 2.4vw, 2rem);
	--chibet-type-h3: clamp(1.3125rem, 1.8vw, 1.375rem);
	--chibet-type-card-title: 1.125rem;
	--chibet-type-lead: 1.125rem;
	--chibet-type-body-size: 1rem;
	--chibet-type-small: .875rem;
	--chibet-type-meta: .8125rem;
}

/* Shared text rhythm for custom landing-page templates. */
:is(.home-v2, .chibet-about, .chibet-contact-page, .chibet-how-page, .ctp-page) {
	color: var(--chibet-type-body);
	font-size: var(--chibet-type-body-size);
	line-height: 1.6875;
}

:is(.home-v2, .chibet-about, .chibet-contact-page, .chibet-how-page, .ctp-page) h1,
:is(.home-v2, .chibet-about, .chibet-contact-page, .chibet-how-page, .ctp-page) h2,
:is(.home-v2, .chibet-about, .chibet-contact-page, .chibet-how-page, .ctp-page) h3 {
	color: var(--chibet-type-ink);
	font-family: "Montserrat", Arial, sans-serif;
	font-weight: 600;
}

:is(.home-v2, .chibet-about, .chibet-contact-page, .chibet-how-page, .ctp-page) p {
	font-size: var(--chibet-type-body-size);
	line-height: 1.6875;
}

/* Landing-page display and section hierarchy. */
.home-v2 .hero-copy h1 {
	color: #fff;
	font-size: var(--chibet-type-display);
	font-weight: 600;
	line-height: 1.125;
	letter-spacing: -.03em;
}

.home-v2 .inquiry-grid h2,
.chibet-contact-page .contact-form-panel h2,
.chibet-how-page .checklist h3,
.ctp-page .ctp-dark h2,
.ctp-page .ctp-inquiry h2 {
	color: #fff;
}

.home-v2 h2,
.chibet-about .chibet-about-section-head h2,
.chibet-about .chibet-about-name-copy h2,
.chibet-about .chibet-about-closing h2,
.chibet-contact-page .contact-next > header h2,
.chibet-how-page .section-heading h2,
.chibet-how-page .start h2,
.ctp-page .ctp-section h2 {
	font-size: var(--chibet-type-h2);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.025em;
}

.home-v2 h3,
.chibet-about h3,
.chibet-contact-page h3,
.chibet-how-page h3,
.ctp-page h3 {
	font-size: var(--chibet-type-h3);
	font-weight: 600;
	line-height: 1.318;
}

/* Page-title treatment outside the homepage hero. */
.chibet-about h1,
.chibet-contact-page .contact-intro h1,
.chibet-how-page .hero h1,
.ctp-page .ctp-hero > h1 {
	font-size: var(--chibet-type-page-h1);
	font-weight: 600;
	line-height: 1.167;
	letter-spacing: -.03em;
}

/* Leads remain distinct without competing with headings. */
.home-v2 .who-copy .lead,
.chibet-about .chibet-about-lead p,
.chibet-contact-page .contact-lead,
.chibet-how-page .hero-lead,
.ctp-page .ctp-hero-copy > p {
	color: var(--chibet-type-body);
	font-size: var(--chibet-type-lead);
	font-weight: 500;
	line-height: 1.667;
}

/* Intrepid-style labels: compact, restrained and clearly secondary. */
.home-v2 .kicker,
.chibet-about .chibet-about-eyebrow,
.chibet-contact-page .contact-eyebrow,
.chibet-how-page .eyebrow,
.ctp-page .ctp-label,
.chibet-article-page .article-category,
.chibet-article-page .module-label {
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.5;
}

/* Standard card titles. */
.home-v2 .tour-body h3,
.home-v2 .china-tour-grid h3,
.home-v2 .person-list h3,
.home-v2 .guide-row h3,
.home-v2 .steps-v2 h3,
.chibet-contact-page .contact-steps h3,
.chibet-how-page .timeline h3,
.ctp-page .ctp-cards .ctp-card-body h3 {
	font-size: var(--chibet-type-card-title);
	font-weight: 600;
	line-height: 1.333;
}

/* Small supporting copy stays readable; 13px is reserved for metadata. */
.home-v2 .tour-body > p,
.home-v2 .china-tour-route,
.home-v2 .person-list p,
.home-v2 .guide-row p,
.home-v2 .steps-v2 p,
.chibet-contact-page .contact-points p,
.chibet-contact-page .contact-steps p,
.chibet-how-page .role-grid li,
.chibet-how-page .timeline p,
.chibet-how-page .faq-list details p,
.ctp-page .ctp-map p,
.ctp-page .ctp-faq details p {
	color: var(--chibet-type-muted);
	font-size: var(--chibet-type-small);
	line-height: 1.571;
}

/* Article typography follows the readable editorial branch of the system. */
.chibet-article-page {
	color: var(--chibet-type-body);
}

.chibet-article-page .article-heading h1 {
	color: var(--chibet-type-ink);
	font-size: var(--chibet-type-article-h1);
	font-weight: 600;
	line-height: 1.21;
	letter-spacing: -.025em;
}

.chibet-article-page .article-summary {
	color: var(--chibet-type-body);
	font-size: var(--chibet-type-lead);
	font-weight: 400;
	line-height: 1.667;
}

.chibet-article-page .article-content > p,
.chibet-article-page .article-content li,
.chibet-article-page .faq details p {
	color: var(--chibet-type-body);
	font-size: var(--chibet-type-body-size);
	line-height: 1.8;
}

.chibet-article-page .article-content > p {
	margin-bottom: 1.0625rem;
}

.chibet-article-page .article-content > p:first-child {
	font-size: var(--chibet-type-lead);
	font-weight: 500;
	line-height: 1.667;
}

.chibet-article-page .article-content h2 {
	margin: 3rem 0 1rem;
	color: var(--chibet-type-ink);
	font-size: var(--chibet-type-h2);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.chibet-article-page .article-content h3 {
	margin: 2rem 0 .75rem;
	color: var(--chibet-type-ink);
	font-size: var(--chibet-type-h3);
	font-weight: 600;
	line-height: 1.318;
}

.chibet-article-page .article-meta,
.chibet-article-page .article-breadcrumbs,
.chibet-article-page .article-content figcaption {
	color: var(--chibet-type-muted);
}

.chibet-article-page .related-article-card h3,
.chibet-article-page .recommended-tour-body h3 {
	font-size: var(--chibet-type-card-title);
	font-weight: 600;
	line-height: 1.333;
}

.chibet-article-page .related-article-card p,
.chibet-article-page .recommended-tour-route,
.chibet-article-page .article-author p:last-child {
	color: var(--chibet-type-muted);
	font-size: var(--chibet-type-small);
	line-height: 1.571;
}

/* Tour prose and itinerary copy use the same reading size as articles. */
.ctp-page .ctp-prose,
.ctp-page .ctp-day-body,
.ctp-page .ctp-highlights li,
.ctp-page .ctp-include-grid li,
.ctp-page .ctp-inquiry p {
	font-size: var(--chibet-type-body-size);
	line-height: 1.6875;
}

.ctp-page .ctp-hero-copy h2,
.ctp-page .ctp-inquiry h2 {
	font-size: var(--chibet-type-h2);
	font-weight: 600;
	line-height: 1.25;
}

@media (max-width: 760px) {
	:root {
		--chibet-type-display: 2.25rem;
		--chibet-type-page-h1: 2.125rem;
		--chibet-type-article-h1: 2rem;
		--chibet-type-h2: 1.6875rem;
		--chibet-type-h3: 1.3125rem;
	}

	.home-v2 .hero-copy h1,
	.chibet-about h1,
	.chibet-contact-page .contact-intro h1,
	.chibet-how-page .hero h1,
	.ctp-page .ctp-hero > h1,
	.chibet-article-page .article-heading h1 {
		line-height: 1.18;
	}

	.chibet-article-page .article-content > p,
	.chibet-article-page .article-content li,
	.chibet-article-page .faq details p {
		font-size: 1rem;
		line-height: 1.75;
	}
}
