/*
 * MNK Monkey Theatre — main.css
 * Riproduce fedelmente il layout del tema Ohio in produzione (misure rilevate a 390/1440/1920px).
 * Mobile-first. Token di base da theme.json; scala tipografica Ohio come custom property.
 */

:root {
	/* Scala titoli Ohio: h1 72px, rapporto 0.68, fluida con clamp come nel tema originale. */
	--mnk-h1: clamp(43.2px, calc(4.5vw + 4px), 72px);
	--mnk-h1-page: clamp(43.2px, calc(4.5vw + 4px), 68.8px);
	--mnk-h1-project: clamp(42.4px, calc(2.057vw + 34.4px), 64px);
	--mnk-h2-display: clamp(36px, 3.65vw, 80px);
	--mnk-h2: clamp(31.33px, calc(3.15vw + 4px), 48.96px);
	--mnk-h3: clamp(23.97px, calc(2.1vw + 4px), 33.29px);
	--mnk-h4: clamp(19.9px, calc(1.2vw + 5.5px), 22.64px);
	--mnk-h5: 19.09px;
	--mnk-h6: 16px;
	--mnk-text: 19px;
	--mnk-subtitle: 17.48px;
	--mnk-small: 15.2px;
	--mnk-white: #fff;
	--mnk-text-color: rgba(255, 255, 255, 0.75);
	--mnk-muted: rgba(255, 255, 255, 0.5);
	--mnk-line: rgba(255, 255, 255, 0.1);
	--mnk-btn-grey: #505052;
	--mnk-footer-bg: #1e1d21;
	--mnk-surface-soft: #1f1e22;
	/* Margini pagina: 16px mobile, 7vw laptop (contenitore 86vw), 6.3vw desktop largo. */
	--mnk-page-margin: 16px;
	--mnk-header-h: 72px;
}
@media (min-width: 769px) { :root { --mnk-page-margin: 32px; } }
@media (min-width: 1181px) { :root { --mnk-page-margin: 7vw; --mnk-header-h: 12vh; /* Ohio: altezza header 12vh, contenuto centrato */ } }
@media (min-width: 1513px) { :root { --mnk-page-margin: 6.3vw; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--mnk-header-h) + 1rem); }

body {
	margin: 0;
	background: var(--wp--preset--color--base);
	color: var(--mnk-text-color);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--mnk-text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: var(--mnk-white);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
}
h1 { font-size: var(--mnk-h1); line-height: 1.05; letter-spacing: -0.045em; }
h2 { font-size: var(--mnk-h2); line-height: 1.05; letter-spacing: -0.04em; }
h3 { font-size: var(--mnk-h3); line-height: 1.15; letter-spacing: -0.035em; }
h4 { font-size: var(--mnk-h4); line-height: 1.2; letter-spacing: -0.03em; }
h5 { font-size: var(--mnk-h5); line-height: 1.3; letter-spacing: -0.025em; }
h6 { font-size: var(--mnk-h6); line-height: 1.4; letter-spacing: -0.02em; }

p { margin: 0 0 1em; }

a { color: var(--wp--preset--color--primary); text-decoration: none; }
a:hover { color: var(--mnk-white); }

strong, b { color: var(--mnk-white); font-weight: 600; }

:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; }

::selection { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); }

address { font-style: normal; }

.mnk-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.mnk-skip-link {
	position: absolute; left: 1rem; top: -100px; z-index: 1000;
	padding: 0.75rem 1rem; border-radius: 8px;
	background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base);
	font-weight: 600;
}
.mnk-skip-link:focus { top: 1rem; }

.mnk-svg-icon { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; }

/* ---------- Contenitori ---------- */
/* Contenitore Ohio (footer, archivi): 1344px, 86vw tra 1181 e 1512, con 16px di padding. */
.mnk-container {
	width: 100%;
	max-width: 1344px;
	margin-inline: auto;
	padding-inline: 16px;
}
@media (min-width: 1181px) and (max-width: 1512px) { .mnk-container { max-width: 86vw; } }
/* Contenitore Elementor "boxed" delle pagine: 1300px con colonne da 16px di padding. */
.mnk-boxed { width: 100%; max-width: 1300px; margin-inline: auto; padding-inline: 16px; }
/* Contenitore progetto (case study): margini pagina. */
.mnk-wide { width: 100%; padding-inline: var(--mnk-page-margin); }
.mnk-container--narrow { max-width: 832px; }

.mnk-main { display: block; }

