/*
Theme Name: Eurodite TT5
Theme URI: https://eurodite.eu/
Description: Editorial Gutenberg child theme for Eurodite, based on Twenty Twenty-Five.
Author: Eurodite
Template: twentytwentyfive
Version: 0.1.21
Requires at least: 6.7
Requires PHP: 8.3
Text Domain: eurodite-tt5
*/

@font-face {
	font-display: swap;
	font-family: "Eurodite Sans";
	font-style: normal;
	font-weight: 100 1000;
	src: url("../twentytwentyfive/assets/fonts/ysabeau-office/YsabeauOffice-VariableFont_wght.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Eurodite Sans";
	font-style: italic;
	font-weight: 100 1000;
	src: url("../twentytwentyfive/assets/fonts/ysabeau-office/YsabeauOffice-Italic-VariableFont_wght.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Eurodite Serif";
	font-style: normal;
	font-weight: 400;
	src: url("../twentytwentyfive/assets/fonts/literata/Literata72pt-Regular.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Eurodite Serif";
	font-style: normal;
	font-weight: 700;
	src: url("../twentytwentyfive/assets/fonts/literata/Literata72pt-Bold.woff2") format("woff2");
}

:root {
	--eurodite-border: color-mix(in srgb, var(--wp--preset--color--ink) 18%, transparent);
	--eurodite-shadow: 0 1.5rem 4rem color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
}

html {
	scroll-behavior: smooth;
}

body {
	text-wrap: pretty;
}

a,
button,
input,
textarea,
select,
.wp-element-button {
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--cyan);
	outline-offset: 4px;
}

.wp-site-blocks {
	overflow: clip;
}

.eurodite-site-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--eurodite-border);
}

.eurodite-site-header .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--field-sans);
	font-size: clamp(0.95rem, 1vw, 1.075rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	padding: 0.45rem 0.1rem;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}

.eurodite-site-header .wp-block-navigation__container {
	column-gap: clamp(1.15rem, 2vw, 2rem);
}

.eurodite-site-header .current-menu-item > .wp-block-navigation-item__content,
.eurodite-site-header .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--coral);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--cyan);
}

.eurodite-site-header .wp-element-button {
	font-size: 0.9rem;
	padding: 0.8rem 1.25rem;
}

.eurodite-site-logo {
	flex: 0 1 auto;
}

.eurodite-site-logo img {
	display: block;
	height: auto;
	max-width: 100%;
	width: clamp(11rem, 24vw, 18rem);
}

.eurodite-hero {
	min-height: min(78vh, 52rem);
	position: relative;
	isolation: isolate;
}

.eurodite-hero::after {
	background: var(--wp--preset--color--cyan);
	clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%);
	content: "";
	inset: auto -8vw -18% auto;
	opacity: 0.95;
	position: absolute;
	width: min(44vw, 38rem);
	height: min(44vw, 38rem);
	z-index: -1;
}

.eurodite-kicker {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.eurodite-display {
	max-width: 13ch;
}

.eurodite-rule {
	border-top: 1px solid var(--eurodite-border);
}

.eurodite-home-expertise {
	padding-bottom: var(--wp--preset--spacing--50);
}

.eurodite-home-intro-grid {
	align-items: end;
	border-bottom: 1px solid var(--eurodite-border);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
	padding-bottom: var(--wp--preset--spacing--50);
}

.eurodite-home-lead {
	font-family: var(--wp--preset--font-family--field-serif);
	font-size: clamp(1.35rem, 1.8vw, 2.1rem);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.36;
	margin: 0;
	max-width: 48ch;
}

.eurodite-home-bridge {
	border-left: 6px solid var(--wp--preset--color--cyan);
	font-family: var(--wp--preset--font-family--field-sans);
	font-size: clamp(1.25rem, 1.6vw, 1.75rem);
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.35;
	margin: 0;
	padding-left: var(--wp--preset--spacing--40);
}

.eurodite-expertise-grid {
	display: grid;
	gap: clamp(0.75rem, 1.25vw, 1rem);
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--50);
}

