/**
 * Est. 1973 city-by-service combo-family component layer (Wave 3.3).
 *
 * Re-skins the EXISTING combo DOM (ccs-city-service-pages.php dispatcher
 * output — .ccs-city-service / __wrap / __eyebrow / __intro / __actions /
 * __button / __layout / section / __faq / __faq-item / __aside / __links)
 * onto the Est. 1973 tokens. No content, heading text, or links are
 * introduced by this file, and no new markup is added — the combo
 * dispatcher (513KB, grep-only per repo lesson) is untouched by this wave.
 *
 * Scoped under body.ccs-est1973 AND only enqueued on ccs_is_combo_family()
 * requests (see ccs-est1973-flag.php), so this never reaches service/city/
 * blog pages before their own wave.
 */

body.ccs-est1973 .ccs-city-service {
	background: var(--e73-cream);
	color: var(--e73-body);
}

body.ccs-est1973 .ccs-city-service__eyebrow {
	display: block;
	font-family: var(--e73-font-script);
	font-size: clamp(18px, 2.1vw, 24px);
	color: var(--e73-red);
	margin-bottom: 10px;
	transform: rotate(-2deg);
}

body.ccs-est1973 .ccs-city-service h1 {
	font-family: var(--e73-font-slab);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .015em;
	color: var(--e73-ink);
}

body.ccs-est1973 .ccs-city-service__intro {
	font-family: var(--e73-font-serif);
	color: var(--e73-body);
}

body.ccs-est1973 .ccs-city-service__button {
	font-family: var(--e73-font-slab);
	letter-spacing: .06em;
	border-radius: var(--e73-radius-sm);
	background: var(--e73-teal);
	border-color: var(--e73-teal);
	color: var(--e73-porcelain);
	box-shadow: var(--e73-shadow-btn-teal);
}

body.ccs-est1973 .ccs-city-service__button--primary {
	background: var(--e73-red);
	border-color: var(--e73-red);
	box-shadow: 0 6px 0 var(--e73-red-2);
}

@media (hover: hover) and (pointer: fine) {
	body.ccs-est1973 .ccs-city-service__button:hover {
		background: #10786F;
		border-color: #10786F;
	}

	body.ccs-est1973 .ccs-city-service__button--primary:hover {
		background: var(--e73-red-2);
		border-color: var(--e73-red-2);
	}
}

body.ccs-est1973 .ccs-city-service section {
	background: var(--e73-porcelain);
	border: 2.5px solid var(--e73-line);
	border-radius: var(--e73-radius-lg);
	box-shadow: var(--e73-shadow-card);
}

body.ccs-est1973 .ccs-city-service h2 {
	font-family: var(--e73-font-slab);
	color: var(--e73-ink);
	text-transform: uppercase;
	letter-spacing: .015em;
}

body.ccs-est1973 .ccs-city-service h2::after {
	content: "";
	display: block;
	width: 64px;
	border-bottom: 2.5px dotted var(--e73-brass);
	margin-top: 10px;
}

body.ccs-est1973 .ccs-city-service h3 {
	font-family: var(--e73-font-slab);
	color: var(--e73-teal);
	letter-spacing: .01em;
}

body.ccs-est1973 .ccs-city-service p,
body.ccs-est1973 .ccs-city-service li {
	font-family: var(--e73-font-serif);
	color: var(--e73-body);
}

body.ccs-est1973 .ccs-city-service__faq {
	background: var(--e73-porcelain);
}

body.ccs-est1973 .ccs-city-service__faq-item {
	border-top-color: var(--e73-line);
}

body.ccs-est1973 .ccs-city-service__aside {
	background: var(--e73-dark);
	border-radius: var(--e73-radius-lg);
	box-shadow: var(--e73-shadow-lifted);
}

body.ccs-est1973 .ccs-city-service__aside h2 {
	color: var(--e73-porcelain);
}

body.ccs-est1973 .ccs-city-service__aside h2::after {
	border-bottom-color: var(--e73-butter);
}

body.ccs-est1973 .ccs-city-service__aside p,
body.ccs-est1973 .ccs-city-service__aside li {
	font-family: var(--e73-font-serif);
	color: #D9CDB4;
}

body.ccs-est1973 .ccs-city-service__links a {
	color: #E9DFC8;
	font-family: var(--e73-font-serif);
}

body.ccs-est1973 .ccs-city-service__links li + li {
	border-top-color: #453A2B;
}

body.ccs-est1973 .ccs-city-service :where(a, button):focus-visible {
	outline: 3px solid var(--e73-teal);
	outline-offset: 3px;
}

/* ═══════════════ Owner brief #3 (2026-08-13): structure ported from the
   retired inline layer — tokens only, one header offset, one breakpoint
   set (768 type / 1024 layout), sticky aside rides the full scroll. ═══ */

:root { --ccs-header-offset: 221px; }
body.ccs-est1973:has(.page-header .header-notification-bar) { --ccs-header-offset: 276px; }
@media (max-width: 767px) { :root { --ccs-header-offset: 240px; } }

body.ccs-est1973 { overflow-x: clip !important; overflow-y: visible !important; }
html { scroll-padding-top: calc(var(--ccs-header-offset) - 60px); }

body.ccs-est1973 .ccs-city-service { margin-top: calc(var(--ccs-header-offset) + 24px); }
body.logged-in.ccs-est1973 .ccs-city-service { margin-top: calc(var(--ccs-header-offset) + 24px + 32px); }