.mnk-grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .mnk-grid--2, .mnk-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mnk-grid--3 { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Testi ricorrenti ---------- */
.mnk-eyebrow {
	margin: 0 0 8px;
	color: var(--mnk-muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--mnk-subtitle);
	font-weight: 500;
	line-height: 1.6;
}
.mnk-eyebrow--upper { font-size: 17.1px; text-transform: uppercase; }
.mnk-eyebrow--strong { font-weight: 600; }
.mnk-eyebrow--dot::after { content: " •"; color: var(--wp--preset--color--primary); font-size: 0.8em; }

/* Intestazione di sezione Ohio (ohio_heading): sopratitolo, linea, titolo con 0.35em di respiro. */
.mnk-heading__eyebrow { margin: 0; color: var(--mnk-muted); font-size: 17.1px; font-weight: 500; line-height: 1.6; text-transform: uppercase; }
.mnk-heading__title { margin: 0; color: var(--mnk-white); }
.mnk-heading__eyebrow + .mnk-heading__title, .mnk-heading__line { display: block; margin-top: 19px; padding-top: 0.35em; border-top: 1px solid rgba(255, 255, 255, 0.25); }
.mnk-heading__line { padding-top: 0; }
.mnk-heading__highlight { color: var(--wp--preset--color--primary); }
.mnk-heading--soft .mnk-heading__eyebrow { font-size: 17.48px; font-weight: 600; text-transform: none; }
/* Intestazione senza linea (Magazine in home, Lavora con noi). */
.mnk-heading--plain .mnk-heading__eyebrow + .mnk-heading__title { margin-top: 0; padding-top: 0.15em; border-top: 0; }
.mnk-heading--soft .mnk-heading__eyebrow + .mnk-heading__title { margin-top: 0; padding-top: 0.15em; border-top: 0; }
.mnk-heading--h2 .mnk-heading__title { font-size: var(--mnk-h2); line-height: 1.05; letter-spacing: -0.04em; }
.mnk-heading--h3 .mnk-heading__title { font-size: var(--mnk-h3); line-height: 1.15; letter-spacing: -0.035em; }
.mnk-heading--h4 .mnk-heading__title { font-size: var(--mnk-h4); line-height: 1.2; letter-spacing: -0.03em; }

.mnk-prose > :last-child { margin-bottom: 0; }
.mnk-prose ul, .mnk-prose ol { padding-left: 1.25em; margin: 0 0 1em; }
.mnk-prose h2, .mnk-prose h3, .mnk-prose h4 { margin: 1.4em 0 0.6em; }
.mnk-prose blockquote { margin: 1.5em 0; padding-left: 1.25em; border-left: 3px solid var(--wp--preset--color--primary); color: var(--mnk-white); }
.mnk-prose img { border-radius: 8px; }
.mnk-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.mnk-prose th, .mnk-prose td { padding: 0.6em 0.8em; border-bottom: 1px solid var(--mnk-line); text-align: left; }
.mnk-prose a { text-decoration: underline; text-underline-offset: 0.2em; }

/* ---------- Bottoni (come Ohio) ---------- */
.mnk-button,
.wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 44px;
	padding: 0 20px;
	border: 0; border-radius: 8px;
	background: var(--wp--preset--color--primary);
	color: var(--mnk-white);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 18.05px; font-weight: 600; line-height: 1.6;
	cursor: pointer; white-space: nowrap;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.mnk-button:hover { background: var(--wp--preset--color--primary-hover); color: var(--mnk-white); }
.mnk-button__icon { width: 25px; height: 25px; transition: transform 0.25s ease; }
.mnk-button:hover .mnk-button__icon { transform: translateX(4px); }
.mnk-button--small { min-height: 36px; padding: 0 16px; gap: 8px; font-size: 17.1px; }
.mnk-button--small .mnk-button__icon { width: 18px; height: 18px; }
.mnk-button--secondary { background: var(--mnk-btn-grey); }
.mnk-button--secondary:hover { background: #626264; }
.mnk-button--header { background: var(--mnk-btn-grey); color: var(--wp--preset--color--primary); }
.mnk-button--header:hover { background: #626264; color: var(--wp--preset--color--primary); }
.mnk-button--link { min-height: 0; padding: 0; gap: 8px; background: none; color: rgba(255, 255, 255, 0.81); }
.mnk-button--link:hover { background: none; color: var(--mnk-white); }

/* ---------- Header ---------- */
.mnk-header {
	position: absolute; inset: 0 0 auto 0; z-index: 100;
}
.mnk-header__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: var(--mnk-header-h);
	padding: 0 16px;
}
.mnk-header__logo { display: inline-flex; flex-shrink: 0; }
.mnk-header__logo-img { width: auto; height: 25px; }
.mnk-header__actions { display: flex; align-items: center; gap: 12px; }
.mnk-header__cta { font-size: 16px; padding: 0 14px; min-height: 40px; }
.mnk-header__toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; margin-right: -6px;
	border: 0; background: none; color: var(--mnk-white); cursor: pointer;
}
.mnk-hamburger { position: relative; display: block; width: 20px; height: 10px; }
.mnk-hamburger i { position: absolute; left: 0; height: 2px; background: currentColor; border-radius: 2px; transition: transform 0.25s ease, width 0.25s ease, top 0.25s ease; }
.mnk-hamburger i:first-child { top: 0; width: 20px; }
.mnk-hamburger i:last-child { top: 8px; width: 14px; right: 0; left: auto; }
.mnk-nav-open .mnk-hamburger i:first-child { top: 4px; transform: rotate(45deg); }
.mnk-nav-open .mnk-hamburger i:last-child { top: 4px; width: 20px; transform: rotate(-45deg); }
/* Schermi stretti (es. Galaxy S21, 360px): logo + "Richiedi preventivo" + hamburger non ci stavano e l'hamburger usciva dallo schermo. */
@media (max-width: 400px) {
	.mnk-header__inner { gap: 12px; }
	.mnk-header__actions { gap: 4px; }
	.mnk-header__cta { min-height: 36px; padding: 0 10px; font-size: 14px; white-space: nowrap; }
}
@media (max-width: 340px) {
	.mnk-header__logo-img { height: 21px; }
	.mnk-header__cta { padding: 0 8px; font-size: 13px; }
}

.mnk-header__nav {
	position: fixed; inset: var(--mnk-header-h) 0 0 0; z-index: -1;
	display: flex; flex-direction: column;
	padding: 32px 16px;
	background: var(--wp--preset--color--base);
	overflow-y: auto;
	visibility: hidden; opacity: 0; transform: translateY(-12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
.mnk-nav-open { overflow: hidden; }
.mnk-nav-open .mnk-header__nav { visibility: visible; opacity: 1; transform: none; }
/* Utenti loggati: header e menu sotto la barra di amministrazione (su mobile la copriva, hamburger compreso). */
.admin-bar .mnk-header { top: var(--wp-admin--admin-bar--height, 0px); }
@media (max-width: 1180px) { .admin-bar .mnk-header__nav { top: calc(var(--mnk-header-h) + var(--wp-admin--admin-bar--height, 0px)); } }
@media (max-width: 600px) { .admin-bar .mnk-header.is-sticky { top: 0; } }

/* Header mobile "smart": fisso e nascosto fuori dall'hero, ricompare scorrendo verso l'alto.
   Animato solo con transform per non spostare il layout (nessun CLS). */
@media (max-width: 1180px) {
	.mnk-header.is-sticky {
		position: fixed;
		background: var(--wp--preset--color--base);
		box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
		transform: translateY(-100%);
		transition: transform 0.2s ease-out;
	}
	.mnk-header.is-sticky.is-shown,
	.mnk-nav-open .mnk-header.is-sticky { transform: none; }
	/* Il link "Preferenze cookie" è nel footer: il bottone flottante di iubenda copriva i contenuti. */
	/* Specificità alta: il CSS di iubenda (CDN) impone display con !important. */
	html body .iubenda-tp-btn.iubenda-tp-btn:not(#mnk-keep) { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.mnk-header.is-sticky { transition: none; }
}

/* Contatti diretti in fondo al menu mobile. */
.mnk-header__contacts {
	list-style: none; margin: auto 0 0; padding: 24px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 1180px) { .mnk-menu:has(+ .mnk-header__contacts) { margin-bottom: 32px; } }
.mnk-header__contacts-link { display: flex; align-items: center; min-height: 44px; color: var(--mnk-white); font-size: 18px; font-weight: 500; }
.mnk-header__contacts-link--tel { color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--heading); font-size: 22px; font-weight: 600; }
.mnk-header__contacts-link:hover { color: var(--wp--preset--color--primary); }

.mnk-menu { list-style: none; margin: 0; padding: 0; counter-reset: mnk-menu; }
.mnk-menu > li { counter-increment: mnk-menu; }
.mnk-menu a { color: var(--mnk-text-color); font-weight: 500; }
.mnk-menu > li > a {
	position: relative; display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 0;
	color: var(--mnk-white);
	font-family: var(--wp--preset--font-family--heading); font-size: 32px; font-weight: 600; letter-spacing: -0.03em;
}
.mnk-menu > li > a > span { position: relative; }
/* Numero della voce come Ohio: sul testo, allineato al suo bordo destro, 6px sopra. */
.mnk-menu > li > a > span::before {
	content: counter(mnk-menu, decimal-leading-zero);
	position: absolute; top: -6.24px; right: -16px;
	font-family: var(--wp--preset--font-family--body); font-size: 9.6px; font-weight: 600; letter-spacing: 0; line-height: 5.76px;
	color: inherit; opacity: 0.75;
}
.mnk-menu .current-menu-item > a,
.mnk-menu .current-menu-ancestor > a,
.mnk-menu a:hover { color: var(--wp--preset--color--primary); }
.mnk-menu .sub-menu { list-style: none; margin: 0 0 8px; padding: 0 0 0 16px; }
.mnk-menu .sub-menu a { display: block; padding: 6px 0; font-size: 18px; }

@media (min-width: 1181px) {
	.mnk-header__inner { padding: 0 32px 0 22px; }
	/* Nei case study Ohio sposta il bottone più all'interno (verificato in produzione). */
	.single-case_study .mnk-header__inner { padding-right: 66px; }
	.mnk-header__logo-img { height: 45px; }
	.mnk-header__cta { font-size: 18.05px; padding: 0 20px; min-height: 44px; }
	.mnk-header__toggle { display: none; }
	.mnk-header__contacts { display: none; }
	.mnk-header__nav {
		position: absolute; left: 50%; top: 0; bottom: auto; z-index: auto;
		height: var(--mnk-header-h); padding: 0;
		flex-direction: row; align-items: center;
		background: none; overflow: visible;
		visibility: visible; opacity: 1; transform: translateX(-50%);
	}
	.mnk-header__nav { width: max-content; }
	.mnk-menu { display: flex; align-items: center; gap: 0; }
	.mnk-menu > li { position: relative; }
	.mnk-menu > li > a {
		padding: 10px 16px;
		color: var(--mnk-text-color);
		font-family: var(--wp--preset--font-family--body); font-size: 16px; font-weight: 500; letter-spacing: 0; line-height: 1.3;
	}
	.mnk-menu > li > a > span::before { right: 0; }
	.mnk-menu > .current-menu-item > a, .mnk-menu > .current-menu-ancestor > a { color: var(--wp--preset--color--primary); }
	.mnk-menu > li.menu-item-has-children > a { padding-right: 30px; }
	.mnk-menu > li.menu-item-has-children > a::before {
		content: ""; position: absolute; right: 16px; top: 50%; width: 6px; height: 6px; margin-top: -5px;
		border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
	}
	.mnk-menu .sub-menu {
		position: absolute; top: 100%; left: -24px; min-width: 260px;
		margin: 0; padding: 16px 24px;
		background: var(--wp--preset--color--base); border-radius: 8px;
		box-shadow: 0 10px 40px rgb(0 0 0 / 0.35);
		visibility: hidden; opacity: 0; transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}
	.mnk-menu li:hover > .sub-menu, .mnk-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
	.mnk-menu .sub-menu a { font-size: 16px; padding: 6px 0; }
}

/* ---------- Barre laterali (desktop) ---------- */
.mnk-bar { display: none; }
@media (min-width: 1181px) {
	.mnk-bar {
		position: fixed; z-index: 90; top: 0; bottom: 0;
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		width: calc(var(--mnk-page-margin) - 16px); max-width: 100px;
		color: var(--wp--preset--color--primary);
		pointer-events: none;
		transition: color 0.3s ease;
	}
	.mnk-bar > * { pointer-events: auto; }
	.mnk-bar.is-light { color: var(--mnk-white); }
	.mnk-bar--left { left: 7px; }
	.mnk-bar--right { right: 49px; }
	.mnk-bar__back {
		position: absolute; top: 120px;
		display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center;
		color: inherit; font-size: 20px;
	}
	.mnk-bar__top {
		display: inline-flex; flex-direction: column-reverse; align-items: center; gap: 12px;
		color: inherit;
		opacity: 0; transform: translateY(20px); transition: opacity 0.3s ease, transform 0.3s ease;
	}
	.mnk-bar__top.is-visible { opacity: 1; transform: none; }
	.mnk-bar__top-label {
		writing-mode: vertical-rl; transform: rotate(180deg);
		font-family: var(--wp--preset--font-family--heading); font-size: 16px; font-weight: 600;
	}
	.mnk-bar__top-track { position: relative; width: 2px; height: 48px; background: rgba(255, 255, 255, 0.15); overflow: hidden; }
	.mnk-bar__top-track span { position: absolute; inset: 0; background: currentColor; transform-origin: top; transform: scaleY(var(--mnk-progress, 0)); }
	.mnk-bar__social { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column-reverse; align-items: center; gap: 14px; }
	.mnk-bar__social a { display: inline-flex; color: inherit; font-size: 18px; }
	.mnk-bar__social a:hover { color: var(--mnk-white); }
	.mnk-bar__caption {
		writing-mode: vertical-rl; transform: rotate(180deg);
		font-family: var(--wp--preset--font-family--body); font-size: 18px; font-weight: 600;
	}
	.mnk-bar__caption::after { content: "—"; display: inline-block; margin-top: 10px; }
}

/* ---------- Cursore (solo puntatori precisi) ---------- */
.mnk-cursor { display: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.mnk-cursor.is-active { display: block; }
	.mnk-cursor span {
		position: fixed; left: 0; top: 0; z-index: 9999; pointer-events: none;
		border-radius: 50%; transform: translate3d(var(--mnk-cx, -100px), var(--mnk-cy, -100px), 0);
	}
	.mnk-cursor__inner { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: var(--wp--preset--color--primary); }
	.mnk-cursor__outer {
		width: 36px; height: 36px; margin: -18px 0 0 -18px;
		border: 1px solid var(--wp--preset--color--primary); opacity: 0.6;
		transition: transform 0.12s linear, width 0.2s ease, height 0.2s ease, margin 0.2s ease;
	}
	.mnk-cursor.is-link .mnk-cursor__outer { width: 56px; height: 56px; margin: -28px 0 0 -28px; }
}

/* ---------- Breadcrumb ---------- */
.mnk-breadcrumbs { font-size: 16px; color: var(--mnk-text-color); }
.mnk-breadcrumbs a { color: var(--mnk-text-color); }
.mnk-breadcrumbs a:hover { color: var(--wp--preset--color--primary); }

/* ---------- Pattern di sfondo (banane) ---------- */
.mnk-has-pattern { position: relative; isolation: isolate; }
.mnk-pattern {
	position: absolute; inset: 0; z-index: -1;
	overflow: hidden; pointer-events: none;
	opacity: var(--mnk-pattern-opacity, 0.13);
	mix-blend-mode: var(--mnk-pattern-blend, screen);
}
.mnk-pattern__media { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.mnk-pattern--tile { background-image: var(--mnk-pattern-image); background-size: 420px auto; background-repeat: repeat; }
/* SVG banane: stessa scala della hero della home (cover su 100vw × 100svh, 16:9) in tutte le sezioni, senza ripetizioni. */
.mnk-pattern--svg.mnk-pattern--cover { background: var(--mnk-pattern-image) top left / var(--mnk-pattern-size, 896px) auto no-repeat; }
@media (min-width: 1181px) { .mnk-pattern--svg.mnk-pattern--cover { --mnk-pattern-size: max(100vw, 177.78vh); } }
@media (prefers-reduced-motion: reduce) {
	.mnk-pattern--video video { display: none; }
	.mnk-pattern--video { background: var(--mnk-pattern-poster, none) top left / cover no-repeat; }
}

/* ---------- Header di pagina / archivi (Ohio "page headline") ---------- */
/* Intestazione di pagina standard (Ohio page headline senza foto, es. Recensioni): 296px a 1440. */
.mnk-page-header { padding: 140px 0 40px; }
.mnk-page-header__title { font-size: var(--mnk-h1-project); letter-spacing: -0.045em; line-height: 1; }
.mnk-page-header__breadcrumbs { padding-block: 20px; border-bottom: 1px solid var(--mnk-line); }
.mnk-page-header__breadcrumbs .mnk-breadcrumbs { display: flex; align-items: center; min-height: 36px; margin: 0; font-size: 17.1px; }
.mnk-page-header__breadcrumbs + .mnk-page__content { padding-top: 19px; }
@media (min-width: 1181px) { .mnk-page-header { padding: 178px 0 54px; } }
.mnk-page-header__lead { margin-top: 24px; max-width: 60ch; }

.mnk-filters ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 32px 0 0; padding: 0; }
.mnk-filters a { color: var(--mnk-text-color); font-size: 17.48px; font-weight: 500; }
.mnk-filters a:hover, .mnk-filters a[aria-current="page"] { color: var(--wp--preset--color--primary); }

/* ---------- Card case study (portfolio Ohio, archivio a 1440: 587px, raggio 65px come le card progetti) ---------- */
.mnk-card-cs__link { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: 65px; background: #222126; color: var(--mnk-white); }
.mnk-card-cs__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(.2, .7, .2, 1); }
.mnk-card-cs__link:hover .mnk-card-cs__img { transform: scale(1.06); }
.mnk-card-cs__body { position: absolute; inset: auto 0 0 0; display: flex; flex-direction: column; padding: 22px; background: linear-gradient(to top, rgb(22 21 25 / 0.75), rgb(22 21 25 / 0)); }
.mnk-card-cs__title { margin: 0; font-size: 19.92px; line-height: 1.2; letter-spacing: -0.03em; }
/* ---------- Card articolo ---------- */
.mnk-card-post { position: relative; display: flex; overflow: hidden; aspect-ratio: 1; border-radius: 8px; background: #222126; }
.mnk-card-post__media { position: absolute; inset: 0; opacity: 0; transition: opacity 0.4s ease; }
.mnk-card-post__media img { width: 100%; height: 100%; object-fit: cover; }
.mnk-card-post__media::after { content: ""; position: absolute; inset: 0; background: rgba(22, 21, 25, 0.5); }
.mnk-card-post:hover .mnk-card-post__media, .mnk-card-post:focus-within .mnk-card-post__media { opacity: 1; }
.mnk-card-post__body { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; padding: 22px; }
.mnk-card-post__meta { margin: 0 0 4px; font-size: 14.4px; font-weight: 500; line-height: 1.6; }
.mnk-card-post__title { margin: 0; font-size: var(--mnk-h4); line-height: 1.2; letter-spacing: -0.03em; }
.mnk-card-post__title a { color: var(--mnk-white); }
.mnk-card-post__title a::after { content: ""; position: absolute; inset: 0; }
.mnk-card-post__excerpt { display: -webkit-box; overflow: hidden; margin: 9px 0 0; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mnk-card-post__tags { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.mnk-card-post__tag { padding: 4px 12px; border-radius: 8px; background: rgba(136, 135, 137, 0.12); color: var(--wp--preset--color--primary); font-size: 14.4px; font-weight: 500; line-height: 1.4; }
.mnk-card-post__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--mnk-text-color); font-family: var(--wp--preset--font-family--heading); font-size: 18.05px; font-weight: 600; }
/* Barra archivi: breadcrumb, numero risultati, filtri. */
.mnk-archive-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.mnk-archive-bar__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.mnk-archive-bar__count { margin: 0; font-size: 17.1px; }
.mnk-archive-bar__filter { position: relative; }
.mnk-archive-bar__filter summary { display: inline-flex; align-items: center; gap: 12px; min-height: 36px; padding: 0 12px; border-radius: 8px; background: rgba(136, 135, 137, 0.12); font-size: 17.1px; cursor: pointer; list-style: none; }
.mnk-archive-bar__filter summary::after { content: ""; width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.mnk-archive-bar__filter ul { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 240px; margin: 0; padding: 12px 16px; list-style: none; border-radius: 8px; background: var(--wp--preset--color--base); box-shadow: 0 10px 40px rgb(0 0 0 / 0.35); }
.mnk-archive-bar__filter a { display: block; padding: 4px 0; color: var(--mnk-text-color); font-size: 16px; }
.mnk-archive-bar__filter a[aria-current] { color: var(--wp--preset--color--primary); }
.mnk-archive { padding-top: 0; }
.mnk-page-header__breadcrumbs.mnk-archive-bar { border-bottom: 0; }
.mnk-archive__grid { gap: 32px; }

/* ---------- Articolo ---------- */
/* Articolo (Ohio a 1440): colonna 1112px, header 521px. */
.mnk-article__wrap { width: 100%; max-width: 1144px; margin-inline: auto; padding-inline: 16px; }
.mnk-article__header { padding-block: 120px 64px; }
.mnk-article__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; font-size: 17.48px; font-weight: 500; }
.mnk-article__kicker a { color: var(--mnk-text-color); }
.mnk-article__reading { font-weight: 400; }
.mnk-article__reading::before { content: "•"; margin-right: 6px; color: var(--wp--preset--color--primary); font-size: 0.8em; }
.mnk-article__title { max-width: 834px; font-size: var(--mnk-h1-project); line-height: 1; letter-spacing: -0.045em; }
.mnk-article__meta { display: flex; align-items: center; gap: 12px 20px; margin-top: 16px; }
.mnk-article__avatar { width: 48px; height: 48px; border-radius: 50%; }
.mnk-article__meta p { display: flex; flex-direction: column; margin: 0; font-size: 17px; line-height: 1.4; }
.mnk-article__meta strong, .mnk-article__meta time { font-size: 18px; font-weight: 600; color: var(--mnk-text-color); }
.mnk-article__content { padding-bottom: 64px; }
.mnk-article__footer { padding-bottom: 32px; }
.mnk-related { padding-bottom: 72px; }
.mnk-related__title { margin: 0 0 20px; font-size: 28.5px; line-height: 1.2; letter-spacing: -0.03em; }
.mnk-related__grid { display: grid; gap: 32px; }
.mnk-card-post--media { flex-direction: column; aspect-ratio: auto; }
.mnk-card-post--media .mnk-card-post__media { position: relative; opacity: 1; aspect-ratio: 1; }
.mnk-card-post--media .mnk-card-post__media::after { content: none; }
@media (min-width: 769px) { .mnk-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1181px) { .mnk-article__header { padding-block: 162px 126px; } }
.mnk-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; font-size: 16px; }
.mnk-tags a { display: inline-block; padding: 0.3em 0.9em; border: 1px solid var(--mnk-line); border-radius: 999px; color: var(--mnk-text-color); }
.mnk-related { padding-block: 64px; }
.mnk-related__title { margin-bottom: 32px; font-size: var(--mnk-h3); }

/* ---------- Paginazione ---------- */
.mnk-pagination { margin-block: 22px 90px; }
.mnk-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; align-items: center; }
.mnk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 8px; color: var(--mnk-text-color); font-family: var(--wp--preset--font-family--heading); font-size: 18.05px; font-weight: 600; }
.mnk-pagination .page-numbers.current { background: var(--mnk-btn-grey); color: var(--mnk-white); }
.mnk-pagination a.page-numbers:hover { color: var(--mnk-white); }

/* ---------- Carosello (slider Ohio) ---------- */
.mnk-carousel { position: relative; }
.mnk-carousel__viewport { overflow: visible; }
.mnk-carousel__track {
	display: flex; gap: 40px;
	margin: 0; padding: 0; list-style: none;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.mnk-carousel__track::-webkit-scrollbar { display: none; }
.mnk-carousel__track.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.mnk-carousel__slide { flex: 0 0 100%; scroll-snap-align: center; }
.mnk-carousel__slide img { width: 100%; border-radius: 8px; }
.mnk-carousel__caption {
	position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%);
	padding: 2px 10px; border-radius: 6px;
	background: rgba(80, 80, 82, 0.55); color: var(--mnk-white);
	font-family: var(--wp--preset--font-family--heading); font-size: 14px; font-weight: 600; text-transform: uppercase; white-space: nowrap;
}
.mnk-carousel__slide { position: relative; }
/* Contatore "1 —— 3" come Ohio. */
.mnk-counter { display: inline-flex; align-items: center; gap: 12px; margin: 0; color: var(--mnk-text-color); font-size: 19px; font-weight: 600; line-height: 1; }
.mnk-counter::before { content: none; }
.mnk-counter__line { width: 36px; height: 1.5px; background: currentColor; opacity: 0.6; }
.mnk-carousel__controls { display: flex; justify-content: center; margin-top: 40px; }
.mnk-carousel__arrow {
	position: absolute; top: 50%; z-index: 2;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; margin-top: -42px;
	border: 0; border-radius: 50%;
	background: rgba(22, 21, 25, 0.35); color: var(--mnk-white); font-size: 22px;
	cursor: pointer; opacity: 0; transition: opacity 0.25s ease, background-color 0.25s ease;
}
.mnk-carousel:hover .mnk-carousel__arrow, .mnk-carousel__arrow:focus-visible { opacity: 1; }
.mnk-carousel__arrow:hover { background: rgba(22, 21, 25, 0.7); }
.mnk-carousel__arrow--prev { left: 16px; }
.mnk-carousel__arrow--next { right: 16px; }
.mnk-carousel__arrow:disabled { visibility: hidden; }
@media (hover: none) { .mnk-carousel__arrow { opacity: 1; width: 40px; height: 40px; font-size: 18px; } }

/* Variante "peek": slide più strette del contenitore, vicine visibili ai lati (pagine servizio). */
.mnk-carousel--peek .mnk-carousel__track { padding-inline: calc(50% - min(409px, 42vw)); scroll-padding-inline: calc(50% - min(409px, 42vw)); gap: 32px; }
.mnk-carousel--peek .mnk-carousel__slide { flex-basis: min(818px, 84vw); }
.mnk-carousel--peek .mnk-carousel__slide img { border-radius: 0; }
@media (max-width: 768px) {
	.mnk-carousel--peek .mnk-carousel__track { padding-inline: 16px; gap: 16px; }
	.mnk-carousel--peek .mnk-carousel__slide { flex-basis: calc(100% - 32px); }
}

/* ---------- Video ---------- */
.mnk-video { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #000; }
.mnk-video__poster, .mnk-video iframe, .mnk-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.mnk-video__play {
	position: absolute; inset: 0; margin: auto; width: 72px; height: 72px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	background: rgba(22, 21, 25, 0.6); color: var(--mnk-white); cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}
.mnk-video__play:hover { transform: scale(1.08); background: var(--wp--preset--color--primary); }
.mnk-video__play .mnk-icon { width: 30px; height: 30px; margin-left: 4px; }

/* ---------- Prima / dopo ---------- */
.mnk-compare { margin: 0; }
.mnk-compare__stage { display: grid; gap: 16px; }
.mnk-compare__img { position: relative; overflow: hidden; border-radius: 8px; }
.mnk-compare__img img { width: 100%; }
.mnk-compare__label { position: absolute; top: 16px; left: 16px; padding: 0.3em 0.8em; border-radius: 999px; background: rgb(0 0 0 / 0.65); color: #fff; font-size: 15px; }
.mnk-compare__img--after .mnk-compare__label { left: auto; right: 16px; }
.mnk-compare__control { display: none; }
.mnk-compare.is-ready .mnk-compare__stage { display: block; position: relative; }
.mnk-compare.is-ready .mnk-compare__img--before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--mnk-compare)) 0 0); }
.mnk-compare.is-ready .mnk-compare__img--before img { height: 100%; object-fit: cover; }
.mnk-compare.is-ready .mnk-compare__stage::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--mnk-compare); width: 2px; background: #fff; pointer-events: none; }
.mnk-compare.is-ready .mnk-compare__control { display: block; margin-top: 16px; }
.mnk-compare__control input { width: 100%; accent-color: var(--wp--preset--color--primary); }

