:root {
	--cs-repair-ink: #292827;
	--cs-repair-copy: #4a4741;
	--cs-repair-rose: #b6495b;
	--cs-repair-rose-dark: #8f3044;
	--cs-repair-rose-soft: #f3efe7;
	--cs-repair-cream: #fbf9f5;
}

html body #page-container #main-header #top-menu li.cs-menu-contact.current-menu-item a,
html body #page-container #main-header #top-menu li.cs-menu-contact.current_page_item a {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Réalisations: un fond continu et des cartes réellement alignées. */
#main-content .cs-realisations-title,
#main-content .cs-results-grid {
	background: var(--cs-repair-cream) !important;
}

#main-content .cs-realisations-title {
	padding-top: 64px !important;
	padding-bottom: 24px !important;
}

#main-content .cs-results-grid {
	padding-top: 18px !important;
	padding-bottom: 34px !important;
}

#main-content .cs-results-grid .et_pb_row {
	align-items: stretch !important;
	gap: 26px !important;
}

#main-content .cs-results-grid .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(182, 73, 91, .14) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 18px 42px rgba(35, 31, 32, .08) !important;
}

#main-content .cs-results-grid .et_pb_image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 320px !important;
	margin: 0 !important;
	padding: 20px !important;
	background: var(--cs-repair-cream) !important;
}

#main-content .cs-results-grid .et_pb_image_wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 280px !important;
}

#main-content .cs-results-grid .et_pb_image img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 280px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	object-position: center center !important;
	border-radius: 12px !important;
}

#main-content .cs-results-grid .et_pb_text {
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 28px 30px 34px !important;
}

#main-content .cs-results-grid .et_pb_text_inner p {
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--cs-repair-copy) !important;
	font-size: 16px !important;
	line-height: 1.65em !important;
}

#main-content .cs-results-grid .et_pb_text_inner p:first-child {
	margin-bottom: 20px !important;
	color: var(--cs-repair-rose-dark) !important;
	font-size: 23px !important;
	font-weight: 750 !important;
	line-height: 1.3em !important;
}

#main-content .cs-results-grid .et_pb_text_inner p:first-child::after {
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin-top: 12px;
	border-radius: 99px;
	background: var(--cs-repair-rose);
}

#main-content .cs-results-grid .et_pb_text_inner p:nth-of-type(3) {
	margin: 22px 0 8px !important;
	color: var(--cs-repair-rose) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .08em;
	line-height: 1.35em !important;
	text-transform: uppercase;
}

/* Réalisations : catégories verticales et bandeaux sans déformation. */
body.page-id-293:not(.et-fb) #main-content .cs-realisations-title,
body.page-id-293:not(.et-fb) #main-content .cs-results-grid {
	display: none !important;
}

.cs-realisation-categories {
	padding: 72px 0 42px;
	background:
		radial-gradient(circle at 88% 8%, rgba(170, 155, 119, .12), transparent 25%),
		var(--cs-repair-cream);
}

.cs-realisation-category-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto 44px;
}

.cs-realisation-category-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid #d7cbbc;
	border-radius: 999px;
	background: #fffefa;
	color: #8f3044;
	font-size: 14px;
	line-height: 1.3;
}

.cs-realisation-category-nav a:hover,
.cs-realisation-category-nav a:focus-visible {
	background: #8f3044;
	color: #fff;
}

.cs-realisation-category-nav a:focus-visible {
	outline: 2px solid #8f3044;
	outline-offset: 3px;
}

.cs-realisation-strip-section {
	padding: 0 0 52px;
	background: transparent;
}

.cs-realisation-strip-shell {
	width: 92%;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(20px, 2.4vw, 30px);
	border: 1px solid rgba(182, 73, 91, .14);
	border-radius: 8px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 24px 58px rgba(35, 31, 32, .08);
}

.cs-realisation-strip-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 16px;
	padding: 0 2px;
}

.cs-realisation-strip-heading {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr);
	column-gap: 18px;
	align-items: center;
	min-width: 0;
}

#main-content .cs-realisation-strip-number {
	grid-row: 1 / span 2;
	margin: 0 !important;
	color: var(--cs-repair-rose) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

