/* ===========================================================================
 * pillar-premium-tight.css — EXTREME premium spacing + editorial micro-details.
 * Loaded LAST so it overrides pillar-v2.css and casestudy-v2.css.
 *
 * Design principles applied:
 *   - tighter rhythm: section padding 48-72px (was 86-144px)
 *   - hairline dividers between sections instead of heavy bg alternation
 *   - numbered section badges (01 / 02 / 03)
 *   - mono micro-labels with accent dot
 *   - restrained accent usage (only headlines + critical CTAs)
 *   - asymmetric editorial grids (12-col feel via fr units)
 *
 * @version 1.0.0
 * =========================================================================== */

/* =====================================
 * 1. TIGHTENED SECTION PADDING (universal pillar override)
 * ===================================== */
.pestv2-hero,
.pillar--service .pillar__hero,
.pillar--zone .pillar__hero,
.casestudyv2 .csv2-hero {
	padding-block: clamp(48px, 5vw, 80px) clamp(40px, 4vw, 64px) !important;
}

.pestv2-stats,
.pestv2-bio,
.pestv2-risks,
.pestv2-protocol,
.pestv2-content,
.pestv2-related,
.pestv2-faq,
.casestudyv2 .csv2-body,
.casestudyv2 .csv2-related,
.pillar--service .pillar__protocol,
.pillar--service .pillar__pricing,
.pillar--service .pillar__pillars,
.pillar--service .pillar__voice,
.pillar--service .pillar__faq-section,
.pillar--zone .pillar__quartiers,
.pillar--zone .pillar__zone-pests,
.pillar--zone .pillar__quote,
.pillar--zone .pillar__content,
.pillar--zone .pillar__stats {
	padding-block: clamp(48px, 5vw, 72px) !important;
}

/* CTA band — much tighter */
.cta-band {
	padding-block: clamp(56px, 6vw, 88px) !important;
}

/* =====================================
 * 2. HAIRLINE SECTION DIVIDERS
 *    Replace heavy bg alternation with subtle 1px rules.
 * ===================================== */