/* ---------- KPI (contatori Ohio) ---------- */
.mnk-kpi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 0; margin: 32px 0 0; text-align: center; }
.mnk-kpi__item { display: flex; flex-direction: column-reverse; align-items: center; gap: 8px; }
.mnk-kpi__value {
	display: flex; align-items: center; justify-content: center; margin: 0;
	color: var(--mnk-white); font-family: var(--wp--preset--font-family--heading);
	font-size: 104px; font-weight: 600; letter-spacing: -0.045em; line-height: 1;
}
.mnk-kpi__value small { font-size: 0.44em; letter-spacing: -0.045em; line-height: 1; }
.mnk-kpi__label { color: var(--mnk-white); font-family: var(--wp--preset--font-family--heading); font-size: 19px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.4; }
@media (min-width: 1181px) { .mnk-kpi { row-gap: 70px; } }

/* ---------- Testimonianza (sezione case study) ---------- */
.mnk-testimonial { padding-block: 64px; background: var(--mnk-surface-soft); }
.mnk-testimonial__grid { display: grid; gap: 32px; }
.mnk-testimonial__header { padding-top: 16px; border-top: 1px solid var(--mnk-line); }
.mnk-testimonial__header .mnk-cs-section__title { font-size: 19.09px; letter-spacing: -0.025em; }
.mnk-testimonial__header .mnk-eyebrow { margin-top: 8px; font-size: 16px; color: var(--mnk-muted); }
.mnk-testimonial__card { margin: 0; }
.mnk-testimonial__logo img { max-width: 220px; max-height: 70px; width: auto; object-fit: contain; margin: 0 auto 16px; }
.mnk-testimonial__quote { margin: 0; color: var(--mnk-text-color); font-size: 19px; line-height: 1.6; }
.mnk-testimonial__quote p { margin: 0; }
.mnk-testimonial__quote p:first-child::before { content: "\""; }
.mnk-testimonial__quote p:last-child::after { content: "\""; }
.mnk-testimonial__author { display: flex; flex-direction: column; margin-top: 16px; }
.mnk-testimonial__name { color: var(--mnk-white); font-family: var(--wp--preset--font-family--heading); font-size: var(--mnk-h4); font-style: normal; font-weight: 600; letter-spacing: -0.03em; }
.mnk-testimonial__role { font-size: 16px; color: var(--mnk-muted); }
@media (min-width: 1024px) {
	.mnk-testimonial__grid { grid-template-columns: 1fr 3fr; gap: 64px; }
	.mnk-testimonial__card { max-width: 760px; }
}

