/*
Theme Name: The Canine Studio
Theme URI: https://thecaninestudio.co.uk
Description: Child theme for The Canine Studio dog grooming — brand colours and typography.
Author: Built for Mars
Template: kadence
Version: 1.41.6
Text Domain: kadence-canine-studio
*/

/* ─── Design tokens ─── */
:root {
	/* Palette (raw) — brochure: baby pink + charcoal */
	--tcs-pink: #e8a0b0;
	--tcs-pink-mid: #f7d0da;
	--tcs-pink-deep: #c4788a; /* decorative only — not for body text */
	--tcs-script: var(--tcs-pink); /* baby pink cursive — not maroon */
	--tcs-action: #2d2d2d;
	--tcs-action-hover: #141414;
	--tcs-charcoal: #2d2d2d;
	--tcs-grey: #5a5a5a; /* AA on blush (~4.9:1) */
	--tcs-grey-mid: #4a4a4a;
	--tcs-grey-light: #8a8a8a;
	--tcs-bg: #faf7f8;
	--tcs-bg-alt: #f5f0f2;
	--tcs-white: #ffffff;
	--tcs-blush: #f7e8ec;
	--tcs-blush-deep: #f0d5dc;
	--tcs-whatsapp: #25d366;
	--tcs-ink-deep: #141414;

	/* Semantic colour */
	--tcs-link: var(--tcs-charcoal);
	--tcs-text: var(--tcs-charcoal);
	--tcs-text-muted: var(--tcs-grey);
	--tcs-surface: var(--tcs-bg);
	--tcs-border: color-mix(in srgb, var(--tcs-charcoal) 8%, transparent);
	--tcs-action-soft: color-mix(in srgb, var(--tcs-charcoal) 8%, transparent);
	--tcs-action-soft-strong: color-mix(in srgb, var(--tcs-pink) 22%, var(--tcs-white));
	--tcs-pink-soft: color-mix(in srgb, var(--tcs-pink) 15%, transparent);
	--tcs-pink-glow: color-mix(in srgb, var(--tcs-pink) 28%, transparent);
	--tcs-white-soft: color-mix(in srgb, var(--tcs-white) 85%, transparent);
	--tcs-white-ghost: color-mix(in srgb, var(--tcs-white) 15%, transparent);
	--tcs-white-faint: color-mix(in srgb, var(--tcs-white) 25%, transparent);
	--tcs-scrim: color-mix(in srgb, var(--tcs-ink-deep) 92%, transparent);
	--tcs-whatsapp-glow: color-mix(in srgb, var(--tcs-whatsapp) 45%, transparent);
	--tcs-whatsapp-glow-strong: color-mix(in srgb, var(--tcs-whatsapp) 50%, transparent);
	--tcs-shadow: none;
	--tcs-shadow-hover: none;

	/* Scrollbar */
	--tcs-scrollbar-size: 10px;
	--tcs-scrollbar-thumb: color-mix(in srgb, var(--tcs-charcoal) 55%, var(--tcs-pink));
	--tcs-scrollbar-thumb-hover: var(--tcs-charcoal);

	/* Kadence palette bridge */
	--global-palette1: var(--tcs-pink);
	--global-palette2: var(--tcs-action);
	--global-palette3: var(--tcs-charcoal);
	--global-palette4: var(--tcs-grey-mid);
	--global-palette5: var(--tcs-grey);
	--global-palette6: var(--tcs-grey-light);
	--global-palette7: var(--tcs-bg-alt);
	--global-palette8: var(--tcs-bg);
	--global-palette9: var(--tcs-white);

	/* Font families */
	--tcs-font-sans: Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--tcs-font-serif: "Playfair Display", Georgia, serif;
	--tcs-font-script: "Dancing Script", cursive;

	/* Font sizes — fixed */
	--tcs-text-xs: 0.875rem;
	--tcs-text-sm: 0.9375rem;
	--tcs-text-md: 1.0625rem;
	--tcs-text-base: 1.125rem;
	--tcs-text-lg: 1.1875rem;
	--tcs-text-xl: 1.75rem;

	/* Font sizes — fluid */
	--tcs-text-body: clamp(1.1875rem, 0.55vw + 1.1rem, 1.375rem);
	--tcs-text-lead: clamp(1.25rem, 0.6vw + 1.1rem, 1.4375rem);
	--tcs-text-lead-lg: clamp(1.25rem, 0.7vw + 1.1rem, 1.4375rem);
	--tcs-text-lead-sm: clamp(1.125rem, 0.35vw + 1.05rem, 1.25rem);
	--tcs-text-lead-md: clamp(1.125rem, 0.4vw + 1.05rem, 1.25rem);
	--tcs-text-lead-soft: clamp(1.125rem, 0.45vw + 1.05rem, 1.25rem);
	--tcs-text-cta-lead: clamp(1.1875rem, 0.5vw + 1.1rem, 1.375rem);
	--tcs-text-faq: clamp(1.25rem, 0.5vw + 1.1rem, 1.375rem);
	--tcs-text-teaser: clamp(1.25rem, 0.6vw + 1.1rem, 1.5rem);
	--tcs-text-ui: clamp(1.25rem, 2vw + 0.5rem, 1.5rem);
	--tcs-text-nav: clamp(1.45rem, 3vw, 1.75rem);
	--tcs-text-h2: clamp(2.125rem, 3.2vw + 0.95rem, 2.875rem);
	--tcs-text-h1: clamp(2.875rem, 5vw + 1.1rem, 4.5rem);
	--tcs-text-h1-page: clamp(1.75rem, 3vw + 1rem, 2.5rem);
	--tcs-text-script: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
	--tcs-text-package-title: clamp(1.75rem, 1.8vw + 1rem, 2.125rem);
	--tcs-text-package-tag: clamp(1.5rem, 1.6vw + 0.85rem, 1.875rem);
	--tcs-text-fair-script: clamp(1.5rem, 1.8vw + 0.85rem, 1.875rem);
	--tcs-text-includes: clamp(1.75rem, 2vw + 1rem, 2.375rem);
	--tcs-text-cta-title: clamp(2rem, 2.5vw + 1rem, 2.75rem);
	--tcs-text-footer-heading: clamp(1.5rem, 0.8vw + 1.2rem, 1.75rem);

	/* Line heights */
	--tcs-leading-none: 1;
	--tcs-leading-zero: 0;
	--tcs-leading-tight: 1.1;
	--tcs-leading-display: 1.15;
	--tcs-leading-heading: 1.2;
	--tcs-leading-snug: 1.3;
	--tcs-leading-ui: 1.35;
	--tcs-leading-caption: 1.4;
	--tcs-leading-list: 1.5;
	--tcs-leading-copy: 1.55;
	--tcs-leading-prose: 1.6;
	--tcs-leading-relaxed: 1.65;
	--tcs-leading-body: 1.7;

	/* Spacing */
	--tcs-space-2xs: 0.3rem;
	--tcs-space-xs: 0.55rem;
	--tcs-space-sm: 0.85rem;
	--tcs-space-md: 1.15rem;
	--tcs-space-lg: 1.75rem;
	--tcs-space-xl: 2.35rem;
	--tcs-space-2xl: 3.5rem;
	--tcs-space-3xl: 5rem;
	--tcs-space-4xl: 7rem;
	--tcs-space-icon: 0.4rem;
	--tcs-space-btn-y: 0.9rem;
	--tcs-space-btn-x: 2rem;
	--tcs-space-chip-y: 0.55rem;
	--tcs-space-chip-x: 1.25rem;
	--tcs-space-phone-y: 0.7rem;
	--tcs-space-phone-x: 1.5rem;
	--tcs-space-list-indent: 1.75rem;
	--tcs-space-list-y: 0.5rem;
	--tcs-space-hero-tight: 0.35rem;
	--tcs-space-float: 1.5rem;

	/* Layout */
	--tcs-content-max: 44rem;
	--tcs-wide-max: 1920px;
	--tcs-narrow-max: 38rem;
	--tcs-measure-sm: 32rem;
	--tcs-measure-md: 36rem;
	--tcs-measure-lg: 40rem;
	--tcs-packages-max: 100%;
	--tcs-reading-max: 44rem;
	--tcs-faq-max: 60rem;
	--tcs-edge: clamp(1.5rem, 4vw, 3.25rem);
	--tcs-nav-wide: 1366px;
	--tcs-section-pad: clamp(3.75rem, 5.5vw + 1.25rem, 6.5rem);
	--tcs-section-gap:  clamp(3.75rem, 5.5vw + 1.25rem, 6.5rem);
	--tcs-section-gap-home: clamp(2.25rem, 3.5vw + 0.75rem, 3.75rem);
	--tcs-gap-hero: clamp(1.25rem, 3vw, 2.5rem);
	--tcs-gap-page-hero: clamp(1.5rem, 3vw, 2.5rem);

	/* Radius */
	--tcs-radius-sm: 6px;
	--tcs-radius-md: 12px;
	--tcs-radius-lg: 18px;
	--tcs-radius-xl: 24px;
	--tcs-radius-pill: 999px;
	--tcs-radius-circle: 50%;

	/* Motion */
	--tcs-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
	--tcs-duration-fast: 180ms;
	--tcs-duration: 280ms;
	--tcs-duration-slow: 400ms;
	--tcs-motif-float: 0.4rem;

	/* Motif / hero visual sizes */
	--tcs-motif-sm: 18rem;
	--tcs-motif-md: 22rem;
	--tcs-motif-lg: 30rem;
	--tcs-motif-xl: 34rem;
	--tcs-motif-hero: 36rem;
	--tcs-hero-visual-sm: clamp(16rem, 52vw, 22rem);
	--tcs-hero-visual-md: clamp(20rem, 32vw, 26rem);
	--tcs-hero-visual-lg: 28rem;
	--tcs-hero-empty: 15.5rem;
	--tcs-hero-editorial-min: clamp(26rem, 72vh, 42rem);

	/* Control sizes */
	--tcs-btn-height: 3.75rem;
	--tcs-btn-height-mobile: 3.35rem;
	--tcs-icon-btn: 2.5rem;
	--tcs-package-icon: 5.5rem;
	--tcs-package-icon-svg: 2.6rem;

	/* Borders */
	--tcs-border-width: 1px;
	--tcs-border-width-strong: 2px;
	--tcs-border-width-icon: 1.5px;

	/* Extra measures / sizes */
	--tcs-measure-xs: 20rem;
	--tcs-measure-teaser: 42rem;
	--tcs-packages-primary-max: 100%;
	--tcs-packages-secondary-max: 100%;
	--tcs-package-max: 31.25rem; /* 500px — shared card width on 3-up and 2-up rows */
	--tcs-lightbox-max: min(92vw, 1100px);
	--tcs-lightbox-height: 88vh;
	--tcs-close-btn: 44px;
	--tcs-header-min: 6.25rem;
	--tcs-header-min-compact: 4.5rem;
	--tcs-header-min-desktop: 6.75rem;
	/* Wordmark — 1 = default; e.g. 1.1 = 10% larger (header + mobile drawer) */
	--tcs-wordmark-scale: 1.1;
	--tcs-nav-btn-min: 3.25rem;
	--tcs-whatsapp-icon: 22px;
	--tcs-bullet: 1.25is trem;
	--tcs-bullet-sm: 0.65rem;
	--tcs-space-3xs: 0.15rem;
	--tcs-space-tight: 0.45rem;
	--tcs-space-pad-sm: 0.65rem;
	--tcs-space-pad-md: 0.75rem;
	--tcs-space-pad-lg: 0.9rem;
	--tcs-space-form-y: 0.7rem;
	--tcs-space-form-x: 1.6rem;
	--tcs-space-float-pad: 14px;
	--tcs-space-checklist: 1.25rem;
	--tcs-space-bullet-top: 0.65rem;
	--tcs-space-lift: 2px;
	--tcs-outline-offset: 1px;
	--tcs-outline-offset-lg: 3px;
	--tcs-section-visual-max: 30rem;
	--tcs-header-offset: clamp(4.25rem, 7vh, 5.5rem);
	--tcs-text-price-em: 1.05em;
	--tcs-measure-ch: 44ch;
	--tcs-tracking-tight: -0.015em;
	--tcs-tracking-wide: 0.06em;
	--tcs-tracking-price: 0.01em;
	--tcs-burger-size: 2rem;
	--tcs-burger-hit: 2.75rem;
}

/* ─── Base typography — jumbo / tablet-first ─── */
body {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-body);
	line-height: var(--tcs-leading-body);
	color: var(--tcs-charcoal);
}

/* ─── Custom scrollbar (charcoal thumb, transparent track) ─── */
html {
	scrollbar-width: thin;
	scrollbar-color: var(--tcs-scrollbar-thumb) transparent;
}

* {
	scrollbar-width: thin;
	scrollbar-color: var(--tcs-scrollbar-thumb) transparent;
}

*::-webkit-scrollbar {
	width: var(--tcs-scrollbar-size);
	height: var(--tcs-scrollbar-size);
}

*::-webkit-scrollbar-track {
	background: transparent;
}

*::-webkit-scrollbar-thumb {
	background-color: var(--tcs-scrollbar-thumb);
	border-radius: 999px;
	border: 2px solid transparent;
	background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
	background-color: var(--tcs-scrollbar-thumb-hover);
}

*::-webkit-scrollbar-corner {
	background: transparent;
}

/* Kadence .inner-link-style-normal underlines a:not(.button) — keep links clean site-wide */
a,
a:hover,
a:focus,
.inner-link-style-normal a:not(.button),
.widget-area.inner-link-style-normal a:not(.button) {
	text-decoration: none;
}