.pestv2-stats,
.pestv2-protocol,
.pestv2-related,
.casestudyv2 .csv2-body,
.pillar--zone .pillar__content {
	background: var(--color-bg-secondary, #efeae2) !important;
	border-block: 1px solid var(--color-border-subtle, #e6e0d8) !important;
}

.pestv2-bio,
.pestv2-risks,
.pestv2-content,
.pestv2-faq {
	background: var(--color-surface, #fdf8f0) !important;
}

/* Section delimiters — thin top-border accent on cream sections */
.pestv2-bio,
.pestv2-risks,
.pestv2-content,
.pestv2-faq,
.casestudyv2 .csv2-related {
	border-top: 1px solid var(--color-border-subtle, #e6e0d8);
}

/* =====================================
 * 3. EDITORIAL HEADLINE TIGHTENING
 * ===================================== */
.pestv2-display,
.pestv2-stats__head h2,
.pestv2-bio__head h2,
.pestv2-protocol__head h2,
.pestv2-related__head h2,
.pestv2-faq__head h2,
.csv2-body__h2 {
	font-size: clamp(28px, 3.4vw, 44px) !important;
	letter-spacing: -0.022em !important;
	line-height: 1.04 !important;
	font-weight: 350 !important;
}

.pestv2-hero__title {
	font-size: clamp(36px, 5.2vw, 72px) !important;
	letter-spacing: -0.025em !important;
	line-height: 1.02 !important;
	margin-block: 14px 18px !important;
}

.pestv2-hero__title-latin {
	font-size: 0.5em !important;
	margin-top: 8px !important;
}

.pestv2-hero__lede,
.csv2-hero__lede {
	font-size: clamp(16px, 1.3vw, 18px) !important;
	max-width: 52ch !important;
	margin-bottom: 22px !important;
}

/* Stats numbers — restrained */
.pestv2-stat__num {
	font-size: clamp(40px, 5vw, 72px) !important;
	line-height: 1 !important;
	margin-bottom: 10px !important;
}
.pestv2-stat {
	padding: 24px 0 0 !important;
}
.pestv2-stat__label {
	font-size: 15px !important;
	margin-bottom: 6px !important;
}

/* =====================================
 * 4. NUMBERED SECTION BADGES (premium editorial marker)
 * ===================================== */
.pestv2-stats__head::before,
.pestv2-bio__head::before,
.pestv2-protocol__head::before,
.pestv2-related__head::before,
.pestv2-faq__head::before {
	content: attr(data-section-num);
	display: block;
	font-family: var(--font-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-text-muted, #7a6f66);
	margin-bottom: 10px;
}

/* Eyebrow tightening */
.pillar .eyebrow,
.casestudyv2 .eyebrow,
.pestv2-hero__text .eyebrow {
	font-size: 10.5px !important;
	letter-spacing: 0.14em !important;
	margin-bottom: 14px !important;
}

/* =====================================
 * 5. EDITORIAL CONTENT — TIGHTER PROSE RHYTHM
 * ===================================== */
.pestv2-content .container--prose,
.pillar--zone .pillar__content > .container,
.pillar--zone .pillar__content > .container--prose,
.pillar--zone .pillar__content > .container--wide,
.casestudyv2 .csv2-body__grid {
	gap: clamp(32px, 4vw, 64px) !important;
}

.pestv2-content .prose,
.pillar--zone .pillar__content .prose,
.casestudyv2 .csv2-body__content {
	font-size: 16px !important;
	line-height: 1.7 !important;
}
.pestv2-content .prose h2,
.pillar--zone .pillar__content .prose h2,
.csv2-body__content h2 {
	font-size: clamp(22px, 2.4vw, 28px) !important;
	margin-top: 1.6em !important;
	margin-bottom: 0.5em !important;
}
.pestv2-content .prose h3,
.pillar--zone .pillar__content .prose h3,
.csv2-body__content h3 {
	font-size: clamp(18px, 1.8vw, 22px) !important;
	margin-top: 1.4em !important;
	margin-bottom: 0.4em !important;
}
.pestv2-content .prose p,
.pillar--zone .pillar__content .prose p,
.csv2-body__content p {
	margin-bottom: 1em !important;
}

/* =====================================
 * 6. PROTOCOL STEPS — TIGHTER STACK
 * ===================================== */
.pestv2-protocol__steps {
	gap: clamp(40px, 4vw, 72px) !important;
}
.pestv2-protocol__head {
	margin-bottom: 40px !important;
	max-width: 640px !important;
}
.pestv2-protocol__intro {
	font-size: 16px !important;
}
.pestv2-step {
	gap: clamp(28px, 4vw, 64px) !important;
}
.pestv2-step__title {
	font-size: clamp(22px, 2.4vw, 30px) !important;
	margin-bottom: 12px !important;
}
.pestv2-step__num {
	margin-bottom: 12px !important;
}

/* =====================================
 * 7. RELATED CARDS — PREMIUM HOVER
 * ===================================== */
.pestv2-related__head {
	margin-bottom: 36px !important;
	max-width: 640px !important;
}
.pestv2-rel-card {
	padding: 24px 26px !important;
	gap: 8px !important;
	min-height: auto !important;
}
.pestv2-rel-card__name {
	font-size: 19px !important;
}
.pestv2-rel-card__lede {
	font-size: 13.5px !important;
	line-height: 1.5 !important;
}

/* =====================================
 * 8. FAQ — TIGHTER ACCORDION
 * ===================================== */
.pestv2-faq__head {
	margin-bottom: 32px !important;
}
.pestv2-faq-item summary {
	font-size: 17px !important;
	padding: 18px 0 !important;
	padding-right: 36px !important;
}
.pestv2-faq-item summary::after {
	font-size: 22px !important;
}
.pestv2-faq-item__a {
	padding: 0 0 18px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* =====================================
 * 9. RISKS PULL-QUOTE — TIGHTER
 * ===================================== */
.pestv2-quote {
	padding: 28px 0 !important;
	margin-bottom: 32px !important;
}
.pestv2-quote p {
	font-size: clamp(20px, 2vw, 28px) !important;
}
.pestv2-risks__list li {
	padding: 16px 20px !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
}

/* =====================================
 * 10. STATS BAND — RESTRAINED
 * ===================================== */
.pestv2-stats__head {
	margin-bottom: 40px !important;
	max-width: 640px !important;
}
.pestv2-stats__grid {
	gap: clamp(20px, 2.4vw, 40px) !important;
}
.pestv2-stat__src {
	font-size: 10.5px !important;
}

/* =====================================
 * 11. CASE STUDY HERO — ELEGANT META
 * ===================================== */
.csv2-hero__title {
	font-size: clamp(28px, 4vw, 52px) !important;
	letter-spacing: -0.022em !important;
	line-height: 1.05 !important;
	margin-block: 14px 16px !important;
}
.csv2-hero__title-sub {
	font-size: 0.55em !important;
	margin-top: 6px !important;
}
.csv2-hero__meta {
	margin: 0 0 22px !important;
	padding: 16px 20px !important;
	gap: 8px !important;
}
.csv2-hero__meta-row {
	font-size: 13.5px !important;
	gap: 14px !important;
	grid-template-columns: 110px 1fr !important;
}
.csv2-hero__placard {
	padding: clamp(32px, 4vw, 48px) !important;
	min-height: 320px !important;
}
.csv2-hero__placard-num {
	font-size: clamp(48px, 6vw, 84px) !important;
}

/* =====================================
 * 12. ZONE PILLAR — TIGHTER QUARTIERS GRID
 * ===================================== */
.pillar--zone .pillar__quartiers {
	padding-block: clamp(48px, 5vw, 72px) !important;
}

/* =====================================
 * 13. CTA BAND — RESTRAINED
 * ===================================== */
.cta-band__title,
.cta-band h2 {
	font-size: clamp(28px, 3.4vw, 44px) !important;
	margin-bottom: 14px !important;
}
.cta-band__sub,
.cta-band p {
	font-size: 15px !important;
	max-width: 56ch !important;
}

/* =====================================
 * 14. RESPONSIVE — MOBILE TIGHTER STILL
 * ===================================== */
@media (max-width: 880px) {
	.pestv2-hero,
	.pillar--service .pillar__hero,
	.pillar--zone .pillar__hero,
	.casestudyv2 .csv2-hero {
		padding-block: clamp(36px, 8vw, 56px) clamp(28px, 6vw, 40px) !important;
	}

	.pestv2-stats,
	.pestv2-bio,
	.pestv2-risks,
	.pestv2-protocol,
	.pestv2-content,
	.pestv2-related,
	.pestv2-faq,
	.casestudyv2 .csv2-body,
	.casestudyv2 .csv2-related,
	.pillar--zone .pillar__content,
	.pillar--zone .pillar__quartiers,
	.pillar--zone .pillar__zone-pests,
	.pillar--zone .pillar__quote,
	.pillar--zone .pillar__stats {
		padding-block: clamp(36px, 7vw, 56px) !important;
	}

	.cta-band {
		padding-block: clamp(40px, 8vw, 64px) !important;
	}

	.pestv2-hero__title {
		font-size: clamp(32px, 8vw, 44px) !important;
	}

	.pestv2-display,
	.csv2-body__h2 {
		font-size: clamp(24px, 6.5vw, 34px) !important;
	}

	.pestv2-stats__grid {
		gap: 24px !important;
	}

	.pestv2-stat__num {
		font-size: clamp(36px, 9vw, 56px) !important;
	}

	.pestv2-step {
		gap: 20px !important;
	}
}

/* =====================================
 * 15. PREMIUM MICRO-DETAILS
 * ===================================== */
/* Asymmetric divider above section heads (where eyebrow exists) */
.pestv2-stats__head .eyebrow,
.pestv2-bio__head .eyebrow,
.pestv2-protocol__head .eyebrow,
.pestv2-related__head .eyebrow,
.pestv2-faq__head .eyebrow,
.csv2-body__h2 .eyebrow {
	position: relative;
}
.pestv2-stats__head .eyebrow::before,
.pestv2-bio__head .eyebrow::before,
.pestv2-protocol__head .eyebrow::before,
.pestv2-related__head .eyebrow::before,
.pestv2-faq__head .eyebrow::before {
	content: '';
	display: inline-block;
	width: 32px;
	height: 1px;
	background: var(--color-accent, #b94a2e);
	margin-right: 12px;
	vertical-align: middle;
	transform: translateY(-1px);
}
.pestv2-stats__head .eyebrow .dot,
.pestv2-bio__head .eyebrow .dot,
.pestv2-protocol__head .eyebrow .dot,
.pestv2-related__head .eyebrow .dot,
.pestv2-faq__head .eyebrow .dot { display: none; }

/* Make CTA band feel less heavy */
.cta-band {
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

/* Reduce hero chip padding */
.pestv2-hero__chips {
	gap: 10px 18px !important;
	font-size: 10.5px !important;
	margin-top: 4px !important;
}

/* =====================================
 * 17. BUTTON TEXT CONTRAST FIX
 *     Buttons must NEVER have text the same color as their background,
 *     including hover. Forces explicit colors on every state.
 * ===================================== */

/* Default primary button — always white text on terracotta */
.btn--primary,
a.btn--primary,
button.btn--primary,
.btn.btn--primary {
	color: #ffffff !important;
	background: #b94a2e !important;
	border-color: #b94a2e !important;
}
.btn--primary:hover,
a.btn--primary:hover,
button.btn--primary:hover {
	color: #ffffff !important;
	background: #a83a23 !important;
	border-color: #a83a23 !important;
}

/* Default ghost button on cream surfaces — dark terracotta text on transparent */
.btn--ghost,
a.btn--ghost {
	color: #a83a23 !important;
	background: transparent !important;
	border-color: #a83a23 !important;
}
.btn--ghost:hover,
a.btn--ghost:hover {
	color: #ffffff !important;
	background: #a83a23 !important;
	border-color: #a83a23 !important;
}

/* CTA BAND — eyebrow + lead text must be readable on terracotta */
.cta-band .eyebrow,
.cta-band__eyebrow,
.cta-band span.eyebrow {
	color: #ffffff !important;
	opacity: 0.85;
}
.cta-band .eyebrow .dot,
.cta-band__eyebrow .dot {
	background: #ffffff !important;
	opacity: 1;
}
.cta-band__title,
.cta-band h2 {
	color: #ffffff !important;
}
.cta-band__title em,
.cta-band h2 em {
	color: #ffffff !important;
	font-style: italic;
}
.cta-band__lead,
.cta-band p {
	color: rgba(255, 255, 255, 0.92) !important;
}

/* CTA BAND — terracotta full-bleed background, buttons must be visible
 * over the dark terracotta. Override the defaults for this context only. */
.cta-band .btn--primary,
.cta-band__btns .btn--primary,
.cta-band a.btn--primary {
	color: #190f0a !important;        /* dark text on white button */
	background: #ffffff !important;
	border-color: #ffffff !important;
}
.cta-band .btn--primary:hover,
.cta-band__btns .btn--primary:hover,
.cta-band a.btn--primary:hover {
	color: #ffffff !important;        /* invert on hover */
	background: #190f0a !important;
	border-color: #190f0a !important;
}

.cta-band .btn--ghost,
.cta-band__btns .btn--ghost,
.cta-band a.btn--ghost {
	color: #ffffff !important;        /* white text on transparent over terracotta band */
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
}
.cta-band .btn--ghost:hover,
.cta-band__btns .btn--ghost:hover,
.cta-band a.btn--ghost:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffffff !important;
}

/* Header phone CTA + small primary buttons keep white text */
.site-header .btn--primary,
.site-header__cta .btn--primary {
	color: #ffffff !important;
}

/* Floating actions, side cards (dark backgrounds) — button text always white */
.devisv2-side__card--dark .btn,
.contactv2-callcard .btn,
.articlev2-side-card--dark .btn {
	color: #ffffff !important;
}

/* Forminator submit button — white text on terracotta, never same color */
.devisv2-formcard .forminator-ui .forminator-button-submit,
.devisv2-formcard .forminator-ui button[type=submit],
button[type=submit].forminator-button-submit {
	color: #ffffff !important;
	background: #b94a2e !important;
}
.devisv2-formcard .forminator-ui .forminator-button-submit:hover,
.devisv2-formcard .forminator-ui button[type=submit]:hover,
button[type=submit].forminator-button-submit:hover {
	color: #ffffff !important;
	background: #a83a23 !important;
}

/* =====================================
 * 18. MAGAZINE-GRADE EDITORIAL TYPOGRAPHY
 *     For "En détail" sections in pillar pages — pest, service, zone,
 *     case-study, article. Scope: .pestv2-content .prose, .csv2-body__content,
 *     .articlev2-body__main, .pillar--zone .pillar__content .prose.
 * ===================================== */

/* Wider editorial container (was 720px → 760px for better breathing) */
.pestv2-content .container--prose {
	max-width: 760px !important;
}

/* Body text — bigger, longer line-height, charcoal not pure black */
.pestv2-content .prose,
.pillar--zone .pillar__content .prose {
	font-size: 18px !important;
	line-height: 1.75 !important;
	color: #2a2520 !important;
	font-family: var(--font-body, 'Geist', system-ui, sans-serif);
}

/* H2 — bigger, display serif, MUCH more breathing room above (creates clear chapter breaks) */
.pestv2-content .prose h2,
.pillar--zone .pillar__content .prose h2,
.csv2-body__content h2,
.articlev2-body__main h2 {
	font-family: var(--font-display, 'Fraunces', serif) !important;
	font-size: clamp(28px, 3.4vw, 38px) !important;
	font-weight: 350 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.1 !important;
	color: #1a1410 !important;
	margin-top: 2.6em !important;
	margin-bottom: 0.5em !important;
	max-width: 22ch !important;
}

/* Hairline rule above each H2 (except the first) — creates magazine chapter break */
.pestv2-content .prose h2 + *,
.pillar--zone .pillar__content .prose h2 + *,
.csv2-body__content h2 + *,
.articlev2-body__main h2 + * {
	margin-top: 0 !important;
}
.pestv2-content .prose h2:not(:first-child)::before,
.pillar--zone .pillar__content .prose h2:not(:first-child)::before,
.csv2-body__content h2:not(:first-child)::before,
.articlev2-body__main h2:not(:first-child)::before {
	content: '';
	display: block;
	width: 56px;
	height: 1px;
	background: var(--color-accent, #b94a2e);
	margin-bottom: 1.4em;
	opacity: 0.65;
}

/* H3 — refined editorial sub-heading */
.pestv2-content .prose h3,
.pillar--zone .pillar__content .prose h3,
.csv2-body__content h3,
.articlev2-body__main h3 {
	font-family: var(--font-display, 'Fraunces', serif) !important;
	font-size: clamp(20px, 2vw, 24px) !important;
	font-weight: 400 !important;
	letter-spacing: -0.012em !important;
	line-height: 1.25 !important;
	color: #1a1410 !important;
	margin-top: 2em !important;
	margin-bottom: 0.4em !important;
}

/* H4 — when present */
.pestv2-content .prose h4,
.pillar--zone .pillar__content .prose h4,
.csv2-body__content h4,
.articlev2-body__main h4 {
	font-family: var(--font-display, 'Fraunces', serif) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	letter-spacing: -0.005em !important;
	color: #1a1410 !important;
	margin-top: 1.6em !important;
	margin-bottom: 0.3em !important;
}

/* Paragraphs — measured rhythm */
.pestv2-content .prose p,
.pillar--zone .pillar__content .prose p,
.csv2-body__content p,
.articlev2-body__main p {
	margin-bottom: 1.1em !important;
	color: #2a2520 !important;
	font-weight: 400 !important;
}

/* The FIRST paragraph after each H2 — slightly bigger, like a magazine intro */
.pestv2-content .prose h2 + p,
.pillar--zone .pillar__content .prose h2 + p,
.csv2-body__content h2 + p,
.articlev2-body__main h2 + p {
	font-size: 19px !important;
	line-height: 1.65 !important;
	color: #1a1410 !important;
	margin-bottom: 1.4em !important;
}

/* Strong — accent color for inline emphasis (NOT for whole paragraphs) */
.pestv2-content .prose strong,
.pillar--zone .pillar__content .prose strong,
.csv2-body__content strong,
.articlev2-body__main strong {
	color: #1a1410 !important;
	font-weight: 600 !important;
}

/* Em — italic display serif */
.pestv2-content .prose em,
.pillar--zone .pillar__content .prose em,
.csv2-body__content em,
.articlev2-body__main em {
	font-family: var(--font-display, 'Fraunces', serif) !important;
	font-style: italic !important;
	color: inherit !important;
}

/* Links — premium underline */
.pestv2-content .prose a,
.pillar--zone .pillar__content .prose a,
.csv2-body__content a,
.articlev2-body__main a {
	color: #a83a23 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	text-decoration-thickness: 1px !important;
	transition: color 0.2s ease, text-decoration-thickness 0.2s ease !important;
	font-weight: 500 !important;
}
.pestv2-content .prose a:hover,
.pillar--zone .pillar__content .prose a:hover,
.csv2-body__content a:hover,
.articlev2-body__main a:hover {
	color: #7e2a17 !important;
	text-decoration-thickness: 2px !important;
}

/* Lists — custom bullets with accent */
.pestv2-content .prose ul,
.pillar--zone .pillar__content .prose ul,
.csv2-body__content ul,
.articlev2-body__main ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 1.2em 0 !important;
}
.pestv2-content .prose ul > li,
.pillar--zone .pillar__content .prose ul > li,
.csv2-body__content ul > li,
.articlev2-body__main ul > li {
	position: relative !important;
	padding-left: 1.6em !important;
	margin-bottom: 0.6em !important;
	line-height: 1.65 !important;
}
.pestv2-content .prose ul > li::before,
.pillar--zone .pillar__content .prose ul > li::before,
.csv2-body__content ul > li::before,
.articlev2-body__main ul > li::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.7em !important;
	width: 12px !important;
	height: 1px !important;
	background: var(--color-accent, #b94a2e) !important;
}

/* OL — numbered list */
.pestv2-content .prose ol,
.pillar--zone .pillar__content .prose ol,
.csv2-body__content ol,
.articlev2-body__main ol {
	list-style: none !important;
	counter-reset: listcounter !important;
	padding-left: 0 !important;
	margin: 1.2em 0 !important;
}
.pestv2-content .prose ol > li,
.pillar--zone .pillar__content .prose ol > li,
.csv2-body__content ol > li,
.articlev2-body__main ol > li {
	position: relative !important;
	padding-left: 2.2em !important;
	margin-bottom: 0.7em !important;
	line-height: 1.65 !important;
	counter-increment: listcounter !important;
}
.pestv2-content .prose ol > li::before,
.pillar--zone .pillar__content .prose ol > li::before,
.csv2-body__content ol > li::before,
.articlev2-body__main ol > li::before {
	content: counter(listcounter, decimal-leading-zero) !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.05em !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 12px !important;
	color: var(--color-accent, #b94a2e) !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
}

/* Blockquote — magazine pull-quote style */
.pestv2-content .prose blockquote,
.pillar--zone .pillar__content .prose blockquote,
.csv2-body__content blockquote,
.articlev2-body__main blockquote {
	border-left: 3px solid var(--color-accent, #b94a2e) !important;
	padding: 6px 0 6px 28px !important;
	margin: 2em 0 !important;
	font-family: var(--font-display, 'Fraunces', serif) !important;
	font-style: italic !important;
	font-size: 22px !important;
	line-height: 1.45 !important;
	color: #1a1410 !important;
}

/* Images / figures inside the prose */
.pestv2-content .prose img,
.pillar--zone .pillar__content .prose img,
.csv2-body__content img,
.articlev2-body__main img {
	max-width: 100% !important;
	border-radius: var(--radius-md, 12px) !important;
	margin: 1.6em 0 !important;
	box-shadow: 0 12px 32px rgba(15, 10, 4, 0.08) !important;
}
.pestv2-content .prose figure,
.pillar--zone .pillar__content .prose figure,
.csv2-body__content figure,
.articlev2-body__main figure {
	margin: 2em 0 !important;
}
.pestv2-content .prose figcaption,
.pillar--zone .pillar__content .prose figcaption,
.csv2-body__content figcaption,
.articlev2-body__main figcaption {
	font-family: var(--font-mono, monospace) !important;
	font-size: 12px !important;
	letter-spacing: 0.04em !important;
	color: var(--color-text-muted, #7a6f66) !important;
	margin-top: 8px !important;
}

/* Disclaimer banner inside post_content (case studies + cleaned pillars) */
.cs-page-disclaimer {
	margin: 0 0 2.5em !important;
}

/* Hide any remaining "drop-cap" pseudo content from old templates */
.pestv2-content .prose p::first-letter,
.pillar--zone .pillar__content .prose p::first-letter {
	font-size: inherit !important;
	float: none !important;
	color: inherit !important;
}

/* Tables (when used) */
.pestv2-content .prose table,
.pillar--zone .pillar__content .prose table,
.csv2-body__content table,
.articlev2-body__main table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 1.6em 0 !important;
	font-size: 15px !important;
}
.pestv2-content .prose th,
.pillar--zone .pillar__content .prose th,
.csv2-body__content th,
.articlev2-body__main th {
	text-align: left !important;
	padding: 12px 14px !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: var(--color-text-muted, #7a6f66) !important;
	border-bottom: 1px solid var(--color-border, #d8cfc4) !important;
	font-weight: 500 !important;
}
.pestv2-content .prose td,
.pillar--zone .pillar__content .prose td,
.csv2-body__content td,
.articlev2-body__main td {
	padding: 14px !important;
	border-bottom: 1px solid var(--color-border-subtle, #e6e0d8) !important;
}

/* En détail eyebrow — bigger, more prominent */
.pestv2-content > .container > .eyebrow,
.pestv2-content > .container--prose > .eyebrow {
	font-family: var(--font-mono, monospace) !important;
	font-size: 11px !important;
	letter-spacing: 0.18em !important;
	color: var(--color-accent, #b94a2e) !important;
	font-weight: 500 !important;
	margin-bottom: 32px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.pestv2-content > .container > .eyebrow::before,
.pestv2-content > .container--prose > .eyebrow::before {
	content: '' !important;
	display: inline-block !important;
	width: 32px !important;
	height: 1px !important;
	background: var(--color-accent, #b94a2e) !important;
}
.pestv2-content > .container > .eyebrow .dot,
.pestv2-content > .container--prose > .eyebrow .dot {
	display: none !important;
}

/* Mobile — body slightly smaller */
@media (max-width: 880px) {
	.pestv2-content .prose,
	.pillar--zone .pillar__content .prose {
		font-size: 17px !important;
		line-height: 1.7 !important;
	}
	.pestv2-content .prose h2,
	.pillar--zone .pillar__content .prose h2,
	.csv2-body__content h2,
	.articlev2-body__main h2 {
		font-size: clamp(24px, 6vw, 30px) !important;
		margin-top: 2em !important;
	}
	.pestv2-content .prose h2 + p,
	.pillar--zone .pillar__content .prose h2 + p,
	.csv2-body__content h2 + p,
	.articlev2-body__main h2 + p {
		font-size: 18px !important;
	}
	.pestv2-content .prose blockquote,
	.pillar--zone .pillar__content .prose blockquote {
		font-size: 19px !important;
		padding-left: 20px !important;
	}
}

/* =====================================
 * 16. TYPOGRAPHIC TIGHT FIX FOR ZONE PILLAR
 * ===================================== */
.pillar--zone .pillar__hero-title {
	font-size: clamp(34px, 5vw, 64px) !important;
	letter-spacing: -0.025em !important;
	line-height: 1.04 !important;
	margin-block: 12px 16px !important;
}
.pillar--zone .pillar__hero-lede {
	font-size: clamp(16px, 1.3vw, 18px) !important;
	max-width: 52ch !important;
	margin-bottom: 22px !important;
}

/* Service pillar hero */
.pillar--service .pillar__hero-title {
	font-size: clamp(34px, 5vw, 64px) !important;
	letter-spacing: -0.025em !important;
	line-height: 1.04 !important;
	margin-block: 12px 16px !important;
}
.pillar--service .pillar__hero-lede {
	font-size: clamp(16px, 1.3vw, 18px) !important;
	max-width: 52ch !important;
	margin-bottom: 22px !important;
}