/* ---------- CTA teal ---------- */
.mnk-cta-banner { position: relative; isolation: isolate; margin-top: 140px; background: var(--wp--preset--color--primary); color: var(--mnk-white); }
.mnk-cta-banner__inner { position: relative; display: grid; grid-template-columns: 1fr; }
.mnk-cta-banner__content { align-self: center; padding-block: 64px 32px; }
.mnk-cta-banner .mnk-eyebrow { margin-bottom: 4px; color: rgba(255, 255, 255, 0.81); font-size: 17.48px; text-transform: uppercase; }
.mnk-cta-banner__title {
	margin: 0 0 28px; max-width: 16em;
	color: var(--mnk-white); font-family: var(--wp--preset--font-family--heading);
	font-size: 32px; font-weight: 600; letter-spacing: -0.035em; line-height: 1.15;
}
.mnk-cta-banner--large .mnk-cta-banner__title { font-size: var(--mnk-h2); line-height: 1.05; letter-spacing: -0.04em; }
.mnk-cta-banner__media { justify-self: center; }
.mnk-cta-banner__media img { width: min(343px, 88vw); height: auto; }
@media (min-width: 769px) {
	.mnk-cta-banner__inner { grid-template-columns: 1fr auto; min-height: 454px; }
	.mnk-cta-banner__content { padding-block: 48px; }
	.mnk-cta-banner__media { align-self: end; margin-top: -122px; margin-right: 4%; }
	.mnk-cta-banner__media img { width: clamp(300px, 29.5vw, 424px); }
}
/* Pagine (home Ohio a 1440px): sezione 476px, testo dall'alto, foto 424x586 che sborda 110px. */
@media (min-width: 1181px) {
	.mnk-cta-banner__inner.mnk-boxed { min-height: 476px; }
	.mnk-boxed .mnk-cta-banner__content { align-self: start; padding-block: 117px 48px; }
	.mnk-boxed .mnk-cta-banner__title { max-width: 443px; margin-bottom: 27px; line-height: 1.05; }
	.mnk-boxed .mnk-cta-banner__media { margin: -110px 9px 0 0; }
	.mnk-boxed .mnk-cta-banner__media img { width: 424px; }
}