h1,
h2,
h3,
h4 {
	color: var(--tcs-charcoal);
}

h2 {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-h2);
	font-weight: 600;
	line-height: var(--tcs-leading-heading);
}

.tcs-hero-title {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-h1);
	font-weight: 600;
	line-height: var(--tcs-leading-display);
	letter-spacing: var(--tcs-tracking-tight);
}

.tcs-script,
.tcs-script em {
	font-family: var(--tcs-font-script);
	font-style: normal;
	color: var(--tcs-script);
	font-size: var(--tcs-text-script);
	font-weight: 500;
}

.tcs-eyebrow {
	font-size: var(--tcs-text-sm);
	font-weight: 600;
	letter-spacing: var(--tcs-tracking-wide);
	text-transform: uppercase;
	color: var(--tcs-grey);
	margin-block-end: var(--tcs-space-sm);
}

/* ─── Full-width layout ─── */
body .site-container,
body .content-container.site-container {
	max-width: min(100%, var(--tcs-wide-max));
	padding-inline: var(--tcs-edge);
}

body.home .content-container.site-container,
body.tcs-marketing-page .content-container.site-container {
	max-width: 100%;
	padding-inline: 0;
}

/* One continuous soft surface for marketing pages (no zebra bands). */
body.home,
body.tcs-marketing-page {
	background: var(--tcs-bg);
}

body.home #wrapper,
body.tcs-marketing-page #wrapper,
body.home #inner-wrap,
body.tcs-marketing-page #inner-wrap {
	background: var(--tcs-bg);
}

body.home #primary.content-area,
body.tcs-marketing-page #primary.content-area,
body.home .content-bg,
body.tcs-marketing-page .content-bg,
body.home .entry-content-wrap,
body.tcs-marketing-page .entry-content-wrap {
	background: transparent;
}

body.tcs-marketing-page .entry-content-wrap {
	padding: 0;
	box-shadow: none;
	background: transparent;
}

/* Page stack: one gap between every section; edge inset on the page only */
.entry-content.single-content {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-section-gap);
	padding-block: var(--tcs-section-pad);
	padding-inline: 0;
}

/* Legal pages: branded title band */
body:not(.tcs-marketing-page) .entry-content-wrap > .entry-header.page-title {
	margin-inline: 0;
	padding: var(--tcs-space-2xl) var(--tcs-edge);
	background: var(--tcs-bg);
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
	text-align: center;
}

body:not(.tcs-marketing-page) .entry-header.page-title .page-title,
body:not(.tcs-marketing-page) .entry-header.page-title h1 {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-h1-page);
	font-weight: 600;
	line-height: var(--tcs-leading-heading);
	margin: 0;
}

body:not(.tcs-marketing-page) .content-container.site-container {
	max-width: 100%;
	padding-inline: 0;
}

body:not(.tcs-marketing-page) .entry-content-wrap {
	box-shadow: none;
	background: transparent;
	padding: 0;
}

/* ─── Sections (full-bleed bands) ─── */
.entry-content .tcs-section,
.entry-content .tcs-hero {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	box-sizing: border-box;
}

/*
 * Container: every block’s content lives in .tcs-section__inner (or .tcs-hero__inner).
 * Horizontal edge padding + max width are always applied here — not on nested blocks.
 */
.tcs-section__inner,
.tcs-hero__inner {
	width: 100%;
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
	padding-inline: var(--tcs-edge);
	box-sizing: border-box;
}

/* Sections carry no vertical padding — spacing comes from .entry-content gap */
.entry-content .tcs-section,
.entry-content .tcs-hero {
	padding-block: 0;
}

/* Width modifiers — always centred; text alignment set per block */
.tcs-section__inner--reading {
	max-width: var(--tcs-reading-max);
	margin-inline: auto;
}

.tcs-section__inner--narrow {
	max-width: var(--tcs-reading-max);
	margin-inline: auto;
	text-align: center;
}

.tcs-section__inner--packages {
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
}

.tcs-section__inner.tcs-prose {
	max-width: var(--tcs-content-max);
	margin-inline: auto;
}

/* Section modifiers no longer flip full-bleed colour — content floats on --tcs-bg. */
.tcs-section--bg,
.tcs-section--white,
.tcs-section--blush,
.tcs-section--cta,
.tcs-page-hero {
	background: transparent;
	background-color: transparent;
	color: var(--tcs-charcoal);
}

.tcs-section--dark {
	background-color: var(--tcs-charcoal);
	color: var(--tcs-bg);
}

.tcs-section--cta {
	border-block-start: none;
}

/* Pawprint accents (brochure motif) */
.tcs-paw {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	vertical-align: -0.15em;
	background-color: var(--tcs-pink);
	mask: url("../assets/motif-paw.svg") center / contain no-repeat;
	-webkit-mask: url("../assets/motif-paw.svg") center / contain no-repeat;
}

.tcs-section--paw,
.tcs-cta-band {
	position: relative;
}

.tcs-section--paw::before,
.tcs-section--paw::after,
.tcs-cta-band::before {
	content: "";
	position: absolute;
	width: clamp(2.5rem, 6vw, 4rem);
	height: clamp(2.5rem, 6vw, 4rem);
	background-color: color-mix(in srgb, var(--tcs-pink) 35%, transparent);
	mask: url("../assets/motif-paw.svg") center / contain no-repeat;
	-webkit-mask: url("../assets/motif-paw.svg") center / contain no-repeat;
	pointer-events: none;
	z-index: 0;
}

.tcs-section--paw::before {
	top: var(--tcs-space-lg);
	right: var(--tcs-edge);
	transform: rotate(18deg);
}

.tcs-section--paw::after {
	bottom: var(--tcs-space-xl);
	left: var(--tcs-edge);
	width: clamp(1.75rem, 4vw, 2.75rem);
	height: clamp(1.75rem, 4vw, 2.75rem);
	transform: rotate(-28deg);
	opacity: 0.7;
}

.tcs-cta-band::before {
	top: var(--tcs-space-md);
	right: clamp(1rem, 8vw, 5rem);
	transform: rotate(12deg);
}

.tcs-section--paw > *,
.tcs-cta-band > * {
	position: relative;
	z-index: 1;
}

.tcs-section--cta h2 {
	color: var(--tcs-charcoal);
	margin-block: 0 var(--tcs-space-sm);
}

.tcs-section--cta .tcs-cta-band__lead {
	color: var(--tcs-grey);
	margin: 0;
	max-width: var(--tcs-measure-md);
	font-size: var(--tcs-text-cta-lead);
}

.tcs-section--cta .tcs-cta-band__phone a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--tcs-btn-height);
	padding: var(--tcs-space-phone-y) var(--tcs-space-phone-x);
	border-radius: var(--tcs-radius-pill);
	border: var(--tcs-border-width-strong) solid color-mix(in srgb, var(--tcs-pink) 55%, var(--tcs-blush));
	background: color-mix(in srgb, var(--tcs-white) 55%, var(--tcs-blush));
	color: var(--tcs-charcoal);
	font-size: var(--tcs-text-lg);
	font-weight: 600;
	text-decoration: none;
	transition:
		border-color var(--tcs-duration-fast) var(--tcs-ease),
		background-color var(--tcs-duration-fast) var(--tcs-ease);
}

.tcs-section--cta .tcs-cta-band__phone a:hover {
	border-color: var(--tcs-pink-deep);
	background: color-mix(in srgb, var(--tcs-pink) 18%, var(--tcs-white));
	color: var(--tcs-pink-deep);
}

.tcs-section--cta .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--tcs-action);
	color: var(--tcs-action) !important;
}

.tcs-section--cta .wp-block-button.is-style-outline .wp-block-button__link:hover,
.tcs-section--cta .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--tcs-action-hover);
	color: var(--tcs-action-hover) !important;
	background-color: var(--tcs-blush) !important;
}

.tcs-section--dark h2 {
	color: var(--tcs-white);
}

.tcs-section--dark .tcs-cta-band__phone a {
	color: var(--tcs-pink);
}

.tcs-section--dark p {
	color: var(--tcs-white-soft);
}

.tcs-section--dark .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--tcs-action);
}

.tcs-section--dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background-color: var(--tcs-action-hover);
}

.tcs-section-header {
	margin-block-end: var(--tcs-space-xl);
	text-align: center;
}

.tcs-section-header--left {
	text-align: start;
}

.tcs-section-header h2 {
	margin-block: var(--tcs-space-xs) var(--tcs-space-sm);
}

/* Home: hero sits flush under header — tighter section rhythm */
body.home .entry-content.single-content {
	padding-block-start: 0;
	gap: var(--tcs-section-gap-home);
}

/* Home: custom hero is the only H1 */
body.home .entry-content-wrap > .entry-header.page-title {
	display: none;
}

body.home .entry-content-wrap {
	padding: 0;
	box-shadow: none;
	background: transparent;
}

/* Brand motif — organic SVG clip for image passthrough */
.tcs-motif {
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.tcs-motif__svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.tcs-motif img {
	/* Motif uses SVG <image>; keep rule for non-motif fallbacks */
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Section + gallery images — blob clips (fallback: rounded corners) */
.tcs-about-visual.tcs-motif,
.tcs-services-teaser__visual.tcs-motif,
.tcs-service-detail__visual.tcs-motif,
.tcs-gallery__item.tcs-motif,
.tcs-page-hero__visual.tcs-motif {
	overflow: visible;
	background: transparent;
}

.tcs-about-visual.tcs-motif .tcs-motif__svg {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
}

.tcs-services-teaser__visual.tcs-motif {
	aspect-ratio: 4 / 3;
}

.tcs-services-teaser__visual.tcs-motif .tcs-motif__svg,
.tcs-service-detail__visual.tcs-motif .tcs-motif__svg,
.tcs-gallery__item.tcs-motif .tcs-motif__svg,
.tcs-page-hero__visual.tcs-motif .tcs-motif__svg {
	width: 100%;
	height: auto;
}

.tcs-services-teaser__visual.tcs-motif .tcs-motif__svg,
.tcs-service-detail__visual.tcs-motif .tcs-motif__svg {
	aspect-ratio: inherit;
}

.tcs-gallery__item.tcs-motif .tcs-motif__svg {
	aspect-ratio: 1;
}

/* Motif float retired — honest crops and editorial hero replace decorative blobs */

/* Typographic page header — no decorative hero image */
.tcs-page-header {
	padding-block: 0;
}

.tcs-page-header__inner {
	max-width: var(--tcs-measure-lg);
	margin-inline: auto;
	text-align: center;
}

.tcs-page-header .tcs-hero-title {
	margin-block: 0 var(--tcs-space-sm);
}

.tcs-page-header__lead {
	margin: 0 auto;
	color: var(--tcs-grey);
	font-size: var(--tcs-text-lead-lg);
	line-height: var(--tcs-leading-relaxed);
	max-width: var(--tcs-measure-md);
}

.tcs-page-header--inline {
	margin-block-end: var(--tcs-space-2xl);
}

.tcs-page-header--inline .tcs-page-header__inner {
	max-width: var(--tcs-measure-lg);
	margin-inline: auto;
	text-align: center;
}

@media (min-width: 768px) {
	.tcs-page-header__inner,
	.tcs-page-header--inline .tcs-page-header__inner {
		margin-inline: 0;
		text-align: start;
	}

	.tcs-page-header__lead {
		margin-inline: 0;
	}
}

/* Legacy page-hero split (old cached content) */
.tcs-page-hero__inner {
	display: grid;
	gap: var(--tcs-gap-page-hero);
	align-items: center;
}

.tcs-page-hero__content {
	text-align: start;
	max-width: var(--tcs-content-max);
	margin-inline: 0;
	min-width: 0;
}

.tcs-page-hero__content .tcs-hero-title {
	margin-block: 0;
}

/* Beat Kadence `.single-content h1 + * { margin-top: 0 }` */
.single-content .tcs-page-hero__lead,
.entry-content .tcs-page-hero__lead {
	color: var(--tcs-grey);
	margin-block: var(--tcs-space-xl) 0;
	margin-inline: 0;
	font-size: var(--tcs-text-lead-lg);
	line-height: var(--tcs-leading-relaxed);
	max-width: var(--tcs-measure-lg);
}

.tcs-page-hero__visual {
	height: auto;
	aspect-ratio: 1;
	width: min(100%, var(--tcs-motif-sm));
	max-width: 100%;
	justify-self: center;
	overflow: visible;
}

@media (min-width: 768px) {
	.tcs-page-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--tcs-space-2xl);
	}

	.tcs-page-hero__visual {
		width: 100%;
		max-width: var(--tcs-motif-md);
		justify-self: end;
	}
}

@media (min-width: 1100px) {
	.tcs-page-hero__visual {
		max-width: var(--tcs-motif-xl);
	}
}

/* ─── Hero (home) ─── */
.tcs-hero {
	position: relative;
}

/* ─── Site images — simple rounded corners (no cutouts / mats) ─── */
.tcs-visual--rounded {
	overflow: hidden;
	border-radius: var(--tcs-radius-lg);
}

.tcs-visual--rounded img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	transform: scale(var(--tcs-focal-zoom, 1));
	transform-origin: var(--tcs-focal, center center);
}

.tcs-hero__visual.tcs-visual--rounded img {
	object-position: var(--tcs-focal, center 40%);
}

.tcs-about-visual.tcs-visual--rounded img {
	object-position: var(--tcs-focal, center 35%);
}

.tcs-services-teaser__visual.tcs-visual--rounded {
	aspect-ratio: 4 / 3;
}

.tcs-service-detail__visual.tcs-visual--rounded {
	aspect-ratio: 4 / 3;
	width: 100%;
}