#main-content .cs-realisation-strip-title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--cs-repair-ink) !important;
	font-family: var(--cs-luxe-serif, Georgia, "Times New Roman", serif) !important;
	font-size: clamp(28px, 3vw, 42px) !important;
	font-weight: 400 !important;
	letter-spacing: -.025em;
	line-height: 1.05 !important;
}

#main-content .cs-realisation-strip-note {
	grid-column: 2;
	margin: 0 !important;
	color: var(--cs-repair-copy) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: .01em;
	line-height: 1.5 !important;
}

.cs-realisation-strip-controls {
	display: flex;
	flex: 0 0 auto;
	gap: 9px;
}

.cs-realisation-strip-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--cs-repair-rose);
	border-radius: 50%;
	background: #fff;
	color: var(--cs-repair-rose-dark);
	font: 400 31px/1 Arial, sans-serif;
	cursor: pointer;
	box-shadow: 0 7px 18px rgba(45, 42, 36, .12);
	transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.cs-realisation-strip-arrow:hover,
.cs-realisation-strip-arrow:focus-visible {
	background: var(--cs-repair-rose);
	color: #fff;
	transform: translateY(-2px);
}

.cs-realisation-strip-arrow:focus-visible,
.cs-realisation-slide:focus-visible {
	outline: 3px solid rgba(182, 73, 91, .28);
	outline-offset: 3px;
}

.cs-realisation-strip-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cs-realisation-strip-viewport::-webkit-scrollbar {
	display: none;
}

.cs-realisation-strip-viewport:focus-visible {
	outline: 2px solid rgba(182, 73, 91, .22);
	outline-offset: 5px;
	border-radius: 15px;
}

.cs-realisation-strip-track {
	display: flex;
	align-items: stretch;
	gap: 18px;
	width: max-content;
}

.cs-realisation-slide {
	display: flex;
	flex: 0 0 340px;
	flex-direction: column;
	width: 340px;
	min-height: 382px;
	padding: 0;
	overflow: hidden;
	scroll-snap-align: start;
	border: 1px solid rgba(182, 73, 91, .13);
	border-radius: 17px;
	background: #fff;
	color: var(--cs-repair-ink);
	text-align: left;
	cursor: zoom-in;
	box-shadow: 0 10px 24px rgba(35, 31, 32, .07);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.cs-realisation-slide:hover,
.cs-realisation-slide:focus-visible {
	border-color: rgba(182, 73, 91, .42);
	box-shadow: 0 14px 30px rgba(35, 31, 32, .12);
	transform: translateY(-3px);
}

.cs-realisation-slide-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 318px;
	padding: 10px;
	overflow: hidden;
	background: var(--cs-repair-cream);
}

.cs-realisation-video { cursor: pointer; }

.cs-realisation-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding-left: 3px;
	border: 1px solid rgba(255,255,255,.8);
	border-radius: 50%;
	background: rgba(143,48,68,.92);
	color: #fff;
	font-size: 20px;
	box-shadow: 0 4px 20px rgba(0,0,0,.2);
	transform: translate(-50%, -50%);
}

.cs-realisation-video-duration {
	position: absolute;
	bottom: 18px;
	right: 18px;
	padding: 5px 9px;
	border-radius: 5px;
	background: rgba(34,29,28,.88);
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
}

.cs-realisation-slide img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center center;
}

#main-content .cs-realisation-slide-caption {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-height: 64px;
	padding: 14px 17px 15px;
	color: var(--cs-repair-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.cs-realisation-lightbox {
	width: min(92vw, 1180px);
	max-width: 1180px;
	max-height: 92vh;
	padding: 18px;
	overflow: visible;
	border: 0;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(35, 31, 32, .32);
}

.cs-realisation-lightbox::backdrop {
	background: rgba(24, 19, 20, .78);
	backdrop-filter: blur(4px);
}

.cs-realisation-lightbox figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-height: calc(92vh - 36px);
	margin: 0;
}

.cs-realisation-lightbox img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(92vh - 92px);
	object-fit: contain;
	border-radius: 13px;
}

.cs-realisation-lightbox [hidden] { display: none !important; }

