/* Copper Lantern 6.24.15 — shared typography and surface-aware copper contract. */

:root {
	--clt-font-body: "Quicksand", Arial, sans-serif;
	--clt-font-heading: "Cinzel CLT", "Cinzel", Georgia, serif;
	--clt-font-script: var(--clt-script-font, "RastantyCortez", Georgia, serif);
	--clt-type-eyebrow: clamp(11px, .76vw, 12px);
	--clt-type-section-title: clamp(32px, 2.75vw, 44px);
	--clt-type-copy: clamp(16px, 1.02vw, 17px);
	--clt-type-lead: clamp(16px, 1.08vw, 18px);
	--clt-leading-copy: 1.72;
	--clt-leading-compact: 1.5;
	--clt-copper-text: #8b512c;
	--clt-copper-on-dark: #d6a672;
	--clt-copper-accent: #ba7d44;
	--clt-copper-hover: #74401f;
	--clt-focus-ring: #8b512c;
	--clt-focus-ring-on-dark: #f0c18e;
	--clt-photo-text-shadow: 0 2px 8px rgba(0, 0, 0, .68);
}

/* Prevent fallback synthesis from changing the brand faces between components. */
.clt-site,
.clt-site .cltvp-explorer {
	font-family: var(--clt-font-body);
	font-synthesis: none;
	font-kerning: normal;
	text-rendering: optimizeLegibility;
}

.clt-site :is(button, input, select, textarea),
.clt-site :is(.clt-button, .clte-button, .cltp-button, .cltvp-button, .clt-text-link, .cltvp-text-link) {
	font-family: var(--clt-font-body);
}

.clt-site main :is(h1, h2, h3, h4),
.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading, .cltvp-heading, .cltvp-directory-heading) :is(h2, h3) {
	font-synthesis: none;
	font-kerning: normal;
}

.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading) h2,
.clt-site main :is(.cltvp-heading, .cltvp-directory-heading) h2 {
	font-family: var(--clt-font-heading);
	font-size: var(--clt-type-section-title);
	font-weight: 400;
	letter-spacing: -.008em;
	line-height: 1.08;
	text-transform: none;
	text-wrap: balance;
}

/* One eyebrow face and weight; layout-specific margins remain page-owned. */
.clt-site :is(.clt-eyebrow, .clte-eyebrow, .clte-kicker, .cltp-kicker, .cltp-subtitle) {
	color: var(--clt-context-copper, var(--clt-copper-text));
	font-family: var(--clt-font-heading);
	font-size: var(--clt-type-eyebrow);
	font-weight: 500;
	letter-spacing: .16em;
	line-height: 1.45;
	text-shadow: none;
	text-transform: uppercase;
}

.clt-site main :is(.clt-section-heading, .clt-editorial-intro, .clt-heading, .cltvp-heading, .cltvp-directory-heading) > :is(.clt-eyebrow, .clte-kicker, .cltp-kicker, .cltp-subtitle) {
	margin-bottom: 10px;
}

/* Buttons use regular Quicksand throughout; dimensions remain component-owned. */
.clt-site :is(.clt-button, .clte-button, .cltp-button, .cltvp-button),
.clt-site button:is(.clt-button, .clte-button, .cltp-button, .cltvp-button) {
	font-family: var(--clt-font-body);
	font-style: normal;
	font-weight: 400;
	letter-spacing: .075em;
	text-shadow: none;
}

.clt-site main :is(.clt-text-link, .cltvp-text-link) {
	color: var(--clt-context-copper, var(--clt-copper-text));
	text-shadow: none;
}

.clt-site main :is(.clt-text-link, .cltvp-text-link):hover {
	color: var(--clt-context-copper-hover, var(--clt-copper-hover));
}

/* Dark flat surfaces inherit light copper without decorative glow. */
.clt-site main :is(
	.clt-page-hero,
	.clt-archive-hero,
	.clt-team-hero,
	.clt-advisor-hero,
	.clt-split-band,
	.clt-advisor-note,
	.clt-advisor-final,
	.clt-advisor-expertise,
	.clt-experience-purpose,
	.clt-home-signature,
	.clt-home-journey-band,
	.clt-story-difference,
	.clt-service-dark,
	.clt-service-scope aside,
	.clt-service-final,
	.clt-printable-category-showcase,
	.clt-printable-note,
	.clt-intelligence,
	.clt-intelligence-group-head,
	.clt-intelligence-source-health,
	.clt-ti-overview-section,
	.clt-directory-feature-copy,
	.clt-maintenance-card,
	.cltp-editorial,
	.cltp-journey-band,
	.cltp-advisor-action,
	.cltvp-cta,
	.cltvp-hero,
	.cltvp-line-card:not(.has-logo):not(.no-image)
) {
	--clt-context-copper: var(--clt-copper-on-dark);
	--clt-context-copper-hover: #f0c18e;
	--clt-focus-ring: var(--clt-focus-ring-on-dark);
}

/* Photo overlays keep the only approved text shadow. */
.clt-site main :is(.clt-hero, .clt-home-cinema, .clt-home-image-break, .clt-home-final, .clte-hero, .cltp-hero),
.clt-site .cltvp-explorer :is(.cltvp-collection-hero, .cltvp-fleet-hero.has-image, .cltvp-ship-page-hero.has-image) {
	--clt-context-copper: var(--clt-copper-on-dark);
	--clt-context-copper-hover: #f0c18e;
	--clt-focus-ring: var(--clt-focus-ring-on-dark);
}

.clt-site main :is(.clt-hero, .clt-home-cinema, .clt-home-image-break, .clt-home-final, .clte-hero, .cltp-hero) :is(.clt-eyebrow, .clte-eyebrow, .clte-kicker, .cltp-kicker, .cltp-subtitle),
.clt-site .cltvp-explorer :is(.cltvp-collection-hero, .cltvp-fleet-hero.has-image, .cltvp-ship-page-hero.has-image) .cltvp-kicker {
	text-shadow: var(--clt-photo-text-shadow);
}

/* Keep the two-color Rastanty treatment consistent without changing hero scale. */
.clt-site :is(.clt-hero-title-mixed, .cltvp-hero-title-mixed) > em,
.clt-site :is(.clte-hero, .cltp-hero, .clt-home-cinema) h1 > em {
	color: var(--clt-copper-on-dark);
	font-family: inherit;
	font-style: normal;
}

/* A single keyboard-focus contract for theme and supplier controls. */
.clt-site :is(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--clt-focus-ring);
	outline-offset: 3px;
}

.clt-site :is(.clt-header, .clt-footer) {
	--clt-context-copper: var(--clt-copper-on-dark);
	--clt-context-copper-hover: #f0c18e;
	--clt-focus-ring: var(--clt-focus-ring-on-dark);
}

.clt-site :is(.clt-header, .clt-footer) :is(a, button):focus-visible {
	outline-color: var(--clt-focus-ring-on-dark);
}

@media (min-width: 1101px) and (max-width: 1600px) {
	:root {
		--clt-type-section-title: clamp(32px, 2.55vw, 41px);
		--clt-type-copy: 16px;
		--clt-type-lead: clamp(16px, 1.05vw, 17px);
	}
}

@media (max-width: 760px) {
	:root {
		--clt-type-eyebrow: 11px;
		--clt-type-section-title: clamp(29px, 8.5vw, 38px);
		--clt-type-copy: 16px;
		--clt-type-lead: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.clt-site {
		scroll-behavior: auto;
	}
}