/* Split hero — viewport height under header, centred copy, organic photo + blobs */
.tcs-hero--split {
	background: var(--tcs-bg);
	min-height: calc(100dvh - var(--tcs-header-offset));
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding-block: clamp(1rem, 3vh, 2rem);
}

/* Beat .entry-content .tcs-hero { padding-block: 0 } — breathe under sticky header */
.entry-content .tcs-hero.tcs-hero--split {
	padding-block: clamp(1rem, 3vh, 2rem);
}

@media (max-width: 767px) {
	.entry-content .tcs-hero.tcs-hero--split {
		padding-block-start: clamp(1.75rem, 5vh, 2.75rem);
		padding-block-end: clamp(1.25rem, 3vh, 2rem);
	}

	.tcs-hero--split .tcs-hero__content {
		padding-block-start: var(--tcs-space-sm);
	}
}

.tcs-hero--split .tcs-hero__inner {
	align-items: center;
	overflow: visible;
	width: 100%;
}

.tcs-hero--split .tcs-hero__content {
	position: relative;
	z-index: 2;
	padding-block: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Design language: uneven brand blobs (no circles) */
.tcs-shape {
	display: block;
	pointer-events: none;
	aspect-ratio: 1;
	background: var(--tcs-pink-mid);
}

.tcs-shape--a {
	border-radius: 68% 32% 58% 42% / 42% 58% 36% 64%;
	background: var(--tcs-pink-mid);
}

.tcs-shape--b {
	border-radius: 38% 62% 48% 52% / 72% 28% 55% 45%;
	background: var(--tcs-blush-deep);
}

.tcs-shape--c {
	border-radius: 55% 45% 72% 28% / 35% 65% 40% 60%;
	background: var(--tcs-pink);
	opacity: 0.55;
}

.tcs-hero__stage {
	position: relative;
	z-index: 1;
	isolation: isolate;
	width: min(100%, 24rem);
	margin-inline: auto;
	aspect-ratio: 4 / 5;
	align-self: center;
}

.tcs-hero__shape {
	position: absolute;
	z-index: 0;
}

.tcs-hero__shape--back {
	inset-block-start: -6%;
	inset-inline-end: -10%;
	width: 70%;
	transform: rotate(-8deg);
}

.tcs-hero__shape--mid {
	inset-block-start: 40%;
	inset-inline-start: -14%;
	width: 46%;
	transform: rotate(12deg);
	z-index: 0;
}

.tcs-hero__shape--front {
	inset-block-start: 6%;
	inset-inline-start: -8%;
	width: 32%;
	transform: rotate(-14deg);
	z-index: 2;
}

.tcs-hero--split .tcs-hero__visual,
.tcs-hero--split .tcs-hero__visual.tcs-motif {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	max-width: none;
	margin: 0;
	background: transparent;
	box-shadow: none;
}

.tcs-hero--split .tcs-hero__visual.tcs-motif .tcs-motif__svg,
.tcs-hero--split .tcs-hero__visual--blob .tcs-motif__svg {
	width: 100%;
	height: 100%;
}

.tcs-hero--split .tcs-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--tcs-focal, center 38%);
	display: block;
}

@media (min-width: 768px) {
	.tcs-hero--split .tcs-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		gap: clamp(2rem, 4vw, 3.5rem);
		align-items: center;
	}

	.tcs-hero__stage {
		width: min(100%, 32rem);
		margin-inline: auto;
		justify-self: center;
		align-self: center;
		aspect-ratio: 4 / 5;
	}

	.tcs-hero__shape--back {
		inset-block-start: -8%;
		inset-inline-end: -12%;
		width: 72%;
	}

	.tcs-hero__shape--mid {
		width: 48%;
		inset-inline-start: -16%;
		inset-block-start: 38%;
	}

	.tcs-hero__shape--front {
		width: 30%;
		inset-inline-start: -6%;
		inset-block-start: 4%;
	}
}

@media (min-width: 1100px) {
	.tcs-hero__stage {
		width: min(100%, 36rem);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.tcs-hero__shape--back {
		animation: tcs-shape-drift-a 14s ease-in-out infinite alternate;
	}

	.tcs-hero__shape--mid {
		animation: tcs-shape-drift-b 11s ease-in-out infinite alternate;
	}

	.tcs-hero__shape--front {
		animation: tcs-shape-drift-c 9s ease-in-out infinite alternate-reverse;
	}
}

@keyframes tcs-shape-drift-a {
	from { transform: rotate(-8deg) translate(0, 0); }
	to { transform: rotate(-4deg) translate(0.35rem, 0.4rem); }
}

@keyframes tcs-shape-drift-b {
	from { transform: rotate(12deg) translate(0, 0); }
	to { transform: rotate(16deg) translate(-0.3rem, 0.35rem); }
}

@keyframes tcs-shape-drift-c {
	from { transform: rotate(-14deg) translate(0, 0); }
	to { transform: rotate(-10deg) translate(0.2rem, -0.25rem); }
}

/* Legacy editorial full-bleed (retained for reference; not used on home) */
.tcs-hero--editorial {
	min-height: var(--tcs-hero-editorial-min);
	padding: 0;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	isolation: isolate;
}

.tcs-hero--editorial .tcs-hero__visual {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	aspect-ratio: auto;
	z-index: 0;
}

.tcs-hero--editorial .tcs-hero__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		color-mix(in srgb, var(--tcs-bg) 94%, transparent) 0%,
		color-mix(in srgb, var(--tcs-bg) 72%, transparent) 38%,
		color-mix(in srgb, var(--tcs-bg) 28%, transparent) 62%,
		transparent 100%
	);
	pointer-events: none;
}

.tcs-hero--editorial .tcs-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--tcs-focal, center 35%);
}

.tcs-hero--editorial .tcs-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
	padding-inline: var(--tcs-edge);
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
	display: block;
}

.tcs-hero--editorial .tcs-hero__content {
	max-width: var(--tcs-measure-lg);
	padding-block: 0;
}

.tcs-hero__inner {
	display: grid;
	gap: var(--tcs-gap-hero);
	align-items: center;
}

.tcs-hero__content {
	position: relative;
	text-align: start;
	padding-block: var(--tcs-space-hero-tight) 0;
	min-width: 0;
}

/* One display + one body — no stacked script under the wordmark */
.tcs-hero__content .tcs-hero-title {
	margin-block: 0;
}

/* Beat Kadence `.single-content h1 + * { margin-top: 0 }` */
.single-content .tcs-hero__lead,
.entry-content .tcs-hero__lead {
	max-inline-size: var(--tcs-measure-ch);
	color: var(--tcs-grey);
	margin-block: var(--tcs-space-xl) var(--tcs-space-xl);
	margin-inline: 0;
	font-size: var(--tcs-text-lead);
	line-height: var(--tcs-leading-prose);
}

.tcs-about-copy .tcs-script {
	margin-block: 0 var(--tcs-space-md);
}

.tcs-section__inner--narrow > .tcs-script {
	margin-block: calc(var(--tcs-space-xs) * -1) var(--tcs-space-md);
}

.tcs-hero__visual {
	height: var(--tcs-hero-visual-sm);
	aspect-ratio: auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	display: block;
	padding: 0;
	margin-block-start: 0;
	justify-self: center;
}

.tcs-hero__visual.tcs-visual--rounded {
	height: auto;
	overflow: hidden;
	background: transparent;
	border-radius: var(--tcs-radius-lg);
}

@media (min-width: 768px) {
	.tcs-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		gap: var(--tcs-space-2xl);
	}

	.tcs-hero__content {
		order: -1;
	}

	.tcs-hero__visual.tcs-visual--rounded {
		height: auto;
	}
}

/* Editorial overrides — beat legacy split-hero rules above */
.tcs-hero--editorial .tcs-hero__visual,
.tcs-hero--editorial .tcs-hero__visual:not(.tcs-motif) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	background: transparent;
	aspect-ratio: auto;
}

@media (min-width: 768px) {
	.tcs-hero--editorial .tcs-hero__inner {
		display: block;
		grid-template-columns: none;
	}

	.tcs-hero--editorial .tcs-hero__content {
		order: 0;
	}

	.tcs-hero--editorial .tcs-hero__visual,
	.tcs-hero--editorial .tcs-hero__visual:not(.tcs-motif) {
		height: 100%;
	}
}

@media (min-width: 1100px) {
	.tcs-hero--editorial .tcs-hero__visual:not(.tcs-motif) {
		height: 100%;
	}
}

.tcs-hero__actions {
	margin-block-end: 0;
}

.tcs-hero__actions .wp-block-buttons,
.tcs-cta-band__buttons,
.entry-content .wp-block-buttons:not(.is-vertical) {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: var(--tcs-space-sm);
	align-items: center;
}

.entry-content .wp-block-buttons .wp-block-button,
.tcs-hero__actions .wp-block-button,
.tcs-cta-band__buttons .wp-block-button {
	margin: 0;
	display: flex;
}

.tcs-hero__actions .wp-block-button__link.wp-element-button,
.tcs-cta-band__buttons .wp-block-button__link.wp-element-button {
	height: var(--tcs-btn-height);
	padding-block: 0;
}

.tcs-hero__meta {
	font-size: var(--tcs-text-sm);
	color: var(--tcs-grey);
}

.tcs-hero__meta a {
	font-weight: 600;
	color: var(--tcs-charcoal);
}

.tcs-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--tcs-focal, center);
	display: block;
}

.tcs-hero__visual.tcs-visual--empty {
	display: none;
}

@media (min-width: 900px) {
	.tcs-hero__visual.tcs-visual--empty {
		display: block;
		height: var(--tcs-hero-empty);
		background: linear-gradient(145deg, var(--tcs-bg-alt) 0%, var(--tcs-bg) 55%, var(--tcs-pink-soft) 100%);
	}
}

/* ─── Soft service packages ─── */
.tcs-section-lead {
	color: var(--tcs-grey);
	margin-block: 0 var(--tcs-space-xl);
	max-width: var(--tcs-narrow-max);
	font-size: var(--tcs-text-lead-sm);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-packages {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-3xl);
}

.tcs-packages__primary,
.tcs-packages__secondary {
	display: grid;
	gap: var(--tcs-space-2xl);
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.tcs-packages__primary {
	grid-template-columns: minmax(0, 1fr);
	padding-block-start: 0;
}

.tcs-packages__secondary {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
	.tcs-packages__primary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Three primary packages: centre the third on a 2-col tablet grid */
	.tcs-packages__primary .tcs-package:last-child:nth-child(3) {
		grid-column: 1 / -1;
		max-width: var(--tcs-package-max);
		justify-self: center;
		width: 100%;
	}

	.tcs-packages__secondary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: calc(2 * var(--tcs-package-max) + var(--tcs-space-xl));
		margin-inline: auto;
		width: 100%;
	}
}

@media (min-width: 1024px) {
	.tcs-packages__primary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tcs-packages__primary .tcs-package:last-child:nth-child(3) {
		grid-column: auto;
		max-width: none;
		justify-self: stretch;
	}
}

.tcs-package {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 100%;
	max-width: none;
	padding: var(--tcs-space-xl) var(--tcs-space-md);
	background: color-mix(in srgb, var(--tcs-white) 88%, var(--tcs-blush));
	border-radius: 1.65rem 1.35rem 1.55rem 1.45rem;
	border: none;
	box-shadow: none;
	overflow: visible;
}

/* Mobile: centred list (no left-indent bullets) so cards don’t look lopsided */
.tcs-package__list,
.entry-content .tcs-package__list,
.single-content .tcs-package__list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-inline-start: 0;
	padding-left: 0;
	text-align: center;
	max-width: none;
	width: 100%;
}

.tcs-package__list li {
	padding-inline: 0;
}

.tcs-package__list li::before {
	display: none;
}

@media (min-width: 640px) {
	.tcs-package {
		padding: var(--tcs-space-xl) var(--tcs-space-lg);
	}

	.tcs-package__list,
	.entry-content .tcs-package__list,
	.single-content .tcs-package__list {
		text-align: start;
		max-width: var(--tcs-motif-md);
	}

	.tcs-package__list li {
		padding: var(--tcs-space-list-y) 0 var(--tcs-space-list-y) var(--tcs-space-list-indent);
	}

	.tcs-package__list li::before {
		display: block;
	}
}

@media (min-width: 900px) {
	.tcs-packages__primary,
	.tcs-packages__secondary {
		gap: var(--tcs-space-2xl);
	}

	.tcs-package {
		padding: var(--tcs-space-xl) var(--tcs-space-lg);
	}
}

.tcs-package--compact {
	padding-block: var(--tcs-space-lg);
}

.tcs-package--featured {
	background: color-mix(in srgb, var(--tcs-white) 76%, var(--tcs-blush));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tcs-pink) 28%, transparent);
}

.tcs-package__badge {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: var(--tcs-space-2xs) var(--tcs-space-sm);
	border-radius: var(--tcs-radius-pill);
	background: var(--tcs-action-soft-strong);
	color: var(--tcs-charcoal);
	font-size: var(--tcs-text-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: var(--tcs-leading-none);
	pointer-events: none;
}

.tcs-package__icon {
	display: none;
}

.tcs-package__title,
.entry-content .tcs-package__title,
.single-content .tcs-package__title {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-package-title);
	font-weight: 600;
	margin: 0 0 var(--tcs-space-sm);
	padding: 0;
	line-height: var(--tcs-leading-heading);
}

.tcs-package__tagline {
	margin: 0 0 var(--tcs-space-md);
	font-size: var(--tcs-text-package-tag);
	line-height: var(--tcs-leading-snug);
}

.tcs-package__price {
	margin: 0 0 var(--tcs-space-md);
}