.eurodite-expertise-grid > * {
	height: 100%;
	margin-block-start: 0 !important;
}

.eurodite-expertise-item {
	align-content: start;
	align-items: center;
	background: var(--wp--preset--color--white);
	column-gap: clamp(1rem, 2vw, 1.5rem);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 9%, transparent);
	border-radius: 1.25rem;
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--wp--preset--color--ink) 5%, transparent);
	min-height: 18rem;
	padding: clamp(1.75rem, 3vw, 3.25rem);
	position: relative;
	row-gap: clamp(1.25rem, 2vw, 1.75rem);
}

.eurodite-expertise-item:nth-child(2),
.eurodite-expertise-item:nth-child(3) {
	background: var(--wp--preset--color--mist);
}

.eurodite-expertise-item > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-expertise-number {
	align-items: center;
	background: var(--wp--preset--color--cyan);
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: 0.06em;
	margin: 0;
	min-width: 3rem;
	padding-inline: 0.85rem;
}

.eurodite-expertise-item:nth-child(even) .eurodite-expertise-number {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--white);
}

.eurodite-expertise-title {
	font-size: clamp(1.5rem, 2vw, 2.25rem);
	line-height: 1.12;
	margin: 0;
	max-width: 22ch;
}

.eurodite-expertise-text {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1rem, 1.05vw, 1.125rem);
	grid-column: 1 / -1;
	line-height: 1.6;
	margin: 0;
	max-width: 52ch;
}

.eurodite-about-intro {
	background:
		radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--wp--preset--color--cyan) 22%, transparent), transparent 22rem),
		var(--wp--preset--color--ink);
	border-radius: 1.5rem;
	color: var(--wp--preset--color--paper);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
	padding: clamp(2rem, 5vw, 5rem);
}

.page-id-7 :is(.eurodite-about-intro, .eurodite-about-values, .eurodite-team-section) {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.eurodite-about-intro > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-about-intro h2 {
	color: inherit;
	font-size: clamp(2rem, 3.6vw, 4rem);
	margin-bottom: var(--wp--preset--spacing--40);
	max-width: 18ch;
}

.eurodite-about-intro-copy > p:last-child,
.eurodite-about-history {
	font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	line-height: 1.65;
}

.eurodite-about-history {
	align-self: end;
	border-left: 5px solid var(--wp--preset--color--cyan);
	padding-left: var(--wp--preset--spacing--40);
}

.eurodite-about-values {
	padding-block: var(--wp--preset--spacing--50);
}

.eurodite-about-values > h2,
.eurodite-team-section > h2 {
	font-size: clamp(2rem, 3vw, 3.5rem);
}

.eurodite-values-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--40);
	background: var(--eurodite-border);
	border: 1px solid var(--eurodite-border);
}

.eurodite-about-value {
	background: var(--wp--preset--color--white);
	font-size: clamp(0.95rem, 1vw, 1.08rem);
	font-weight: 600;
	line-height: 1.45;
	margin: 0 !important;
	min-height: 10rem;
	padding: clamp(1.25rem, 2.5vw, 2.25rem);
}

.eurodite-about-value::before {
	color: var(--wp--preset--color--coral);
	content: "•";
	display: block;
	font-size: 1.75rem;
	line-height: 1;
	margin-bottom: var(--wp--preset--spacing--30);
}

.eurodite-team-section {
	padding-top: var(--wp--preset--spacing--40);
}

.eurodite-team-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-team-grid > * {
	margin-block-start: 0 !important;
}

.eurodite-team-card {
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent);
	border-radius: 1.25rem;
	box-shadow: 0 1rem 2.75rem color-mix(in srgb, var(--wp--preset--color--ink) 7%, transparent);
	overflow: hidden;
}

.eurodite-team-card > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-team-photo {
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
}

