/**
 * Est. 1973 — shared growth-block unification (owner briefs 2026-08-13).
 *
 * The ccs-* SEO/growth blocks are programmatic (growth mu-plugins) and are
 * injected across EVERY template family with their own inline CSS carrying
 * Manrope, navy/blue/orange rogues, and the repeated component bugs the
 * service- and city-page briefs both flagged. This layer carries the
 * portable subset once, scoped to the growth-block class roots only, and
 * loads on every est1973 page. Template-specific layers still own their
 * containers, rhythm, and grids.
 */

/* ── type: growth blocks join the two-family system ── */
body.ccs-est1973 [class^="ccs-answer"],
body.ccs-est1973 [class^="ccs-growth"],
body.ccs-est1973 [class^="ccs-city-"],
body.ccs-est1973 [class^="ccs-seo-"],
body.ccs-est1973 [class^="ccs-repair-launch"],
body.ccs-est1973 [class^="ccs-emergency"],
body.ccs-est1973 [class^="ccs-local-map"] {
	font-family: var(--e73-font-serif);
	color: var(--e73-body);
}
body.ccs-est1973 [class^="ccs-answer"] h2, body.ccs-est1973 [class^="ccs-answer"] h3,
body.ccs-est1973 [class^="ccs-growth"] h2, body.ccs-est1973 [class^="ccs-growth"] h3,
body.ccs-est1973 [class^="ccs-city-"] h2, body.ccs-est1973 [class^="ccs-city-"] h3,
body.ccs-est1973 [class^="ccs-seo-"] h2, body.ccs-est1973 [class^="ccs-seo-"] h3,
body.ccs-est1973 [class^="ccs-repair-launch"] h2, body.ccs-est1973 [class^="ccs-repair-launch"] h3,
body.ccs-est1973 [class^="ccs-local-map"] h2, body.ccs-est1973 [class^="ccs-local-map"] h3 {
	font-family: var(--e73-font-slab) !important;
	color: var(--e73-ink) !important;
	text-transform: uppercase;
	letter-spacing: .05em;
}
body.ccs-est1973 .ccs-emergency-hub h2,
body.ccs-est1973 .ccs-emergency-hub h3 { color: var(--e73-porcelain) !important; font-family: var(--e73-font-slab) !important; }

/* ── links inside growth blocks: teal, on-dark butter ── */
body.ccs-est1973 [class^="ccs-growth"] a:not([class*="button"]):not([class*="btn"]):not([class*="__actions"] a),
body.ccs-est1973 [class^="ccs-city-"] a:not([class*="button"]):not([class*="btn"]):not(.ccs-city-service__links a):not([class*="__actions"] a),
body.ccs-est1973 [class^="ccs-seo-"] a:not([class*="btn"]):not([class*="__actions"] a),
body.ccs-est1973 [class^="ccs-local-map"] a:not([class*="__actions"] a) { color: var(--e73-teal) !important; }

/* emitter-styled CTA anchors keep readable text + join the button system */
body.ccs-est1973 [class*="__actions"] > a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 12px 24px !important;
	border-radius: var(--e73-radius-sm) !important;
	font-family: var(--e73-font-slab) !important;
	font-size: var(--e73-fs-sm) !important;
	font-weight: 700 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none !important;
	background: var(--e73-teal) !important;
	color: var(--e73-porcelain) !important;
	box-shadow: var(--e73-shadow-btn-teal) !important;
}
body.ccs-est1973 [class*="__actions"] > a + a {
	background: transparent !important;
	color: var(--e73-teal) !important;
	border: 2px solid currentColor !important;
	box-shadow: none !important;
}
body.ccs-est1973 .ccs-city-service__actions > a + a { border: 0 !important; }
body.ccs-est1973 .ccs-city-service__aside [class*="__actions"] > a { background: var(--e73-butter) !important; color: var(--e73-ink) !important; box-shadow: 0 4px 0 rgba(43, 29, 18, .35) !important; }
body.ccs-est1973 .ccs-emergency-hub a:not([class*="btn"]) { color: var(--e73-butter) !important; }

/* ── the recurring component bugs, fixed once ── */
body.ccs-est1973 .ccs-answer-card__eyebrow {
	display: inline-block !important;
	width: auto !important;
	background: var(--e73-butter-2) !important;
	color: var(--e73-ink) !important;
	font-family: var(--e73-font-slab) !important;
	font-size: var(--e73-fs-xs) !important;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 12px !important;
	border-radius: 999px;
}