.tcs-package__price span {
	display: inline-block;
	padding: var(--tcs-space-chip-y) var(--tcs-space-chip-x);
	border-radius: var(--tcs-radius-pill);
	background: color-mix(in srgb, var(--tcs-pink) 18%, var(--tcs-white));
	color: var(--tcs-pink);
	font-size: var(--tcs-text-lg);
	font-weight: 600;
	letter-spacing: var(--tcs-tracking-price);
}

.tcs-package__list li {
	position: relative;
	padding-block: var(--tcs-space-list-y);
	font-size: var(--tcs-text-base);
	line-height: var(--tcs-leading-copy);
	color: var(--tcs-grey);
}

.tcs-package__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: var(--tcs-space-bullet-top);
	width: var(--tcs-bullet);
	height: var(--tcs-bullet);
	background-color: var(--tcs-pink);
	opacity: 0.85;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='4' cy='4.5' r='1.6'/%3E%3Ccircle cx='8' cy='3.2' r='1.6'/%3E%3Ccircle cx='12' cy='4.5' r='1.6'/%3E%3Cellipse cx='8' cy='10.5' rx='3.2' ry='3.6'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='4' cy='4.5' r='1.6'/%3E%3Ccircle cx='8' cy='3.2' r='1.6'/%3E%3Ccircle cx='12' cy='4.5' r='1.6'/%3E%3Cellipse cx='8' cy='10.5' rx='3.2' ry='3.6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.tcs-package__body {
	margin: 0;
	font-size: var(--tcs-text-md);
	color: var(--tcs-grey);
	max-width: var(--tcs-measure-xs);
}

.tcs-fair-note {
	margin-block-start: var(--tcs-space-xl);
	text-align: center;
	max-width: var(--tcs-measure-sm);
	margin-inline: auto;
}

.tcs-fair-note p {
	margin: 0;
	color: var(--tcs-grey);
	font-size: var(--tcs-text-md);
}

.tcs-fair-note__script {
	margin-block-start: var(--tcs-space-xs) !important;
	font-size: var(--tcs-text-fair-script) !important;
	color: var(--tcs-script) !important;
}

/* ─── Services detail list ─── */
/* Service cards: tighter than page section gap so Prices/Gallery don’t feel sparse by comparison */
.tcs-service-details {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-2xl);
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
}

.tcs-service-detail {
	padding: var(--tcs-space-xl);
	border-radius: var(--tcs-radius-xl);
	background: color-mix(in srgb, var(--tcs-white) 78%, var(--tcs-blush));
}

.tcs-service-detail__layout {
	display: grid;
	gap: var(--tcs-space-lg);
	align-items: start;
}

/* Mobile: less card chrome around the motif */
@media (max-width: 767px) {
	.tcs-service-detail {
		padding: var(--tcs-space-md) var(--tcs-space-md) var(--tcs-space-xl);
	}

	.tcs-service-detail__layout {
		gap: var(--tcs-space-md);
	}
}

.tcs-service-detail__content {
	min-width: 0;
}

.tcs-service-detail__titles {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-block-end: var(--tcs-space-md);
}

.tcs-service-detail__title {
	margin: 0;
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-package-title);
	line-height: var(--tcs-leading-snug);
}

.tcs-service-detail__tagline {
	margin: 0;
	font-size: var(--tcs-text-package-tag);
	line-height: var(--tcs-leading-snug);
}

.tcs-service-detail__body {
	margin: 0 0 var(--tcs-space-md);
	color: var(--tcs-grey);
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-service-detail__list {
	margin: 0 0 var(--tcs-space-md);
	padding-inline-start: 1.25rem;
	color: var(--tcs-charcoal);
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-list);
}

.tcs-service-detail__list li:not(:last-child) {
	margin-block-end: var(--tcs-space-2xs);
}

.tcs-service-detail__price {
	margin: 0;
	font-family: var(--tcs-font-serif);
	font-weight: 600;
	color: var(--tcs-charcoal);
}

@media (min-width: 768px) {
	.tcs-service-detail__layout {
		grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
		gap: var(--tcs-space-xl);
		align-items: center;
	}

	.tcs-service-detail__visual.tcs-motif {
		aspect-ratio: 1 / 1;
	}
}

.tcs-service-details__prices-link {
	display: flex;
	justify-content: center;
	margin-block: var(--tcs-section-gap) 0;
	margin-inline: 0;
}

/* ─── Prices page → Services block ─── */
.tcs-prices-services {
	position: relative;
	display: grid;
	gap: var(--tcs-space-md);
	padding: var(--tcs-space-xl);
	border-radius: var(--tcs-radius-xl);
	background: color-mix(in srgb, var(--tcs-white) 78%, var(--tcs-blush));
	overflow: hidden;
}

.tcs-prices-services__paw {
	position: absolute;
	top: var(--tcs-space-md);
	right: var(--tcs-space-lg);
	width: 2.5rem;
	height: 2.5rem;
	opacity: 0.55;
}

.tcs-prices-services__copy {
	position: relative;
	z-index: 1;
	max-width: var(--tcs-measure-md);
}

.tcs-prices-services__copy .wp-block-heading {
	margin-block: 0 var(--tcs-space-sm);
}

.tcs-prices-services__copy p {
	margin: 0;
	color: var(--tcs-grey);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-prices-services__link {
	margin-block-start: var(--tcs-space-xl) !important;
	margin-inline: 0;
}

.tcs-includes {
	margin-block-start: var(--tcs-space-3xl);
	padding: 0;
	text-align: center;
}

.tcs-includes__label {
	margin: 0 0 var(--tcs-space-lg);
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-includes);
	font-weight: 600;
	line-height: var(--tcs-leading-heading);
	color: var(--tcs-charcoal);
}

.tcs-includes__list,
.entry-content .tcs-includes__list,
.single-content .tcs-includes__list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-inline-start: 0;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: var(--tcs-space-xs);
	font-size: var(--tcs-text-lead-soft);
	font-weight: 500;
	line-height: var(--tcs-leading-list);
	color: var(--tcs-grey);
	text-align: center;
}

.tcs-includes__list li,
.entry-content .tcs-includes__list li {
	padding: 0;
	margin: 0;
	width: 100%;
}

.tcs-includes__list li:not(:last-child)::after {
	content: none;
}

.tcs-services-teaser {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--tcs-space-2xl);
	margin-block-start: var(--tcs-space-xl);
	max-width: none;
	align-items: center;
	overflow: visible;
}

.tcs-services-teaser__intro {
	max-width: var(--tcs-measure-teaser);
}

.tcs-services-teaser__visual {
	aspect-ratio: 4 / 3;
	order: -1;
}

.tcs-services-teaser__board {
	width: 100%;
	min-width: 0;
	max-width: none;
	text-align: left;
}

.tcs-services-teaser__list,
.entry-content .tcs-services-teaser__list,
.single-content .tcs-services-teaser__list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-inline-start: 0;
	width: 100%;
	max-width: none;
}

.tcs-services-teaser__list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--tcs-space-md);
	padding-block: var(--tcs-space-lg);
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
	text-align: left;
	font-size: var(--tcs-text-teaser);
}

.tcs-services-teaser__list li:first-child {
	border-block-start: var(--tcs-border-width) solid var(--tcs-border);
}

.tcs-services-teaser__list li span,
.tcs-services-teaser__name {
	font-family: var(--tcs-font-serif);
	font-weight: 600;
	color: var(--tcs-charcoal);
	text-align: left;
}

.tcs-services-teaser__list li em,
.tcs-services-teaser__price {
	font-family: var(--tcs-font-script);
	font-style: normal;
	font-weight: 500;
	color: var(--tcs-script);
	white-space: nowrap;
	font-size: var(--tcs-text-price-em);
}

.tcs-services-teaser__actions {
	margin-block: var(--tcs-space-xl) 0!important;
	justify-content: flex-start;
}

@media (min-width: 768px) {
	.tcs-services-teaser {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
		gap: var(--tcs-space-3xl);
	}

	.tcs-services-teaser__visual {
		order: 0; /* DOM: board then visual → image right */
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}
}

.tcs-about-copy {
	max-width: var(--tcs-measure-sm);
}

.tcs-about-copy h2 {
	margin-block: var(--tcs-space-xs) var(--tcs-space-md);
}

.tcs-about-copy p {
	color: var(--tcs-grey);
	margin-block: 0 var(--tcs-space-md);
}

.tcs-about-copy p:last-child {
	margin-block-end: 0;
}

.tcs-pricing-flyer {
	max-inline-size: var(--tcs-motif-md);
	margin-inline: auto;
	margin-block: var(--tcs-space-2xl) 0;
	text-align: center;
	border-radius: 0;
	box-shadow: none;
}

.tcs-pricing-flyer img {
	width: 100%;
	height: auto;
	border-radius: var(--tcs-radius-lg);
}

.tcs-pricing-flyer__caption {
	margin: var(--tcs-space-sm) 0 0;
	font-size: var(--tcs-text-xs);
	color: var(--tcs-grey);
}

/* ─── Buttons (Kadence overrides) ─── */
.wp-block-button__link.wp-element-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--tcs-btn-height);
	border-radius: var(--tcs-radius-pill);
	padding: var(--tcs-space-btn-y) var(--tcs-space-btn-x);
	font-weight: 600;
	font-size: var(--tcs-text-lg);
	line-height: var(--tcs-leading-heading);
	box-shadow: none !important;
	opacity: 1;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		border-color var(--tcs-duration-fast) var(--tcs-ease),
		color var(--tcs-duration-fast) var(--tcs-ease);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--tcs-action);
	color: var(--tcs-white) !important;
	border: var(--tcs-border-width-strong) solid var(--tcs-action);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
	background-color: var(--tcs-action-hover);
	border-color: var(--tcs-action-hover);
	color: var(--tcs-white) !important;
	box-shadow: none !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent !important;
	border: var(--tcs-border-width-strong) solid var(--tcs-action);
	color: var(--tcs-action) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background-color: var(--tcs-blush) !important;
	border-color: var(--tcs-action-hover);
	color: var(--tcs-action-hover) !important;
	box-shadow: none !important;
	opacity: 1;
}

.tcs-section--bg .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--tcs-action);
	color: var(--tcs-action) !important;
}

.tcs-section--bg .wp-block-button.is-style-outline .wp-block-button__link:hover,
.tcs-section--bg .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background-color: var(--tcs-blush) !important;
	border-color: var(--tcs-action-hover);
	color: var(--tcs-action-hover) !important;
}

/* ─── CTA band ─── */
.tcs-cta-band {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-lg);
	align-items: center;
	text-align: center;
	max-width: none;
}

.tcs-cta-band__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--tcs-space-md);
}

.tcs-cta-band__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tcs-space-sm);
	justify-content: center;
}

.tcs-cta-band__phone {
	margin: 0;
}

.tcs-cta-band__phone a {
	color: inherit;
	text-decoration: none;
}

@media (min-width: 768px) {
	.tcs-cta-band {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		text-align: left;
	}

	.tcs-cta-band__actions {
		align-items: flex-end;
		text-align: right;
	}

	.tcs-cta-band__buttons {
		justify-content: flex-end;
	}
}

/* ─── Reviews placeholder ─── */
.tcs-reviews-placeholder {
	max-inline-size: var(--tcs-content-max);
	margin-inline: auto;
	padding: var(--tcs-space-xl);
	border: var(--tcs-border-width) solid var(--tcs-border);
	border-radius: var(--tcs-radius-lg);
	background: color-mix(in srgb, var(--tcs-white) 72%, var(--tcs-blush));
	text-align: center;
	color: var(--tcs-grey);
}

/* ─── FAQ ─── */
.tcs-faq {
	max-inline-size: var(--tcs-faq-max);
	width: 100%;
	/* margin-inline: auto; */
	text-align: start;
	display: flex;
	flex-direction: column;
	gap: 0;
	/* Clear fixed WhatsApp FAB on mobile so last accordion controls stay tappable */
	padding-block-end: calc(var(--tcs-package-icon) + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 601px) {
	.tcs-faq {
		padding-block-end: calc(var(--tcs-header-min-compact) + env(safe-area-inset-bottom, 0px));
	}
}

.tcs-faq__item {
	border: none;
	border-radius: 0;
	background: transparent;
	padding-inline: 0;
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
}

.tcs-faq__item:first-child {
	border-block-start: var(--tcs-border-width) solid var(--tcs-border);
}

.tcs-faq__question {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-faq);
	font-weight: 600;
	line-height: var(--tcs-leading-snug);
	color: var(--tcs-charcoal);
	padding-block: var(--tcs-space-xl);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tcs-space-md);
}

.tcs-faq__question::-webkit-details-marker {
	display: none;
}

.tcs-faq__question:focus {
	outline: none;
}

.tcs-faq__question:focus-visible {
	outline: 2px solid var(--tcs-pink-deep);
	outline-offset: 3px;
	border-radius: var(--tcs-radius-sm);
}

.tcs-faq__question::after {
	content: "+";
	font-size: var(--tcs-text-xl);
	color: var(--tcs-pink);
	flex-shrink: 0;
	transition: transform var(--tcs-duration) var(--tcs-ease);
}

.tcs-faq__item[open] .tcs-faq__question {
	color: var(--tcs-pink-deep);
}

.tcs-faq__item[open] .tcs-faq__question::after {
	content: "−";
}

.tcs-faq__answer {
	padding-block-end: var(--tcs-space-lg);
	color: var(--tcs-grey);
	font-size: var(--tcs-text-md);
}

.tcs-faq__answer p {
	margin-block: 0;
}