.eurodite-team-photo img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.eurodite-team-body {
	padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

.eurodite-team-role {
	color: var(--wp--preset--color--coral);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 0.65rem;
	text-transform: uppercase;
}

.eurodite-team-name {
	font-size: clamp(1.75rem, 2.25vw, 2.6rem);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.eurodite-team-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-team-links a {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 22%, transparent);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	padding: 0.6rem 0.9rem;
	text-decoration: none;
}

.eurodite-team-links a:hover {
	background: var(--wp--preset--color--cyan);
	border-color: var(--wp--preset--color--cyan);
}

.eurodite-clients-intro {
	align-items: end;
	background: var(--wp--preset--color--mist);
	border-radius: 1.5rem;
	display: grid;
	gap: clamp(2rem, 5vw, 6rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
	padding: clamp(2rem, 5vw, 5rem);
}

.eurodite-services-intro {
	background:
		radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--wp--preset--color--cyan) 22%, transparent), transparent 24rem),
		var(--wp--preset--color--ink);
	border-radius: 1.5rem;
	color: var(--wp--preset--color--paper);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
	padding: clamp(2rem, 5vw, 5rem);
}

.eurodite-services-intro > *,
.eurodite-services-approach > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-services-intro h2 {
	color: inherit;
	font-size: clamp(2.1rem, 3.8vw, 4.25rem);
	margin: 0;
	max-width: 16ch;
}

.eurodite-services-intro-copy {
	align-self: end;
	border-left: 5px solid var(--wp--preset--color--cyan);
	font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	line-height: 1.7;
	padding-left: var(--wp--preset--spacing--40);
}

.eurodite-services-pillars {
	display: grid;
	gap: clamp(0.75rem, 1.25vw, 1rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-top: var(--wp--preset--spacing--50);
}

.eurodite-services-pillars > *,
.eurodite-services-grid > * {
	margin-block-start: 0 !important;
}

.eurodite-service-pillar {
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 9%, transparent);
	border-radius: 1.2rem;
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--wp--preset--color--ink) 5%, transparent);
	min-height: 18rem;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.eurodite-service-pillar-number,
.eurodite-service-card-number {
	align-items: center;
	background: var(--wp--preset--color--cyan);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: 0.06em;
	margin: 0 0 var(--wp--preset--spacing--40);
	min-width: 3rem;
	padding-inline: 0.85rem;
}

.eurodite-service-pillar:nth-child(even) .eurodite-service-pillar-number,
.eurodite-service-card:nth-child(3n + 2) .eurodite-service-card-number {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--white);
}

.eurodite-service-pillar h3 {
	font-size: clamp(1.75rem, 2.4vw, 2.75rem);
	margin-bottom: var(--wp--preset--spacing--30);
}

.eurodite-services-approach {
	align-items: center;
	border-bottom: 1px solid var(--eurodite-border);
	border-top: 1px solid var(--eurodite-border);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	margin-top: var(--wp--preset--spacing--60);
	padding-block: var(--wp--preset--spacing--60);
}

.eurodite-services-approach h2,
.eurodite-services-section h2 {
	font-size: clamp(2rem, 3.2vw, 3.75rem);
}

.eurodite-services-approach-copy {
	font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	line-height: 1.7;
}

.eurodite-services-section {
	padding-top: var(--wp--preset--spacing--60);
}

.eurodite-services-grid {
	display: grid;
	gap: clamp(0.75rem, 1.25vw, 1rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-service-card {
	background: var(--wp--preset--color--mist);
	border-radius: 1rem;
	min-height: 17rem;
	padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

.eurodite-service-card:nth-child(even) {
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 9%, transparent);
}

.eurodite-service-card h3 {
	font-size: clamp(1.45rem, 1.9vw, 2.15rem);
	margin-bottom: var(--wp--preset--spacing--30);
}

.eurodite-services-model {
	align-items: center;
	background: var(--wp--preset--color--cyan);
	border-radius: 1.25rem;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
	margin-top: var(--wp--preset--spacing--60);
	padding: clamp(1.75rem, 4vw, 4rem);
}

.eurodite-services-model h2 {
	font-size: clamp(1.75rem, 2.8vw, 3.25rem);
	margin: 0;
	max-width: 22ch;
}

.eurodite-contact-intro {
	background:
		radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--wp--preset--color--cyan) 24%, transparent), transparent 23rem),
		var(--wp--preset--color--ink);
	border-radius: 1.5rem;
	color: var(--wp--preset--color--paper);
	display: grid;
	gap: clamp(2rem, 6vw, 7rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
	padding: clamp(2rem, 5vw, 5rem);
}