body.ccs-est1973 .full-width-cta__highlight-text-visual { position: relative; }
body.ccs-est1973 .full-width-cta__highlight-text-visual::before {
	font-family: var(--e73-font-slab) !important;
	color: var(--e73-butter) !important;
	text-shadow: 2px 2px 0 var(--e73-ink);
	position: static !important;
	white-space: normal;
}
body.ccs-est1973 .full-width-cta__highlight-text-visual::after { content: none !important; }

body.ccs-est1973 .ccs-linkfold {
	background: var(--e73-porcelain) !important;
	border: 1px solid var(--e73-line) !important;
	border-radius: var(--e73-radius-lg) !important;
}
body.ccs-est1973 .ccs-linkfold summary,
body.ccs-est1973 .ccs-linkfold summary h3 {
	color: var(--e73-ink) !important;
	background: transparent !important;
	font-family: var(--e73-font-slab) !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: var(--e73-fs-sm) !important;
}
@media (min-width: 768px) {
	body.ccs-est1973 .ccs-growth-links__grid,
	body.ccs-est1973 .ccs-footer-growth-links__grid {
		display: grid !important;
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: var(--e73-space-sm);
		align-items: stretch;
	}
	body.ccs-est1973 .ccs-linkfold > ul,
	body.ccs-est1973 .ccs-linkfold > div { display: block !important; }
	body.ccs-est1973 .ccs-linkfold summary { pointer-events: none; }
	body.ccs-est1973 .ccs-linkfold summary::marker { content: ""; }

	/* Chromium now hides closed <details> content behind a
	   ::details-content pseudo that the child display rules above cannot
	   pierce — belt-and-braces beside the JS open-attribute pass in
	   est1973-motion.js, so desktop folds read as open link columns. */
	body.ccs-est1973 .ccs-linkfold::details-content {
		content-visibility: visible;
		display: block;
	}

	/* Three folds, three even top-aligned columns — never one open giant
	   plus stubs. The base sheet's 2-col layout full-spans the third fold
	   (grid-column: 1/-1) for its closed-fold design; reset placement so
	   auto-flow fills one row, and split the long Service Areas list in
	   two so the columns keep comparable heights. */
	body.ccs-est1973 .ccs-footer-growth-links__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
	}

	body.ccs-est1973 .ccs-footer-growth-links__grid > details.ccs-linkfold {
		grid-column: auto !important;
		grid-row: auto !important;
		border-top: 0 !important;
	}

	body.ccs-est1973 .ccs-footer-growth-links__grid > details.ccs-linkfold:nth-child(2) > ul {
		columns: 2;
		column-gap: 18px;
	}

	body.ccs-est1973 .ccs-footer-growth-links__grid > details.ccs-linkfold:nth-child(2) li {
		break-inside: avoid;
	}

	/* The base sheet flowed the third fold's list in 3 columns for its
	   old full-width row — inside a one-third card that shreds every
	   guide title; back to a single readable column. */
	body.ccs-est1973 .ccs-footer-growth-links__grid > details.ccs-linkfold:nth-child(3) > ul {
		columns: 1;
	}
}
@media (max-width: 767px) {
	body.ccs-est1973 .ccs-linkfold > ul { display: none; }
	body.ccs-est1973 .ccs-linkfold[open] > ul { display: block; }
}

/* ── growth CTAs join the button system ── */
body.ccs-est1973 .ccs-answer-card__actions a,
body.ccs-est1973 .ccs-growth-links__actions a,
body.ccs-est1973 .ccs-repair-launch__actions a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 12px 24px !important;
	border-radius: var(--e73-radius-sm) !important;
	font-family: var(--e73-font-slab) !important;
	font-size: var(--e73-fs-sm) !important;
	font-weight: 700 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none !important;
	background: var(--e73-teal) !important;
	color: var(--e73-porcelain) !important;
	border: 0 !important;
	box-shadow: var(--e73-shadow-btn-teal) !important;
}
body.ccs-est1973 .ccs-answer-card__actions a + a,
body.ccs-est1973 .ccs-growth-links__actions a + a,
body.ccs-est1973 .ccs-repair-launch__actions a + a {
	background: transparent !important;
	color: var(--e73-teal) !important;
	border: 2px solid currentColor !important;
	box-shadow: none !important;
}