/* ---------- Footer ---------- */
.mnk-footer { padding-top: 57px; background: var(--mnk-footer-bg); font-size: var(--mnk-small); }
.mnk-footer__inner { display: grid; gap: 40px; }
.mnk-footer__col { display: flex; flex-direction: column; gap: 32px; }
.mnk-footer__col--brand { align-items: center; }
.mnk-footer__logo img { width: 200px; height: 200px; }
.mnk-footer__title { margin: 0 0 12px; color: var(--mnk-white); font-family: var(--wp--preset--font-family--heading); font-size: 16px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.4; }
.mnk-footer__text, .mnk-footer__social { margin: 0; color: var(--mnk-text-color); font-style: normal; line-height: 1.6; }
/* Secondo widget della colonna (Entra nel team, Seguici sui social): 15px tra titolo e testo, come Ohio. */
.mnk-footer__widget + .mnk-footer__widget .mnk-footer__title { margin-bottom: 15px; }
.mnk-footer__menu { list-style: none; margin: 0; padding: 0; line-height: 1.6; }
.mnk-footer__contacts { list-style: none; margin: 0; padding: 0; line-height: 1.6; }
.mnk-nowrap { white-space: nowrap; }
.mnk-footer a { color: var(--mnk-text-color); }
.mnk-footer a:hover { color: var(--wp--preset--color--primary); }
.mnk-footer__col--newsletter .mnk-footer__title { font-size: 16px; }
.mnk-footer__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px;
	margin-top: 56px; padding-block: 22px;
	border-top: 1px solid rgba(136, 135, 137, 0.16);
	font-size: 16px; line-height: 1.6; color: var(--mnk-text-color);
}
.mnk-footer__legal { margin: 0; }
.mnk-footer__legal-menu { list-style: none; display: flex; margin: 0; padding: 0; }
.mnk-footer__legal-menu li + li::before { content: "|"; margin: 0 4px; }
/* Mobile (Ohio a 390): barra legale centrata e compatta. */
@media (max-width: 768px) {
	/* Sede/team e contatti/social affiancati; logo e newsletter a tutta larghezza. */
	.mnk-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 32px 16px; }
	.mnk-footer__col--brand, .mnk-footer__col--newsletter { grid-column: 1 / -1; }
	/* I widget delle due colonne centrali entrano nella griglia: righe allineate tra sinistra e destra. */
	.mnk-footer__col:not(.mnk-footer__col--brand, .mnk-footer__col--newsletter) { display: contents; }
	.mnk-footer__col:nth-child(2) > .mnk-footer__widget { grid-column: 1; }
	.mnk-footer__col:nth-child(3) > .mnk-footer__widget { grid-column: 2; }
	.mnk-footer__col--newsletter { margin-top: 8px; }
	.mnk-footer__bottom { flex-direction: column; justify-content: center; gap: 9px; padding-block: 17px 15px; text-align: center; }
	.mnk-footer__legal-menu { justify-content: center; }
}
@media (min-width: 769px) {
	.mnk-footer { padding-top: 72px; }
	.mnk-footer__inner { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1181px) {
	.mnk-footer__inner { grid-template-columns: repeat(4, 1fr); gap: 0 32px; }
	/* Ohio a 1440: timbro 15px sotto i titoli, newsletter 4px sotto, barra legale 87px dopo il timbro. */
	.mnk-footer__col--brand { padding-top: 15px; }
	.mnk-footer__col--newsletter { padding-top: 4px; }
	.mnk-footer__bottom { margin-top: 87px; }
}

/* Form newsletter footer (CF7): campo + bottone testo affiancati. */
.mnk-footer__form form { position: relative; }
.mnk-footer__form input[type="email"] { padding-right: 110px; }
.mnk-footer__form .wpcf7-submit {
	position: absolute; right: 0; top: 0; min-height: 44px; padding: 0 20px;
	background: none; color: var(--mnk-text-color); font-size: 16px;
}
.mnk-footer__form .wpcf7-submit:hover { color: var(--wp--preset--color--primary); background: none; }
.mnk-footer__form .wpcf7-list-item { display: block; margin: 21px 0 0; font-size: 13.68px; line-height: 1.35; }
/* Ohio: campo 44px, checkbox 16px con bordo, niente spazi dai <br> e dallo spinner di CF7. */
.mnk-footer__col--newsletter { gap: 0; }
.mnk-footer__form br { display: none; }
.mnk-footer__form .wpcf7-spinner { position: absolute; right: 0; margin: 0; }
.mnk-footer__form input[type="email"] { height: 44px; padding-block: 0; }
.mnk-footer__form .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 8px; }
.mnk-footer__form input[type="checkbox"] { flex-shrink: 0; width: 16px; height: 16px; margin: 1px 0 0; border: 2px solid rgba(255, 255, 255, 0.5); border-radius: 4px; background: none; appearance: none; cursor: pointer; }
.mnk-footer__form input[type="checkbox"]:checked { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--primary); box-shadow: inset 0 0 0 2px var(--mnk-footer-bg); }
.mnk-footer__form p { margin: 0; }