.cs-realisation-lightbox video {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(92vh - 110px);
	max-height: calc(92dvh - 110px);
	border-radius: 10px;
	background: #211b1c;
	object-fit: contain;
}

@media (max-width: 767px) {
	body.page-id-293 #page-container .cs-realisations-intro .et_pb_text {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 28px 22px !important;
	}

	body.page-id-293 #page-container .cs-realisations-intro h1 {
		font-size: clamp(24px, 6.5vw, 30px) !important;
		line-height: 1.2 !important;
		word-break: normal;
		overflow-wrap: normal;
		hyphens: none;
	}

	.cs-realisation-category-nav {
		gap: 8px;
		margin-bottom: 32px;
	}

	.cs-realisation-category-nav a {
		padding: 10px 14px;
		font-size: 13px;
	}
}

@media (max-width: 575px) {
	.cs-realisation-strip-toolbar { flex-wrap: wrap; }
	.cs-realisation-strip-heading { flex: 1 0 100%; }
	.cs-realisation-strip-controls { margin-left: auto; }
}

.cs-realisation-lightbox figcaption {
	width: 100%;
	padding: 13px 4px 2px;
	color: var(--cs-repair-ink);
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

.cs-realisation-lightbox .cs-realisation-sound-hint {
	margin: 0;
	padding: 0 12px 8px;
	color: #666;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

.cs-realisation-lightbox-close {
	position: absolute;
	z-index: 2;
	top: -14px;
	right: -14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0 0 3px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--cs-repair-rose);
	color: #fff;
	font: 400 30px/1 Arial, sans-serif;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(35, 31, 32, .24);
}

.cs-realisation-lightbox-close:hover,
.cs-realisation-lightbox-close:focus-visible {
	background: var(--cs-repair-rose-dark);
}

/* Honoraires: accordéons compacts et couleurs stables. */
#main-content .cs-fees-intro,
#main-content .cs-fees-title,
#main-content .cs-fees-heading,
#main-content .cs-fees-list {
	background: var(--cs-repair-cream) !important;
}

#main-content .cs-fees-intro {
	padding-bottom: 8px !important;
}

#main-content .cs-fees-title,
#main-content .cs-fees-heading {
	padding-top: 42px !important;
	padding-bottom: 22px !important;
}

#main-content .cs-fees-list {
	padding-top: 12px !important;
	padding-bottom: 62px !important;
}

#main-content .cs-fees-list .cs-fee-accordion-item {
	width: 86% !important;
	max-width: 1080px !important;
	margin: 0 auto 14px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(182, 73, 91, .15) !important;
	border-radius: 17px !important;
	background: #fff !important;
	box-shadow: 0 10px 28px rgba(35, 31, 32, .06) !important;
}

#main-content .cs-fee-accordion-item .et_pb_column {
	width: 100% !important;
	margin: 0 !important;
}

.cs-fee-accordion-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 76px;
	padding: 21px 28px;
	border: 0;
	background: #fff;
	color: var(--cs-repair-ink);
	font-family: Raleway, Helvetica, Arial, sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease;
}

.cs-fee-accordion-trigger:hover,
.cs-fee-accordion-trigger:focus-visible,
.cs-fee-accordion-trigger[aria-expanded="true"] {
	background: var(--cs-repair-rose-soft);
	color: var(--cs-repair-rose-dark);
}

.cs-fee-accordion-trigger:focus-visible {
	outline: 3px solid rgba(182, 73, 91, .28);
	outline-offset: -3px;
}

.cs-fee-accordion-icon {
	position: relative;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	margin-left: 24px;
	border-radius: 50%;
	background: var(--cs-repair-rose);
}

.cs-fee-accordion-icon::before,
.cs-fee-accordion-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.cs-fee-accordion-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.cs-fee-accordion-trigger[aria-expanded="true"] .cs-fee-accordion-icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

#main-content .cs-fee-accordion-heading,
#main-content .cs-fee-accordion-divider {
	display: none !important;
}

.cs-fee-accordion-panel {
	padding: 6px 34px 30px;
	border-top: 1px solid rgba(182, 73, 91, .12);
	background: #fff;
	animation: cs-fee-panel-in .22s ease both;
}