/* ─── Contact ─── */
.tcs-contact {
	display: grid;
	gap: var(--tcs-space-2xl);
	max-inline-size: none;
	margin-inline: 0;
	padding-inline: 0;
}

.tcs-contact__main {
	display: grid;
	gap: var(--tcs-space-xl);
	align-items: start;
}

/* Form first on mobile — the primary action */
.tcs-contact__form {
	order: -1;
}

.tcs-contact__eyebrow {
	margin: 0 0 var(--tcs-space-sm);
	font-size: var(--tcs-text-xs);
	font-weight: 600;
	letter-spacing: var(--tcs-tracking-wide);
	text-transform: uppercase;
	color: var(--tcs-pink-deep);
}

.tcs-contact__form > .wp-block-heading,
.tcs-contact__map > .wp-block-heading,
.tcs-find-us > .wp-block-heading {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-h2);
	line-height: var(--tcs-leading-heading);
	margin-block: 0 var(--tcs-space-sm);
}

.tcs-contact__form > .tcs-section-lead,
.tcs-find-us > .tcs-section-lead {
	margin-block: 0 var(--tcs-space-lg);
	color: var(--tcs-grey);
	max-width: var(--tcs-measure-sm);
}

/* Standalone Find us block (own page / own section) */
.tcs-find-us {
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
}

.tcs-contact__details,
.tcs-contact__form {
	position: relative;
	padding: var(--tcs-space-xl) var(--tcs-space-lg);
	border-radius: 1.65rem 1.35rem 1.55rem 1.45rem;
	background: color-mix(in srgb, var(--tcs-white) 88%, var(--tcs-blush));
	border: none;
	box-shadow: none;
}

.tcs-contact__form {
	border-radius: 1.35rem 1.7rem 1.4rem 1.6rem;
	background: color-mix(in srgb, var(--tcs-white) 92%, var(--tcs-blush));
}

.tcs-contact__list {
	margin: 0;
	padding: 0;
}

.tcs-contact__list dt {
	font-size: var(--tcs-text-xs);
	font-weight: 600;
	letter-spacing: var(--tcs-tracking-wide);
	text-transform: uppercase;
	color: var(--tcs-grey);
	margin-block-end: var(--tcs-space-2xs);
}

.tcs-contact__list dd {
	margin-inline-start: 0;
	margin-block-end: var(--tcs-space-md);
	font-size: var(--tcs-text-base);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-contact__list dd:last-child {
	margin-block-end: 0;
}

.tcs-contact__list dd a {
	color: var(--tcs-charcoal);
	font-weight: 600;
	text-decoration: none;
}

.tcs-contact__list dd a:hover {
	color: var(--tcs-pink-deep);
}

.tcs-contact__map-stage {
	position: relative;
	isolation: isolate;
	margin-block-start: var(--tcs-space-md);
}

.tcs-contact__shape {
	position: absolute;
	z-index: 0;
}

.tcs-contact__shape--back {
	inset-block-start: -8%;
	inset-inline-end: -10%;
	width: 48%;
	transform: rotate(-10deg);
}

.tcs-contact__shape--mid {
	inset-block-end: -6%;
	inset-inline-start: -8%;
	width: 36%;
	transform: rotate(14deg);
}

.tcs-contact__map-stage .tcs-map-embed {
	position: relative;
	z-index: 1;
}

.tcs-map-embed {
	aspect-ratio: 21 / 9;
	min-block-size: 14rem;
	border-radius: 1.75rem 1.25rem 1.6rem 1.45rem;
	overflow: hidden;
	background: var(--tcs-blush);
}

.tcs-map-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.tcs-map-address {
	display: none;
	position: relative;
	z-index: 1;
	margin: var(--tcs-space-md) 0 0;
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-map-address a {
	color: var(--tcs-charcoal);
	font-weight: 600;
	text-decoration: none;
}

.tcs-map-address a:hover {
	color: var(--tcs-pink-deep);
}

@media (min-width: 768px) {
	.tcs-contact {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tcs-space-2xl);
	}

	.tcs-contact__main {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
		gap: var(--tcs-space-xl);
	}

	.tcs-contact__form {
		order: 0;
	}

	.tcs-contact__details,
	.tcs-contact__form {
		padding: var(--tcs-space-xl);
	}

	.tcs-contact__shape--back {
		width: 36%;
		inset-inline-end: -6%;
	}

	.tcs-contact__shape--mid {
		width: 28%;
		inset-inline-start: -4%;
	}

	.tcs-map-embed {
		aspect-ratio: 2.4 / 1;
		min-block-size: 16rem;
	}
}

@media (min-width: 1100px) {
	.tcs-contact__main {
		gap: var(--tcs-space-2xl);
	}
}

/* ─── Gallery ─── */
.tcs-section--gallery .tcs-section__inner {
	overflow: visible;
}

.tcs-gallery {
	display: grid;
	gap: var(--tcs-space-md);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: visible;
}

@media (min-width: 700px) {
	.tcs-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.tcs-gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.tcs-gallery__link {
	display: block;
	min-height: 0;
	text-decoration: none;
	color: inherit;
	cursor: zoom-in;
	min-width: 0;
	overflow: visible;
	container-type: inline-size;
}

.tcs-gallery__preview {
	display: block;
	min-height: 0;
	min-width: 0;
	pointer-events: none;
	container-type: inline-size;
}

.tcs-gallery__preview .tcs-gallery__item,
.tcs-gallery__link .tcs-gallery__item {
	aspect-ratio: 1;
	height: auto;
	width: 100%;
}

.tcs-gallery__preview .tcs-visual--rounded,
.tcs-gallery__link .tcs-visual--rounded {
	aspect-ratio: 1;
	height: auto;
	width: 100%;
}

.tcs-gallery__link:focus-visible .tcs-gallery__item.tcs-motif,
.tcs-gallery__link:focus-visible .tcs-visual--rounded {
	outline: 2px solid var(--tcs-action);
	outline-offset: var(--tcs-outline-offset-lg);
}

.tcs-gallery__item {
	aspect-ratio: 1;
	line-height: var(--tcs-leading-zero);
	margin: 0;
	height: 100%;
	transition:
		transform var(--tcs-duration) var(--tcs-ease),
		filter var(--tcs-duration) var(--tcs-ease);
}

.tcs-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--tcs-focal, center);
	display: block;
}

.tcs-gallery__link:hover .tcs-gallery__item,
.tcs-gallery__link:focus-visible .tcs-gallery__item {
	transform: scale(1.04);
	filter: saturate(1.05);
}

.tcs-gallery__link:hover img,
.tcs-gallery__link:focus-visible img {
	transform: scale(calc(var(--tcs-focal-zoom, 1) * 1.04));
	filter: saturate(1.05);
}

/* ─── Lightbox ─── */
.tcs-lightbox[hidden] {
	display: none !important;
}

body.tcs-lightbox-open {
	overflow: hidden;
}

.tcs-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--tcs-edge);
}

.tcs-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: var(--tcs-scrim);
}

.tcs-lightbox__stage {
	position: relative;
	z-index: 1;
	max-width: var(--tcs-lightbox-max);
	max-height: var(--tcs-lightbox-height);
}

.tcs-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: var(--tcs-lightbox-height);
	width: auto;
	height: auto;
	margin-inline: auto;
	border-radius: var(--tcs-radius-md);
	box-shadow: var(--tcs-shadow-hover);
}

.tcs-lightbox__close,
.tcs-lightbox__nav {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tcs-close-btn);
	height: var(--tcs-close-btn);
	padding: 0;
	border: none;
	border-radius: var(--tcs-radius-circle);
	background: color-mix(in srgb, var(--tcs-white) 92%, transparent);
	color: var(--tcs-charcoal);
	cursor: pointer;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		color var(--tcs-duration-fast) var(--tcs-ease),
		transform var(--tcs-duration-fast) var(--tcs-ease);
}

.tcs-lightbox__close svg,
.tcs-lightbox__nav svg {
	width: 1.25rem;
	height: 1.25rem;
	display: block;
}

.tcs-lightbox__close:hover,
.tcs-lightbox__nav:hover {
	background: var(--tcs-white);
	color: var(--tcs-pink-deep);
}

.tcs-lightbox__close:focus-visible,
.tcs-lightbox__nav:focus-visible {
	outline: 2px solid var(--tcs-white);
	outline-offset: var(--tcs-outline-offset-lg);
}

.tcs-lightbox__close {
	top: max(12px, env(safe-area-inset-top));
	right: max(12px, env(safe-area-inset-right));
}

.tcs-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
}

.tcs-lightbox__nav:hover {
	transform: translateY(-50%) scale(1.04);
}

.tcs-lightbox__nav--prev {
	left: max(12px, env(safe-area-inset-left));
}

.tcs-lightbox__nav--next {
	right: max(12px, env(safe-area-inset-right));
}

.tcs-lightbox__nav:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

@media (max-width: 699px) {
	.tcs-lightbox__nav {
		width: 2.5rem;
		height: 2.5rem;
	}
}

/* ─── Section visuals (about, services teaser — not hero / gallery) ─── */
.tcs-about-visual,
.tcs-services-teaser__visual {
	width: 100%;
	max-width: var(--tcs-section-visual-max);
	justify-self: center;
	height: auto;
	display: block;
}

@media (min-width: 768px) {
	.tcs-about-intro .tcs-about-visual,
	.tcs-services-teaser__visual {
		max-width: none;
		width: 100%;
	}
}

.tcs-about-visual.tcs-motif,
.tcs-services-teaser__visual.tcs-motif {
	overflow: visible;
}

.tcs-service-detail__visual.tcs-motif {
	width: 100%;
	max-width: none;
	aspect-ratio: 1 / 1;
}

/* Mobile: bleed photo to card edges + scale blob so it reads larger */
@media (max-width: 767px) {
	.tcs-service-detail__visual.tcs-motif {
		width: calc(100% + 2 * var(--tcs-space-md));
		margin-inline: calc(var(--tcs-space-md) * -1);
		margin-block-start: calc(var(--tcs-space-md) * -1);
		overflow: visible;
	}

	.tcs-service-detail__visual.tcs-motif .tcs-motif__svg {
		width: 118%;
		max-width: none;
		margin-inline: -9%;
		aspect-ratio: 1 / 1;
	}
}

/* ─── About split ─── */
.tcs-about-intro {
	display: grid;
	gap: var(--tcs-space-xl);
	align-items: center;
	max-inline-size: none;
	margin-inline: 0;
	padding-inline: 0;
	margin-block-end: 0;
	overflow: visible;
}

.tcs-about-visual {
	aspect-ratio: 4 / 5;
}

/*
 * Mobile rhythm: keep text → image → text → image.
 * About DOM is image-first for desktop left placement; on small screens put copy first
 * so the hero photo doesn’t butt into the about photo. Teaser visual loses order:-1
 * for the same reason (board before image).
 */
@media (max-width: 767px) {
	.tcs-about-intro.tcs-split--image-start .tcs-about-copy {
		order: -1;
	}

	.tcs-services-teaser__visual {
		order: 0;
	}
}

@media (min-width: 768px) {
	.tcs-about-intro {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--tcs-space-2xl);
		align-items: center;
	}

	.tcs-about-intro.tcs-split--image-end .tcs-about-visual {
		order: 2;
	}
}

/* ─── Home testimonial ─── */
.tcs-testimonial--classic {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--tcs-space-md);
	max-inline-size: 100%;
	margin-inline: auto;
	text-align: center;
}

.tcs-testimonial--classic .tcs-testimonial__quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.tcs-testimonial--classic .tcs-testimonial__quote p {
	font-family: var(--tcs-font-serif);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	line-height: var(--tcs-leading-relaxed);
	color: var(--tcs-charcoal);
	margin: 0;
}

.tcs-testimonial--classic .tcs-testimonial__mark {
	font-family: var(--tcs-font-serif);
	font-size: 1.35em;
	line-height: 0;
	color: var(--tcs-pink);
	font-weight: 600;
}

.tcs-testimonial--classic .tcs-testimonial__attr {
	margin: var(--tcs-space-sm) 0 0;
	font-size: var(--tcs-text-lead);
	line-height: var(--tcs-leading-snug);
	color: var(--tcs-script);
}

.tcs-checklist {
	padding-inline-start: var(--tcs-space-checklist);
}

.tcs-checklist li::marker {
	color: var(--tcs-pink-deep);
}

.tcs-prose {
	max-inline-size: var(--tcs-content-max);
	margin-inline: auto;
}

.tcs-prose--inset {
	max-inline-size: none;
}