/* ── growth surfaces: porcelain field, espresso dark ── */
body.ccs-est1973 .ccs-answer-card,
body.ccs-est1973 .ccs-seo-nap-grid {
	background: var(--e73-porcelain) !important;
	border: 1px solid var(--e73-line) !important;
	border-radius: var(--e73-radius-lg) !important;
	box-shadow: none !important;
}
body.ccs-est1973 .ccs-emergency-hub {
	background: var(--e73-dark) !important;
	border-radius: var(--e73-radius-lg);
}
body.ccs-est1973 .ccs-emergency-hub p,
body.ccs-est1973 .ccs-emergency-hub li { color: rgba(255, 250, 238, .88) !important; }

/* Manrope holdouts: virtual-guide blocks, bare section h2s, captain eyebrow */
body.ccs-est1973 [class^="ccs-virtual-guide"],
body.ccs-est1973 [class^="ccs-virtual-guide"] p,
body.ccs-est1973 [class^="ccs-virtual-guide"] li { font-family: var(--e73-font-serif); color: var(--e73-body); }
body.ccs-est1973 [class^="ccs-virtual-guide"] h1,
body.ccs-est1973 [class^="ccs-virtual-guide"] h2,
body.ccs-est1973 [class^="ccs-virtual-guide"] h3,
body.ccs-est1973 .ccs-footer-growth-links h2,
body.ccs-est1973 .ccs-captain__eyebrow,
body.ccs-est1973 main section > h2,
body.ccs-est1973 main section > .container > h2 {
	font-family: var(--e73-font-slab) !important;
}

/* Single posts render as .ccs-virtual-guide (not single.php). Navy H1 and
   a zero-offset wrap sat under the fixed chrome. */
body.ccs-est1973 .ccs-virtual-guide,
body.ccs-est1973 main.ccs-virtual-guide {
	background: var(--e73-cream);
	padding-top: calc(var(--ccs-header-offset, 199px) + 16px);
	font-family: var(--e73-font-serif);
}
body.ccs-est1973 .ccs-virtual-guide h1,
body.ccs-est1973 [class^="ccs-virtual-guide"] h1 {
	color: var(--e73-ink) !important;
	font-family: var(--e73-font-slab) !important;
	text-transform: uppercase;
	letter-spacing: .015em;
}

/* ── default inner masthead (owner inner-note 2: 'every other one') —
   the black-void photo hero becomes the teal sunburst treatment on every
   family; the city template's photo+scrim rules out-specify this. ── */