/* ---------- Form ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], select, textarea {
	width: 100%; min-height: 44px; padding: 10px 16px;
	border: 0; border-radius: 8px;
	background: rgba(255, 255, 255, 0.05); color: var(--mnk-white);
	font: inherit; font-size: 16px;
}
input::placeholder, textarea::placeholder { color: rgba(255, 255, 255, 0.45); }
input:focus, select:focus, textarea:focus { outline: 1px solid var(--wp--preset--color--primary); }
input[type="checkbox"] { accent-color: var(--wp--preset--color--primary); }
.search-form { display: flex; gap: 8px; max-width: 480px; margin-block: 24px; }

.mnk-no-results { padding-block: 48px; }

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

/* Pagine a blocchi: le sezioni Ohio sono attaccate, gli spazi sono nei padding dei blocchi. */
.mnk-page__content > * { margin-block: 0; }
.mnk-page__content > .mnk-cta-banner { margin-top: 0; }

/* CTA delle pagine su mobile (home Ohio a 390px). */
@media (max-width: 768px) {
	.mnk-boxed .mnk-cta-banner__content { padding-block: 76px 0; }
	.mnk-boxed .mnk-cta-banner__title { margin-bottom: 42px; }
	.mnk-boxed .mnk-cta-banner__media { justify-self: stretch; }
	.mnk-boxed .mnk-cta-banner__media img { width: 100%; }
}