/* Marketing rich text — normal paragraph rhythm (not section-stack gap) */
.tcs-prose--reading {
	color: var(--tcs-grey);
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-prose--reading > :first-child {
	margin-block-start: 0;
}

.tcs-prose--reading > :last-child {
	margin-block-end: 0;
}

.tcs-prose--reading p {
	margin: 0;
}

.tcs-prose--reading p + p {
	margin-block-start: var(--tcs-space-md);
}

.tcs-prose--reading h2,
.tcs-prose--reading h3 {
	margin-block: var(--tcs-space-xl) var(--tcs-space-md);
	font-family: var(--tcs-font-serif);
	font-weight: 600;
	color: var(--tcs-charcoal);
	line-height: var(--tcs-leading-heading);
}

.tcs-prose--reading h2 {
	font-size: var(--tcs-text-package-title);
}

.tcs-prose--reading h3 {
	font-size: var(--tcs-text-ui);
}

.tcs-prose--reading h2:first-child,
.tcs-prose--reading h3:first-child {
	margin-block-start: 0;
}

.tcs-prose--reading a {
	color: var(--tcs-pink-deep);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.tcs-prose--reading a:hover,
.tcs-prose--reading a:focus-visible {
	color: var(--tcs-action-hover);
}

.tcs-prose--reading ul,
.tcs-prose--reading ol {
	margin: var(--tcs-space-md) 0 0;
	padding-inline-start: var(--tcs-space-lg);
}

.tcs-prose--reading li + li {
	margin-block-start: var(--tcs-space-xs);
}

.tcs-prose--wide {
	max-inline-size: var(--tcs-wide-max);
}

.tcs-rich-text__actions {
	margin-block-start: var(--tcs-space-xl);
}

.tcs-prose--legal h2 {
	margin-block: var(--tcs-space-2xl) var(--tcs-space-md);
	font-size: var(--tcs-text-ui);
}

.tcs-prose--legal h2:first-of-type {
	margin-block-start: var(--tcs-space-lg);
}

.tcs-prose--legal p,
.tcs-prose--legal li {
	color: var(--tcs-grey);
}

.tcs-prose--legal ul {
	margin-block: 0 var(--tcs-space-md);
	padding-inline-start: var(--tcs-space-lg);
}

.tcs-prose--legal li + li {
	margin-block-start: var(--tcs-space-xs);
}

.tcs-buttons--spaced {
	margin-block: var(--tcs-space-lg);
}

/*
 * Core blocks in the page stack: wrap Paragraph + Buttons in a Group
 * with style “Site container” (or class tcs-site-container) so they share
 * one section gap and get edge padding.
 */
body.tcs-marketing-page .entry-content.single-content > .wp-block-group.is-style-tcs-site-container,
body.tcs-marketing-page .entry-content.single-content > .wp-block-group.tcs-site-container {
	width: 100%;
	max-width: var(--tcs-content-max);
	margin-inline: auto;
	padding-inline: var(--tcs-edge);
	box-sizing: border-box;
}

body.tcs-marketing-page .entry-content.single-content > .wp-block-group.is-style-tcs-site-container .wp-block-group__inner-container,
body.tcs-marketing-page .entry-content.single-content > .wp-block-group.tcs-site-container .wp-block-group__inner-container {
	max-width: none;
	margin: 0;
	padding: 0;
}

body.tcs-marketing-page .entry-content .is-style-tcs-site-container .wp-block-paragraph,
body.tcs-marketing-page .entry-content .tcs-site-container .wp-block-paragraph {
	margin: 0;
	color: var(--tcs-grey);
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-relaxed);
}

body.tcs-marketing-page .entry-content .is-style-tcs-site-container .wp-block-paragraph + .wp-block-paragraph,
body.tcs-marketing-page .entry-content .tcs-site-container .wp-block-paragraph + .wp-block-paragraph {
	margin-block-start: var(--tcs-space-md);
}

body.tcs-marketing-page .entry-content .is-style-tcs-site-container .wp-block-heading,
body.tcs-marketing-page .entry-content .tcs-site-container .wp-block-heading {
	margin-block: var(--tcs-space-xl) var(--tcs-space-md);
	font-family: var(--tcs-font-serif);
	font-weight: 600;
	color: var(--tcs-charcoal);
	line-height: var(--tcs-leading-heading);
}

body.tcs-marketing-page .entry-content .is-style-tcs-site-container .wp-block-heading:first-child,
body.tcs-marketing-page .entry-content .tcs-site-container .wp-block-heading:first-child {
	margin-block-start: 0;
}

body.tcs-marketing-page .entry-content .is-style-tcs-site-container .wp-block-buttons,
body.tcs-marketing-page .entry-content .tcs-site-container .wp-block-buttons {
	margin-block-start: var(--tcs-space-xl);
}

/* Core Buttons — match site primary / outline styles inside marketing content */
body.tcs-marketing-page .entry-content .wp-block-buttons .wp-block-button {
	margin: 0;
	display: flex;
}

body.tcs-marketing-page .entry-content .wp-block-buttons .wp-block-button__link.wp-element-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--tcs-btn-height);
	height: var(--tcs-btn-height);
	padding-block: 0;
	padding-inline: var(--tcs-space-btn-x);
	border-radius: var(--tcs-radius-pill);
	font-weight: 600;
	font-size: var(--tcs-text-lg);
	line-height: var(--tcs-leading-heading);
	box-shadow: none;
}

body.tcs-marketing-page .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button {
	background-color: var(--tcs-action);
	border: var(--tcs-border-width-strong) solid var(--tcs-action);
	color: var(--tcs-white);
}

body.tcs-marketing-page .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover,
body.tcs-marketing-page .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:focus-visible {
	background-color: var(--tcs-action-hover);
	border-color: var(--tcs-action-hover);
	color: var(--tcs-white);
}

body.tcs-marketing-page .entry-content .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
	background-color: transparent;
	border: var(--tcs-border-width-strong) solid var(--tcs-action);
	color: var(--tcs-action);
}

body.tcs-marketing-page .entry-content .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover,
body.tcs-marketing-page .entry-content .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:focus-visible {
	background-color: var(--tcs-blush);
	border-color: var(--tcs-action-hover);
	color: var(--tcs-action-hover);
}

@media (max-width: 767px) {
	body.tcs-marketing-page .entry-content .wp-block-buttons .wp-block-button__link.wp-element-button {
		min-height: var(--tcs-btn-height-mobile);
		height: var(--tcs-btn-height-mobile);
	}
}

/* ─── Forminator (contact form — match prior WPForms styling) ─── */
body.tcs-page-contact .tcs-contact__form .forminator-custom-form[data-design=default],
body.tcs-page-contact .forminator-custom-form[data-design=default] {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-row {
	margin: 0 0 var(--tcs-space-md);
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-row-last {
	margin-block-start: var(--tcs-space-lg);
	margin-block-end: 0;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-field {
	margin: 0;
	padding: 0;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-label {
	display: block;
	font-family: var(--tcs-font-sans) !important;
	font-size: var(--tcs-text-sm) !important;
	font-weight: 600 !important;
	color: var(--tcs-grey) !important;
	margin-block: 0 var(--tcs-space-xs) !important;
	line-height: var(--tcs-leading-snug) !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-required {
	color: var(--tcs-pink-deep) !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-input,
body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-textarea,
body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field {
	width: 100% !important;
	font-family: var(--tcs-font-sans) !important;
	font-size: var(--tcs-text-md) !important;
	line-height: var(--tcs-leading-copy) !important;
	color: var(--tcs-charcoal) !important;
	background: color-mix(in srgb, var(--tcs-white) 92%, var(--tcs-blush)) !important;
	border-radius: 1.1rem 0.85rem 1rem 0.95rem !important;
	border: var(--tcs-border-width) solid color-mix(in srgb, var(--tcs-pink) 22%, transparent) !important;
	padding: 0.85rem 1.25rem !important;
	min-height: calc(var(--tcs-btn-height-mobile) + 0.15rem) !important;
	box-shadow: none !important;
	transition:
		border-color var(--tcs-duration-fast) var(--tcs-ease),
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		box-shadow var(--tcs-duration-fast) var(--tcs-ease);
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-textarea {
	min-height: 10rem !important;
	padding-block: var(--tcs-space-md) !important;
	border-radius: 1.25rem 1rem 1.35rem 1.1rem !important;
	resize: vertical;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235a5a5a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.25rem center;
	padding-inline-end: 2.75rem;
	cursor: pointer;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field:invalid,
body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field option[value=""] {
	color: color-mix(in srgb, var(--tcs-charcoal) 55%, transparent);
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-input:hover,
body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-textarea:hover,
body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field:hover {
	border-color: color-mix(in srgb, var(--tcs-pink) 45%, transparent) !important;
	background-color: var(--tcs-white) !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-input:focus,
body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-textarea:focus,
body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field:focus,
body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-input:focus-visible,
body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-textarea:focus-visible,
body.tcs-page-contact .forminator-custom-form[data-design=default] select.forminator-select--field:focus-visible {
	border-color: var(--tcs-pink) !important;
	background-color: var(--tcs-white) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tcs-pink) 28%, transparent) !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-button-submit {
	background-color: var(--tcs-action) !important;
	border: none !important;
	border-radius: var(--tcs-radius-pill) !important;
	color: var(--tcs-white) !important;
	font-family: var(--tcs-font-sans) !important;
	font-weight: 600 !important;
	font-size: var(--tcs-text-md) !important;
	min-height: var(--tcs-btn-height-mobile) !important;
	padding: var(--tcs-space-pad-md) var(--tcs-space-2xl) !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color var(--tcs-duration-fast) var(--tcs-ease);
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-button-submit:hover {
	background-color: var(--tcs-action-hover) !important;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-button-submit:focus-visible {
	outline: 2px solid var(--tcs-pink-deep) !important;
	outline-offset: 3px;
}

body.tcs-page-contact .forminator-custom-form[data-design=default] .forminator-error-message {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-sm);
	color: var(--tcs-pink-deep);
	margin-block-start: var(--tcs-space-xs);
}

/* ─── Header: single #main-header shell; drawer toggle below 1366px ─── */
.wp-site-blocks #main-header,
#main-header {
	display: block !important;
}

#mobile-header {
	display: none !important;
}

#main-header .site-branding .site-title-wrap,
#main-header .site-branding .site-description {
	display: none;
}

/* Kadence defaults this to 80px — too short for a two-line wordmark */
#main-header .site-main-header-inner-wrap {
	min-height: var(--tcs-header-min) !important;
	align-items: center;
	padding-block: var(--tcs-space-md) var(--tcs-space-lg);
	overflow: visible;
}

#main-header .site-header-row-container-inner,
#main-header .site-header-row,
#main-header .site-header-section {
	overflow: visible;
	background: transparent;
}

#main-header .site-header-wrap,
#main-header .site-header-row-container-inner {
	background: var(--tcs-bg) !important;
	transition: background-color var(--tcs-duration-fast) var(--tcs-ease);
}

body.home #main-header .site-header-wrap,
body.home #main-header .site-header-row-container-inner {
	background: transparent !important;
}

body.home #masthead.site-header.is-scrolled #main-header .site-header-wrap,
body.home #masthead.site-header.is-scrolled #main-header .site-header-row-container-inner {
	background: var(--tcs-bg) !important;
}

@media (max-width: 1365px) {
	#main-header .site-main-header-inner-wrap {
		min-height: 0 !important;
		padding-block: var(--tcs-space-md);
	}

	#main-header .site-header-row-container-inner .site-header-row,
	#main-header .site-main-header-inner-wrap {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: var(--tcs-space-md);
		min-width: 0;
		margin: 0;
	}

	#main-header .site-header-main-section-left {
		flex: 1 1 auto;
		min-width: 0;
	}

	#main-header .site-header-main-section-right {
		flex: 0 0 auto;
		flex-shrink: 0;
	}

	#main-header .site-branding {
		display: flex;
		align-items: center;
		min-width: 0;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	#main-header .header-navigation,
	#main-header .header-button-wrap {
		display: none !important;
	}

	#main-header .site-header-item-navgation-popup-toggle {
		display: flex !important;
	}
}

@media (min-width: 1366px) {
	#main-header .site-header-item-navgation-popup-toggle {
		display: none !important;
	}
}

#main-header .site-branding a.custom-logo-link,
#main-header .site-branding .brand {
	display: flex;
	align-items: center;
	max-width: none;
	width: auto;
	line-height: var(--tcs-leading-display);
	overflow: visible;
	text-decoration: none;
	color: inherit;
}

#main-header .site-branding img.custom-logo {
	display: none; /* replaced by .tcs-wordmark */
}

.tcs-wordmark {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--tcs-space-3xs);
	margin: 0;
	padding: 0;
	line-height: var(--tcs-leading-tight);
	overflow: visible;
}

.tcs-wordmark__name {
	font-family: var(--tcs-font-serif);
	font-size: clamp(
		calc(1.45rem * var(--tcs-wordmark-scale)),
		calc((1.4vw + 0.95rem) * var(--tcs-wordmark-scale)),
		calc(1.75rem * var(--tcs-wordmark-scale))
	);
	font-weight: 600;
	color: var(--tcs-charcoal);
	white-space: nowrap;
	line-height: var(--tcs-leading-display);
	margin: 0;
}

.tcs-wordmark__tag {
	font-family: var(--tcs-font-script);
	font-size: clamp(
		calc(1.2rem * var(--tcs-wordmark-scale)),
		calc((0.9vw + 0.9rem) * var(--tcs-wordmark-scale)),
		calc(1.45rem * var(--tcs-wordmark-scale))
	);
	font-weight: 500;
	color: var(--tcs-script);
	white-space: nowrap;
	line-height: var(--tcs-leading-none);
	margin: 0;
	/* Script descenders (g, y) — avoid padding; let overflow show */
	overflow: visible;
}

@media (min-width: 1366px) {
	#main-header .tcs-wordmark__name {
		font-size: clamp(
			calc(1.65rem * var(--tcs-wordmark-scale)),
			calc((1.2vw + 1.1rem) * var(--tcs-wordmark-scale)),
			calc(2rem * var(--tcs-wordmark-scale))
		);
	}

	#main-header .tcs-wordmark__tag {
		font-size: clamp(
			calc(1.35rem * var(--tcs-wordmark-scale)),
			calc((0.75vw + 1rem) * var(--tcs-wordmark-scale)),
			calc(1.625rem * var(--tcs-wordmark-scale))
		);
	}

	#main-header .site-main-header-inner-wrap {
		min-height: calc(var(--tcs-header-min-desktop) * var(--tcs-wordmark-scale)) !important;
	}
}

#main-header .site-header-main-section-right {
	display: flex;
	align-items: center;
	gap: var(--tcs-space-lg);
	flex-wrap: nowrap;
}