body.ccs-est1973 .masthead--innerpage {
	position: relative;
	background: var(--e73-teal, #0E6B63) !important;
	overflow: hidden;
	min-height: 0 !important;
	height: auto !important;
}
body.ccs-est1973 .masthead--innerpage::before {
	content: "";
	position: absolute;
	inset: -80% -20%;
	background: repeating-conic-gradient(from 0deg, rgba(255, 250, 238, .05) 0deg 8deg, transparent 8deg 16deg);
	pointer-events: none;
}
body.ccs-est1973 .masthead--innerpage__bg { display: none !important; }
body.ccs-est1973 .masthead--innerpage__wrapper { position: relative; padding: 150px 0 46px !important; min-height: 0 !important; }
body.ccs-est1973 .masthead--innerpage h1,
body.ccs-est1973 .masthead--innerpage h2 { color: var(--e73-cream) !important; text-shadow: 0 2px 0 rgba(43, 29, 18, .3); }
body.ccs-est1973 .masthead--innerpage .breadcrumbs,
body.ccs-est1973 .masthead--innerpage .breadcrumbs a { color: rgba(255, 250, 238, .78) !important; font-size: 13px; }
body.ccs-est1973 .masthead--innerpage .breadcrumbs a:hover { color: var(--e73-butter, #E8B84B) !important; }

/* booking template: the decorative contact-flying-man ships as a 3000px
   source whose sizing utility never loads here — it rendered natural-size
   over the page content. The hero band already carries captain art. */
body.ccs-est1973 img.contact-flying-man {
	display: none !important;
}

/* Visual pass: captain copy is cream-on-teal on every family (home.css
   never loads on booking/offers). */
body.ccs-est1973 .ccs-captain__copy h2,
body.ccs-est1973 .ccs-captain__title,
body.ccs-est1973 .ccs-captain h2 {
	color: var(--e73-cream) !important;
	font-family: var(--e73-font-slab) !important;
}
body.ccs-est1973 .ccs-captain__copy p,
body.ccs-est1973 .ccs-captain p {
	color: rgba(255, 250, 238, .88) !important;
	font-family: var(--e73-font-serif);
}

/* Virtual city hubs: body.ccs-est1973 { color: body } beat the emitter's
   cream lede (0,1,1 vs 0,1,0) and printed espresso on teal. */
body.ccs-est1973 .ccs-cityhub,
body.ccs-est1973 .ccs-cityhub p,
body.ccs-est1973 .ccs-cityhub li {
	font-family: var(--e73-font-serif);
}
body.ccs-est1973 .ccs-cityhub h1,
body.ccs-est1973 .ccs-cityhub h2,
body.ccs-est1973 .ccs-cityhub h3 {
	font-family: var(--e73-font-slab) !important;
}
body.ccs-est1973 .ccs-cityhub__hero,
body.ccs-est1973 .ccs-cityhub__hero p,
body.ccs-est1973 .ccs-cityhub__lede {
	color: var(--e73-cream) !important;
}
body.ccs-est1973 .ccs-cityhub__kicker {
	color: var(--e73-butter) !important;
	font-family: var(--e73-font-slab);
}
body.ccs-est1973 .ccs-cityhub__btn {
	min-height: 44px;
	font-family: var(--e73-font-slab);
}

/* City-depth cards: same porcelain recipe, a rotating accent so five
   stacked paths don't read as one repeated slab. Content frozen. */
body.ccs-est1973 .ccs-city-depth > div,
body.ccs-est1973 .ccs-city-depth .ccs-paths-card,
body.ccs-est1973 .ccs-city-depth article {
	background: var(--e73-porcelain);
	border: 1.5px solid var(--e73-line);
	border-radius: var(--e73-radius-lg);
	box-shadow: var(--e73-shadow-card);
}
body.ccs-est1973 .ccs-city-depth > div:nth-of-type(5n+1),
body.ccs-est1973 .ccs-city-depth article:nth-of-type(5n+1) { border-top: 4px solid var(--e73-teal); }
body.ccs-est1973 .ccs-city-depth > div:nth-of-type(5n+2),
body.ccs-est1973 .ccs-city-depth article:nth-of-type(5n+2) { border-top: 4px solid var(--e73-red); }
body.ccs-est1973 .ccs-city-depth > div:nth-of-type(5n+3),
body.ccs-est1973 .ccs-city-depth article:nth-of-type(5n+3) { border-top: 4px solid var(--e73-butter); }
body.ccs-est1973 .ccs-city-depth > div:nth-of-type(5n+4),
body.ccs-est1973 .ccs-city-depth article:nth-of-type(5n+4) { border-top: 4px solid var(--e73-teal-2); }
body.ccs-est1973 .ccs-city-depth > div:nth-of-type(5n+5),
body.ccs-est1973 .ccs-city-depth article:nth-of-type(5n+5) { border-top: 4px solid var(--e73-brass); }

/* Known radius stragglers in shared fx-block / align helpers. */
body.ccs-est1973 img.alignright,
body.ccs-est1973 img.alignleft,
body.ccs-est1973 .wp-caption.alignright,
body.ccs-est1973 .wp-caption.alignleft,
body.ccs-est1973 .image-text img,
body.ccs-est1973 .home-image-text img.object-fit {
	border-radius: var(--e73-radius-lg);
}

/* T2 floor: growth link-card summaries kept 14px h3s. */
body.ccs-est1973 .ccs-growth-links__grid summary h3 {
	font-size: var(--e73-fs-base);
}

body.ccs-est1973 .ccs-growth-links__grid > details.ccs-linkfold > summary h3 {
	font-size: var(--e73-fs-base) !important;
	line-height: 1.3;
}

/* Guide link pills clipped ~7px under nowrap — let them wrap. */
body.ccs-est1973 .ccs-virtual-guide__links a {
	white-space: normal;
}