.cs-fee-accordion-panel[hidden] {
	display: none !important;
}

#main-content .cs-fee-accordion-panel,
#main-content .cs-fee-accordion-panel *,
#main-content .cs-fee-accordion-panel p,
#main-content .cs-fee-accordion-panel b,
#main-content .cs-fee-accordion-panel strong,
#main-content .cs-fee-accordion-panel span {
	color: var(--cs-repair-copy) !important;
}

#main-content .cs-fee-accordion-panel .et_pb_text {
	margin: 0 !important;
	padding: 20px 0 0 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}

#main-content .cs-fee-accordion-panel p {
	margin-bottom: 10px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.7em !important;
}

#main-content .cs-fee-accordion-panel .cs-fee-subtitle,
#main-content .cs-fee-accordion-panel .cs-fee-subtitle * {
	color: var(--cs-repair-ink) !important;
	font-weight: 700 !important;
}

#main-content .cs-fee-accordion-panel .cs-fee-price,
#main-content .cs-fee-accordion-panel .cs-fee-price * {
	color: var(--cs-repair-rose-dark) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

.cs-fee-service-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 28px;
	margin: 0 0 12px;
}

#main-content .cs-fee-service-name {
	color: var(--cs-repair-ink) !important;
	font-size: 17px !important;
	font-weight: 750 !important;
	line-height: 1.45 !important;
}

#main-content .cs-fee-service-price {
	flex: 0 0 auto;
	color: var(--cs-repair-rose-dark) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}

.cs-fee-service-divider {
	width: 100%;
	height: 1px;
	margin: 22px 0 2px;
	border: 0;
	background: rgba(182, 73, 91, .17);
}

.cs-fee-service-divider-last {
	display: none;
}

@keyframes cs-fee-panel-in {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Honoraires: reprise exacte de l'appel à l'action de Réalisations. */
.page-id-91 #main-content .cs-final-cta {
	padding: 68px 0 !important;
	background-color: var(--cs-repair-rose-soft) !important;
	background-position: 50% 0 !important;
	background-repeat: no-repeat !important;
	background-size: auto !important;
}

.page-id-91 #main-content .cs-final-cta .et_pb_row {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center !important;
	gap: 52px !important;
	width: 80% !important;
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 19px 0 20px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.page-id-91 #main-content .cs-final-cta .cs-fees-cta-empty {
	display: none !important;
}

.page-id-91 #main-content .cs-final-cta .cs-fees-cta-action {
	width: 100% !important;
	margin: 0 !important;
}

.page-id-91 #main-content .cs-final-cta .et_pb_button_module_wrapper {
	width: 100% !important;
	margin: 0 !important;
	text-align: center !important;
}

.page-id-91 #main-content .cs-final-cta .et_pb_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 240px !important;
	max-width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 12px 22px !important;
	border: 2px solid var(--cs-repair-rose) !important;
	border-radius: 999px !important;
	background: var(--cs-repair-rose) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: 0 10px 22px rgba(45, 42, 36, .16) !important;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

.page-id-91 #main-content .cs-final-cta .et_pb_button::after {
	display: none !important;
}

.page-id-91 #main-content .cs-final-cta .et_pb_button:hover,
.page-id-91 #main-content .cs-final-cta .et_pb_button:focus-visible {
	border-color: var(--cs-repair-rose-dark) !important;
	background: var(--cs-repair-rose-dark) !important;
	transform: translateY(-2px);
}

.page-id-91 #main-content .cs-final-cta .et_pb_button:focus-visible {
	outline: 3px solid rgba(182, 73, 91, .28);
	outline-offset: 3px;
}

.cs-fees-cta-header {
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
	text-align: center;
}

.cs-fees-cta-logo {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 22px;
}

#main-content .cs-fees-cta-header p {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--cs-repair-copy) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

/* Contact: aucun grand aplat vide si la carte Google ne charge pas. */
#main-content .cs-contact-page {
	min-height: 0 !important;
	background: var(--cs-repair-cream) !important;
}