.eurodite-contact-intro > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-contact-intro h2 {
	color: inherit;
	font-size: clamp(2.1rem, 3.8vw, 4.25rem);
	margin: 0;
	max-width: 16ch;
}

.eurodite-contact-intro-copy {
	align-self: end;
	border-left: 5px solid var(--wp--preset--color--cyan);
	font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	line-height: 1.7;
	padding-left: var(--wp--preset--spacing--40);
}

.eurodite-contact-direct-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-contact-direct-links a {
	background: var(--wp--preset--color--cyan);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	padding: 0.7rem 1rem;
	text-decoration: none;
}

.eurodite-contact-direct-links a:hover {
	background: var(--wp--preset--color--paper);
}

.eurodite-offices-section {
	padding-top: var(--wp--preset--spacing--60);
}

.eurodite-offices-section > h2 {
	font-size: clamp(2rem, 3.2vw, 3.75rem);
}

.eurodite-office-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-office-grid > * {
	margin-block-start: 0 !important;
}

.eurodite-office-card {
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 9%, transparent);
	border-radius: 1.25rem;
	box-shadow: 0 1rem 2.75rem color-mix(in srgb, var(--wp--preset--color--ink) 6%, transparent);
	overflow: hidden;
}

.eurodite-office-card > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-office-header {
	align-items: end;
	background: var(--wp--preset--color--cyan);
	display: flex;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.eurodite-office-card:nth-child(even) .eurodite-office-header {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--white);
}

.eurodite-office-header h3 {
	color: inherit;
	font-size: clamp(2rem, 3vw, 3.5rem);
	margin: 0;
}

.eurodite-office-entity {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.eurodite-office-body {
	padding: clamp(1.5rem, 3vw, 3rem);
}

.eurodite-office-address {
	font-family: var(--wp--preset--font-family--field-serif);
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-style: normal;
	line-height: 1.45;
	margin-bottom: var(--wp--preset--spacing--40);
}

.eurodite-office-map-link {
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-top: var(--wp--preset--spacing--30);
}

.eurodite-office-details {
	border-bottom: 1px solid var(--eurodite-border);
	border-top: 1px solid var(--eurodite-border);
	display: grid;
	gap: 0.6rem 1rem;
	grid-template-columns: auto 1fr;
	padding-block: var(--wp--preset--spacing--30);
}

.eurodite-office-details p {
	margin: 0;
}

.eurodite-office-label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
}

.eurodite-office-contacts {
	display: grid;
	margin-top: var(--wp--preset--spacing--40);
}

.eurodite-office-contact {
	align-items: center;
	border-bottom: 1px solid var(--eurodite-border);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin: 0;
	padding-block: 0.85rem;
}

.eurodite-office-contact a {
	font-weight: 700;
	text-decoration: none;
}

.eurodite-contact-note {
	background: var(--wp--preset--color--mist);
	border-left: 6px solid var(--wp--preset--color--coral);
	font-family: var(--wp--preset--font-family--field-serif);
	font-size: clamp(1.4rem, 2.2vw, 2.35rem);
	line-height: 1.4;
	margin-top: var(--wp--preset--spacing--60);
	padding: clamp(1.5rem, 4vw, 4rem);
}