#main-header .header-navigation .menu {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--tcs-space-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

#main-header .header-navigation .menu > li > a {
	font-weight: 500;
	font-size: var(--tcs-text-md);
	color: var(--tcs-charcoal);
	padding: var(--tcs-space-tight) 0;
	white-space: nowrap;
}

#main-header .header-navigation .menu > li > a:hover,
#main-header .header-navigation .current-menu-item > a {
	color: var(--tcs-pink-deep);
}

#main-header .header-html,
#main-header .header-html-inner {
	margin: 0;
}

#main-header .tcs-header-phone {
	margin: 0;
	font-size: var(--tcs-text-sm);
	font-weight: 600;
	white-space: nowrap;
}

#main-header .tcs-header-phone a {
	color: var(--tcs-charcoal);
	text-decoration: none;
}

#main-header .tcs-header-phone a:hover {
	color: var(--tcs-pink-deep);
}

#main-header .header-button-wrap .button,
#main-header .header-button-wrap a.button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--tcs-nav-btn-min);
	border-radius: var(--tcs-radius-pill) !important;
	background-color: var(--tcs-action) !important;
	color: var(--tcs-white) !important;
	font-weight: 600;
	font-size: var(--tcs-text-md);
	padding: var(--tcs-space-form-y) var(--tcs-space-form-x) !important;
	line-height: var(--tcs-leading-heading);
	white-space: nowrap;
}

#main-header .header-button-wrap .button:hover,
#main-header .header-button-wrap a.button:hover {
	background-color: var(--tcs-action-hover) !important;
}

#masthead.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--tcs-bg);
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		border-color var(--tcs-duration-fast) var(--tcs-ease);
}

/* Home: transparent header at top so hero blobs read on first screen */
body.home #masthead.site-header {
	background: transparent;
	border-block-end: 1px solid transparent;
}

body.home #masthead.site-header.is-scrolled {
	background: var(--tcs-bg);
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
}

#masthead.site-header.is-scrolled {
	box-shadow: none;
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
}

.menu-toggle-open.drawer-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tcs-burger-hit);
	height: var(--tcs-burger-hit);
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--tcs-charcoal);
	line-height: var(--tcs-leading-none);
}

.menu-toggle-open.drawer-toggle:hover,
.menu-toggle-open.drawer-toggle:focus-visible {
	border: none;
	background: transparent;
	color: var(--tcs-pink-deep);
}

.menu-toggle-open.drawer-toggle .menu-toggle-icon,
.menu-toggle-open.drawer-toggle svg {
	display: block;
	width: var(--tcs-burger-size);
	height: var(--tcs-burger-size);
}

/* Drawer close control — keep visible on light panel */
.popup-drawer .drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tcs-space-md);
	min-height: 0;
	padding-block: var(--tcs-space-md);
	padding-inline: var(--tcs-edge);
	color: var(--tcs-charcoal);
	box-sizing: border-box;
}

.tcs-drawer-brand {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
	text-decoration: none;
	color: inherit;
	line-height: var(--tcs-leading-display);
}

.tcs-drawer-brand .tcs-wordmark {
	pointer-events: none;
}

.popup-drawer .menu-toggle-close.drawer-toggle,
.popup-drawer .drawer-header .drawer-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--tcs-burger-hit);
	height: var(--tcs-burger-hit);
	margin: 0;
	margin-inline-start: auto;
	padding: 0;
	border: none !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
	color: var(--tcs-charcoal) !important;
	opacity: 1 !important;
	visibility: visible !important;
	line-height: var(--tcs-leading-none);
}

.popup-drawer .menu-toggle-close.drawer-toggle:hover,
.popup-drawer .menu-toggle-close.drawer-toggle:focus-visible,
.popup-drawer .drawer-header .drawer-toggle:hover,
.popup-drawer .drawer-header .drawer-toggle:focus-visible {
	color: var(--tcs-pink-deep) !important;
	background: transparent !important;
}

.popup-drawer .menu-toggle-close .menu-toggle-icon,
.popup-drawer .menu-toggle-close svg,
.popup-drawer .drawer-header .drawer-toggle svg {
	display: block !important;
	width: var(--tcs-burger-size) !important;
	height: var(--tcs-burger-size) !important;
	fill: currentColor;
	color: inherit;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Full-width menu drawer */
.popup-drawer-layout-fullwidth .drawer-inner {
	background: var(--tcs-white);
}

.popup-drawer-layout-fullwidth .drawer-content {
	padding: var(--tcs-space-xl) var(--tcs-edge);
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
	width: 100%;
	box-sizing: border-box;
}

.popup-drawer-layout-fullwidth .drawer-header {
	/* Inline padding set on .popup-drawer .drawer-header — keep edge aligned with #main-header */
	padding-inline: var(--tcs-edge);
}

.popup-drawer-layout-fullwidth .drawer-content .drawer-content-inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--tcs-space-md);
	width: 100%;
}

.mobile-navigation {
	width: 100%;
}

.mobile-navigation .menu {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-navigation .menu li {
	width: 100%;
	border-block-end: var(--tcs-border-width) solid var(--tcs-border);
}

.mobile-navigation .menu li:last-child {
	border-block-end: none;
}

.mobile-navigation .menu a {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-nav);
	font-weight: 600;
	color: var(--tcs-charcoal);
	text-decoration: none;
	padding-block: var(--tcs-space-md);
	padding-inline: 0;
	display: block;
	width: 100%;
}

.mobile-navigation .menu a:hover,
.mobile-navigation .current-menu-item > a {
	color: var(--tcs-pink-deep);
}

.tcs-drawer-phone {
	font-size: var(--tcs-text-base);
	font-weight: 600;
	margin-block: var(--tcs-space-sm) 0;
	padding-block: var(--tcs-space-sm);
}

.tcs-drawer-phone a {
	color: var(--tcs-charcoal);
	text-decoration: none;
}

.popup-drawer .tcs-contact-icons,
.popup-drawer .tcs-contact-icons--drawer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--tcs-space-icon);
	margin-block-start: var(--tcs-space-lg);
}

.popup-drawer .tcs-contact-icons__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tcs-icon-btn);
	height: var(--tcs-icon-btn);
	border-radius: var(--tcs-radius-circle);
	border: var(--tcs-border-width-icon) solid color-mix(in srgb, var(--tcs-charcoal) 18%, transparent);
	background: color-mix(in srgb, var(--tcs-bg) 70%, transparent);
	color: var(--tcs-charcoal) !important;
	text-decoration: none !important;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		border-color var(--tcs-duration-fast) var(--tcs-ease),
		color var(--tcs-duration-fast) var(--tcs-ease);
}

.popup-drawer .tcs-contact-icons__link:hover {
	color: var(--tcs-white) !important;
	background: var(--tcs-action) !important;
	border-color: var(--tcs-action) !important;
}

.mobile-header-button-wrap {
	margin-block-start: var(--tcs-space-sm);
}

.mobile-header-button-wrap .mobile-header-button {
	border-radius: var(--tcs-radius-pill);
	background-color: var(--tcs-action);
	color: var(--tcs-white);
	font-weight: 600;
	font-size: var(--tcs-text-md);
	padding: var(--tcs-space-sm) var(--tcs-space-phone-x);
	display: inline-block;
	text-decoration: none;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
	min-height: var(--tcs-btn-height-mobile);
}

.mobile-header-button-wrap .mobile-header-button:hover {
	background-color: var(--tcs-action-hover);
}

/* ─── Footer (CTA + columns as one band) ─── */
#colophon.site-footer {
	background:
		radial-gradient(ellipse 80% 70% at 100% 100%, color-mix(in srgb, var(--tcs-pink) 28%, transparent) 0%, transparent 55%),
		linear-gradient(160deg, var(--tcs-bg) 0%, var(--tcs-blush) 55%, var(--tcs-blush-deep) 100%);
	color: var(--tcs-charcoal);
	border-block-start: var(--tcs-border-width) solid var(--tcs-border);
	font-size: var(--tcs-text-md);
	line-height: var(--tcs-leading-list);
}

/* Text links only — do not restyle CTA buttons or icon buttons */
#colophon.site-footer .tcs-footer-links a {
	color: var(--tcs-charcoal);
	text-decoration: none !important;
	transition: color var(--tcs-duration-fast) var(--tcs-ease);
}

#colophon.site-footer .tcs-footer-links a:hover {
	color: var(--tcs-pink-deep);
}

/* Hide leftover Kadence copyright / bottom chrome only — not footer-html (also uses .site-info). */
#colophon .site-footer-bottom-section,
#colophon .footer-navigation {
	display: none !important;
}

/* Kadence marks footer-html as .site-info — keep it visible */
#colophon .footer-widget-area.site-info,
#colophon .footer-html,
#colophon .footer-html-inner {
	display: block !important;
	width: 100%;
	max-width: 100%;
}

#colophon .footer-html-inner {
	display: flex !important;
	flex-direction: column;
	gap: var(--tcs-space-4xl);
}

#colophon.site-footer .site-footer-wrap {
	max-width: var(--tcs-wide-max);
	margin-inline: auto;
	padding: var(--tcs-section-pad) 0;
}

#colophon .site-middle-footer-inner-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

#colophon .footer-middle-row .footer-widget-area {
	margin: 0;
	padding: 0;
	flex: none;
	width: 100%;
}

#colophon .tcs-footer-cta {
	margin: 0;
	padding: 0;
}

/* Kadence .inner-link-style-normal underlines all a:not(.button) — keep CTA buttons clean */
#colophon .tcs-cta-band .wp-block-button__link,
#colophon .tcs-cta-band .wp-block-button__link:hover,
#colophon .tcs-cta-band .wp-block-button__link:focus {
	text-decoration: none !important;
}

#colophon .tcs-cta-band {
	display: grid;
	gap: var(--tcs-space-lg);
	align-items: center;
	justify-items: start;
	text-align: left;
}

#colophon .tcs-cta-band__actions {
	justify-self: start;
	align-items: flex-start;
	width: 100%;
}

#colophon .tcs-cta-band__buttons {
	justify-content: flex-start;
}

#colophon .tcs-cta-band__title {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-cta-title);
	font-weight: 600;
	margin: 0 0 var(--tcs-space-sm);
	line-height: var(--tcs-leading-display);
	color: var(--tcs-charcoal);
}

#colophon .tcs-cta-band__lead {
	color: var(--tcs-grey);
	margin: 0;
	max-width: var(--tcs-measure-md);
	font-size: var(--tcs-text-lead-md);
	line-height: var(--tcs-leading-copy);
}

@media (min-width: 1100px) {
	#colophon .tcs-cta-band {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		gap: var(--tcs-space-2xl);
	}

	#colophon .tcs-cta-band__actions {
		justify-self: end;
		align-items: flex-end;
	}

	#colophon .tcs-cta-band__buttons {
		justify-content: flex-end;
	}
}

#colophon .tcs-footer-grid {
	display: grid;
	gap: var(--tcs-space-2xl);
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	text-align: center;
}

@media (min-width: 900px) {
	#colophon .tcs-footer-grid {
		grid-template-columns: 1.35fr 1fr 1fr;
		gap: var(--tcs-space-3xl);
		align-items: start;
		text-align: left;
	}
}

#colophon .tcs-footer-col {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-md);
	margin: 0;
	padding: 0;
	min-width: 0;
}

#colophon .tcs-footer-col > * {
	margin: 0;
}

/* Shared header metrics so brand + Explore/Legal share one visual line */
#colophon .tcs-footer-brand-name,
#colophon .tcs-footer-label {
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-footer-heading);
	font-weight: 600;
	line-height: var(--tcs-leading-display);
	letter-spacing: 0;
	text-transform: none;
	color: var(--tcs-charcoal);
}

#colophon .tcs-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	max-width: 18rem;
	margin-inline: auto;
	text-align: center;
}

@media (min-width: 900px) {
	#colophon .tcs-footer-contact {
		margin-inline: 0;
		text-align: start;
	}
}

#colophon .tcs-footer-address,
#colophon .tcs-footer-phone {
	margin: 0;
	font-size: var(--tcs-text-sm);
	line-height: var(--tcs-leading-relaxed);
	color: var(--tcs-grey);
}

#colophon .tcs-footer-address a,
#colophon .tcs-footer-phone a {
	color: inherit;
	text-decoration: none;
}

#colophon .tcs-footer-address a:hover,
#colophon .tcs-footer-phone a:hover {
	color: var(--tcs-charcoal);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

#colophon .tcs-contact-icons,
#colophon .tcs-footer-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--tcs-space-icon);
}

@media (min-width: 900px) {
	#colophon .tcs-contact-icons,
	#colophon .tcs-footer-social {
		justify-content: flex-start;
	}
}

#colophon .tcs-contact-icons__link,
#colophon .tcs-footer-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tcs-icon-btn);
	height: var(--tcs-icon-btn);
	border-radius: var(--tcs-radius-circle);
	border: var(--tcs-border-width-icon) solid color-mix(in srgb, var(--tcs-charcoal) 18%, transparent);
	background: color-mix(in srgb, var(--tcs-white) 55%, transparent);
	color: var(--tcs-charcoal) !important;
	text-decoration: none !important;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		border-color var(--tcs-duration-fast) var(--tcs-ease),
		color var(--tcs-duration-fast) var(--tcs-ease);
}

#colophon .tcs-contact-icons__link:hover,
#colophon .tcs-footer-social__link:hover {
	color: var(--tcs-white) !important;
	background: var(--tcs-action) !important;
	border-color: var(--tcs-action) !important;
}