/* ---------- Statement (case study Maggiora Park e blocco Statement delle pagine) ---------- */
.mnk-cs-statement { padding-top: 120px; }
.mnk-cs-statement__head { padding-bottom: 32px; }
.mnk-cs-statement__head .mnk-eyebrow { color: var(--mnk-text-color); }
.mnk-cs-statement__title { max-width: 12em; font-size: var(--mnk-h2); line-height: 1.05; }
.mnk-cs-statement__row { display: grid; }
.mnk-cs-statement__media { margin: 0; }
.mnk-cs-statement__media img { width: 100%; height: 100%; object-fit: cover; }
.mnk-cs-statement__panel { padding: 48px 16px; background: var(--mnk-surface-soft); }
.mnk-cs-statement__panel-title { margin-bottom: 32px; font-size: var(--mnk-h2); line-height: 1.05; letter-spacing: -0.04em; }
@media (min-width: 1181px) {
	/* Ohio: foto a filo sinistro (57,4%), pannello che sborda 26px sopra la foto, testo dopo 7,4vw di respiro. */
	.mnk-cs-statement__row { grid-template-columns: 57.4% 1fr; margin-top: 26px; }
	.mnk-cs-statement__panel { padding: 113px var(--mnk-page-margin) 88px calc(7.4vw + 16px); margin-top: -26px; }
	.mnk-cs-statement__panel-title { margin-bottom: 26px; }
	.mnk-cs-statement__head { padding-bottom: 8px; }
	.mnk-cs-statement__media { position: relative; }
	.mnk-cs-statement__media img { position: absolute; inset: 0; }
}