.page-id-10 :is(.eurodite-contact-intro, .eurodite-offices-section, .eurodite-contact-note) {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.page-id-9 :is(.eurodite-services-intro, .eurodite-services-pillars, .eurodite-services-approach, .eurodite-services-section, .eurodite-services-model) {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.page-id-8 :is(.eurodite-clients-intro, .eurodite-clients-directory) {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.eurodite-clients-intro > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-clients-intro h2 {
	font-size: clamp(1.9rem, 2.8vw, 2.8rem);
	margin: 0;
	max-width: 15ch;
}

.page-id-8 .wp-block-post-title {
	font-size: clamp(3rem, 8vw, 7rem) !important;
}

.eurodite-clients-intro-text {
	border-left: 5px solid var(--wp--preset--color--coral);
	font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	line-height: 1.65;
	padding-left: var(--wp--preset--spacing--40);
}

.eurodite-clients-directory {
	margin-inline: auto;
	max-width: 1440px;
}

.eurodite-client-region {
	padding-top: var(--wp--preset--spacing--60);
}

.eurodite-client-region-header {
	align-items: end;
	border-bottom: 1px solid var(--eurodite-border);
	display: flex;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--30);
}

.eurodite-client-region-header h2 {
	font-size: clamp(2rem, 3vw, 3.5rem);
	margin: 0;
}

.eurodite-client-region-count {
	background: var(--wp--preset--color--ink);
	border-radius: 999px;
	color: var(--wp--preset--color--paper);
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	margin: 0;
	padding: 0.45rem 0.75rem;
}

.eurodite-client-logo-grid {
	display: grid;
	gap: clamp(0.65rem, 1.25vw, 1rem);
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.eurodite-client-logo-card {
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 9%, transparent);
	border-radius: 0.9rem;
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 13rem;
	overflow: hidden;
}

.eurodite-client-logo-visual {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: center;
	min-height: 9rem;
	padding: clamp(1rem, 2vw, 1.75rem);
}

.eurodite-client-logo-visual img {
	display: block;
	height: auto;
	max-height: 6.5rem;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.eurodite-client-logo-card figcaption {
	background: var(--wp--preset--color--paper);
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 7%, transparent);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.35;
	min-height: 4rem;
	padding: 0.85rem 1rem;
}

.eurodite-card {
	border-top: 4px solid var(--wp--preset--color--ink);
	height: 100%;
	padding-top: var(--wp--preset--spacing--30);
}

.eurodite-card .wp-block-post-featured-image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.eurodite-card .wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.eurodite-card:nth-child(3n + 2) {
	border-top-color: var(--wp--preset--color--cyan);
}

.eurodite-card:nth-child(3n + 3) {
	border-top-color: var(--wp--preset--color--coral);
}

.eurodite-card .wp-block-post-title a {
	text-decoration: none;
}

.eurodite-card .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.16em;
}

.eurodite-project-list {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	list-style: none;
	padding: 0;
}

.eurodite-home-projects > .alignwide,
.eurodite-home-projects .eurodite-project-list {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.eurodite-project-list > .wp-block-post,
.eurodite-project-list > .eurodite-project-item {
	margin: 0;
}

.eurodite-project-row {
	align-items: center;
	border-top: 4px solid var(--wp--preset--color--ink);
	display: grid;
	gap: clamp(1.5rem, 4vw, 5rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	padding-top: var(--wp--preset--spacing--40);
}

.eurodite-project-list > :nth-child(3n + 2) .eurodite-project-row {
	border-top-color: var(--wp--preset--color--cyan);
}

.eurodite-project-list > :nth-child(3n + 3) .eurodite-project-row {
	border-top-color: var(--wp--preset--color--coral);
}

.eurodite-project-row .wp-block-post-featured-image {
	aspect-ratio: 16 / 9;
	box-shadow: var(--eurodite-shadow);
	margin: 0;
	overflow: hidden;
}

.eurodite-project-row .wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.eurodite-project-list > :nth-child(even) .wp-block-post-featured-image {
	order: 2;
}

.eurodite-project-row .wp-block-post-title a {
	text-decoration: none;
}

.eurodite-project-row .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.16em;
}

.eurodite-project-directory-grid {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	margin-top: var(--wp--preset--spacing--50);
}

.page-id-101 :is(.wp-block-post-content > .alignwide, .eurodite-project-directory-grid) {
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: none !important;
	transform: translateX(-50%);
	width: min(1440px, calc(100vw - clamp(2rem, 6vw, 7rem)));
}

.eurodite-project-directory-grid .eurodite-card {
	background: var(--wp--preset--color--white);
	padding: var(--wp--preset--spacing--30);
}

.eurodite-project-directory-grid .wp-block-post-featured-image {
	aspect-ratio: 4 / 3;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.eurodite-project-directory-grid .wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.eurodite-project-hero .wp-block-post-featured-image {
	box-shadow: var(--eurodite-shadow);
}

.eurodite-project-detail-layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 6rem);
	grid-template-columns: minmax(16rem, 0.35fr) minmax(0, 0.65fr);
}

.eurodite-project-detail-layout > * {
	margin-block-start: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.eurodite-project-facts {
	background: var(--wp--preset--color--mist);
	border-left: 6px solid var(--wp--preset--color--cyan);
	padding: clamp(1.5rem, 3vw, 2.75rem);
}

.eurodite-project-facts p {
	margin-bottom: 0.35rem;
}

.eurodite-project-fact-label {
	color: var(--wp--preset--color--coral);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: var(--wp--preset--spacing--30);
	text-transform: uppercase;
}

.eurodite-project-description {
	font-family: var(--wp--preset--font-family--field-serif);
	font-size: clamp(1.4rem, 2vw, 2.15rem);
	line-height: 1.45;
}

.eurodite-contact-band {
	position: relative;
}

.eurodite-contact-band + .eurodite-clients-band,
.eurodite-contact-band + footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

body.home header.wp-block-template-part + .eurodite-hero {
	margin-block-start: 0 !important;
}

.eurodite-contact-band::before {
	background: var(--wp--preset--color--cyan);
	content: "";
	height: 1.1rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 32%;
}

.eurodite-clients-band {
	background:
		radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--wp--preset--color--cyan) 16%, transparent), transparent 25rem),
		linear-gradient(145deg, #143a32 0%, #0d2923 100%) !important;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--paper) 12%, transparent);
}