#main-content .cs-contact-page .cs-contact-direct-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100% !important;
	max-width: none !important;
	min-height: 100%;
	margin: 0 !important;
	padding: clamp(38px, 5vw, 68px) clamp(28px, 4vw, 58px) !important;
	text-align: center;
}

#main-content .cs-contact-direct-eyebrow {
	margin: 0 0 12px !important;
	color: var(--cs-repair-rose-dark) !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: .14em;
	line-height: 1.3 !important;
	text-transform: uppercase;
}

#main-content .cs-contact-direct-card h2 {
	margin: 0 0 20px !important;
	padding: 0 !important;
	color: var(--cs-repair-ink) !important;
	font-family: var(--cs-luxe-serif, Georgia, "Times New Roman", serif) !important;
	font-size: clamp(34px, 4vw, 50px) !important;
	font-weight: 400 !important;
	letter-spacing: -.03em;
	line-height: 1.05 !important;
}

#main-content .cs-contact-direct-lead {
	max-width: 520px;
	margin: 0 auto !important;
	color: var(--cs-repair-copy) !important;
	font-size: clamp(17px, 1.5vw, 20px) !important;
	line-height: 1.7 !important;
}

#main-content .cs-contact-direct-lead a {
	color: var(--cs-repair-rose-dark) !important;
	font-weight: 700;
	white-space: nowrap;
}

.cs-contact-direct-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 11px;
	margin-top: 30px;
}

#main-content .cs-contact-direct-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 21px;
	border: 1px solid var(--cs-repair-rose);
	border-radius: 999px;
	background: #fff;
	color: var(--cs-repair-rose-dark) !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.2 !important;
	text-decoration: none;
	transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

#main-content .cs-contact-direct-actions .cs-contact-direct-phone {
	background: var(--cs-repair-rose);
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(45, 42, 36, .16);
}

#main-content .cs-contact-direct-actions a:hover,
#main-content .cs-contact-direct-actions a:focus-visible {
	transform: translateY(-2px);
	background: var(--cs-repair-rose-dark);
	color: #fff !important;
	box-shadow: 0 13px 28px rgba(45, 42, 36, .2);
}

#main-content .cs-contact-map {
	min-height: 0 !important;
	padding: 0 5% 72px !important;
	background: var(--cs-repair-cream) !important;
	filter: none !important;
}

#main-content .cs-contact-map .et_pb_map_container {
	width: 100% !important;
	max-width: 1180px !important;
	height: 360px !important;
	margin: 0 auto !important;
	overflow: hidden !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 18px 44px rgba(35, 31, 32, .09) !important;
	filter: none !important;
}

#main-content .cs-contact-map.cs-map-fallback .et_pb_map_container {
	height: auto !important;
}

.cs-map-fallback-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 230px;
	padding: 42px 50px;
	background:
		linear-gradient(115deg, rgba(243, 239, 231, .94), rgba(251, 249, 245, .98));
}

.cs-map-fallback-kicker {
	margin: 0 0 9px;
	color: var(--cs-repair-rose) !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cs-map-fallback-card h2 {
	margin: 0 0 10px;
	color: var(--cs-repair-ink) !important;
	font-size: 29px;
	font-weight: 650;
	line-height: 1.25;
}

.cs-map-fallback-address {
	margin: 0;
	color: var(--cs-repair-copy) !important;
	font-size: 17px;
}

.cs-map-fallback-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 220px;
	min-height: 52px;
	padding: 13px 24px;
	border: 2px solid var(--cs-repair-rose);
	border-radius: 999px;
	background: var(--cs-repair-rose);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 12px 26px rgba(45, 42, 36, .18);
	transition: transform .2s ease, background-color .2s ease;
}

.cs-map-fallback-link:hover,
.cs-map-fallback-link:focus-visible {
	background: var(--cs-repair-rose-dark);
	transform: translateY(-2px);
}