/* Blocco Statement nelle pagine (Chi siamo a 1440): titolo da 90px, pannello attaccato alla foto. */
.mnk-statement { padding-top: 50px; }
@media (min-width: 1181px) {
	/* Come "Chi siamo" Ohio: titolo nel contenitore (39%), poi fascia chiara a tutta larghezza;
	   la foto (metà schermo + 100px) parte 90px più in basso, sotto una striscia scura. */
	.mnk-statement { padding-top: 90px; }
	.mnk-statement .mnk-cs-statement__head { padding-bottom: 0; }
	.mnk-statement .mnk-heading { max-width: 40%; }
	.mnk-statement .mnk-cs-statement__row { grid-template-columns: calc(50% + 107px) 1fr; margin-top: 0; background: rgba(150, 144, 162, 0.06); }
	.mnk-statement .mnk-cs-statement__media { border-top: 90px solid var(--wp--preset--color--base); }
	.mnk-statement .mnk-cs-statement__panel { margin-top: 0; padding: 117px 8px 110px clamp(114px, calc(4.5vw + 58px), 123px); background: none; }
	.mnk-statement .mnk-cs-statement__panel > * { max-width: 399px; }
	.mnk-statement .mnk-cs-statement__panel-title { margin-bottom: 45px; }
}
@media (min-width: 1513px) {
	.mnk-statement { padding-top: 116px; }
	.mnk-statement .mnk-cs-statement__head { position: relative; z-index: 1; padding-left: 38px; margin-bottom: -24px; }
	.mnk-statement .mnk-heading { max-width: 38%; }
}
.mnk-page__content--testo { padding-bottom: 90px; }

/* CTA compatta (landing Novara a 1440): fascia 230px, titolo h2 su una riga, niente foto. */
.mnk-cta-banner--compatta .mnk-cta-banner__inner { min-height: 0; grid-template-columns: 1fr; }
.mnk-cta-banner--compatta .mnk-cta-banner__content { padding-block: 36px; }
.mnk-cta-banner.mnk-cta-banner--compatta .mnk-cta-banner__title { max-width: none; margin-bottom: 27px; font-size: var(--mnk-h2); line-height: 1.05; }

/* Card case study (home e archivio), come Ohio "layout2": al passaggio del mouse "Case study" sale
   e svanisce, "Mostra Case Study" sale al suo posto con una linea a destra. */
.mnk-show { position: relative; display: block; overflow: hidden; margin-top: 0.4rem; font-size: 18.05px; line-height: 1.6; }
.mnk-show__cat, .mnk-show__link { display: block; transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1); }
.mnk-show__link { position: absolute; top: 100%; left: 0; font-weight: 600; opacity: 0; }
.mnk-show__link::after { content: ""; position: absolute; top: 48%; right: -0.5rem; width: 3rem; height: 2px; background: currentColor; transform: translate(100%, 50%); }
:is(.mnk-card-cs__link, .mnk-progetti__link):is(:hover, :focus-visible) .mnk-show__cat { transform: translateY(-100%); opacity: 0; }
:is(.mnk-card-cs__link, .mnk-progetti__link):is(:hover, :focus-visible) .mnk-show__link { transform: translateY(-100%); opacity: 1; }

/* Comparsa all'ingresso come Elementor "fadeInUp" in Ohio (1.25s): solo con JS attivo. */
@keyframes mnk-fade-in-up { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
.mnk-js .mnk-reveal:not(.is-revealed) { opacity: 0; }
.mnk-reveal.is-revealed { animation: mnk-fade-in-up 1.25s both; animation-delay: var(--mnk-delay, 0ms); }
@media (prefers-reduced-motion: reduce) {
	.mnk-js .mnk-reveal:not(.is-revealed) { opacity: 1; }
	.mnk-reveal.is-revealed { animation: none; }
}