.eurodite-clients-carousel {
	margin-inline: auto;
	max-width: 1440px;
}

.eurodite-clients-header {
	align-items: end;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--40);
}

.eurodite-clients-header h2 {
	font-size: clamp(2rem, 3vw, 3.5rem);
	margin: 0;
}

.eurodite-clients-controls {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--paper) 9%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--paper) 14%, transparent);
	border-radius: 999px;
	display: flex;
	gap: 0.4rem;
	padding: 0.25rem;
}

.eurodite-clients-button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: var(--wp--preset--color--paper);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.35rem;
	height: 2.55rem;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 2.55rem;
}

.eurodite-clients-button:hover:not(:disabled) {
	background: var(--wp--preset--color--cyan);
	border-color: var(--wp--preset--color--cyan);
	color: var(--wp--preset--color--ink);
}

.eurodite-clients-button:disabled {
	cursor: not-allowed;
	opacity: 0.3;
}

.eurodite-clients-rail {
	background: var(--wp--preset--color--white);
	border: 0;
	border-radius: 1.25rem;
	display: flex;
	gap: 0;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 0;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-color: var(--wp--preset--color--cyan) color-mix(in srgb, var(--wp--preset--color--paper) 16%, transparent);
	scrollbar-width: thin;
}

.eurodite-client-slide {
	align-items: center;
	background: var(--wp--preset--color--white);
	border: 0;
	border-right: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent);
	border-radius: 0;
	box-sizing: border-box;
	box-shadow: none;
	display: flex;
	flex: 0 0 25%;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	min-height: clamp(10rem, 14vw, 14rem);
	overflow: hidden;
	padding: 0;
	scroll-snap-align: start;
}