body.ccs-est1973 .ccs-city-service__wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: var(--e73-space-md) 20px var(--e73-space-xl);
}

/* hero: one 72ch measure, script eyebrow, closing brass rule */
body.ccs-est1973 .ccs-city-service h1 { max-width: 24ch; margin: 0 0 16px; font-size: var(--e73-fs-3xl); line-height: 1.05; }
body.ccs-est1973 .ccs-city-service__intro { max-width: 72ch; font-size: var(--e73-fs-md); line-height: 1.6; margin: 0; }
body.ccs-est1973 .ccs-city-service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 0;
	padding-bottom: var(--e73-space-md);
	border-bottom: 2.5px dotted var(--e73-brass);
	max-width: 72ch;
}
body.ccs-est1973 .ccs-city-service__button {
	min-height: 50px;
	padding: 12px 24px;
	font-size: var(--e73-fs-sm);
	text-transform: uppercase;
	border-width: 0;
}

/* layout: two columns ≥1024, aside sticky under the header all the way */
body.ccs-est1973 .ccs-city-service__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
	gap: clamp(28px, 4vw, 44px);
	margin-top: var(--e73-space-lg);
	align-items: start;
}
body.ccs-est1973 .ccs-city-service section {
	padding: var(--e73-space-md);
	margin: 0 0 var(--e73-space-sm);
}
body.ccs-est1973 .ccs-city-service section p { max-width: 78ch; line-height: 1.65; margin: 0 0 12px; }
body.ccs-est1973 .ccs-city-service ul { margin: 0; padding-left: 20px; }
body.ccs-est1973 .ccs-city-service li { margin: 8px 0; line-height: 1.55; }
body.ccs-est1973 .ccs-city-service li::marker { color: var(--e73-teal); }
body.ccs-est1973 .ccs-city-service li::before { background: var(--e73-teal) !important; }

body.ccs-est1973 .ccs-city-service__aside {
	padding: var(--e73-space-md);
	position: sticky;
	top: calc(var(--ccs-header-offset) + 12px);
	height: max-content;
}
body.ccs-est1973 .ccs-city-service__aside h2 {
	color: var(--e73-porcelain) !important;
}
body.ccs-est1973 .ccs-city-service__aside,
body.ccs-est1973 .ccs-city-service__aside p,
body.ccs-est1973 .ccs-city-service__aside li { color: #D9CDB4; }
body.ccs-est1973 .ccs-city-service__links { padding-left: 0 !important; list-style: none; }
body.ccs-est1973 .ccs-city-service__links li { margin: 0; }
body.ccs-est1973 .ccs-city-service__links a { display: flex; align-items: center; min-height: 46px; font-weight: 700; }
body.ccs-est1973 .ccs-city-service__aside .ccs-city-service__button {
	background: var(--e73-butter);
	border-color: var(--e73-butter);
	color: var(--e73-ink);
	box-shadow: 0 4px 0 rgba(43, 29, 18, .35);
}

/* ── §D rhythm: lede, mid-beat, closing FAQ, varied heading scale ── */
body.ccs-est1973 .ccs-city-service h2 { font-size: var(--e73-fs-xl); margin: 0 0 14px; }

body.ccs-est1973 .ccs-city-service .ccs-city-service__layout > div > section:first-of-type,
body.ccs-est1973 .ccs-city-service section:first-of-type {
	background: var(--e73-paper);
	box-shadow: var(--e73-shadow-lifted);
	border-color: var(--e73-brass);
}
body.ccs-est1973 .ccs-city-service section:first-of-type h2 { font-size: var(--e73-fs-2xl); }

body.ccs-est1973 .ccs-city-service section:nth-of-type(5) {
	background: var(--e73-dark);
	border-color: var(--e73-dark);
}
body.ccs-est1973 .ccs-city-service section:nth-of-type(5) h2 { color: var(--e73-porcelain); }
body.ccs-est1973 .ccs-city-service section:nth-of-type(5) h2::after { border-bottom-color: var(--e73-butter); }
body.ccs-est1973 .ccs-city-service section:nth-of-type(5) h3 { color: var(--e73-butter); }
body.ccs-est1973 .ccs-city-service section:nth-of-type(5) p,
body.ccs-est1973 .ccs-city-service section:nth-of-type(5) li { color: rgba(255, 250, 238, .88); }

body.ccs-est1973 .ccs-city-service__faq {
	background: var(--e73-cream);
	border-style: dotted;
	border-color: var(--e73-brass);
}
body.ccs-est1973 .ccs-city-service__faq h2 { font-size: var(--e73-fs-2xl); }
body.ccs-est1973 .ccs-city-service__faq-item h3 { color: var(--e73-ink); }

/* ── one breakpoint set ── */
@media (max-width: 1023px) {
	body.ccs-est1973 .ccs-city-service__layout { grid-template-columns: 1fr; }
	body.ccs-est1973 .ccs-city-service__aside { position: static; }
	body.ccs-est1973 .ccs-city-service__button { width: 100%; }
	body.ccs-est1973 .ccs-city-service__wrap { padding-left: 16px; padding-right: 16px; }
}

/* ═══ Combo parity floors (2026-08-17) ═══ */
body.ccs-est1973 .footer-seo-services h3 {
	font-size: var(--e73-fs-base) !important;
	line-height: 1.3;
}

body.ccs-est1973 .ccs-answer-card__services h3,
body.ccs-est1973 .ccs-related-services h3,
body.ccs-est1973 aside h3 {
	font-size: var(--e73-fs-base) !important;
}