#colophon .tcs-footer-copy {
	font-size: var(--tcs-text-sm);
	line-height: var(--tcs-leading-caption);
	color: var(--tcs-grey);
}

#colophon .tcs-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-sm);
	text-align: inherit;
}

#colophon .tcs-footer-links li {
	margin: 0;
	line-height: var(--tcs-leading-ui);
}

#colophon .tcs-footer-links a {
	font-size: var(--tcs-text-md);
	font-weight: 500;
	line-height: inherit;
}

#colophon .footer-social-wrap {
	display: none !important;
}

/* ─── WhatsApp float ─── */
.tcs-whatsapp-float {
	position: fixed;
	bottom: max(var(--tcs-space-float), env(safe-area-inset-bottom));
	right: max(var(--tcs-space-float), env(safe-area-inset-right));
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: var(--tcs-space-xs);
	background: var(--tcs-whatsapp);
	color: var(--tcs-white) !important;
	padding: var(--tcs-space-sm) var(--tcs-space-md);
	border-radius: var(--tcs-radius-pill);
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 4px 14px var(--tcs-whatsapp-glow);
	transition:
		transform var(--tcs-duration-fast) var(--tcs-ease),
		box-shadow var(--tcs-duration-fast) var(--tcs-ease);
}

.tcs-whatsapp-float:hover {
	transform: translateY(calc(-1 * var(--tcs-space-lift)));
	box-shadow: 0 6px 20px var(--tcs-whatsapp-glow-strong);
	color: var(--tcs-white) !important;
}

.tcs-whatsapp-float svg {
	width: var(--tcs-whatsapp-icon);
	height: var(--tcs-whatsapp-icon);
	fill: currentColor;
}

@media (max-width: 600px) {
	.tcs-whatsapp-float span {
		display: none;
	}

	.tcs-whatsapp-float {
		padding: var(--tcs-space-float-pad);
		border-radius: var(--tcs-radius-circle);
	}
}

body.tcs-page-contact .tcs-whatsapp-float {
	display: none;
}

body.tcs-page-contact .tcs-footer-cta {
	display: none;
}

.tcs-whatsapp-float.is-hero-covered {
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.5rem);
}

.tcs-map-fallback {
	padding: var(--tcs-space-xl);
	border-radius: var(--tcs-radius-lg);
	background: color-mix(in srgb, var(--tcs-white) 72%, var(--tcs-blush));
	border: var(--tcs-border-width) solid var(--tcs-border);
	color: var(--tcs-grey);
	line-height: var(--tcs-leading-relaxed);
}

.tcs-map-fallback p {
	margin: 0 0 var(--tcs-space-sm);
}

.tcs-map-fallback p:last-child {
	margin-block-end: 0;
}

.tcs-form-fallback {
	padding: var(--tcs-space-lg);
	border-radius: var(--tcs-radius-md);
	background: var(--tcs-action-soft);
	color: var(--tcs-charcoal);
}

body.cmplz-show-banner .tcs-whatsapp-float {
	bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}

/* Complianz cookie banner — match site typography and buttons */
.cmplz-cookiebanner {
	font-family: var(--tcs-font-sans);
	color: var(--tcs-charcoal);
	border-radius: var(--tcs-radius-lg);
	box-shadow: 0 8px 32px color-mix(in srgb, var(--tcs-charcoal) 12%, transparent);
}

.cmplz-cookiebanner .cmplz-title {
	font-family: var(--tcs-font-serif);
	font-weight: 600;
	color: var(--tcs-charcoal);
}

.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-link {
	font-size: var(--tcs-text-sm);
	color: var(--tcs-grey);
}

.cmplz-cookiebanner .cmplz-link {
	color: var(--tcs-charcoal);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-family: var(--tcs-font-sans);
	font-weight: 600;
	font-size: var(--tcs-text-sm);
	border-radius: var(--tcs-radius-pill);
	min-height: var(--tcs-btn-height-mobile);
	transition: background-color var(--tcs-duration-fast) var(--tcs-ease), color var(--tcs-duration-fast) var(--tcs-ease), border-color var(--tcs-duration-fast) var(--tcs-ease);
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background: var(--tcs-action);
	border-color: var(--tcs-action);
	color: var(--tcs-white);
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background: var(--tcs-action-hover);
	border-color: var(--tcs-action-hover);
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: transparent;
	border: var(--tcs-border-width) solid var(--tcs-border);
	color: var(--tcs-charcoal);
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
	border-color: color-mix(in srgb, var(--tcs-pink) 45%, transparent);
	color: var(--tcs-charcoal);
}

.cmplz-cookiebanner .cmplz-btn:focus-visible {
	outline: 2px solid var(--tcs-pink-deep);
	outline-offset: 3px;
}

.cmplz-manage-consent {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-xs);
}

/* ─── Reduced motion ─── */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}

	.tcs-animate {
		opacity: 1;
		transform: none;
	}

	.tcs-whatsapp-float:hover {
		transform: none;
	}

	.tcs-gallery__link:hover img,
	.tcs-gallery__link:focus-visible img {
		transform: none;
		filter: none;
	}
}

/* ─── Blog ─── */
body.blog .entry-content-wrap > .entry-header,
body.archive .entry-content-wrap > .entry-header,
body.single-post .entry-content-wrap > .entry-header {
	display: none;
}

/* Tighter top/bottom than marketing section-pad — headings sat too low */
body.blog .entry-content.single-content,
body.archive.tcs-marketing-page .entry-content.single-content,
body.single-post .entry-content.single-content {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-xl);
	padding-block-start: clamp(1.25rem, 3vw, 2rem);
	padding-block-end: var(--tcs-space-2xl);
}

/* Kill empty content-area band before the footer */
body.blog #primary.content-area,
body.archive.tcs-marketing-page #primary.content-area,
body.single-post #primary.content-area,
body.blog .content-wrap,
body.archive.tcs-marketing-page .content-wrap,
body.single-post .content-wrap,
body.blog .site-main,
body.archive.tcs-marketing-page .site-main,
body.single-post .site-main {
	margin-bottom: 0;
	padding-bottom: 0;
}

body.blog .entry.content-bg,
body.archive.tcs-marketing-page .entry.content-bg,
body.single-post .entry.content-bg {
	margin-bottom: 0;
}

.tcs-blog-single__date {
	display: block;
	margin: 0 0 var(--tcs-space-sm);
	font-family: var(--tcs-font-script);
	font-style: normal;
	font-size: clamp(1.05rem, 0.8vw + 0.7rem, 1.25rem);
	font-weight: 500;
	letter-spacing: 0;
	color: var(--tcs-script);
	line-height: 1.2;
}

.tcs-blog-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--tcs-space-lg);
}

.tcs-blog-card {
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	border: none;
	min-width: 0;
	height: 100%;
}

.tcs-blog-card__link {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--tcs-space-md);
	height: 100%;
	padding: var(--tcs-space-lg) var(--tcs-space-md) var(--tcs-space-lg);
	text-decoration: none;
	color: inherit;
	background: color-mix(in srgb, var(--tcs-white) 82%, var(--tcs-blush));
	border-radius: 1.65rem 1.35rem 1.55rem 1.45rem;
	border: none;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tcs-pink) 22%, transparent);
	overflow: visible;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		box-shadow var(--tcs-duration-fast) var(--tcs-ease);
}

.tcs-blog-card__link:hover,
.tcs-blog-card__link:focus-visible {
	background: color-mix(in srgb, var(--tcs-white) 70%, var(--tcs-blush));
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tcs-pink) 40%, transparent);
}

.tcs-blog-card__link:focus-visible {
	outline: 2px solid var(--tcs-pink-deep);
	outline-offset: 3px;
}

.tcs-blog-card__media {
	display: block;
	width: min(100%, 14rem);
	margin-inline: auto;
}

.tcs-blog-card__visual {
	aspect-ratio: 1;
	width: 100%;
}

.tcs-blog-card__visual.tcs-motif .tcs-motif__svg,
.tcs-blog-card__visual.tcs-visual--rounded {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}

.tcs-blog-card__visual.tcs-visual--rounded {
	overflow: hidden;
	border-radius: 1.35rem 1.1rem 1.25rem 1.15rem;
}

.tcs-blog-card__visual.tcs-visual--rounded img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.tcs-blog-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	min-width: 0;
	flex: 1;
	padding: 0 var(--tcs-space-xs);
	text-align: start;
}

.tcs-blog-card__date {
	font-family: var(--tcs-font-script);
	font-style: normal;
	font-size: clamp(1rem, 0.6vw + 0.7rem, 1.15rem);
	font-weight: 500;
	letter-spacing: 0;
	color: var(--tcs-script);
	line-height: 1.2;
}

.tcs-blog-card__title {
	margin: 0;
	font-family: var(--tcs-font-serif);
	font-size: clamp(1.2rem, 0.8vw + 0.85rem, 1.45rem);
	font-weight: 600;
	line-height: var(--tcs-leading-snug);
	color: var(--tcs-charcoal);
}

.entry-content .tcs-blog-card__title,
.single-content .tcs-blog-card__title {
	margin: 0;
}

.tcs-blog-card__excerpt {
	margin: 0.2rem 0 0;
	color: var(--tcs-grey);
	font-size: var(--tcs-text-sm);
	line-height: var(--tcs-leading-copy);
}

.tcs-blog-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin-block-start: auto;
	margin-block-end: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: var(--tcs-space-lg);
	min-height: 2.75rem;
	border-radius: var(--tcs-radius-pill);
	border: var(--tcs-border-width-strong) solid var(--tcs-action);
	background-color: var(--tcs-action);
	color: var(--tcs-white);
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-md);
	font-weight: 600;
	line-height: 1;
	transition:
		background-color var(--tcs-duration-fast) var(--tcs-ease),
		border-color var(--tcs-duration-fast) var(--tcs-ease);
}

.tcs-blog-card__link:hover .tcs-blog-card__cta,
.tcs-blog-card__link:focus-visible .tcs-blog-card__cta {
	background-color: var(--tcs-action-hover);
	border-color: var(--tcs-action-hover);
	color: var(--tcs-white);
}

.tcs-blog-empty {
	margin: 0;
	color: var(--tcs-grey);
	grid-column: 1 / -1;
}

.tcs-blog-pagination-wrap {
	margin-block-start: var(--tcs-space-xl);
}

.tcs-blog-pagination,
.navigation.pagination {
	margin-block-start: 0;
}

.tcs-blog-pagination .nav-links,
.tcs-blog-pagination-wrap .nav-links,
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tcs-space-sm);
	align-items: center;
	justify-content: center;
}

.tcs-blog-pagination .page-numbers,
.tcs-blog-pagination-wrap .page-numbers,
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.4rem 0.9rem;
	border-radius: var(--tcs-radius-pill);
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-sm);
	font-weight: 600;
	color: var(--tcs-charcoal);
	text-decoration: none;
	background: color-mix(in srgb, var(--tcs-white) 70%, var(--tcs-blush));
}

.tcs-blog-pagination .page-numbers.current,
.tcs-blog-pagination-wrap .page-numbers.current,
.navigation.pagination .page-numbers.current {
	background: var(--tcs-action);
	color: var(--tcs-white);
}

.tcs-blog-pagination a.page-numbers:hover,
.tcs-blog-pagination-wrap a.page-numbers:hover,
.navigation.pagination a.page-numbers:hover {
	background: var(--tcs-blush);
}

.tcs-section__inner.tcs-blog-prose {
	max-inline-size: var(--tcs-reading-max);
	max-inline-size: none;
	margin-inline: 0;
}

.tcs-blog-prose .wp-block-image {
	margin-block: var(--tcs-space-xl);
}

.tcs-blog-prose .wp-block-image img {
	border-radius: 1.25rem 1rem 1.35rem 1.1rem;
	width: 100%;
	height: auto;
	max-width: var(--tcs-reading-max);
	margin-inline: auto;
}

.tcs-blog-prose .wp-block-image figcaption {
	margin-block-start: var(--tcs-space-sm);
	font-size: var(--tcs-text-sm);
	color: var(--tcs-grey);
	text-align: center;
}

.tcs-blog-prose .wp-block-quote {
	margin-block: var(--tcs-space-xl);
	padding: var(--tcs-space-md) var(--tcs-space-lg);
	border-inline-start: 3px solid var(--tcs-pink);
	background: color-mix(in srgb, var(--tcs-white) 70%, var(--tcs-blush));
	border-radius: 0 1.1rem 1.1rem 0;
	color: var(--tcs-charcoal);
	font-family: var(--tcs-font-serif);
	font-size: var(--tcs-text-lead-lg);
}

.tcs-blog-single__footer {
	margin-block: var(--tcs-space-xl) 0;
	max-width: none;
}

.tcs-blog-single__back {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-md);
	font-weight: 600;
	color: var(--tcs-pink-deep);
	text-decoration: none;
}

.tcs-blog-single__back:hover,
.tcs-blog-single__back:focus-visible {
	color: var(--tcs-action-hover);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (min-width: 700px) {
	.tcs-blog-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--tcs-space-lg);
	}
}

@media (min-width: 1100px) {
	.tcs-blog-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--tcs-space-xl);
	}

	.tcs-blog-card__link {
		padding: var(--tcs-space-xl) var(--tcs-space-lg) var(--tcs-space-lg);
	}

	.tcs-blog-card__media {
		width: min(100%, 15rem);
	}
}

/* Block editor placeholders */
.tcs-block-placeholder {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border: 1px dashed var(--tcs-pink);
	border-radius: var(--tcs-radius-md, 0.5rem);
	background: var(--tcs-blush);
	color: var(--tcs-grey-mid);
	font-size: var(--tcs-text-sm, 0.9375rem);
}