.eurodite-client-slide img {
	box-sizing: border-box;
	display: block;
	height: auto;
	max-height: clamp(6rem, 8vw, 8.5rem);
	max-width: 82%;
	object-fit: contain;
	padding: clamp(0.75rem, 1.5vw, 1.25rem);
	width: auto;
}

.eurodite-clients-status {
	color: color-mix(in srgb, var(--wp--preset--color--paper) 75%, transparent);
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
	margin: 0;
	min-width: 4.75rem;
	text-align: center;
}

.eurodite-site-footer {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--paper) 28%, transparent);
}

footer.wp-block-template-part {
	margin-block-start: 0;
}

.eurodite-site-footer a {
	color: inherit;
}

.wp-block-query-pagination-numbers .page-numbers {
	border: 1px solid var(--eurodite-border);
	display: inline-grid;
	min-height: 2.75rem;
	min-width: 2.75rem;
	place-items: center;
	text-decoration: none;
}

.wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

@media (max-width: 781px) {
	.eurodite-hero {
		min-height: 38rem;
	}


h1,
h2,
h3 {
	overflow-wrap: anywhere;
	hyphens: auto;
}

	.eurodite-hero::after {
		height: 16rem;
		width: 17rem;
	}

	.eurodite-site-header .wp-block-buttons {
		display: none;
	}

	.eurodite-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: clamp(1.25rem, 5vw, 1.65rem);
		padding: 0.5rem 0;
	}

	.eurodite-project-row {
		grid-template-columns: 1fr;
	}

	.eurodite-project-detail-layout {
		grid-template-columns: 1fr;
	}

	.eurodite-project-list > :nth-child(even) .wp-block-post-featured-image {
		order: 0;
	}

	.eurodite-home-projects > .alignwide,
	.eurodite-home-projects .eurodite-project-list {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.eurodite-project-directory-grid {
		grid-template-columns: 1fr;
	}

	.page-id-101 :is(.wp-block-post-content > .alignwide, .eurodite-project-directory-grid) {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.eurodite-home-intro-grid,
	.eurodite-expertise-grid,
	.eurodite-about-intro,
	.eurodite-team-grid,
	.eurodite-clients-intro,
	.eurodite-services-intro,
	.eurodite-services-pillars,
	.eurodite-services-approach,
	.eurodite-services-grid,
	.eurodite-contact-intro,
	.eurodite-office-grid {
		grid-template-columns: 1fr;
	}

	.eurodite-services-model {
		align-items: flex-start;
		flex-direction: column;
	}

	.page-id-9 :is(.eurodite-services-intro, .eurodite-services-pillars, .eurodite-services-approach, .eurodite-services-section, .eurodite-services-model) {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.page-id-10 :is(.eurodite-contact-intro, .eurodite-offices-section, .eurodite-contact-note) {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.eurodite-client-logo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eurodite-values-grid {
		grid-template-columns: 1fr 1fr;
	}

	.eurodite-about-value:last-child {
		grid-column: 1 / -1;
	}

	.page-id-7 :is(.eurodite-about-intro, .eurodite-about-values, .eurodite-team-section) {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.page-id-8 :is(.eurodite-clients-intro, .eurodite-clients-directory) {
		margin-left: 0 !important;
		transform: none;
		width: 100%;
	}

	.eurodite-home-bridge {
		max-width: 34rem;
	}

	.eurodite-expertise-item {
		min-height: auto;
	}

	.eurodite-expertise-item:nth-child(3) {
		background: var(--wp--preset--color--white);
	}

	.eurodite-expertise-item:nth-child(4) {
		background: var(--wp--preset--color--mist);
	}

	.eurodite-clients-header {
		align-items: start;
		flex-direction: column;
	}

	.eurodite-client-slide {
		flex-basis: 50%;
		min-height: 9rem;
	}

	.eurodite-client-slide img {
		max-height: 6rem;
		max-width: 84%;
	}
}

@media (min-width: 782px) and (max-width: 1100px) {
	.eurodite-values-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.eurodite-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eurodite-client-logo-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.eurodite-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.eurodite-client-logo-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