@media (max-width: 980px) {
	.page-id-91 #main-content .cs-final-cta .et_pb_row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px !important;
		width: 90% !important;
	}

	.page-id-91 #main-content .cs-fees-cta-header {
		width: 90%;
	}

	.cs-realisation-slide {
		flex-basis: 310px;
		width: 310px;
		min-height: 352px;
	}

	.cs-realisation-slide-visual {
		height: 288px;
	}

	#main-content .cs-results-grid .et_pb_row {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#main-content .cs-results-grid .et_pb_image {
		min-height: 280px !important;
	}

	.cs-map-fallback-card {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.page-id-91 #main-content .cs-final-cta {
		padding: 44px 0 48px !important;
	}

	.page-id-91 #main-content .cs-final-cta .et_pb_row {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 12px !important;
		width: 90% !important;
		padding: 12px 0 0 !important;
	}

	.page-id-91 #main-content .cs-final-cta .cs-fees-cta-action {
		max-width: 300px !important;
		margin: 0 auto !important;
	}

	.page-id-91 #main-content .cs-final-cta .et_pb_button {
		width: 100% !important;
	}

	.page-id-91 #main-content .cs-fees-cta-header {
		width: 94%;
	}

	.page-id-91 #main-content .cs-fees-cta-logo {
		margin-bottom: 14px;
	}

	#main-content .cs-fees-cta-header p {
		font-size: 15px !important;
	}

	.cs-realisation-strip-section {
		padding-bottom: 30px;
	}

	.cs-realisation-strip-shell {
		width: 94%;
		padding: 14px;
		border-radius: 6px;
	}

	.cs-realisation-strip-toolbar {
		align-items: flex-start;
		gap: 14px;
		padding-left: 2px;
	}

	.cs-realisation-strip-heading {
		grid-template-columns: 38px minmax(0, 1fr);
		column-gap: 10px;
	}

	#main-content .cs-realisation-strip-number {
		font-size: 25px !important;
	}

	#main-content .cs-realisation-strip-title {
		font-size: clamp(25px, 7vw, 34px) !important;
	}

	#main-content .cs-realisation-strip-note {
		max-width: 230px;
		font-size: 12px !important;
	}

	.cs-realisation-strip-arrow {
		width: 38px;
		height: 38px;
		font-size: 27px;
	}

	.cs-realisation-slide {
		flex-basis: calc(88vw - 44px);
		width: calc(88vw - 44px);
		min-height: 338px;
	}

	.cs-realisation-slide-visual {
		height: 274px;
		padding: 8px;
	}

	.cs-realisation-lightbox {
		width: 94vw;
		padding: 10px;
		border-radius: 16px;
	}

	.cs-realisation-lightbox-close {
		top: -12px;
		right: -8px;
	}

	#main-content .cs-results-grid .et_pb_row {
		display: block !important;
		width: 90% !important;
	}

	#main-content .cs-results-grid .et_pb_column {
		margin-bottom: 22px !important;
	}

	#main-content .cs-results-grid .et_pb_image {
		min-height: 250px !important;
		padding: 14px !important;
	}

	#main-content .cs-results-grid .et_pb_image img {
		height: 240px !important;
	}

	#main-content .cs-results-grid .et_pb_text {
		padding: 24px 24px 28px !important;
	}

	#main-content .cs-fees-list .cs-fee-accordion-item {
		width: 90% !important;
	}

	.cs-fee-accordion-trigger {
		min-height: 68px;
		padding: 18px 20px;
		font-size: 17px;
	}

	.cs-fee-accordion-icon {
		margin-left: 14px;
	}

	.cs-fee-accordion-panel {
		padding: 4px 22px 24px;
	}

	.cs-fee-service-head {
		align-items: flex-start;
		gap: 16px;
	}

	#main-content .cs-fee-service-name {
		font-size: 15px !important;
	}

	#main-content .cs-fee-service-price {
		font-size: 16px !important;
	}

	#main-content .cs-contact-map {
		padding: 0 5% 52px !important;
	}

	.cs-map-fallback-card {
		min-height: 0;
		padding: 32px 26px;
	}

	.cs-map-fallback-card h2 {
		font-size: 25px;
	}

	.cs-map-fallback-link {
		width: 100%;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cs-fee-accordion-panel,
	.cs-realisation-slide,
	.cs-realisation-strip-arrow {
		animation: none;
		transition: none;
	}

	.cs-realisation-strip-viewport {
		scroll-behavior: auto;
	}
}
